Merge remote-tracking branch 'origin/mes-uat-changshu0609-temp-logic-20250613-3533' into uat-temp-nht-2506120000-jialiao

uat-temp-nht-2506120000-jialiao
jason 1 month ago
commit 7acf815e9b

@ -0,0 +1,20 @@
package cn.estsh.i3plus.ext.mes.pcn.api.base;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesContainerSn;
/**
* @Description : -
* @Reference :
* @Author : logic
* @CreateDate : 2025/6/16 10:43
* @Modify:
**/
public interface IMesContainerSnService {
ListPager<MesContainerSn> queryMesContainerSnByPager(MesContainerSn mesContainerSn, Pager pager);
void checkContainerSnIsExist(String containerSn, String organizeCode);
}

@ -0,0 +1,24 @@
package cn.estsh.i3plus.ext.mes.pcn.api.base;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesContainerSnStation;
import java.util.List;
/**
* @Description : -
* @Reference :
* @Author : logic
* @CreateDate : 2025/6/13 09:16
* @Modify:
**/
public interface IMesContainerSnStationService {
ListPager<MesContainerSnStation> queryPager(MesContainerSnStation mesContainerSnStation, Pager pager);
void doInsert(MesContainerSnStation mesContainerSnStation, String userName);
void deleteWeaklyByIds(List<Long> idList, String organizeCode, String userName);
}

@ -1,8 +1,12 @@
package cn.estsh.i3plus.ext.mes.pcn.api.busi;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesStation;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description :
* @Reference :
@ -18,5 +22,9 @@ public interface IMesStationService {
@ApiOperation("校验站点信息根据设备代码")
MesStation checkMesStationByEquipmentCode(String organizeCode,String equipmentCode);
@ApiOperation("查询站点信息中所有的设备代码")
List<String> queryAllEquipmentCodeFromMesStation(String organizeCode);
ListPager<MesStation> queryMesStationByPager(MesStation mesStation, Pager pager);
}

@ -0,0 +1,87 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnStationService;
import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesContainerSnStation;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : logic
* @CreateDate : 2025/6/13 09:15
* @Modify:
**/
@RestController
@Api(tags = "容器条码与站点关系表")
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mes-container-sn-station")
public class MesContainerSnStationController {
@Autowired
private IMesContainerSnStationService mesContainerSnStationService;
@Autowired
private IMesContainerSnService mesContainerSnService;
@GetMapping("/query")
@ApiOperation(value = "查询")
public ResultBean queryPager(MesContainerSnStation mesContainerSnStation, Pager pager) {
try {
ValidatorBean.checkNotNull(mesContainerSnStation.getOrganizeCode(), "工厂代码为空");
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(
mesContainerSnStationService.queryPager(mesContainerSnStation, pager));
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping("/insert")
@ApiOperation(value = "新增")
public ResultBean doInsert(@RequestBody MesContainerSnStation mesContainerSnStation) {
try {
ValidatorBean.checkNotNull(mesContainerSnStation.getCreateUser(), "操作人为空");
ValidatorBean.checkNotNull(mesContainerSnStation.getOrganizeCode(), "工厂代码为空");
//校验容器条码是否存在
mesContainerSnService.checkContainerSnIsExist(mesContainerSnStation.getContainerSn(), mesContainerSnStation.getOrganizeCode());
mesContainerSnStationService.doInsert(mesContainerSnStation, mesContainerSnStation.getCreateUser());
return ResultBean.success("新增成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@DeleteMapping(value = "/delete-weakly")
@ApiOperation(value = "批量软删除信息")
public ResultBean batchDeleteWeaklyByIds(@RequestBody Long[] idList) {
try {
ValidatorBean.checkNotNull(idList, "请选择需要删除的信息");
List<Long> ids = Arrays.asList(idList);
String organizeCode = AuthUtil.getOrganize().getOrganizeCode();
String userName = AuthUtil.getSessionUser().getUserName();
mesContainerSnStationService.deleteWeaklyByIds(ids, organizeCode, userName);
return ResultBean.success("批量删除信息成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException e) {
return ResultBean.fail(e);
}
}
}

@ -1,16 +1,16 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesEquipmentExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProduceSnExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionRecordService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesStationService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException;
import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesConfig;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipment;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Objects;
/**
@ -50,6 +51,12 @@ public class MesBusiController {
@Autowired
private IMesEquipmentExtService mesEquipmentExtService;
@Autowired
private IMesStationService mesStationService;
@Autowired
private IMesContainerSnService mesContainerSnService;
@GetMapping("/mesProduceSn/query")
@ApiOperation(value = "查询条码信息")
public ResultBean queryMesProduceSn(MesProduceSn mesProduceSn, Pager pager) {
@ -107,4 +114,47 @@ public class MesBusiController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/mesStation/query-all-equipment-code-from-mes-station")
@ApiOperation(value = "查询站点信息中所有的设备代码")
public ResultBean queryAllEquipmentCodeFromMesStation(String organizeCode) {
try {
ValidatorBean.checkNotNull(organizeCode, "工厂代码不能为空");
List<String> equipmentCodeList = mesStationService.queryAllEquipmentCodeFromMesStation(organizeCode);
return ResultBean.success("查询站点信息中所有的设备代码成功").setResultList(equipmentCodeList);
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/mesStation/query-mes-station-by-pager")
@ApiOperation(value = "分页查询站点信息")
public ResultBean queryMesEquipment(MesStation mesStation, Pager pager) {
try {
ValidatorBean.checkNotNull(mesStation.getOrganizeCode(), "工厂代码不能为空");
ListPager<MesStation> mesStationByPager = mesStationService.queryMesStationByPager(mesStation, pager);
return ResultBean.success("分页查询站点信息成功").setListPager(mesStationByPager);
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping("/mesContainerSn/query-mes-container-sn-by-pager")
@ApiOperation(value = "分页查询容器条码")
public ResultBean queryMesContainerSnByPager(MesContainerSn mesContainerSn, Pager pager) {
try {
ValidatorBean.checkNotNull(mesContainerSn.getOrganizeCode(), "工厂代码不能为空");
ListPager<MesContainerSn> mesContainerSnListPager = mesContainerSnService.queryMesContainerSnByPager(mesContainerSn, pager);
return ResultBean.success("分页查询容器条码成功").setListPager(mesContainerSnListPager);
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,57 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnService;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesContainerSn;
import cn.estsh.i3plus.pojo.mes.repository.MesContainerSnRepository;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Description : -
* @Reference :
* @Author : logic
* @CreateDate : 2025/6/16 10:44
* @Modify:
**/
@Service
@Slf4j
public class MesContainerSnServiceImpl implements IMesContainerSnService {
@Autowired
private MesContainerSnRepository mesContainerSnRepository;
@Override
public ListPager<MesContainerSn> queryMesContainerSnByPager(MesContainerSn mesContainerSn, Pager pager) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesContainerSn.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(mesContainerSn.getContainerTypeCode(), "containerTypeCode", ddlPackBean);
DdlPreparedPack.getStringEqualPack(mesContainerSn.getContainerSn(), "containerSn", ddlPackBean);
pager = PagerHelper.getPager(pager, mesContainerSnRepository.findByHqlWhereCount(ddlPackBean));
List<MesContainerSn> containerSnList = mesContainerSnRepository.findByHqlWherePage(ddlPackBean, pager);
return new ListPager<>(containerSnList, pager);
}
@Override
public void checkContainerSnIsExist(String containerSn, String organizeCode) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(containerSn, "containerSn", ddlPackBean);
if (!mesContainerSnRepository.isExitByHql(ddlPackBean)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("容器条码【%s】不存在!", containerSn)
.build();
}
}
}

@ -0,0 +1,234 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.MesConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesContainerPackageDetail;
import cn.estsh.i3plus.pojo.mes.bean.MesContainerSn;
import cn.estsh.i3plus.pojo.mes.bean.MesContainerSnStation;
import cn.estsh.i3plus.pojo.mes.model.report.DataTwoDimensionalModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesCimSeresJisQueueSummaryResponse;
import cn.estsh.i3plus.pojo.mes.repository.MesContainerPackageDetailRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesContainerSnRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesContainerSnStationRepository;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesContainerSnStationService;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Description : -
* @Reference :
* @Author : logic
* @CreateDate : 2025/6/13 09:16
* @Modify:
**/
@Slf4j
@Service
public class MesContainerSnStationServiceImpl implements IMesContainerSnStationService {
@Autowired
private MesContainerSnStationRepository mesContainerSnStationRepository;
@Autowired
private MesContainerPackageDetailRepository packageDetailRDao;
@Autowired
private EntityManager entityManager;
private void packContainerSnStation(String organizeCode, MesContainerSnStation snStation, Query query) {
query.setParameter("organizeCode", organizeCode)
.setParameter("isValid", CommonEnumUtil.VALID)
.setParameter("isDeleted", CommonEnumUtil.FALSE)
.setParameter("station", snStation.getStation());
if (!StringUtils.isEmpty(snStation.getContainerSn())){
query.setParameter("top_container_sn", snStation.getContainerSn());
}
}
@Override
public ListPager<MesContainerSnStation> queryPager(MesContainerSnStation mesContainerSnStation, Pager pager) {
if (StringUtils.isEmpty(mesContainerSnStation.getStation())) {
return new ListPager<>(new ArrayList<>(), pager);
}
StringBuilder hql = new StringBuilder();
hql.append(" from mes_container_sn_station mss where mss.organize_code=:organizeCode and mss.is_deleted=:isDeleted and mss.is_valid=:isValid");
hql.append(" and mss.station=:station");
if (!StringUtils.isEmpty(mesContainerSnStation.getContainerSn())) {
hql.append(" and mss.top_container_sn=:top_container_sn");
}
StringBuilder countQueryHql= new StringBuilder();
countQueryHql.append("select count(DISTINCT mss.top_container_sn)");
Query countQuery = entityManager.createNativeQuery(countQueryHql.append(hql).toString());
packContainerSnStation(mesContainerSnStation.getOrganizeCode(), mesContainerSnStation, countQuery);
//本次查询满足条件的总数
int count = countQuery.getResultList().size();
if (count <= 0) {
return new ListPager<>(new ArrayList<>(), pager);
}
StringBuilder dataQueryHql = new StringBuilder();
dataQueryHql.append("select DISTINCT mss.top_container_sn as containerSn, mss.station as station, mss.seq as seq");
Query dataQuery = entityManager.createNativeQuery(dataQueryHql.append(hql).toString());
packContainerSnStation(mesContainerSnStation.getOrganizeCode(), mesContainerSnStation, dataQuery);
pager = PagerHelper.getPager(pager, count);
//查询本页数据
dataQuery.setMaxResults(pager.getPageSize());
dataQuery.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize());
List list = dataQuery.getResultList();
List<MesContainerSnStation> modelList = new ArrayList<>();
for (Object result : list) {
Object[] cells = (Object[]) result;
MesContainerSnStation snStation = new MesContainerSnStation();
snStation.setContainerSn(StringUtils.isEmpty(cells[0]) ? "" : cells[0].toString());
snStation.setStation(StringUtils.isEmpty(cells[1]) ? "" : cells[1].toString());
snStation.setSeq(StringUtils.isEmpty(cells[2]) ? 0 : Integer.parseInt(cells[2].toString()));
modelList.add(snStation);
}
return new ListPager<>(modelList, pager);
// DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesContainerSnStation.getOrganizeCode());
// DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getStation(), "station", ddlPackBean);
// DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getContainerSn(), "containerSn", ddlPackBean);
// DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getPartNo(), "partNo", ddlPackBean);
// pager = PagerHelper.getPager(pager, mesContainerSnStationRepository.findByHqlWhereCount(ddlPackBean));
// List<MesContainerSnStation> containerSnStationList = mesContainerSnStationRepository.findByHqlWherePage(ddlPackBean, pager);
// return new ListPager<>(containerSnStationList, pager);
}
private String getTopContainerSn(String organizeCode, String containerSn) {
MesContainerPackageDetail packageDetail = packageDetailRDao.getByProperty(new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_VALID, MesConstWords.IS_DELETED, "barCode"},
new Object[]{organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), containerSn});
if (packageDetail != null) {
return getTopContainerSn(organizeCode, packageDetail.getContainerSn());
}
return containerSn;
}
private Boolean getBottomPackageDetails(String organizeCode, String containerSn, List<MesContainerPackageDetail> bottomPackageDetails) {
List<MesContainerPackageDetail> packageDetailList = packageDetailRDao.findByProperty(new String[]{MesConstWords.ORGANIZE_CODE, MesConstWords.IS_VALID, MesConstWords.IS_DELETED, "containerSn"},
new Object[]{organizeCode, CommonEnumUtil.IS_VAILD.VAILD.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), containerSn});
if (CollectionUtils.isEmpty(packageDetailList)) {
return true;
}
for (MesContainerPackageDetail packageDetail : packageDetailList) {
if (getBottomPackageDetails(organizeCode, packageDetail.getBarCode(), bottomPackageDetails)) {
bottomPackageDetails.add(packageDetail);
}
}
return false;
}
private void checkNotMultiplyStation(String organizeCode, String stationCode, Set<String> containerSnSet) {
if (CollectionUtils.isEmpty(containerSnSet)) {
return;
}
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(new ArrayList<>(containerSnSet), "containerSn", ddlPackBean);
List<MesContainerSnStation> containerSnStationList = mesContainerSnStationRepository.findByHqlWhere(ddlPackBean);
for (MesContainerSnStation snStation : containerSnStationList) {
if (!snStation.getStation().equals(stationCode)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("此容器已绑定站点【%s】!", snStation.getStation())
.build();
}
}
}
@Override
public void doInsert(MesContainerSnStation mesContainerSnStation, String userName) {
final String organizeCode = mesContainerSnStation.getOrganizeCode();
String topContainerSn = getTopContainerSn(organizeCode, mesContainerSnStation.getContainerSn());
if (!topContainerSn.equals(mesContainerSnStation.getContainerSn())) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("此容器已绑定容器条码【%s】请扫描容器条码【%s】!", mesContainerSnStation.getContainerSn(), topContainerSn)
.build();
}
//校验容器条码的唯一性
DdlPackBean containerSnStationDdlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getContainerSn(), "topContainerSn", containerSnStationDdlPackBean);
if (mesContainerSnStationRepository.isExitByHql(containerSnStationDdlPackBean)) {
throw ImppExceptionBuilder.newInstance()
.setSystemID(CommonEnumUtil.SOFT_TYPE.MES_PCN.getCode())
.setErrorCode(ImppExceptionEnum.VARIFY_EXCEPTION.getCode())
.setErrorDetail("容器条码【%s】已存在!", mesContainerSnStation.getContainerSn())
.build();
}
List<MesContainerPackageDetail> bottomPackageDetailList = new ArrayList<>();
getBottomPackageDetails(organizeCode, mesContainerSnStation.getContainerSn(), bottomPackageDetailList);
final Set<String> containerSnSet = bottomPackageDetailList.stream().map(MesContainerPackageDetail::getContainerSn).collect(Collectors.toSet());
checkNotMultiplyStation(organizeCode, mesContainerSnStation.getStation(), containerSnSet);
//根据站点 + 设备代码的组合查询现有数据中最大的顺序号,新增数据的顺序号在最大值的基础上加一
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesContainerSnStation.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(mesContainerSnStation.getStation(), "station", ddlPackBean);
DdlPreparedPack.getOrderByPack(
new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()},
new String[]{"seq"}, ddlPackBean);
List<MesContainerSnStation> oldContainerSnStationList =
mesContainerSnStationRepository.findByHqlTopWhere(ddlPackBean, 1);
int seq;
if (CollectionUtils.isEmpty(oldContainerSnStationList)) {
seq = 1;
}else {
if (Objects.isNull(oldContainerSnStationList.get(0)) ||
Objects.isNull(oldContainerSnStationList.get(0).getSeq())) {
seq = 1;
}else {
seq = oldContainerSnStationList.get(0).getSeq() + 1;
}
}
if (CollectionUtils.isEmpty(bottomPackageDetailList)) {
MesContainerSnStation snStation = new MesContainerSnStation();
snStation.setOrganizeCode(organizeCode);
snStation.setStation(mesContainerSnStation.getStation());
snStation.setContainerSn(mesContainerSnStation.getContainerSn());
snStation.setTopContainerSn(topContainerSn);
snStation.setSeq(seq);
ConvertBean.serviceModelInitialize(snStation, userName);
mesContainerSnStationRepository.insert(snStation);
} else {
for (String containerSn : containerSnSet) {
MesContainerSnStation snStation = new MesContainerSnStation();
snStation.setOrganizeCode(organizeCode);
snStation.setStation(mesContainerSnStation.getStation());
snStation.setContainerSn(containerSn);
snStation.setTopContainerSn(topContainerSn);
snStation.setSeq(seq);
ConvertBean.serviceModelInitialize(snStation, userName);
mesContainerSnStationRepository.insert(snStation);
}
}
}
@Override
public void deleteWeaklyByIds(List<Long> idList, String organizeCode, String userName) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPackList(idList, "id", ddlPackBean);
mesContainerSnStationRepository.updateByProperties(
new String[]{"modifyUser", "modifyDatetime", "isDeleted"},
new Object[]{userName, TimeTool.getNowTime(true), CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()},
ddlPackBean);
}
}

@ -3,14 +3,23 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesStationService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException;
import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.common.PagerHelper;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesStation;
import cn.estsh.i3plus.pojo.mes.repository.MesStationRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* @Description :
@ -44,4 +53,29 @@ public class MesStationServiceImpl implements IMesStationService {
}
return mesStation;
}
@Override
public List<String> queryAllEquipmentCodeFromMesStation(String organizeCode) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
List<MesStation> mesStationList = mesStationRepository.findByHqlWhere(ddlPackBean);
List<String> equipmentCodeList = new ArrayList<>();
if (CollectionUtils.isEmpty(mesStationList)) {
return equipmentCodeList;
}else {
equipmentCodeList = mesStationList.stream().map(MesStation::getEquipmentCode).distinct().collect(Collectors.toList());
return equipmentCodeList;
}
}
@Override
public ListPager<MesStation> queryMesStationByPager(MesStation mesStation, Pager pager) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesStation.getOrganizeCode());
DdlPreparedPack.getStringLikerPack(mesStation.getStation(), "station", ddlPackBean);
DdlPreparedPack.getNumEqualPack(mesStation.getStationType(), "stationType", ddlPackBean);
DdlPreparedPack.getStringLikerPack(mesStation.getEquipmentCode(), "equipmentCode", ddlPackBean);
pager = PagerHelper.getPager(pager, mesStationRepository.findByHqlWhereCount(ddlPackBean));
List<MesStation> mesStationList = mesStationRepository.findByHqlWherePage(ddlPackBean, pager);
return new ListPager<>(mesStationList, pager);
}
}

Loading…
Cancel
Save