diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesInputDefectRecordService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesInputDefectRecordService.java index ccb7be0..7839bb5 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesInputDefectRecordService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesInputDefectRecordService.java @@ -20,6 +20,9 @@ public interface IMesInputDefectRecordService { @ApiOperation(value = "扫描产品条码") public MesInputDefectRecordModel queryProduceSn(String serialNumber, Integer sides, String org); + @ApiOperation(value = "批次录入") + public MesInputDefectRecordModel queryPartAndLot(String partNo, String lot, Integer sides, String org); + @ApiOperation(value = "零件类型缺陷类型对应关系信息") public List queryPartTypeDefect(String serialNumber, String defectLocationCode, boolean flg, Integer sides, String org); diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesNcProcessingService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesNcProcessingService.java index 484377b..ff1c579 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesNcProcessingService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesNcProcessingService.java @@ -1,8 +1,14 @@ package cn.estsh.i3plus.ext.mes.pcn.api.busi; +import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingInputModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingModel; +import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingPartAndLotModel; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; import io.swagger.annotations.ApiOperation; +import java.util.List; + /** * @Description : * @Reference : @@ -14,10 +20,13 @@ public interface IMesNcProcessingService { @ApiOperation(value = "扫描产品条码") - public MesNcProcessingModel queryProduceSn(String serialNumber, String org); + public MesNcProcessingModel queryProduceSn(String serialNumber, String partNo, String lot, String org); + + @ApiOperation(value = "查询标记不良的物料及批次") + public ListPager queryPartLot(String partNo, String lot, String org, Pager pager); @ApiOperation(value = "NC处理") - public void saveNc(String serialNumber,Integer person, Integer type, String org); + public void saveNc(MesNcProcessingInputModel model, String org); } diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkOrderService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkOrderService.java new file mode 100644 index 0000000..5a9edc9 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesWorkOrderService.java @@ -0,0 +1,30 @@ +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.MesWorkOrder; +import io.swagger.annotations.ApiOperation; + +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : + * @CreateDate : 2024-04-26 15:37 + * @Modify: + **/ +public interface IMesWorkOrderService { + + + @ApiOperation(value = "查询工单") + public MesWorkOrder queryMesWorkOrder(MesWorkOrder workOrder); + + @ApiOperation(value = "查询工单") + public List queryMesWorkOrderList(MesWorkOrder workOrder); + + @ApiOperation(value = "查询工单") + public ListPager queryMesWorkOrderListByPager(MesWorkOrder workOrder, Pager pager); + + +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesInputDefectRecordController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesInputDefectRecordController.java index 4aef534..e5fb622 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesInputDefectRecordController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesInputDefectRecordController.java @@ -36,7 +36,6 @@ public class MesInputDefectRecordController { ValidatorBean.checkNotNull(serialNumber, "产品条码不能为空"); ValidatorBean.checkNotNull(sides, "正反面不能为空"); -// return ResultBean.success("查询成功").setResultObject(inputDefectRecordService.queryProduceSn(serialNumber, sides, "2031")); return ResultBean.success("查询成功").setResultObject(inputDefectRecordService.queryProduceSn(serialNumber, sides, AuthUtil.getOrganizeCode())); } catch (ImppBusiException imppException) { return ResultBean.fail(imppException); @@ -45,6 +44,24 @@ public class MesInputDefectRecordController { } } + @GetMapping("/query-part-lot") + @ApiOperation(value = "查询零件号-批次") + public ResultBean queryProduceSn(String partNo, String lot, Integer sides) { + + try { + // 数据校验 + ValidatorBean.checkNotNull(partNo, "物料不能为空"); + ValidatorBean.checkNotNull(lot, "批次不能为空"); + ValidatorBean.checkNotNull(sides, "正反面不能为空"); + + return ResultBean.success("查询成功").setResultObject(inputDefectRecordService.queryPartAndLot(partNo, lot, sides, AuthUtil.getOrganizeCode())); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + @GetMapping("/query-part-type-defect") @ApiOperation(value = "查询零件类型缺陷类型对应关系") public ResultBean queryPartTypeDefect(String partNo, String defectLocationCode, boolean flg, Integer sides) { @@ -71,8 +88,6 @@ public class MesInputDefectRecordController { try { // 数据校验 ValidatorBean.checkNotNull(defectRecordList, "选择不良数据不能为空"); - -// inputDefectRecordService.saveDefectRecord(defectRecordList, "2031"); inputDefectRecordService.saveDefectRecord(defectRecordList, AuthUtil.getOrganizeCode()); return ResultBean.success("完成质检成功"); } catch (ImppBusiException imppException) { diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesNcProcessingController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesNcProcessingController.java index 448f3c4..95a3c03 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesNcProcessingController.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesNcProcessingController.java @@ -3,9 +3,11 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesNcProcessingService; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; -import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesInputNcProcessingModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingInputModel; +import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingPartAndLotModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil; +import cn.estsh.i3plus.pojo.base.bean.ListPager; +import cn.estsh.i3plus.pojo.base.common.Pager; import cn.estsh.impp.framework.boot.auth.AuthUtil; import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder; @@ -29,15 +31,34 @@ public class MesNcProcessingController { @GetMapping("/query") - @ApiOperation(value = "查询产品条码") - public ResultBean queryProduceSn(String serialNumber) { + @ApiOperation(value = "查询产品条码或零件号+批次") + public ResultBean queryProduceSn(String serialNumber, String partNo, String lot) { try { // 数据校验 - ValidatorBean.checkNotNull(serialNumber, "产品条码不能为空"); + if (StringUtils.isEmpty(serialNumber) && (StringUtils.isEmpty(partNo) || StringUtils.isEmpty(lot))) { + throw new ImppBusiException("产品条码为空或零件号+批次为空"); + } -// return ResultBean.success("查询成功").setResultObject(ncProcessingService.queryProduceSn(serialNumber, "CK01")); - return ResultBean.success("查询成功").setResultObject(ncProcessingService.queryProduceSn(serialNumber, AuthUtil.getOrganizeCode())); + return ResultBean.success("查询成功").setResultObject(ncProcessingService.queryProduceSn(serialNumber, partNo, lot, AuthUtil.getOrganizeCode())); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping("/query-part-lot") + @ApiOperation(value = "查询零件批次") + public ResultBean queryPartLot(String partNo, String lot, Pager pager) { + + try { + // 数据校验 +// ValidatorBean.checkNotNull(partNo, "零件号不能为空"); +// ValidatorBean.checkNotNull(lot, "不能为空"); + + ListPager modelList = ncProcessingService.queryPartLot(partNo, lot, AuthUtil.getOrganizeCode(), pager); + return ResultBean.success("查询成功").setListPager(modelList); } catch (ImppBusiException imppException) { return ResultBean.fail(imppException); } catch (Exception e) { @@ -47,12 +68,14 @@ public class MesNcProcessingController { @PostMapping("/save-nc") @ApiOperation(value = "NC处理") - public ResultBean saveNc(@RequestBody MesInputNcProcessingModel model) { + public ResultBean saveNc(@RequestBody MesNcProcessingInputModel model) { try { // 数据校验 - ValidatorBean.checkNotNull(model.getSerialNumber(), "产品条码不能为空"); ValidatorBean.checkNotNull(model.getType(), "类型不能为空"); + if (StringUtils.isEmpty(model.getSerialNumber()) && (StringUtils.isEmpty(model.getPartNo()) || StringUtils.isEmpty(model.getLot()))) { + throw new ImppBusiException("产品条码为空或零件号+批次为空"); + } String description = MesPcnExtEnumUtil.NC_TYPE.valueOfDescription(model.getType()); if (StringUtils.isEmpty(description)) { @@ -60,8 +83,7 @@ public class MesNcProcessingController { } - ncProcessingService.saveNc(model.getSerialNumber(), model.getPerson(), model.getType(), AuthUtil.getOrganizeCode()); -// ncProcessingService.saveNc(serialNumber, person, type, AuthUtil.getOrganizeCode()); + ncProcessingService.saveNc(model, AuthUtil.getOrganizeCode()); return ResultBean.success("NC处理成功"); } catch (ImppBusiException imppException) { return ResultBean.fail(imppException); diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesWorkOrderController.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesWorkOrderController.java new file mode 100644 index 0000000..c56c0fb --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/controller/busi/MesWorkOrderController.java @@ -0,0 +1,61 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.controller.busi; + +import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderService; +import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; +import cn.estsh.i3plus.pojo.base.common.Pager; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; +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 io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @Description : + * @Reference : + * @Author : + * @CreateDate : 2024-05-13 9:06 + * @Modify: + **/ +@RestController +@Api(tags = "工单") +@RequestMapping(MesCommonConstant.MES_YANFEN + "/work-order") +@Slf4j +public class MesWorkOrderController { + + @Autowired + private IMesWorkOrderService workOrderService; + + @GetMapping("/query") + @ApiOperation(value = "查询工单") + public ResultBean queryWorkOrder(MesWorkOrder workOrder) { + + try { + + return ResultBean.success("查询成功").setResultList(workOrderService.queryMesWorkOrderList(workOrder)); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } + + @GetMapping("/query-pager") + @ApiOperation(value = "查询工单") + public ResultBean queryWorkOrderByPager(MesWorkOrder workOrder, Pager pager) { + + try { + + return ResultBean.success("查询成功").setListPager(workOrderService.queryMesWorkOrderListByPager(workOrder, pager)); + } catch (ImppBusiException imppException) { + return ResultBean.fail(imppException); + } catch (Exception e) { + return ImppExceptionBuilder.newInstance().buildExceptionResult(e); + } + } +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/dao/IMesNcProcessingDao.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/dao/IMesNcProcessingDao.java new file mode 100644 index 0000000..6adbd14 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/dao/IMesNcProcessingDao.java @@ -0,0 +1,17 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.dao; + +import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingPartAndLotModel; +import cn.estsh.i3plus.pojo.base.common.Pager; +import io.swagger.annotations.ApiOperation; + +import java.util.List; + +public interface IMesNcProcessingDao { + + @ApiOperation(value = "查询返工返修数据") + int queryDefectRecordByPagerCount(String partNo, String lot, String org); + + @ApiOperation(value = "查询停工统计数据") + List queryDefectRecordByPager(String partNo, String lot, String org, Pager pager); + +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesNcProcessingDao.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesNcProcessingDao.java new file mode 100644 index 0000000..c2257d1 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/daoimpl/MesNcProcessingDao.java @@ -0,0 +1,88 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.daoimpl; + +import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesNcProcessingDao; +import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingPartAndLotModel; +import cn.estsh.i3plus.pojo.base.common.Pager; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.util.CollectionUtils; + +import javax.persistence.EntityManager; +import javax.persistence.Query; +import java.util.ArrayList; +import java.util.List; + +public class MesNcProcessingDao implements IMesNcProcessingDao { + + @Autowired + private EntityManager entityManager; + + @Override + public int queryDefectRecordByPagerCount(String partNo, String lot, String org) { + + StringBuffer hql = new StringBuffer(); + hql.append("select count(1) from mes_defect_record as mdr "); + hql.append(" where mdr.organizeCode = :organizeCode "); + hql.append(" and mdr.isValid = :isValid "); + hql.append(" and mdr.isDeleted = :isDeleted "); + hql.append(" and mdr.part_no = :partNo "); + hql.append(" and mdr.lot = :lot "); + hql.append(" and mdr.nc_type = 0 "); + hql.append(" group by mdr.part_no , mdr.lot "); + + Query query = entityManager.createNativeQuery(hql.toString()); + + query.setParameter("organizeCode", org); + query.setParameter("isValid", 1); + query.setParameter("isDeleted", 2); + + List list = query.getResultList(); + if (CollectionUtils.isEmpty(list)) { + return 0; + } + return list.size(); + } + + @Override + public List queryDefectRecordByPager(String partNo, String lot, String org, Pager pager) { + + StringBuffer hql = new StringBuffer(); + hql.append("select mdr.part_no ,mdr.part_name , mdr.lot from mes_defect_record as mdr "); + hql.append(" where mdr.organizeCode = :organizeCode "); + hql.append(" and mdr.isValid = :isValid "); + hql.append(" and mdr.isDeleted = :isDeleted "); + hql.append(" and mdr.part_no = :partNo "); + hql.append(" and mdr.lot = :lot "); + hql.append(" and mdr.nc_type = 0 "); + hql.append(" group by mdr.part_no ,mdr.part_name , mdr.lot "); + + Query query = entityManager.createNativeQuery(hql.toString()); + + query.setParameter("organizeCode", org); + query.setParameter("isValid", 1); + query.setParameter("isDeleted", 2); + + if (pager.getCurrentPage() == 0) { + pager.setCurrentPage(1); + } + query.setMaxResults(pager.getPageSize()); //设置获取的数量 + query.setFirstResult(pager.getCurrentPage() * pager.getPageSize() - pager.getPageSize()); + + List list = query.getResultList(); + + List modelList = new ArrayList<>(); + + for (Object result : list) { + Object[] cells = (Object[]) result; + MesNcProcessingPartAndLotModel model = new MesNcProcessingPartAndLotModel(); + String defectPartNo = String.valueOf(cells[0]); + String defectPartName = String.valueOf(cells[1]); + String defectLot = String.valueOf(cells[2]); + model.setPartNo(defectPartNo); + model.setPartName(defectPartName); + model.setLot(defectLot); + modelList.add(model); + } + return modelList; + + } +} diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java index 288e0e0..2d39fab 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesInputDefectRecordService.java @@ -78,45 +78,27 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService //检查物料 MesPart part = checkPart(produceSn, org); - //todo 图片暂时放空 //检查零件类型与图片对应关系 MesPartTypePicture partTypePicture = checkPartTypePicture(part, org); - //位置 - List locationConfigList = checkLocationConfig(org); - List locationCodeList = locationConfigList.stream().map(k -> k.getDefectLocationCode()).collect(Collectors.toList()); + //构造返回信息 + MesInputDefectRecordModel model = getModel(part, partTypePicture, sides, org); - //查询零件类型缺陷类型对应关系 - List partTypeDefectList = checkPartTypeDefect(part, org); - List partTypeDefectCodeList = partTypeDefectList.stream().map(k -> k.getDefectCode()).collect(Collectors.toList()); + return model; + } - //查询预警数量 - List alarmConfigList = queryDefectAlarmConfigByLocationCodeList(part, sides, locationCodeList, partTypeDefectCodeList, org); + @Override + public MesInputDefectRecordModel queryPartAndLot(String partNo, String lot, Integer sides, String org) { - //根据不良类型+位置 若有数据,则表示需要标黄 - Map alarmConfigMap = alarmConfigList.stream().collect(Collectors.toMap(k -> k.getDefectLocationCode(), k -> k)); + //检查物料 + MesPart part = checkPartByPartNo(partNo, org); -// //位置是否标黄Map,key:位置,value:标黄标识 -// Map map = new HashMap<>(); -// alarmConfigMap.forEach((k, v) -> { -// //若有这个位置则标黄 -// if (!map.containsKey(k)) { -// map.put(k, true); -// } -// -// }); + //检查零件类型与图片对应关系 + MesPartTypePicture partTypePicture = checkPartTypePicture(part, org); - locationConfigList.forEach(k -> { - if (alarmConfigMap.containsKey(k.getDefectLocationCode())) { - k.setIsflg(true); - } - }); + //构造返回信息 + MesInputDefectRecordModel model = getModel(part, partTypePicture, sides, org); - MesInputDefectRecordModel model = new MesInputDefectRecordModel(); -// model.setMap(map); - model.setPart(part); - model.setPartTypePicture(partTypePicture); - model.setLocationConfigList(locationConfigList); return model; } @@ -163,54 +145,34 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService @Override public void saveDefectRecord(List defectRecordList, String org) { - //检查条码 - MesProduceSn produceSn = checkProduceSn(defectRecordList.get(0).getSerialNumber(), org); + //通过条码判断是单件还是批次, + //扫描条码则是单件 没有条码是批次 + if (StringUtils.isEmpty(defectRecordList.get(0).getSerialNumber())) { - produceSn.setQcStatus(MesPcnExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS.getValue()); + //检查条码 + MesProduceSn produceSn = checkProduceSn(defectRecordList.get(0).getSerialNumber(), org); - DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); - DdlPreparedPack.getStringEqualPack(produceSn.getPartNo(), "partNo", packBean); - MesPart part = partRepository.getByProperty(packBean); + produceSn.setQcStatus(MesPcnExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS.getValue()); - defectRecordList.forEach(r -> { - r.setId(null); - r.setPartNo(part.getPartNo()); - r.setPartName(part.getPartName()); -//// r.setOrderId(workOrder.getId()); -//// r.setOrderNo(workOrder.getOrderNo()); - r.setOrganizeCode(org); -// //更新工单表报废数量 -//// workOrder.setRepairQty(workOrder.getRepairQtyVal() + r.getQty()); - ConvertBean.serviceModelInitialize(r, AuthUtil.getSessionUser().getUserName()); - }); + //检查物料 + MesPart part = checkPartByPartNo(produceSn.getPartNo(), org); - //保存数据 - defectRecordService.saveDefect(org, AuthUtil.getSessionUser().getUserName(), defectRecordList); + //保存数据 + saveDate(defectRecordList, part, org); - GenSerialNoModel serialNoModel = new GenSerialNoModel("INPUT_DEFECT_ZRSUM"); - serialNoModel.setPartNo(part.getPartNo()); - ResultBean rb = syncFuncService.syncSerialNo(serialNoModel, AuthUtil.getSessionUser().getUserName(), org, 1); - String zrsum = ""; - if (null != rb && !CollectionUtils.isEmpty(rb.getResultList())) { - zrsum = (rb.getResultList().get(0)).toString(); - } + //单件需要修改条码状态 批量则不需要 + ConvertBean.serviceModelUpdate(produceSn, AuthUtil.getSessionUser().getUserName()); + produceSnRepository.save(produceSn); + } else { - ConvertBean.serviceModelUpdate(produceSn, AuthUtil.getSessionUser().getUserName()); - produceSnRepository.save(produceSn); + //检查物料 + MesPart part = checkPartByPartNo(defectRecordList.get(0).getPartNo(), org); - MesMove move = new MesMove(); - move.setMatnr(part.getPartNo()); - move.setOrganizeCode(org); - move.setFactoryCode(org); - move.setLgort(configService.getCfgValue(org, "LGORT")); - move.setUmlgo(configService.getCfgValue(org, "UMLGO")); - move.setMenge(defectRecordList.size()); - move.setMeins(part.getUnit()); - move.setZrsum(zrsum); - move.setPostDate(TimeTool.getToday()); - move.setPostTime(TimeTool.getTimeShortWithColon()); - ConvertBean.serviceModelInitialize(move, AuthUtil.getSessionUser().getUserName()); - moveRepository.save(move); + //保存数据 + saveDate(defectRecordList, part, org); + + + } } private MesProduceSn checkProduceSn(String serialNumber, String org) { @@ -231,7 +193,6 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService throw new ImppBusiException(String.format("【%s】此条码状态为【%s】,请选择【%s】状态的条码", serialNumber, produceSn.getSnStatus(), MesPcnExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue())); } - //todo //是否需要判断条码质量状态 if (produceSn.getQcStatus() != MesPcnExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()) { throw new ImppBusiException(String.format("【%s】此条码状态为【%s】,请选择【%s】状态的条码", serialNumber, produceSn.getSnStatus(), MesPcnExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue())); @@ -265,6 +226,11 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService DdlPreparedPack.getStringEqualPack(partNo, "partNo", packBean); MesPart part = partRepository.getByProperty(packBean); + //若不存在则提示物料信息不存在 + if (StringUtils.isEmpty(part)) { + throw new ImppBusiException(String.format("【%s】物料号不存在,请检查数据", partNo)); + } + return part; } @@ -343,24 +309,71 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService return alarmConfigList; } - private void queryDefectRecordByToDaySumQty(Map map, MesPart part, Integer sides, String locationCode, String partTypeDefectCode, Integer count, - String org) { + private MesInputDefectRecordModel getModel(MesPart part, MesPartTypePicture partTypePicture, Integer sides, String org) { - if (map.containsKey(locationCode)) { - return; - } - DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); - DdlPreparedPack.getStringEqualPack(part.getPartNo(), "partNo", packBean); - DdlPreparedPack.getStringEqualPack(part.getPartTypeCode(), "partTypeCode", packBean); - DdlPreparedPack.getNumEqualPack(sides, "frontAndBackSides", packBean); - DdlPreparedPack.getStringEqualPack(locationCode, "defectLocation", packBean); - DdlPreparedPack.getStringEqualPack(partTypeDefectCode, "defectCode", packBean); - DdlPreparedPack.timeBuilder(TimeTool.getToday(), TimeTool.getToday(), "createDatetime", packBean, true); - int defectCount = defectRecordRepository.findByHqlWhereCount(packBean); + //位置 + List locationConfigList = checkLocationConfig(org); + List locationCodeList = locationConfigList.stream().map(k -> k.getDefectLocationCode()).collect(Collectors.toList()); + + //查询零件类型缺陷类型对应关系 + List partTypeDefectList = checkPartTypeDefect(part, org); + List partTypeDefectCodeList = partTypeDefectList.stream().map(k -> k.getDefectCode()).collect(Collectors.toList()); + + //查询预警数量 + List alarmConfigList = queryDefectAlarmConfigByLocationCodeList(part, sides, locationCodeList, partTypeDefectCodeList, org); + + //根据不良类型+位置 若有数据,则表示需要标黄 + Map alarmConfigMap = alarmConfigList.stream().collect(Collectors.toMap(k -> k.getDefectLocationCode(), k -> k)); + + locationConfigList.forEach(k -> { + if (alarmConfigMap.containsKey(k.getDefectLocationCode())) { + k.setIsflg(true); + } + }); + + MesInputDefectRecordModel model = new MesInputDefectRecordModel(); + model.setPart(part); + model.setPartTypePicture(partTypePicture); + model.setLocationConfigList(locationConfigList); + return model; + + } - if (defectCount >= count) { - map.put(locationCode, true); + private void saveDate(List defectRecordList, MesPart part, String org) { + + defectRecordList.forEach(r -> { + r.setId(null); + r.setPartNo(part.getPartNo()); + r.setPartName(part.getPartName()); + r.setOrganizeCode(org); + ConvertBean.serviceModelInitialize(r, AuthUtil.getSessionUser().getUserName()); + }); + + //保存不良数据 + defectRecordService.saveDefect(org, AuthUtil.getSessionUser().getUserName(), defectRecordList); + + GenSerialNoModel serialNoModel = new GenSerialNoModel("INPUT_DEFECT_ZRSUM"); + serialNoModel.setPartNo(part.getPartNo()); + ResultBean rb = syncFuncService.syncSerialNo(serialNoModel, AuthUtil.getSessionUser().getUserName(), org, 1); + String zrsum = ""; + if (null != rb && !CollectionUtils.isEmpty(rb.getResultList())) { + zrsum = (rb.getResultList().get(0)).toString(); } + MesMove move = new MesMove(); + move.setMatnr(part.getPartNo()); + move.setOrganizeCode(org); + move.setFactoryCode(org); + move.setLgort(configService.getCfgValue(org, "LGORT")); + move.setUmlgo(configService.getCfgValue(org, "UMLGO")); + move.setMenge(defectRecordList.size()); + move.setMeins(part.getUnit()); + move.setZrsum(zrsum); + move.setPostDate(TimeTool.getToday()); + move.setPostTime(TimeTool.getTimeShortWithColon()); + ConvertBean.serviceModelInitialize(move, AuthUtil.getSessionUser().getUserName()); + moveRepository.save(move); + } + } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesNcProcessingService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesNcProcessingService.java index 2d99a83..1059921 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesNcProcessingService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesNcProcessingService.java @@ -2,13 +2,19 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesConfigService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesNcProcessingService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.dao.IMesNcProcessingDao; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingInputModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingModel; +import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingPartAndLotModel; +import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesNcProcessingViewModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtEnumUtil; import cn.estsh.i3plus.mes.pcn.api.iservice.busi.ISyncFuncService; import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.tool.TimeTool; 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.*; @@ -63,95 +69,79 @@ public class MesNcProcessingService implements IMesNcProcessingService { @Autowired private MesMoveRepository moveRepository; + @Autowired + private IMesNcProcessingDao ncProcessingDao; + @Override - public MesNcProcessingModel queryProduceSn(String serialNumber, String org) { + public MesNcProcessingModel queryProduceSn(String serialNumber, String partNo, String lot, String org) { - //检查不良条码 - List defectRecordList = queryDefectRecord(serialNumber, org); + if (!StringUtils.isEmpty(serialNumber)) { + //检查不良条码 + List defectRecordList = queryDefectRecordBySerialNumber(serialNumber, org); - //检查物料 - MesPart part = checkPart(defectRecordList, org); + //检查物料 + MesPart part = checkPart(defectRecordList, org); - //todo 图片暂时放空 - //检查零件类型与图片对应关系 - MesPartTypePicture partTypePicture = checkPartTypePicture(part, org); + //构造返回结果 + MesNcProcessingModel model = getModel(part, defectRecordList, org); + return model; + } else { - //位置 - List locationConfigList = checkLocationConfig(org); + //检查不良条码 + List defectRecordList = queryDefectRecordByPartAndLot(partNo, lot, org); - Map> defectRecordMap = defectRecordList.stream().collect(Collectors.groupingBy(k -> k.getDefectLocationCode())); + //检查物料 + MesPart part = checkPartByPartNo(partNo, org); + //构造返回结果 + MesNcProcessingModel model = getModel(part, defectRecordList, org); + return model; + } + } - Map> defectMap = defectRecordList.stream().collect(Collectors.groupingBy(k -> k.getDefectCode())); + @Override + public ListPager queryPartLot(String partNo, String lot, String org, Pager pager) { - //位置是否标黄Map,key:位置,value:标黄标识 - locationConfigList.forEach(k -> { - if (defectRecordMap.containsKey(k.getDefectLocationCode())) { - k.setIsflg(true); - } - }); + pager = PagerHelper.getPager(pager, ncProcessingDao.queryDefectRecordByPagerCount(partNo, lot, org)); - List defectModelList = new ArrayList<>(); - defectMap.forEach((k, v) -> { - MesNcProcessingInputModel model = new MesNcProcessingInputModel(); - model.setDefectCode(k); - model.setQty(v.size()); - model.setDefectName(v.get(0).getDefectName()); - defectModelList.add(model); - }); + List modelList = ncProcessingDao.queryDefectRecordByPager(partNo, lot, org, pager); - MesNcProcessingModel model = new MesNcProcessingModel(); - model.setDefectModelList(defectModelList); - model.setPartTypePicture(partTypePicture); - model.setLocationConfigList(locationConfigList); - return model; + return new ListPager(modelList, pager); } @Override - public void saveNc(String serialNumber, Integer person, Integer type, String org) { + public void saveNc(MesNcProcessingInputModel model, String org) { - //检查不良条码 - List defectRecordList = queryDefectRecord(serialNumber, org); + if (!StringUtils.isEmpty(model.getSerialNumber())) { + String serialNumber = model.getSerialNumber(); + Integer type = model.getType(); + Integer person = model.getPerson(); + //检查不良条码 + List defectRecordList = queryDefectRecordBySerialNumber(serialNumber, org); - DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); - DdlPreparedPack.getStringEqualPack(defectRecordList.get(0).getPartNo(), "partNo", packBean); - MesPart part = partRepository.getByProperty(packBean); + //检查物料 + MesPart part = checkPartByPartNo(defectRecordList.get(0).getPartNo(), org); - GenSerialNoModel serialNoModel = new GenSerialNoModel("NC_DEFECT_ZRSUM"); - serialNoModel.setPartNo(part.getPartNo()); - ResultBean rb = syncFuncService.syncSerialNo(serialNoModel, AuthUtil.getSessionUser().getUserName(), org, 1); - String zrsum = ""; - if (null != rb && !CollectionUtils.isEmpty(rb.getResultList())) { - zrsum = (rb.getResultList().get(0)).toString(); - } + //保存数据 + saveDate(part, defectRecordList, type, person, org); + } else { - if (type == MesPcnExtEnumUtil.NC_TYPE.NORMAL.getValue()) { - MesMove move = new MesMove(); - move.setMatnr(part.getPartNo()); - move.setOrganizeCode(org); - move.setFactoryCode(org); - move.setLgort(configService.getCfgValue(org, "UMLGO")); - move.setUmlgo(configService.getCfgValue(org, "LGORT")); - move.setMenge(defectRecordList.size()); - move.setMeins(part.getUnit()); - move.setZrsum(zrsum); - move.setPostDate(TimeTool.getToday()); - move.setPostTime(TimeTool.getTimeShortWithColon()); -// ConvertBean.serviceModelInitialize(move, "LML"); - ConvertBean.serviceModelInitialize(move, AuthUtil.getSessionUser().getUserName()); - moveRepository.save(move); - } + String partNo = model.getPartNo(); + String lot = model.getLot(); + Integer type = model.getType(); + Integer person = model.getPerson(); - defectRecordList.forEach(k -> { - k.setNcType(type); - k.setPerson(person); -// ConvertBean.serviceModelUpdate(k, "LML"); - ConvertBean.serviceModelUpdate(k, AuthUtil.getSessionUser().getUserName()); - }); + //检查不良条码 + List defectRecordList = queryDefectRecordByPartAndLot(partNo, lot, org); - defectRecordRepository.saveAll(defectRecordList); + //检查物料 + MesPart part = checkPartByPartNo(partNo, org); + + //保存数据 + saveDate(part, defectRecordList, type, person, org); + } } private MesPart checkPart(List defectRecordList, String org) { @@ -174,12 +164,27 @@ public class MesNcProcessingService implements IMesNcProcessingService { return part; } + private MesPart checkPartByPartNo(String partNo, String org) { + + DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(partNo, "partNo", packBean); + MesPart part = partRepository.getByProperty(packBean); - private List queryDefectRecord(String serialNumber, String org) { + //若不存在则提示物料信息不存在 + if (StringUtils.isEmpty(part)) { + throw new ImppBusiException(String.format("【%s】物料号不存在,请检查数据", partNo)); + } + + return part; + } + + + private List queryDefectRecordBySerialNumber(String serialNumber, String org) { //查询扫描的条码 DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); DdlPreparedPack.getStringEqualPack(serialNumber, "serialNumber", packBean); +// DdlPreparedPack.getNumEqualPack(0, "ncType", packBean); List defectRecordList = defectRecordRepository.findByHqlWhere(packBean); if (CollectionUtils.isEmpty(defectRecordList)) { @@ -196,6 +201,29 @@ public class MesNcProcessingService implements IMesNcProcessingService { return defectRecordList; } + private List queryDefectRecordByPartAndLot(String partNo, String Lot, String org) { + + //查询扫描的条码 + DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); + DdlPreparedPack.getStringEqualPack(partNo, "partNo", packBean); + DdlPreparedPack.getStringEqualPack(Lot, "Lot", packBean); +// DdlPreparedPack.getNumEqualPack(0, "ncType", packBean); + List defectRecordList = defectRecordRepository.findByHqlWhere(packBean); + + if (CollectionUtils.isEmpty(defectRecordList)) { + throw new ImppBusiException(String.format("【%s】此物料号+【%s】批次不存在可疑品记录,请检查数据", partNo, Lot)); + } + + defectRecordList.forEach(k -> { + if (k.getNcType() != 0) { + throw new ImppBusiException(String.format("【%s】此物料号+【%s】批次已经过NC处理,请检查数据", partNo, Lot)); + } + }); + + + return defectRecordList; + } + private MesPartTypePicture checkPartTypePicture(MesPart part, String org) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); @@ -243,4 +271,92 @@ public class MesNcProcessingService implements IMesNcProcessingService { return configList; } + + + /** + * 构造返回数据 + * + * @param part + * @param defectRecordList + * @param org + * @return + */ + private MesNcProcessingModel getModel(MesPart part, List defectRecordList, String org) { + //todo 图片暂时放空 + //检查零件类型与图片对应关系 + MesPartTypePicture partTypePicture = checkPartTypePicture(part, org); + + //位置 + List locationConfigList = checkLocationConfig(org); + + Map> defectRecordMap = defectRecordList.stream().collect(Collectors.groupingBy(k -> k.getDefectLocationCode())); + + + Map> defectMap = defectRecordList.stream().collect(Collectors.groupingBy(k -> k.getDefectCode())); + + //位置是否标黄Map,key:位置,value:标黄标识 + locationConfigList.forEach(k -> { + if (defectRecordMap.containsKey(k.getDefectLocationCode())) { + k.setIsflg(true); + } + }); + + List defectModelList = new ArrayList<>(); + defectMap.forEach((k, v) -> { + MesNcProcessingViewModel model = new MesNcProcessingViewModel(); + model.setDefectCode(k); + model.setQty(v.size()); + model.setDefectName(v.get(0).getDefectName()); + defectModelList.add(model); + }); + + MesNcProcessingModel model = new MesNcProcessingModel(); + model.setDefectModelList(defectModelList); + model.setPartTypePicture(partTypePicture); + model.setLocationConfigList(locationConfigList); + return model; + } + + /** + * 保存数据 + * + * @param part + * @param defectRecordList + * @param type + * @param person + * @param org + */ + private void saveDate(MesPart part, List defectRecordList, Integer type, Integer person, String org) { + GenSerialNoModel serialNoModel = new GenSerialNoModel("NC_DEFECT_ZRSUM"); + serialNoModel.setPartNo(part.getPartNo()); + ResultBean rb = syncFuncService.syncSerialNo(serialNoModel, AuthUtil.getSessionUser().getUserName(), org, 1); + String zrsum = ""; + if (null != rb && !CollectionUtils.isEmpty(rb.getResultList())) { + zrsum = (rb.getResultList().get(0)).toString(); + } + + if (type == MesPcnExtEnumUtil.NC_TYPE.NORMAL.getValue()) { + MesMove move = new MesMove(); + move.setMatnr(part.getPartNo()); + move.setOrganizeCode(org); + move.setFactoryCode(org); + move.setLgort(configService.getCfgValue(org, "UMLGO")); + move.setUmlgo(configService.getCfgValue(org, "LGORT")); + move.setMenge(defectRecordList.size()); + move.setMeins(part.getUnit()); + move.setZrsum(zrsum); + move.setPostDate(TimeTool.getToday()); + move.setPostTime(TimeTool.getTimeShortWithColon()); + ConvertBean.serviceModelInitialize(move, AuthUtil.getSessionUser().getUserName()); + moveRepository.save(move); + } + + defectRecordList.forEach(k -> { + k.setNcType(type); + k.setPerson(person); + ConvertBean.serviceModelUpdate(k, AuthUtil.getSessionUser().getUserName()); + }); + + defectRecordRepository.saveAll(defectRecordList); + } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java new file mode 100644 index 0000000..13fe614 --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java @@ -0,0 +1,79 @@ +package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi; + +import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesWorkOrderService; +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.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; +import cn.estsh.i3plus.pojo.mes.repository.MesWorkOrderRepository; +import cn.estsh.impp.framework.boot.exception.ImppBusiException; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : + * @CreateDate : 2024-05-09 10:54 + * @Modify: + **/ + +@Service +@Slf4j +public class MesWorkOrderService implements IMesWorkOrderService { + + @Autowired + private MesWorkOrderRepository workOrderRepository; + + + @Override + public MesWorkOrder queryMesWorkOrder(MesWorkOrder workOrder) { + + DdlPackBean packBean = getDdlPackBean(workOrder); + MesWorkOrder result = workOrderRepository.getByProperty(packBean); + + if (StringUtils.isEmpty(result)) { + throw new ImppBusiException("查询工单不存在,请检查数据"); + } + + return result; + } + + @Override + public List queryMesWorkOrderList(MesWorkOrder workOrder) { + + DdlPackBean packBean = getDdlPackBean(workOrder); + + return workOrderRepository.findByHqlWhere(packBean); + } + + @Override + public ListPager queryMesWorkOrderListByPager(MesWorkOrder workOrder, Pager pager) { + + + DdlPackBean packBean = getDdlPackBean(workOrder); + + pager = PagerHelper.getPager(pager, workOrderRepository.findByHqlWhereCount(packBean)); + + List resultList = workOrderRepository.findByHqlWherePage(packBean, pager); + + return new ListPager<>(resultList, pager); + } + + private DdlPackBean getDdlPackBean(MesWorkOrder workOrder) { + + DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrder.getOrganizeCode()); + DdlPreparedPack.getStringLikerPack(workOrder.getWorkCenterCode(), "workCenterCode", packBean); + DdlPreparedPack.getStringLikerPack(workOrder.getWorkCellCode(), "workCellCode", packBean); + DdlPreparedPack.getStringLikerPack(workOrder.getOrderNo(), "orderNo", packBean); + DdlPreparedPack.getInPackList(workOrder.getStatusList(), "status", packBean); + return packBean; + } + +} diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingInputModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingInputModel.java index ecafbd8..6173f52 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingInputModel.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingInputModel.java @@ -14,15 +14,21 @@ import lombok.Data; public class MesNcProcessingInputModel { - @ApiParam("缺陷类型") - private String defectCode; + @ApiParam("条码") + private String serialNumber; + @ApiParam("责任人") + private Integer person; - @ApiParam("缺陷描述") - private String defectName; + @ApiParam("类型") + private Integer type; + + @ApiParam("物料号") + private String partNo; + + @ApiParam("批次") + private String lot; - @ApiParam("缺陷描述") - private Integer qty; } diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingModel.java index d47f696..15336f3 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingModel.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingModel.java @@ -27,7 +27,7 @@ public class MesNcProcessingModel { private MesPartTypePicture partTypePicture; @ApiParam("缺陷列表") - private List defectModelList; + private List defectModelList; @ApiParam("物料") private MesPart part; diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesInputNcProcessingModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingPartAndLotModel.java similarity index 52% rename from modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesInputNcProcessingModel.java rename to modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingPartAndLotModel.java index 16a4f1b..169b00c 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesInputNcProcessingModel.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingPartAndLotModel.java @@ -11,18 +11,17 @@ import lombok.Data; * @Modify: **/ @Data -public class MesInputNcProcessingModel { +public class MesNcProcessingPartAndLotModel { - @ApiParam("条码") - private String serialNumber; + @ApiParam("物料号") + private String partNo; + @ApiParam("物料描述") + private String partName; - @ApiParam("责任人") - private Integer person; - - @ApiParam("类型") - private Integer type; + @ApiParam("批次") + private String lot; } diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingViewModel.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingViewModel.java new file mode 100644 index 0000000..395a20e --- /dev/null +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/model/MesNcProcessingViewModel.java @@ -0,0 +1,27 @@ +package cn.estsh.i3plus.ext.mes.pcn.pojo.model; + +import io.swagger.annotations.ApiParam; +import lombok.Data; + +/** + * @Description : + * @Reference : + * @Author : + * @CreateDate : 2024-05-09 18:08 + * @Modify: + **/ +@Data +public class MesNcProcessingViewModel { + + + @ApiParam("缺陷类型") + private String defectCode; + + @ApiParam("缺陷描述") + private String defectName; + + @ApiParam("缺陷描述") + private Integer qty; + + +}