From 90f45024542873c3a35fb5852f659cd75bc00f48 Mon Sep 17 00:00:00 2001 From: "jhforever.wang@estsh.com" Date: Sun, 24 Nov 2024 16:47:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E9=97=AD=E5=B7=A5=E5=8D=95=20?= =?UTF-8?q?=E6=97=B6=20=E5=90=8C=E6=97=B6=E5=85=B3=E9=97=ADJIS=20SPS=20QUE?= =?UTF-8?q?UE[=E5=88=9B=E5=BB=BA]=20=E5=8D=95=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/MesPullingOrderInfoService.java | 6 +- .../serviceimpl/base/MesWorkOrderService.java | 268 +++++++++++---------- .../i3plus/ext/mes/pojo/util/MesExtConstWords.java | 45 ++++ 3 files changed, 189 insertions(+), 130 deletions(-) diff --git a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPullingOrderInfoService.java b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPullingOrderInfoService.java index 4d7d44b..b399c6d 100644 --- a/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPullingOrderInfoService.java +++ b/modules/i3plus-ext-mes-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/apiservice/serviceimpl/base/MesPullingOrderInfoService.java @@ -187,7 +187,7 @@ public class MesPullingOrderInfoService extends BaseMesService implements private MesQueueOrderRepository queueOrderRao; @Autowired + private MesPullingOrderInfoRepository pullingOrderInfoRepository; + + @Autowired private IMesWorkOrderAssemblyService mesWorkOrderAssemblyService; @Autowired @@ -249,6 +253,7 @@ public class MesWorkOrderService extends BaseMesService implements //排序工单 关闭工单对列表 if (!Objects.equals(bean.getWorkOrderStatus(), result.getWorkOrderStatus()) && MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue() == bean.getWorkOrderStatus() && MesExtEnumUtil.ORDER_TYPE.SORT.getValue() == bean.getWorkOrderType()) { closeMesQueueOrder(bean.getWorkOrderNo(), bean.getOrganizeCode(), AuthUtilExt.getUserName()); + closeMesPullingOrderInfo(bean.getWorkOrderNo(), bean.getOrganizeCode(), AuthUtilExt.getUserName()); } result.setWorkOrderStatus(bean.getWorkOrderStatus()); } @@ -262,24 +267,21 @@ public class MesWorkOrderService extends BaseMesService implements @Override protected void setPackQueryBean(MesWorkOrder bean, DdlPackBean packBean) { - DdlPreparedPack.getStringLikerPack(bean.getWorkOrderNo(), "workOrderNo", packBean); - DdlPreparedPack.getStringLikerPack(bean.getPartName(), "partName", packBean); - DdlPreparedPack.getStringLikerPack(bean.getCreateUser(), "createUser", packBean); - DdlPreparedPack.getStringLikerPack(bean.getPartNo(), "partNo", packBean); - DdlPreparedPack.getStringEqualPack(bean.getCustPartNo(), "custPartNo", packBean); - DdlPreparedPack.getStringLikerPack(bean.getWorkCenterCode(), "workCenterCode", packBean); - DdlPreparedPack.getStringLikerPack(bean.getVinCode(), "vinCode", packBean); - DdlPreparedPack.getStringEqualPack(bean.getOrderFlag(), "orderFlag", packBean); + DdlPreparedPack.getStringLikerPack(bean.getWorkOrderNo(), MesExtConstWords.WORK_ORDER_NO, packBean); + DdlPreparedPack.getStringLikerPack(bean.getPartName(), MesExtConstWords.PART_NAME, packBean); + DdlPreparedPack.getStringLikerPack(bean.getCreateUser(), MesExtConstWords.CREATE_USER, packBean); + DdlPreparedPack.getStringLikerPack(bean.getPartNo(), MesExtConstWords.PART_NO, packBean); + DdlPreparedPack.getStringEqualPack(bean.getCustPartNo(), MesExtConstWords.CUST_PART_NO, packBean); + DdlPreparedPack.getStringLikerPack(bean.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, packBean); + DdlPreparedPack.getStringLikerPack(bean.getVinCode(), MesExtConstWords.VIN_CODE, packBean); + DdlPreparedPack.getStringEqualPack(bean.getOrderFlag(), MesExtConstWords.ORDER_FLAG, packBean); if (!StringUtil.isEmpty(bean.getWorkOrderStatusQuery())) { - DdlPreparedPack.getInPackList(Arrays.stream(bean.getWorkOrderStatusQuery().split(MesExtConstWords.COMMA)).map(Integer::parseInt).collect(Collectors.toList()), "workOrderStatus", packBean); - } else DdlPreparedPack.getNumEqualPack(bean.getWorkOrderStatus(), "workOrderStatus", packBean); - DdlPreparedPack.getNumEqualPack(bean.getWorkOrderType(), "workOrderType", packBean); - DdlPreparedPack.getStringBiggerPack(bean.getCreateDateTimeStart(), "createDatetime", packBean); - DdlPreparedPack.getStringSmallerPack(bean.getCreateDateTimeEnd(), "createDatetime", packBean); - DdlPreparedPack.getStringBiggerPack(bean.getStartTimeStart(), "planStartTime", packBean); - DdlPreparedPack.getStringSmallerPack(bean.getStartTimeEnd(), "planStartTime", packBean); - DdlPreparedPack.getStringBiggerPack(bean.getEndTimeStart(), "planEndTime", packBean); - DdlPreparedPack.getStringSmallerPack(bean.getEndTimeEnd(), "planEndTime", packBean); + DdlPreparedPack.getInPackList(Arrays.stream(bean.getWorkOrderStatusQuery().split(MesExtConstWords.COMMA)).map(Integer::parseInt).collect(Collectors.toList()), MesExtConstWords.WORK_ORDER_STATUS, packBean); + } else DdlPreparedPack.getNumEqualPack(bean.getWorkOrderStatus(), MesExtConstWords.WORK_ORDER_STATUS, packBean); + DdlPreparedPack.getNumEqualPack(bean.getWorkOrderType(), MesExtConstWords.WORK_ORDER_TYPE, packBean); + DdlPreparedPack.timeBuilder(bean.getCreateDateTimeStart(), bean.getCreateDateTimeEnd(), MesExtConstWords.CREATE_DATE_TIME, packBean, false); + DdlPreparedPack.timeBuilder(bean.getStartTimeStart(), bean.getStartTimeEnd(), MesExtConstWords.PLAN_START_TIME, packBean, false); + DdlPreparedPack.timeBuilder(bean.getEndTimeStart(), bean.getEndTimeEnd(), MesExtConstWords.PLAN_END_TIME, packBean, false); packBean.setOrderByStr(" order by workOrderSeq desc, createDatetime desc, productSeq asc, workOrderNo asc "); } @@ -291,15 +293,13 @@ public class MesWorkOrderService extends BaseMesService implements } MesWorkOrder mesWorkOrder = mesWorkOrderList.iterator().next(); DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesWorkOrder.getOrganizeCode()); - DdlPreparedPack.getInPackList(mesWorkOrderList.stream().map(MesWorkOrder::getWorkCenterCode).filter(workCenterCode -> !StringUtils.isEmpty(workCenterCode)).distinct().collect(Collectors.toList()), "workCenterCode", ddlPackBean); + DdlPreparedPack.getInPackList(mesWorkOrderList.stream().map(MesWorkOrder::getWorkCenterCode).filter(workCenterCode -> !StringUtils.isEmpty(workCenterCode)).distinct().collect(Collectors.toList()), MesExtConstWords.WORK_CENTER_CODE, ddlPackBean); List mesWorkCenterList = mesWorkCenterRDao.findByHqlWhere(ddlPackBean); if (CollectionUtils.isEmpty(mesWorkCenterList)) { return; } Map> mesWorkCenterMap = mesWorkCenterList.stream().collect(Collectors.groupingBy(MesWorkCenter::getWorkCenterCode)); - mesWorkOrderList.forEach(t -> { - t.setWorkCenterName(mesWorkCenterMap.containsKey(t.getWorkCenterCode()) ? mesWorkCenterMap.get(t.getWorkCenterCode()).iterator().next().getWorkCenterName() : ""); - }); + mesWorkOrderList.forEach(t -> t.setWorkCenterName(mesWorkCenterMap.containsKey(t.getWorkCenterCode()) ? mesWorkCenterMap.get(t.getWorkCenterCode()).iterator().next().getWorkCenterName() : MesExtConstWords.EMPTY)); } @@ -308,7 +308,7 @@ public class MesWorkOrderService extends BaseMesService implements if(item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.SORT.getValue()){ GenSerialNoModel genSerialNoModel = new GenSerialNoModel("MES_WORK_ORDER_NO_WU_HAN"); List resultList = syncFuncService.syncSerialNo(genSerialNoModel.organizeCode(item.getOrganizeCode()), item.getCreateUser(), item.getOrganizeCode(), 1).getResultList(); - String serialNo = resultList.get(0).replace("MES_WORK_ORDER_NO_WU_HAN", ""); + String serialNo = resultList.get(0).replace("MES_WORK_ORDER_NO_WU_HAN", MesExtConstWords.EMPTY); orderNo = item.getOrganizeCode() + item.getOrderFlag() + item.getShiftCode() + serialNo; }else if(item.getWorkOrderType() == MesExtEnumUtil.ORDER_TYPE.BTO.getValue()){ GenSerialNoModel genSerialNoModel = new GenSerialNoModel(MesCommonConstant.MES_WORK_CENTER_ORDER_NO); @@ -319,7 +319,7 @@ public class MesWorkOrderService extends BaseMesService implements orderNo = (String)syncFuncService.syncSerialNo(genSerialNoModel.organizeCode(item.getOrganizeCode()), item.getCreateUser(), item.getOrganizeCode(), 1).getResultList().get(0); } DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(orderNo, "workOrderNo", orderPackBean); + DdlPreparedPack.getStringEqualPack(orderNo, MesExtConstWords.WORK_ORDER_NO, orderPackBean); if (baseRDao.isExitByHql(orderPackBean)) { MesException.throwMesBusiException("单号流水码生成重复"); } @@ -358,8 +358,8 @@ public class MesWorkOrderService extends BaseMesService implements mesPartPtr = custPartPtrList.iterator().next(); //查询ptr总成--只有特定总成才会替换 DdlPackBean detailPartPtr = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); - DdlPreparedPack.getNumEqualPack(mesPartPtr.getId(), "ptrId", detailPartPtr); - DdlPreparedPack.getStringEqualPack(item.getPartNo(), "totalPartNo", detailPartPtr); + DdlPreparedPack.getNumEqualPack(mesPartPtr.getId(), MesExtConstWords.PTR_ID, detailPartPtr); + DdlPreparedPack.getStringEqualPack(item.getPartNo(), MesExtConstWords.TOTAL_PART_NO, detailPartPtr); List ptrDetailList = partPtrDetailRao.findByHqlWhere(detailPartPtr); if (!ptrDetailList.isEmpty()) { mesPartPtrDetail = ptrDetailList.get(0); @@ -382,11 +382,11 @@ public class MesWorkOrderService extends BaseMesService implements descriptionStr.append(mesPartPtr.getMemo()); //更新mes_part_ptr的实际数量 + 1 mesPartPtr.setPrtVehicleActualCount(mesPartPtr.getPrtVehicleActualCount() + 1); - ConvertBean.saveOrUpdate(mesPartPtr, "JOB"); + ConvertBean.saveOrUpdate(mesPartPtr, MesExtConstWords.JOB); partPtrRao.update(mesPartPtr); if (mesPartPtrDetail != null) { mesPartPtrDetail.setQty(mesPartPtrDetail.getQty() + 1); - ConvertBean.saveOrUpdate(mesPartPtrDetail, "JOB"); + ConvertBean.saveOrUpdate(mesPartPtrDetail, MesExtConstWords.JOB); partPtrDetailRao.update(mesPartPtrDetail); } MesWorkOrderAssembly orderAssemblyList = null; @@ -507,7 +507,7 @@ public class MesWorkOrderService extends BaseMesService implements mesPartProdGroup = getMesPartProdGroup(item); }else{ DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(item.getPartProdGroupCode(), "partProdGroupCode", ddlPackBean); + DdlPreparedPack.getStringEqualPack(item.getPartProdGroupCode(), MesExtConstWords.PART_PROD_GROUP_CODE, ddlPackBean); mesPartProdGroup = mesPartProdGroupRDao.getByProperty(ddlPackBean); if(Objects.isNull(mesPartProdGroup)){ MesException.throwMesBusiException("零件生产组【%s】信息不存在",item.getPartProdGroupCode()); @@ -560,7 +560,7 @@ public class MesWorkOrderService extends BaseMesService implements private void getCustomerPart(MesWorkOrder item) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(item.getPartNo(), "erpPartNo", ddlPackBean); + DdlPreparedPack.getStringEqualPack(item.getPartNo(), MesExtConstWords.ERP_PART_NO, ddlPackBean); MesCustomerPart customerPart = mesCustomerPartRDao.getByProperty(ddlPackBean); if (!Objects.isNull(customerPart)) { item.setCustPartNo(customerPart.getCustPartNo()); @@ -589,8 +589,8 @@ public class MesWorkOrderService extends BaseMesService implements item.setShiftName(mesShift.getShiftName()); try { //拼接 - item.setPlanStartTime(TimeTool.parseStringFormat(item.getPlanDate() + " " + mesShift.getStartTime(),DateUtil.BASE_FORMAT1,DateUtil.BASE_FORMAT)); - item.setPlanEndTime(TimeTool.parseStringFormat(item.getPlanDate() + " " + mesShift.getEndTime(),DateUtil.BASE_FORMAT1,DateUtil.BASE_FORMAT)); + item.setPlanStartTime(TimeTool.parseStringFormat(item.getPlanDate() + MesExtConstWords.ONE_SPACE + mesShift.getStartTime(),DateUtil.BASE_FORMAT1,DateUtil.BASE_FORMAT)); + item.setPlanEndTime(TimeTool.parseStringFormat(item.getPlanDate() + MesExtConstWords.ONE_SPACE + mesShift.getEndTime(),DateUtil.BASE_FORMAT1,DateUtil.BASE_FORMAT)); int windowStartEndTimeCompare = DateUtilExt.compareDateTime(DateUtil.BASE_FORMAT, item.getPlanStartTime(), item.getPlanEndTime()); if (windowStartEndTimeCompare > 0) { item.setPlanEndTime(TimeTool.pareDateToString(DateUtil.addDays(item.getPlanEndTime(), 1))); @@ -605,8 +605,8 @@ public class MesWorkOrderService extends BaseMesService implements @Override public ListPager queryMesProductVersionByPager(MesProductVersion mesProductVersion, Pager pager) { DdlPackBean productVersionQueryPackBean = DdlPackBean.getDdlPackBean(mesProductVersion.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(mesProductVersion.getPartNo(), "partNo", productVersionQueryPackBean); - DdlPreparedPack.getStringEqualPack(mesProductVersion.getWorkCenterCode(), "workCenterCode", productVersionQueryPackBean); + DdlPreparedPack.getStringEqualPack(mesProductVersion.getPartNo(), MesExtConstWords.PART_NO, productVersionQueryPackBean); + DdlPreparedPack.getStringEqualPack(mesProductVersion.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, productVersionQueryPackBean); pager = PagerHelper.getPager(pager, mesProductVersionRDao.findByHqlWhereCount(productVersionQueryPackBean)); List mesProductVersions = mesProductVersionRDao.findByHqlWherePage(productVersionQueryPackBean, pager); return new ListPager<>(mesProductVersions, pager); @@ -628,9 +628,9 @@ public class MesWorkOrderService extends BaseMesService implements for (MesWorkOrder item : mesWorkOrderList) { //获取相同类型 相同标识 生产序号最大值的 DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); - DdlPreparedPack.getNumEqualPack(item.getWorkOrderStatus(), "workOrderStatus", orderPackBean); - DdlPreparedPack.getStringEqualPack(item.getOrderFlag(), "orderFlag", orderPackBean); - DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"productSeq"}, orderPackBean); + DdlPreparedPack.getNumEqualPack(item.getWorkOrderStatus(), MesExtConstWords.WORK_ORDER_STATUS, orderPackBean); + DdlPreparedPack.getStringEqualPack(item.getOrderFlag(), MesExtConstWords.ORDER_FLAG, orderPackBean); + DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{MesExtConstWords.PRODUCT_SEQ}, orderPackBean); MesWorkOrder result = baseRDao.getByProperty(orderPackBean); //若工单类型为排序 则根据排序插入工单数量插入多行 工单数量为1 @@ -684,7 +684,7 @@ public class MesWorkOrderService extends BaseMesService implements String nowDate = TimeTool.getNowTime(true); //获取产线信息 List workCenterCodeList = mesWorkOrderList.stream().map(MesWorkOrder::getWorkCenterCode).distinct().collect(Collectors.toList()); - List mesWorkCenterList = BeanMapUtilsExt.getBeanList(mesWorkCenterRDao, "workCenterCode", organizeCode, workCenterCodeList, "产线信息"); + List mesWorkCenterList = BeanMapUtilsExt.getBeanList(mesWorkCenterRDao, MesExtConstWords.WORK_CENTER_CODE, organizeCode, workCenterCodeList, "产线信息"); //产线导入不区分大小小 Map workCenterMap = new CaseInsensitiveMap(); for (MesWorkCenter workCenter : mesWorkCenterList) { @@ -695,21 +695,21 @@ public class MesWorkOrderService extends BaseMesService implements Map> mesShiftMap = mesShiftList.stream().collect(Collectors.groupingBy(t -> t.getWorkCenterCode() + t.getShiftCode())); //获取生产版本 List partNoList = mesWorkOrderList.stream().map(MesWorkOrder::getPartNo).distinct().collect(Collectors.toList()); - List mesProductVersionList = BeanMapUtilsExt.getBeanList(mesProductVersionRDao, "partNo", organizeCode, partNoList, "生产版本信息"); + List mesProductVersionList = BeanMapUtilsExt.getBeanList(mesProductVersionRDao, MesExtConstWords.PART_NO, organizeCode, partNoList, "生产版本信息"); //客户物料信息 Map mesCustomerPartMap = null; try { - mesCustomerPartMap = BeanMapUtilsExt.getBeanMap(mesCustomerPartRDao, "erpPartNo", organizeCode, partNoList, "客户物料信息"); + mesCustomerPartMap = BeanMapUtilsExt.getBeanMap(mesCustomerPartRDao, MesExtConstWords.ERP_PART_NO, organizeCode, partNoList, "客户物料信息"); } catch (Exception e) { } //获取物料信息 - Map mesPartSapMap = BeanMapUtilsExt.getBeanMap(mesPartSapRDao, "partNo", organizeCode, partNoList, "物料信息"); + Map mesPartSapMap = BeanMapUtilsExt.getBeanMap(mesPartSapRDao, MesExtConstWords.PART_NO, organizeCode, partNoList, "物料信息"); //获取获取vin号 List vinCodeList = mesWorkOrderList.stream().map(MesWorkOrder::getVinCode).filter(Objects::nonNull).distinct().collect(Collectors.toList()); if (!CollectionUtils.isEmpty(vinCodeList)) { List mesWorkOrders = null; try { - mesWorkOrders = BeanMapUtilsExt.getBeanList(baseRDao, "vinCode", organizeCode, vinCodeList, "生产工单"); + mesWorkOrders = BeanMapUtilsExt.getBeanList(baseRDao, MesExtConstWords.VIN_CODE, organizeCode, vinCodeList, "生产工单"); } catch (Exception e) { } if (!CollectionUtils.isEmpty(mesWorkOrders)) { @@ -732,7 +732,7 @@ public class MesWorkOrderService extends BaseMesService implements } //查询工单是否已经存在 DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(next.getOrganizeCode()); - DdlPreparedPack.getInPackList(orderList, "workOrderNo", orderPackBean); + DdlPreparedPack.getInPackList(orderList, MesExtConstWords.WORK_ORDER_NO, orderPackBean); if (baseRDao.isExitByHql(orderPackBean)) { MesException.throwMesBusiException("单号已存在"); } @@ -912,9 +912,9 @@ public class MesWorkOrderService extends BaseMesService implements private List getMesShifts(String organizeCode, String nowDate, List workCenterCodeList) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getInPackList(workCenterCodeList, "workCenterCode", packBean); - DdlPreparedPack.getStringSmallerPack(nowDate, "beginDate", packBean); - DdlPreparedPack.getStringBiggerPack(nowDate, "endDate", packBean); + DdlPreparedPack.getInPackList(workCenterCodeList, MesExtConstWords.WORK_CENTER_CODE, packBean); + DdlPreparedPack.getStringSmallerPack(nowDate, MesExtConstWords.BEGIN_DATE, packBean); + DdlPreparedPack.getStringBiggerPack(nowDate, MesExtConstWords.END_DATE, packBean); List mesShiftList = mesShiftRDao.findByHqlWhere(packBean); if (CollectionUtils.isEmpty(mesShiftList)) { MesException.throwMesBusiException("有效期内的班次信息不存在"); @@ -1115,13 +1115,13 @@ public class MesWorkOrderService extends BaseMesService implements @Override public void doCloseUnSortOrder(String organizeCode,String userName) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue(), "workOrderType", ddlPackBean); - DdlPreparedPack.getStringSmallerNotEqualPack(TimeTool.getToday(), "planStartTime", ddlPackBean); + DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue(), MesExtConstWords.WORK_ORDER_TYPE, ddlPackBean); + DdlPreparedPack.getStringSmallerNotEqualPack(TimeTool.getToday(), MesExtConstWords.PLAN_START_TIME, ddlPackBean); //非排序的试制工单(P单)不自动关单(芜湖) if (mesConfigService.checkCfgValue(organizeCode, MesExtConstWords.CLOSE_P_WORK_ORDER, MesExtConstWords.ONE_STR)) { - DdlPreparedPack.getStringNoEqualPack(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue(), "orderFlag", ddlPackBean); + DdlPreparedPack.getStringNoEqualPack(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.P.getValue(), MesExtConstWords.ORDER_FLAG, ddlPackBean); } - DdlPreparedPack.getNumberSmallerPack(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(), "workOrderStatus", ddlPackBean); + DdlPreparedPack.getNumberSmallerPack(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(), MesExtConstWords.WORK_ORDER_STATUS, ddlPackBean); List mesWorkOrderList = baseRDao.findByHqlWhere(ddlPackBean); if(CollectionUtils.isEmpty(mesWorkOrderList)){ return; @@ -1143,8 +1143,8 @@ public class MesWorkOrderService extends BaseMesService implements } } //关闭工单 - baseRDao.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "workOrderStatus","systemSyncStatus"}, - new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(),CommonEnumUtil.FALSE}, ddlPackBean); + baseRDao.updateByProperties(new String[]{MesExtConstWords.MODIFY_USER, MesExtConstWords.MODIFY_DATE_TIME, MesExtConstWords.WORK_ORDER_STATUS, MesExtConstWords.SYSTEM_SYNC_STATUS}, + new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue(), CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()}, ddlPackBean); } @@ -1190,7 +1190,7 @@ public class MesWorkOrderService extends BaseMesService implements } //更新工单状态 mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()); - mesWorkOrder.setCcscStatus(""); + mesWorkOrder.setCcscStatus(MesExtConstWords.EMPTY); updateMesWorkOrder(mesWorkOrder,MesExtEnumUtil.WORK_ORDER_LOG_TYPE.UPDATE,mesWorkOrder.getQty()); } //重新生成CCSC task @@ -1265,7 +1265,7 @@ public class MesWorkOrderService extends BaseMesService implements continue; } - mesWorkOrder.setWorkCenterName((!StringUtils.isEmpty(mesWorkOrder.getWorkCenterCode()) && !CollectionUtils.isEmpty(workCenterNameMap) && workCenterNameMap.containsKey(mesWorkOrder.getWorkCenterCode())) ? workCenterNameMap.get(mesWorkOrder.getWorkCenterCode()).get(0).getWorkCenterName() : ""); + mesWorkOrder.setWorkCenterName((!StringUtils.isEmpty(mesWorkOrder.getWorkCenterCode()) && !CollectionUtils.isEmpty(workCenterNameMap) && workCenterNameMap.containsKey(mesWorkOrder.getWorkCenterCode())) ? workCenterNameMap.get(mesWorkOrder.getWorkCenterCode()).get(0).getWorkCenterName() : MesExtConstWords.EMPTY); MesPartProdGroup mesPartProdGroup = (!StringUtils.isEmpty(mesWorkOrder.getPartProdGroupCode()) && !CollectionUtils.isEmpty(partProdGroupMap) && partProdGroupMap.containsKey(mesWorkOrder.getPartProdGroupCode())) ? partProdGroupMap.get(mesWorkOrder.getPartProdGroupCode()) : null; @@ -1393,7 +1393,7 @@ public class MesWorkOrderService extends BaseMesService implements mesProductOffLine.setDescription(nowTime); mesProductOffLine.setStgeLoc(item.getAlort()); mesProductOffLine.setSystemSyncStatus(CommonEnumUtil.FALSE); - mesProductOffLine.setSystemSyncDatetime(""); + mesProductOffLine.setSystemSyncDatetime(MesExtConstWords.EMPTY); ConvertBean.serviceModelInitialize(mesProductOffLine, model.getUserName()); newProductOffLineList.add(mesProductOffLine); }); @@ -1412,7 +1412,7 @@ public class MesWorkOrderService extends BaseMesService implements public MesWorkOrder getMesWorkOrder(String workOrderNo, String organizeCode) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workOrderNo,"workOrderNo",packBean); + DdlPreparedPack.getStringEqualPack(workOrderNo,MesExtConstWords.WORK_ORDER_NO,packBean); MesWorkOrder mesWorkOrder = baseRDao.getByProperty(packBean); if (Objects.isNull(mesWorkOrder)) { MesException.throwMesBusiException("工单【%s】信息不存在", workOrderNo); @@ -1516,7 +1516,7 @@ public class MesWorkOrderService extends BaseMesService implements if (mesPartSapMap.containsKey(mesBom.getItemPartNo())) { mesPartSap = mesPartSapMap.get(mesBom.getItemPartNo()).iterator().next(); } - MesMove move = createMove(mesPartSap, moveRule.getErpSrcLocateNo(), moveRule.getErpDestLocateNo(), mesBom.getOrganizeCode(), mesWorkOrder.getWorkCenterCode(), mesBom.getItemQty(), "", MesExtEnumUtil.MOVE_TYPE.RAW_MATERIAL_MOVE.getValue()); + MesMove move = createMove(mesPartSap, moveRule.getErpSrcLocateNo(), moveRule.getErpDestLocateNo(), mesBom.getOrganizeCode(), mesWorkOrder.getWorkCenterCode(), mesBom.getItemQty(), MesExtConstWords.EMPTY, MesExtEnumUtil.MOVE_TYPE.RAW_MATERIAL_MOVE.getValue()); move.setMatnr(mesBom.getItemPartNo()); mesMoveList.add(move); } @@ -1542,8 +1542,8 @@ public class MesWorkOrderService extends BaseMesService implements private MesProdRuleSortCfg getMesProdRuleSortCfg(MesWorkOrder mesWorkOrder) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesWorkOrder.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(mesWorkOrder.getPartNo(), "reportPartNo", ddlPackBean); - DdlPreparedPack.getStringEqualPack(mesWorkOrder.getWorkCenterCode(), "workCenterCode", ddlPackBean); + DdlPreparedPack.getStringEqualPack(mesWorkOrder.getPartNo(), MesExtConstWords.REPORT_PART_NO, ddlPackBean); + DdlPreparedPack.getStringEqualPack(mesWorkOrder.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, ddlPackBean); MesProdRuleSortCfg mesProdRuleSortCfg = mesProdRuleSortCfgRDao.getByProperty(ddlPackBean); if (Objects.isNull(mesProdRuleSortCfg)) { MesException.throwMesBusiException("产线【%s】物料【%s】排序加工规则未维护", mesWorkOrder.getWorkCenterCode(), mesWorkOrder.getPartNo()); @@ -1569,9 +1569,9 @@ public class MesWorkOrderService extends BaseMesService implements if (isItemReport && mesBom.getPartNo().equals(mesWorkOrder.getPartNo())) { newMesProductOffLine.setReportPartNo(mesBom.getItemPartNo()); newMesProductOffLine.setReportPartNameRdd(mesBom.getItemPartName()); - newMesProductOffLine.setItemPartNo(""); - newMesProductOffLine.setItemPartName(""); - newMesProductOffLine.setItemUnit(""); + newMesProductOffLine.setItemPartNo(MesExtConstWords.EMPTY); + newMesProductOffLine.setItemPartName(MesExtConstWords.EMPTY); + newMesProductOffLine.setItemUnit(MesExtConstWords.EMPTY); newMesProductOffLine.setItemQty(0d); } newMesProductOffLine.setReportSn(sn); @@ -1651,7 +1651,7 @@ public class MesWorkOrderService extends BaseMesService implements // statusList.add(MesExtEnumUtil.ORDER_STATUS.CLOSE.getValue()); DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getInPackList(statusList, "workOrderStatus", packBean); + DdlPreparedPack.getInPackList(statusList, MesExtConstWords.WORK_ORDER_STATUS, packBean); return baseRDao.findByHqlWhere(packBean); } @@ -1678,36 +1678,33 @@ public class MesWorkOrderService extends BaseMesService implements //1.获取生产加工记录production_record表中,report_status为待汇报状态的工单 DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workCenterCode,"workCenterCode",ddlPackBean); - DdlPreparedPack.getNumEqualPack( MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue(),"reportStatus",ddlPackBean); + DdlPreparedPack.getStringEqualPack(workCenterCode, MesExtConstWords.WORK_CENTER_CODE, ddlPackBean); + DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_10.getValue(), MesExtConstWords.REPORT_STATUS, ddlPackBean); //获取前一天的早班到当天早班的区间的所有加工记录,统计个数 - DdlPreparedPack.timeBuilder( - new SimpleDateFormat("yyyy-MM-dd").format(TimeTool.getDateBefore(new Date(),1))+" 08:00:00", - TimeTool.getToday()+" 08:00:00", - "completeDateTime", ddlPackBean, true); + DdlPreparedPack.timeBuilder(new SimpleDateFormat(MesExtConstWords.DATE_FORMAT).format(TimeTool.getDateBefore(new Date(),MesExtConstWords.ONE)) + MesExtConstWords.APPEND_8_HMS, + TimeTool.getToday() + MesExtConstWords.APPEND_8_HMS, MesExtConstWords.COMPLETE_DATE_TIME, ddlPackBean, true); return productionRecordRao.findByHqlWhere(ddlPackBean); } @Override public List getPreDayReportMesProduceSn(String organizeCode,List mesProductionRecordList ) { DdlPackBean snPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getInPackList(mesProductionRecordList.stream().map(MesProductionRecord::getProductSn).collect(Collectors.toList()), - "productSn",snPackBean); + DdlPreparedPack.getInPackList(mesProductionRecordList.stream().map(MesProductionRecord::getProductSn).collect(Collectors.toList()), MesExtConstWords.PRODUCT_SN, snPackBean); return mesProduceSnRao.findByHqlWhere(snPackBean); } @Override public List insertMesWorkOrder(List mesProductionRecordList,List mesShiftList, String organizeCode, String userName) { List mesWorkOrderList=new ArrayList<>(); - Map> mesProductionRecordListMap = mesProductionRecordList.stream().collect(Collectors.groupingBy(sn -> sn.getWorkCenterCode() +"="+ sn.getPartNo())); + Map> mesProductionRecordListMap = mesProductionRecordList.stream().collect(Collectors.groupingBy(sn -> sn.getWorkCenterCode() + MesExtConstWords.EQUAL + sn.getPartNo())); for (Map.Entry> stringListEntry : mesProductionRecordListMap.entrySet()) { List value = stringListEntry.getValue(); MesProductionRecord mesProductionRecord = value.get(0); - String[] split = stringListEntry.getKey().split("="); + String[] split = stringListEntry.getKey().split(MesExtConstWords.EQUAL); String workCenterCode = split[0]; String partNo = split[1]; //查询工作中心 DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", ddlPackBean); + DdlPreparedPack.getStringEqualPack(workCenterCode, MesExtConstWords.WORK_CENTER_CODE, ddlPackBean); MesWorkCenter mesWorkCenter = mesWorkCenterRDao.getByProperty(ddlPackBean); if (Objects.isNull(mesWorkCenter)) { MesException.throwMesBusiException("产线【%s】不存在",workCenterCode); @@ -1719,13 +1716,13 @@ public class MesWorkOrderService extends BaseMesService implements item.setPartNo(partNo); item.setWorkOrderType(MesExtEnumUtil.ORDER_TYPE.UN_SORT.getValue()); item.setOrderFlag(MesExtEnumUtil.ORDER_TYPE_IDENTIFICATION.N.getValue()); - List collect = mesShiftList.stream().filter(s -> s.getShiftCode().equalsIgnoreCase("1")).collect(Collectors.toList()); + List collect = mesShiftList.stream().filter(s -> s.getShiftCode().equalsIgnoreCase(MesExtConstWords.ONE_STR)).collect(Collectors.toList()); MesShift mesShift= collect.get(0); item.setShiftCode(mesShift.getShiftCode()); item.setShiftCode(mesShift.getShiftName()); String today = TimeTool.getToday(); - item.setPlanStartTime(today+" "+mesShift.getStartTime()+":00"); - item.setPlanEndTime(today+" "+mesShift.getEndTime()+":00"); + item.setPlanStartTime(today + MesExtConstWords.ONE_SPACE + mesShift.getStartTime() + MesExtConstWords.APPEND_SECONDS); + item.setPlanEndTime(today + MesExtConstWords.ONE_SPACE + mesShift.getEndTime() + MesExtConstWords.APPEND_SECONDS); //生成工单号 List orderList=new ArrayList<>(); @@ -1735,7 +1732,7 @@ public class MesWorkOrderService extends BaseMesService implements String orderNo = orderList.get(0); DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(item.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(orderNo, "workOrderNo", orderPackBean); + DdlPreparedPack.getStringEqualPack(orderNo, MesExtConstWords.WORK_ORDER_NO, orderPackBean); if (baseRDao.isExitByHql(orderPackBean)) { MesException.throwMesBusiException("单号流水码生成重复"); } @@ -1800,7 +1797,7 @@ public class MesWorkOrderService extends BaseMesService implements if (!StringUtil.isEmpty(bean.getVinCode())) { //校验vin号是否重复 DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(bean.getVinCode(), "vinCode", ddlPackBean); + DdlPreparedPack.getStringEqualPack(bean.getVinCode(), MesExtConstWords.VIN_CODE, ddlPackBean); if (baseRDao.isExitByHql(ddlPackBean)) { MesException.throwMesBusiException("vin号【%s】重复", bean.getVinCode()); } @@ -1914,7 +1911,7 @@ public class MesWorkOrderService extends BaseMesService implements bean.setFid(UUID.randomUUID().toString()); //生成WorkOrderSeq GenSerialNoModel orderSeqSerialNoModel = new GenSerialNoModel(MesCommonConstant.ORDER_NO_BTO_SEQ); - List resultList = syncFuncService.syncSerialNo(orderSeqSerialNoModel.organizeCode(bean.getOrganizeCode()), bean.getCreateUser(), bean.getOrganizeCode(), 1).getResultList(); + List resultList = syncFuncService.syncSerialNo(orderSeqSerialNoModel.organizeCode(bean.getOrganizeCode()), bean.getCreateUser(), bean.getOrganizeCode(), MesExtConstWords.ONE).getResultList(); bean.setWorkOrderSeq(resultList.get(0)); baseRDao.insert(bean); workOrderLogService.saveMesWorkOrderLog(bean,MesExtEnumUtil.WORK_ORDER_LOG_TYPE.INSERT,bean.getQty()); @@ -1924,7 +1921,7 @@ public class MesWorkOrderService extends BaseMesService implements //查询物料信息 DdlPackBean ddlPackBeanPart = DdlPackBean.getDdlPackBean(mesWorkOrderDb.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(mesWorkOrderDb.getPartNo(), "partNo", ddlPackBeanPart); + DdlPreparedPack.getStringEqualPack(mesWorkOrderDb.getPartNo(), MesExtConstWords.PART_NO, ddlPackBeanPart); MesPart mesPart = mesPartRDao.getByProperty(ddlPackBeanPart); if (null == mesPart) { MesException.throwMesBusiException("物料【%s】信息不存在", mesWorkOrderDb.getPartNo()); @@ -1932,7 +1929,7 @@ public class MesWorkOrderService extends BaseMesService implements //查询产线信息 DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(mesWorkOrderDb.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(mesWorkOrderDb.getWorkCenterCode(), "workCenterCode", ddlPackBean); + DdlPreparedPack.getStringEqualPack(mesWorkOrderDb.getWorkCenterCode(), MesExtConstWords.WORK_CENTER_CODE, ddlPackBean); MesWorkCenter mesWorkCenter = mesWorkCenterRDao.getByProperty(ddlPackBean); if (Objects.isNull(mesWorkCenter)) { MesException.throwMesBusiException("产线【%s】不存在", mesWorkOrderDb.getWorkCenterCode()); @@ -1991,7 +1988,7 @@ public class MesWorkOrderService extends BaseMesService implements log.info("工厂:{}不存在未推送的工单", organizeCode); } //获取物料信息 - Map partMap = BeanMapUtilsExt.getBeanMap(mesPartRDao, "partNo", organizeCode, mesWorkOrderListToWms.stream().map(MesWorkOrder::getPartNo).distinct().collect(Collectors.toList()), "物料信息"); + Map partMap = BeanMapUtilsExt.getBeanMap(mesPartRDao, MesExtConstWords.PART_NO, organizeCode, mesWorkOrderListToWms.stream().map(MesWorkOrder::getPartNo).distinct().collect(Collectors.toList()), "物料信息"); // 根据零件加生产版本分组 Map> mesWorkOrderListToWmsMap = mesWorkOrderListToWms.stream().collect(Collectors.groupingBy(t -> new StringJoiner(MesExtConstWords.COMMA).add(t.getPartNo()).add(t.getProductVersion()).toString())); @@ -2039,7 +2036,9 @@ public class MesWorkOrderService extends BaseMesService implements } else { DdlPreparedPack.getInPackList(workOrderNoList, MesExtConstWords.WORK_ORDER_NO, packBean); } - baseRDao.updateByPropertiesNoSync(new String[]{"modifyUser", "modifyDatetime", "syncToWms"}, new Object[]{userName, TimeTool.getNowTime(true), CommonEnumUtil.VALID}, packBean); + baseRDao.updateByPropertiesNoSync( + new String[]{MesExtConstWords.MODIFY_USER, MesExtConstWords.MODIFY_DATE_TIME, MesExtConstWords.SYNC_TO_WMS}, + new Object[]{userName, TimeTool.getNowTime(true), CommonEnumUtil.VALID}, packBean); } public void saveMesWorkOrderLog(MesWorkOrder mesWorkOrder) { @@ -2050,9 +2049,9 @@ public class MesWorkOrderService extends BaseMesService implements private List getMesWorkOrderListToWms(String organizeCode, Integer pageSize) { DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getInPackList(Arrays.asList(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue(),MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()), "workOrderStatus", packBean); - DdlPreparedPack.getNumEqualPack(CommonEnumUtil.FALSE, "syncToWms", packBean); - DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"createDatetime"}, packBean); + DdlPreparedPack.getInPackList(Arrays.asList(MesExtEnumUtil.ORDER_STATUS.RELEASE.getValue(),MesExtEnumUtil.ORDER_STATUS.PROCESS.getValue()), MesExtConstWords.WORK_ORDER_STATUS, packBean); + DdlPreparedPack.getNumEqualPack(CommonEnumUtil.FALSE, MesExtConstWords.SYNC_TO_WMS, packBean); + DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{MesExtConstWords.CREATE_DATE_TIME}, packBean); return baseRDao.findByHqlTopWhere(packBean, StringUtil.isEmpty(pageSize) ? MesExtConstWords.TEN : pageSize); } @@ -2122,11 +2121,11 @@ public class MesWorkOrderService extends BaseMesService implements } public List findMesBomByPartNoAndBomVersion(String partNo, String organizeCode, String bomVersion) { DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(partNo, "partNo", ddlPackBean); - DdlPreparedPack.getStringEqualPack(bomVersion, "bomVersion", ddlPackBean); - DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), "effStartTime", ddlPackBean); - DdlPreparedPack.getStringBiggerPack(TimeTool.getNowTime(true), "effEndTime", ddlPackBean); - DdlPreparedPack.getOrderBy("effStartTime", CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), ddlPackBean); + DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, ddlPackBean); + DdlPreparedPack.getStringEqualPack(bomVersion, MesExtConstWords.BOM_VERSION, ddlPackBean); + DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_START_TIME, ddlPackBean); + DdlPreparedPack.getStringBiggerPack(TimeTool.getNowTime(true), MesExtConstWords.EFF_END_TIME, ddlPackBean); + DdlPreparedPack.getOrderBy(MesExtConstWords.EFF_START_TIME, CommonEnumUtil.ASC_OR_DESC.DESC.getValue(), ddlPackBean); List mesBoms = mesBomRDao.findByHqlWhere(ddlPackBean); if (org.springframework.util.CollectionUtils.isEmpty(mesBoms)) { MesException.throwMesBusiException("物料【%s】生产版本【%s】对应bom信息不存在", partNo, bomVersion); @@ -2139,8 +2138,8 @@ public class MesWorkOrderService extends BaseMesService implements private boolean checkWorkCenterPartRelation(String workCenterCode,String partNo){ DdlPackBean partRelationPackBean = DdlPackBean.getDdlPackBean(AuthUtil.getOrganizeCode()); - DdlPreparedPack.getStringEqualPack(workCenterCode,"workCenterCode", partRelationPackBean); - DdlPreparedPack.getStringEqualPack(partNo, "partNo", partRelationPackBean); + DdlPreparedPack.getStringEqualPack(workCenterCode,MesExtConstWords.WORK_CENTER_CODE, partRelationPackBean); + DdlPreparedPack.getStringEqualPack(partNo, MesExtConstWords.PART_NO, partRelationPackBean); int count = partRelationRao.findByHqlWhereCount(partRelationPackBean); return count > 0; } @@ -2152,7 +2151,7 @@ public class MesWorkOrderService extends BaseMesService implements String prefix = partNo.substring(0, partNo.length() - 4); String partNo4 = partNo.substring(partNo.length() - 4).toUpperCase(); custGenSerialNoModel.setPartNo(prefix+partNo4); - String year = custCalendar.get(Calendar.YEAR)+""; + String year = custCalendar.get(Calendar.YEAR)+ MesExtConstWords.EMPTY; custGenSerialNoModel.setYear(year.substring(2)); custGenSerialNoModel.setDay(String.format("%03d",custCalendar.get(Calendar.DAY_OF_YEAR))); List custNumRuleList = syncFuncService.syncSerialNo(custGenSerialNoModel, userName, organizeCode, 1).getResultList(); @@ -2219,20 +2218,20 @@ public class MesWorkOrderService extends BaseMesService implements * 3.有开始时间无结束时间,无结束数量 一直替换 */ DdlPackBean partPtrPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", partPtrPackBean); - DdlPreparedPack.getInPackList(partNoList, "srcPartNo", partPtrPackBean); - DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), "startTime", partPtrPackBean); + DdlPreparedPack.getStringEqualPack(workCenterCode, MesExtConstWords.WORK_CENTER_CODE, partPtrPackBean); + DdlPreparedPack.getInPackList(partNoList, MesExtConstWords.SRC_PART_NO, partPtrPackBean); + DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.START_TIME, partPtrPackBean); List partPtrList = partPtrRao.findByHqlWhere(partPtrPackBean); /** * 有开始时间 和 无结束时间 和 需要的数量,只有达到数量才结束 */ DdlPackBean part1PtrPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", part1PtrPackBean); - DdlPreparedPack.getInPackList(partNoList, "srcPartNo", part1PtrPackBean); - DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), "startTime", part1PtrPackBean); - DdlPreparedPack.getIsNotNull("prtVehicleCount", part1PtrPackBean); - DdlPreparedPack.getIsNull("endTime", part1PtrPackBean); + DdlPreparedPack.getStringEqualPack(workCenterCode, MesExtConstWords.WORK_CENTER_CODE, part1PtrPackBean); + DdlPreparedPack.getInPackList(partNoList, MesExtConstWords.SRC_PART_NO, part1PtrPackBean); + DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.START_TIME, part1PtrPackBean); + DdlPreparedPack.getIsNotNull(MesExtConstWords.PRT_VEHICLE_COUNT, part1PtrPackBean); + DdlPreparedPack.getIsNull(MesExtConstWords.END_TIME, part1PtrPackBean); List partPtrList1 = partPtrRao.findByHqlWhere(part1PtrPackBean); partPtrList.addAll(partPtrList1); @@ -2244,11 +2243,11 @@ public class MesWorkOrderService extends BaseMesService implements */ DdlPackBean part2PtrPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", part2PtrPackBean); - DdlPreparedPack.getInPackList(partNoList, "srcPartNo", part2PtrPackBean); - DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), "startTime", part2PtrPackBean); - DdlPreparedPack.getIsNull("prtVehicleCount", part2PtrPackBean); - DdlPreparedPack.getIsNull("endTime", part2PtrPackBean); + DdlPreparedPack.getStringEqualPack(workCenterCode, MesExtConstWords.WORK_CENTER_CODE, part2PtrPackBean); + DdlPreparedPack.getInPackList(partNoList, MesExtConstWords.SRC_PART_NO, part2PtrPackBean); + DdlPreparedPack.getStringSmallerPack(TimeTool.getNowTime(true), MesExtConstWords.START_TIME, part2PtrPackBean); + DdlPreparedPack.getIsNull(MesExtConstWords.PRT_VEHICLE_COUNT, part2PtrPackBean); + DdlPreparedPack.getIsNull(MesExtConstWords.END_TIME, part2PtrPackBean); List partPtrList2 = partPtrRao.findByHqlWhere(part2PtrPackBean); partPtrList.addAll(partPtrList2); return partPtrList; @@ -2259,7 +2258,7 @@ public class MesWorkOrderService extends BaseMesService implements return null; } DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", packBean); + DdlPreparedPack.getStringEqualPack(workCenterCode, MesExtConstWords.WORK_CENTER_CODE, packBean); return mesPartProdGroupRDao.getByProperty(packBean); } @@ -2269,8 +2268,8 @@ public class MesWorkOrderService extends BaseMesService implements List workOrderAssemblyList = new ArrayList<>(); List partNoList = workOrderPartList.stream().map(MesWorkOrderPart::getPartNo).collect(Collectors.toList()); DdlPackBean prodRuleSortPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", prodRuleSortPackBean); - DdlPreparedPack.getInPackList(partNoList, "assemblyPartNo", prodRuleSortPackBean); + DdlPreparedPack.getStringEqualPack(workCenterCode, MesExtConstWords.WORK_CENTER_CODE, prodRuleSortPackBean); + DdlPreparedPack.getInPackList(partNoList, MesExtConstWords.ASSEMBLY_PART_NO, prodRuleSortPackBean); //查询当前产线的所有排序生产规则--分为当前工单清单的装配件 List sortCfgList = mesProdRuleSortCfgRao.findByHqlWhere(prodRuleSortPackBean); List sortCfgListFilter = sortCfgList.stream().filter(item -> partNoList.contains(item.getAssemblyPartNo())).collect(Collectors.toList()); @@ -2330,9 +2329,9 @@ public class MesWorkOrderService extends BaseMesService implements //车型不为空的逻辑--用于报工 DdlPackBean reportRuleSortPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", reportRuleSortPackBean); - DdlPreparedPack.getStringEqualPack(vehicleNo, "vehicleNo", reportRuleSortPackBean); - DdlPreparedPack.getNotInPackList(partNoList, "assemblyPartNo", reportRuleSortPackBean); + DdlPreparedPack.getStringEqualPack(workCenterCode, MesExtConstWords.WORK_CENTER_CODE, reportRuleSortPackBean); + DdlPreparedPack.getStringEqualPack(vehicleNo, MesExtConstWords.VEHICLE_NO, reportRuleSortPackBean); + DdlPreparedPack.getNotInPackList(partNoList, MesExtConstWords.ASSEMBLY_PART_NO, reportRuleSortPackBean); //查询当前产线的所有排序生产规则--分为当前工单清单的装配件 List prodCfgList = mesProdRuleSortCfgRao.findByHqlWhere(reportRuleSortPackBean); for (MesProdRuleSortCfg ruleSortCfg : prodCfgList) { @@ -2372,8 +2371,8 @@ public class MesWorkOrderService extends BaseMesService implements } //查询所有共用的零件 且没有零件号,多用于螺钉---查询排序加工规则 DdlPackBean prodRuleSortPublicPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workCenterCode, "workCenterCode", prodRuleSortPublicPackBean); - DdlPreparedPack.getIsNull("assemblyPartNo", prodRuleSortPublicPackBean); + DdlPreparedPack.getStringEqualPack(workCenterCode, MesExtConstWords.WORK_CENTER_CODE, prodRuleSortPublicPackBean); + DdlPreparedPack.getIsNull(MesExtConstWords.ASSEMBLY_PART_NO, prodRuleSortPublicPackBean); List ruleSortCfgs = mesProdRuleSortCfgRao.findByHqlWhere(prodRuleSortPublicPackBean); for (MesProdRuleSortCfg ruleSortCfg : ruleSortCfgs) { MesWorkOrderAssembly orderAssembly = new MesWorkOrderAssembly(); @@ -2527,31 +2526,46 @@ public class MesWorkOrderService extends BaseMesService implements } } - public List findMesQueueOrder(String workOrderNo, String organizeCode) { + private List findMesQueueOrder(String workOrderNo, String organizeCode) { if(StringUtil.isEmpty(workOrderNo) || StringUtil.isEmpty(organizeCode)) return null; DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workOrderNo, "workOrderNo", packBean); + DdlPreparedPack.getStringEqualPack(workOrderNo, MesExtConstWords.WORK_ORDER_NO, packBean); return queueOrderRao.findByHqlWhere(packBean); } - public void closeMesQueueOrder(String workOrderNo, String organizeCode, String userName) { + private void closeMesQueueOrder(String workOrderNo, String organizeCode, String userName) { + if (StringUtil.isEmpty(workOrderNo) || StringUtil.isEmpty(organizeCode)) return; + DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); + DdlPreparedPack.getStringEqualPack(workOrderNo, MesExtConstWords.WORK_ORDER_NO, packBean); + DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.QUEUE_ORDER_STATUS.CREATE.getValue(), MesExtConstWords.STATUS, packBean); + queueOrderRao.updateByProperties( + new String[]{MesExtConstWords.MODIFY_USER, MesExtConstWords.MODIFY_DATE_TIME, MesExtConstWords.STATUS}, + new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.QUEUE_ORDER_STATUS.CLOSED.getValue()}, packBean); + } + + private void closeMesPullingOrderInfo(String workOrderNo, String organizeCode, String userName) { if (StringUtil.isEmpty(workOrderNo) || StringUtil.isEmpty(organizeCode)) return; DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workOrderNo, "workOrderNo", packBean); - queueOrderRao.updateByProperties(new String[]{"modifyUser", "modifyDatetime", "status"}, new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.QUEUE_ORDER_STATUS.CLOSED.getValue()}, packBean); + DdlPreparedPack.getStringEqualPack(workOrderNo, MesExtConstWords.WORK_ORDER_NO, packBean); + DdlPreparedPack.getInPackList( + Stream.of(MesExtEnumUtil.PART_PULL_ORDER_TYPE.JIS_PULL.getValue(), MesExtEnumUtil.PART_PULL_ORDER_TYPE.SPS_PULL.getValue()).collect(Collectors.toList()), + MesExtConstWords.PULL_ORDER_TYPE, packBean); + pullingOrderInfoRepository.updateByProperties( + new String[]{MesExtConstWords.MODIFY_USER, MesExtConstWords.MODIFY_DATE_TIME, MesExtConstWords.PULL_ORDER_STATUS}, + new Object[]{userName, TimeTool.getNowTime(true), MesExtEnumUtil.PULL_ORDER_STATUS.PULL_ORDER_STATUS_50.getValue()}, packBean); } - public MesPrintQueue getMesPrintQuanOrder(String workOrderNo, String organizeCode) { + private MesPrintQueue getMesPrintQuanOrder(String workOrderNo, String organizeCode) { if(StringUtil.isEmpty(workOrderNo) || StringUtil.isEmpty(organizeCode)) return null; DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(workOrderNo, "workOrderNo", packBean); + DdlPreparedPack.getStringEqualPack(workOrderNo, MesExtConstWords.WORK_ORDER_NO, packBean); return printQueueRepository.getByProperty(packBean); } private Long getMaxMesWorkOrderProductSeq(MesWorkOrder bean) { DdlPackBean orderPackBean = DdlPackBean.getDdlPackBean(bean.getOrganizeCode()); - DdlPreparedPack.getNumEqualPack(bean.getWorkOrderType(), "workOrderType", orderPackBean); - DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{"productSeq"}, orderPackBean); + DdlPreparedPack.getNumEqualPack(bean.getWorkOrderType(), MesExtConstWords.WORK_ORDER_TYPE, orderPackBean); + DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.DESC.getValue()}, new String[]{MesExtConstWords.PRODUCT_SEQ}, orderPackBean); MesWorkOrder workOrder = baseRDao.getByProperty(orderPackBean); return Objects.isNull(workOrder) || StringUtils.isEmpty(workOrder.getProductSeq()) ? 0L : workOrder.getProductSeq().toString().endsWith("9") ? workOrder.getProductSeq() + 2L : workOrder.getProductSeq() + 1L; } @@ -2574,13 +2588,13 @@ public class MesWorkOrderService extends BaseMesService implements private String getCarRemark(String custCode,String carModelCode,String organizeCode){ DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode); - DdlPreparedPack.getStringEqualPack(custCode,"custCode",ddlPackBean); - DdlPreparedPack.getStringEqualPack(carModelCode,"carModelCode",ddlPackBean); + DdlPreparedPack.getStringEqualPack(custCode, MesExtConstWords.CUST_CODE, ddlPackBean); + DdlPreparedPack.getStringEqualPack(carModelCode,MesExtConstWords.CAR_MODEL_CODE, ddlPackBean); List carModelList = customerCarModelRepository.findByHqlTopWhere(ddlPackBean, 1); if (carModelList != null && !carModelList.isEmpty()){ return carModelList.get(0).getRemark(); } - return ""; + return MesExtConstWords.EMPTY; } } diff --git a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java index a8431f6..9ce0493 100644 --- a/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java +++ b/modules/i3plus-ext-mes-pojo/src/main/java/cn/estsh/i3plus/ext/mes/pojo/util/MesExtConstWords.java @@ -151,6 +151,46 @@ public class MesExtConstWords { public static final String ASSEMBLY_PART_NO = "assemblyPartNo"; //装配件零件名称 public static final String ASSEMBLY_PART_NAME = "assemblyPartName"; + //生产序号 + public static final String PRODUCT_SEQ = "productSeq"; + //ERP物料号 + public static final String ERP_PART_NO = "erpPartNo"; + //计划开始时间 + public static final String PLAN_START_TIME = "planStartTime"; + //计划结束时间 + public static final String PLAN_END_TIME = "planEndTime"; + //执行开始日期 + public static final String BEGIN_DATE = "beginDate"; + //执行结束日期 + public static final String END_DATE = "endDate"; + //ptr零件id + public static final String PTR_ID = "ptrId"; + //总成零件号 + public static final String TOTAL_PART_NO = "totalPartNo"; + //汇报零件号 + public static final String REPORT_PART_NO = "reportPartNo"; + //汇报状态 + public static final String REPORT_STATUS = "reportStatus"; + //完成时间 + public static final String COMPLETE_DATE_TIME = "completeDateTime"; + //是否同步给WMS + public static final String SYNC_TO_WMS = "syncToWms"; + //BOM版本 + public static final String BOM_VERSION = "bomVersion"; + //生效时间 + public static final String EFF_START_TIME = "effStartTime"; + //失效时间 + public static final String EFF_END_TIME = "effEndTime"; + //原零件号 + public static final String SRC_PART_NO = "srcPartNo"; + //PTR车辆数量 + public static final String PRT_VEHICLE_COUNT = "prtVehicleCount"; + //车型代码 + public static final String VEHICLE_NO = "vehicleNo"; + //拉动单类型 + public static final String PULL_ORDER_TYPE = "pullOrderType"; + //拉动单状态 + public static final String PULL_ORDER_STATUS = "pullOrderStatus"; //时间[开始/结束]条件 public static final String START_TIME_START = "startTimeStart"; @@ -210,6 +250,8 @@ public class MesExtConstWords { public static final String APPEND_ZERO_HMS = " 00:00:00"; //拼接23时:59分:59秒 public static final String APPEND_24_HMS = " 23:59:59"; + //拼接23时:59分:59秒 + public static final String APPEND_8_HMS = " 08:00:00"; //时间类型 public static final String DATETIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; //时间类型 @@ -239,6 +281,9 @@ public class MesExtConstWords { //系统同步状态 public static final String SYSTEM_SYNC_STATUS = "systemSyncStatus"; + //等于 + public static final String EQUAL = "="; + //英文逗号 public static final String COMMA = ",";