diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesShippingLoadingCheckService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesShippingLoadingCheckService.java index 29720ec..abae46c 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesShippingLoadingCheckService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesShippingLoadingCheckService.java @@ -1,9 +1,13 @@ package cn.estsh.i3plus.ext.mes.pcn.api.busi; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesShippingLoadingCheckModel; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList; +import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingListDetail; import io.swagger.annotations.ApiOperation; +import java.util.List; + /** * @Description : * @Reference : @@ -22,5 +26,10 @@ public interface IMesShippingLoadingCheckService { @ApiOperation(value = "扫描发运单") public MesShippingLoadingCheckModel saveVehiclesOrderAndDetail(MesShippingLoadingCheckModel model, String org); + MesLoadingList insert(MesLoadingList item); + + void update(MesLoadingList item); + + void update(MesLoadingListDetail item); } diff --git a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesSortShippingCheckService.java b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesSortShippingCheckService.java index 516b815..378beb6 100644 --- a/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesSortShippingCheckService.java +++ b/modules/i3plus-ext-mes-pcn-api/src/main/java/cn/estsh/i3plus/ext/mes/pcn/api/busi/IMesSortShippingCheckService.java @@ -1,7 +1,9 @@ package cn.estsh.i3plus.ext.mes.pcn.api.busi; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesSortShippingCheckModel; +import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement; +import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail; import io.swagger.annotations.ApiOperation; /** @@ -25,4 +27,8 @@ public interface IMesSortShippingCheckService { @ApiOperation(value = "查询发运单-自动推单") public MesShippingOrderManagement queryShippingOrderNoByAutoPushOrder(String shippingGroupNo, String org); + void update(MesShippingOrderManagement item); + + void updateDetail(MesShippingOrderManagementDetail item); + } 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 be62d06..f670e31 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 @@ -2,6 +2,7 @@ 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.IMesInputDefectRecordService; +import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProduceSnExtService; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesPartInspectionInputModel; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesPartInspectionViewModel; @@ -85,6 +86,9 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService @Autowired private MesReworkTaskDetailRepository mesReworkTaskDetailRDao; + @Autowired + private IMesProduceSnExtService produceSnExtService; + @Override public MesPartInspectionViewModel queryPartInspection(MesPartInspectionInputModel inputModel, String org) { @@ -224,7 +228,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService MesProduceSn produceSn = checkProduceSn(model.getSn(), org); produceSn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()); ConvertBean.serviceModelInitialize(produceSn, AuthUtil.getSessionUser().getUserName()); - produceSnRepository.save(produceSn); + produceSnExtService.update(produceSn); } @@ -271,7 +275,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService MesProduceSn produceSn = checkProduceSn(model.getSn(), org); produceSn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()); ConvertBean.serviceModelInitialize(produceSn, AuthUtil.getSessionUser().getUserName()); - produceSnRepository.save(produceSn); + produceSnExtService.update(produceSn); } //移库 String srcLocate; @@ -330,7 +334,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService MesProduceSn produceSn = checkProduceSn(model.getSn(), org); produceSn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS.getValue()); ConvertBean.serviceModelInitialize(produceSn, AuthUtil.getSessionUser().getUserName()); - produceSnRepository.save(produceSn); + produceSnExtService.update(produceSn); } //移库 @@ -376,7 +380,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService MesProduceSn produceSn = checkProduceSn(model.getSn(), org); produceSn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS.getValue()); ConvertBean.serviceModelInitialize(produceSn, AuthUtil.getSessionUser().getUserName()); - produceSnRepository.save(produceSn); + produceSnExtService.update(produceSn); } partInspectionDetailRepository.saveAll(resultDetailList); 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 e93c3e5..ab2cdb5 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,6 +2,7 @@ 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.api.busi.IMesProduceSnExtService; 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; @@ -93,6 +94,8 @@ public class MesNcProcessingService implements IMesNcProcessingService { @Autowired private MesOrgRepository mesOrgRDao; + @Autowired + private IMesProduceSnExtService produceSnExtService; @Override public ListPager queryPartInspectionByPager(MesPartInspection partInspection, Pager pager) { @@ -330,7 +333,7 @@ public class MesNcProcessingService implements IMesNcProcessingService { MesProduceSn sn = checkProduceSn(model.getSn(), org); sn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.SUSPICIOUS_TO_QUALIFIED.getValue()); ConvertBean.serviceModelUpdate(sn, model.getPartInspection().getModifyUser()); - produceSnRepository.save(sn); + produceSnExtService.update(sn); //更新检验单 if (model.getType() != 10 && model.getType() != 40) { @@ -400,7 +403,7 @@ public class MesNcProcessingService implements IMesNcProcessingService { MesProduceSn sn = checkProduceSn(model.getSn(), org); sn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.SCRAP.getValue()); ConvertBean.serviceModelUpdate(sn, model.getPartInspection().getModifyUser()); - produceSnRepository.save(sn); + produceSnExtService.update(sn); //更新检验单 DdlPackBean packBean = DdlPackBean.getDdlPackBean(org); @@ -428,7 +431,7 @@ public class MesNcProcessingService implements IMesNcProcessingService { MesProduceSn sn = checkProduceSn(model.getSn(), org); sn.setQcStatus(MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()); ConvertBean.serviceModelUpdate(sn, model.getPartInspection().getModifyUser()); - produceSnRepository.save(sn); + produceSnExtService.update(sn); //更新检验单 if (model.getType() != 10 && model.getType() != 40) { diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java index 67b0655..3d78b26 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesShippingLoadingCheckService.java @@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesJisShippingService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesShippingLoadingCheckService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.aspect.MonitorLog; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesShippingLoadingCheckModel; import cn.estsh.i3plus.platform.common.convert.ConvertBean; @@ -9,6 +10,7 @@ import cn.estsh.i3plus.platform.common.tool.TimeTool; import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil; import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack; +import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingList; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesLoadingListDetail; import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagement; @@ -174,11 +176,11 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS loadingList.setStatus(MesExtEnumUtil.MES_LOADING_STATUS.LOADING.getValue()); ConvertBean.serviceModelUpdate(loadingList, AuthUtil.getSessionUser().getUserName()); - vehiclesOrderRepository.save(loadingList); + update(loadingList); loadingListDetail.setStatus(MesExtEnumUtil.LOADING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); ConvertBean.serviceModelUpdate(loadingListDetail, AuthUtil.getSessionUser().getUserName()); - vehiclesOrderDetailRepository.save(loadingListDetail); + update(loadingListDetail); } //根据扫描的装车单找到是否先装车配置 @@ -225,7 +227,7 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS }); vehiclesOrderDetailRepository.saveAll(vehiclesOrderDetailList); - vehiclesOrderRepository.save(loadingList); + update(loadingList); } return model; } @@ -274,5 +276,22 @@ public class MesShippingLoadingCheckService implements IMesShippingLoadingCheckS } return loadingList; } + @Override + @MonitorLog + public MesLoadingList insert(MesLoadingList item) { + return vehiclesOrderRepository.insert(item); + } + + @Override + @MonitorLog + public void update(MesLoadingList item) { + vehiclesOrderRepository.update(item); + } + + @Override + @MonitorLog + public void update(MesLoadingListDetail item) { + vehiclesOrderRepository.update(item); + } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java index de027aa..e9ee4ef 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesSortShippingCheckService.java @@ -1,7 +1,9 @@ package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.busi; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesJisShippingService; +import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProduceSnExtService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesSortShippingCheckService; +import cn.estsh.i3plus.ext.mes.pcn.apiservice.aspect.MonitorLog; import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException; import cn.estsh.i3plus.ext.mes.pcn.pojo.constant.MesCommonConstant; import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesSortShippingCheckModel; @@ -48,6 +50,9 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService private MesProduceSnRepository produceSnRepository; @Autowired + private IMesProduceSnExtService produceSnExtService; + + @Autowired private MesPartShippingGroupRepository partShippingGroupRepository; @Autowired private MesLoadingListRepository listRepository; @@ -231,16 +236,16 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService orderManagement.setStatus(MesExtEnumUtil.SHIPPING_ORDER_STATUS.SHIPPING.getValue()); ConvertBean.serviceModelUpdate(orderManagement, AuthUtil.getSessionUser().getUserName()); - shippingOrderManagementRepository.save(orderManagement); + update(orderManagement); detail.setActualQty(1); detail.setStatus(MesExtEnumUtil.SHIPPING_ORDER_DETAIL_SHIPPING_STATUS.SHIPPINGED.getValue()); ConvertBean.serviceModelUpdate(detail, AuthUtil.getSessionUser().getUserName()); - shippingOrderManagementDetailRepository.save(detail); + updateDetail(detail); produceSn.setSnStatus(MesExtEnumUtil.PRODUCE_SN_STATUS.SHIPPED.getValue()); ConvertBean.serviceModelUpdate(detail, AuthUtil.getSessionUser().getUserName()); - produceSnRepository.save(produceSn); + produceSnExtService.update(produceSn); } } break; @@ -405,7 +410,7 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService } produceSnRepository.saveAll(produceSnList); - shippingOrderManagementRepository.save(orderManagement); + update(orderManagement); shippingOrderManagementDetailRepository.saveAll(orderManagementDetailList); //1.更新装车单明细对应的发运单状态=发运 DdlPackBean vehiclesOrderDetailPackBean = DdlPackBean.getDdlPackBean(org); @@ -450,5 +455,15 @@ public class MesSortShippingCheckService implements IMesSortShippingCheckService } } + @Override + @MonitorLog + public void update(MesShippingOrderManagement item) { + shippingOrderManagementRepository.update(item); + } + @Override + @MonitorLog + public void updateDetail(MesShippingOrderManagementDetail item) { + shippingOrderManagementDetailRepository.update(item); + } } diff --git a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java index 3aaaff4..db1175e 100644 --- a/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java +++ b/modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/station/MesProductionNoSortModuleService.java @@ -5,6 +5,7 @@ import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionCustomContextStepServi import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionDispatchContextStepService; import cn.estsh.i3plus.ext.mes.pcn.api.busi.IMesProductionProcessContextStepService; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProdShiftContext; +import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionPartContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionProcessContext; import cn.estsh.i3plus.ext.mes.pcn.pojo.util.MesPcnExtConstWords; import cn.estsh.i3plus.mes.pcn.serviceimpl.fsm.BaseModuleService; @@ -148,8 +149,13 @@ public class MesProductionNoSortModuleService extends BaseModuleService { String dataType = MesPcnEnumUtil.STATION_DATA_TYPE.ECHART.getValue(); JSONObject reqJson = new JSONObject(); String url = ""; + + List productionPartContextList = productionDispatchContextStepService.getProductionPartContext(reqBean); + + List> orderQtyKvBeans = new ArrayList<>(); if (!StringUtils.isEmpty(mesWorkCell.getFileId())) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(); + DdlPreparedPack.getNumEqualPack(Long.parseLong(mesWorkCell.getFileId()), "id", packBean); MesFile mesFile = mesFileRepository.getByProperty(packBean); if (mesFile != null) { @@ -158,6 +164,14 @@ public class MesProductionNoSortModuleService extends BaseModuleService { } if (Objects.equal(MesExtEnumUtil.WORK_FILE_TYPE.HISTOGRAM.getValue(), mesWorkCell.getIsShowMsg())) { dataType = MesPcnEnumUtil.STATION_DATA_TYPE.ECHART.getValue(); + if (!CollectionUtils.isEmpty(productionPartContextList)) { + productionPartContextList.forEach(o -> StationKvBeanUtil.addStationKvBeanList(orderQtyKvBeans, new ArrayList<>(), + new StationKvBean(MesPcnExtConstWords.WORK_ORDER_NO, "工单号", o.getWorkOrderNo() + ""), + new StationKvBean(MesPcnExtConstWords.QTY, "工单计划数", o.getQty() + ""), + new StationKvBean(MesPcnExtConstWords.COMPLATED_QTY, "工单完成数", o.getCompleteQty() + ""))); + + } + resultBean.setResultList(orderQtyKvBeans); } else if (Objects.equal(MesExtEnumUtil.WORK_FILE_TYPE.PROD_VIDEO.getValue(), mesWorkCell.getIsShowMsg())) { dataType = MesPcnEnumUtil.STATION_DATA_TYPE.VIDEO.getValue(); reqJson.put("url", url); @@ -169,7 +183,7 @@ public class MesProductionNoSortModuleService extends BaseModuleService { } if (Objects.equal(CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue(),mesWorkCell.getIsCountFinish())) { - dataType = MesPcnEnumUtil.STATION_DATA_TYPE.TEXT.getValue(); + dataType = MesPcnEnumUtil.STATION_DATA_TYPE.TEXT.getValue(); resultBean.setResultList(productionStatisticsContext); } resultBean.setDataType(dataType); diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesProductionPartContext.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesProductionPartContext.java index 76313c5..74ee50a 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesProductionPartContext.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/context/MesProductionPartContext.java @@ -42,6 +42,9 @@ public class MesProductionPartContext implements Serializable { @ApiParam("工单数量") private Double qty; + @ApiParam("完成数量【不能用于业务计算】") + private Double completeQty; + @ApiParam("设备代码") private String equipmentCode; diff --git a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java index 7caee13..4087679 100644 --- a/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java +++ b/modules/i3plus-ext-mes-pcn-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pcn/pojo/util/MesPcnExtConstWords.java @@ -81,6 +81,8 @@ public class MesPcnExtConstWords { public static final String EQUIP_VARIABLE_STATUS = "equipVariableStatus"; // 模具号 public static final String MOULD_NO = "mouldNo"; + // 工单完成数 + public static final String COMPLATED_QTY = "complateQty"; // 班次 public static final String SHIFT_CODE = "shiftCode"; // 班组