diff --git a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java index cab6fc6a..a56355f5 100644 --- a/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java +++ b/op-modules/op-mes/src/main/java/com/op/mes/service/impl/IWCInterfaceServiceImpl.java @@ -244,8 +244,11 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService { Random random = new Random(); // 计算初始平均值 - int avg = totalSum / count; - int remainder = totalSum % count; + int avg =0,remainder=0; + if(count!=0){ + avg = totalSum / count; + remainder = totalSum % count; + } // 在平均值附近生成初始值 for (int i = 0; i < count; i++) { diff --git a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWhiteOrderServiceImpl.java b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWhiteOrderServiceImpl.java index fdab09a1..96f3add2 100644 --- a/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWhiteOrderServiceImpl.java +++ b/op-modules/op-plan/src/main/java/com/op/plan/service/impl/ProWhiteOrderServiceImpl.java @@ -347,8 +347,8 @@ public class ProWhiteOrderServiceImpl implements IProWhiteOrderService { Map dataParams = new HashMap<>(); - dataParams.put("werks", request.getHeader(key.substring(8)).replace("ds_","")); - //dataParams.put("werks","1000"); + //dataParams.put("werks", request.getHeader(key.substring(8)).replace("ds_","")); + dataParams.put("werks","1000"); logger.info("白坯手动订单同步:【参数】" + JSONObject.toJSONString(dataParams)); //取>=20230923的sap数据 R rSapProOrder = remoteSapService.zmesPurwqGet(dataParams);//sap只能同步指定日期的数据 @@ -365,7 +365,7 @@ public class ProWhiteOrderServiceImpl implements IProWhiteOrderService { @Transactional(rollbackFor = Exception.class) public String syncSAPbpFunc(List newOrders,String syncUser){ List orders = new ArrayList<>(); - ProOrder proOrder = null; + ProOrder proOrder = null,proParentOrder = null; String bpDD = "DD" + DateUtils.parseDateToStr(DateUtils.YYYYMMDD, DateUtils.getNowDate()); int m=1; Date nowDate = DateUtils.getNowDate(); @@ -373,6 +373,7 @@ public class ProWhiteOrderServiceImpl implements IProWhiteOrderService { if(StringUtils.isNotBlank(sapProOrder.getMatnr())&&StringUtils.isNotBlank(sapProOrder.getMaktx())){ //工单生产后整个订单就被锁定//订单存在就更新,不存在就插入 proOrder = new ProOrder(); + proParentOrder = new ProOrder(); proOrder.setPlanFactoryCode(sapProOrder.getWerks()); proOrder.setMaterialCode(sapProOrder.getMatnr()); proOrder.setMaterialName(sapProOrder.getMaktx()); @@ -385,14 +386,33 @@ public class ProWhiteOrderServiceImpl implements IProWhiteOrderService { proOrder.setCreateBy(syncUser); proOrder.setCreateTime(nowDate); proOrder.setId(IdUtils.fastSimpleUUID()); - proOrder.setStatus("o0"); + proOrder.setStatus("o1"); proOrder.setOrderType("white"); proOrder.setProdType("white"); - + proOrder.setFactoryCode("1000"); int liushuiNum = proWhiteOrderMapper.getTodayMaxNum(proOrder)+(m++); String liushuiStr = String.format("%04d", liushuiNum); - proOrder.setOrderCode(bpDD + liushuiStr); + String porderCode = bpDD + liushuiStr; + proOrder.setOrderCode(porderCode+"-1"); + proOrder.setParentOrder(porderCode); orders.add(proOrder); + //加一级虚拟母单 + proParentOrder.setPlanFactoryCode(sapProOrder.getWerks()); + proParentOrder.setQuantity((long)menge); + proParentOrder.setUnit(sapProOrder.getMeins()); + proParentOrder.setPlanProDate(sapProOrder.getBedat()); + proParentOrder.setPlanComplete(sapProOrder.getBedat()); + proParentOrder.setSyncUser(syncUser); + proParentOrder.setCreateBy(syncUser); + proParentOrder.setCreateTime(nowDate); + proParentOrder.setId(IdUtils.fastSimpleUUID()); + proParentOrder.setStatus("o1"); + proParentOrder.setOrderType("white"); + proParentOrder.setProdType("white"); + proParentOrder.setFactoryCode("1000"); + proParentOrder.setOrderCode(porderCode); + proParentOrder.setParentOrder("0"); + orders.add(proParentOrder); } } int snum = proOrderWorkorderMapper.bpAddBatch(orders); diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml index 0d8e8edf..a1fb6c81 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProOrderWorkorderMapper.xml @@ -919,18 +919,18 @@ INSERT INTO pro_order ( id,plan_factory_code,order_type,order_code, - prod_code,prod_desc, - quantity,unit, + prod_code,prod_desc,factory_code, + quantity,unit,status,parent_order, plan_pro_date, plan_complete, - create_by,create_time + create_by,create_time,prod_type )VALUES ( #{d.id},#{d.planFactoryCode},#{d.orderType},#{d.orderCode}, - #{d.materialCode},#{d.materialName}, - #{d.quantity},#{d.unit}, + #{d.materialCode},#{d.materialName},#{d.factoryCode}, + #{d.quantity},#{d.unit},#{d.status},#{d.parentOrder}, #{d.planProDate},#{d.planComplete}, - #{d.createBy},#{d.createTime} + #{d.createBy},#{d.createTime},#{d.prodType} ) diff --git a/op-modules/op-plan/src/main/resources/mapper/plan/ProWhiteOrderMapper.xml b/op-modules/op-plan/src/main/resources/mapper/plan/ProWhiteOrderMapper.xml index 4fd54db3..c3770aec 100644 --- a/op-modules/op-plan/src/main/resources/mapper/plan/ProWhiteOrderMapper.xml +++ b/op-modules/op-plan/src/main/resources/mapper/plan/ProWhiteOrderMapper.xml @@ -60,7 +60,7 @@ and prod_type = #{prodType} and prod_spc = #{prodSpc} and CONVERT(varchar(10),plan_pro_date, 120) >= '${planDateStart}' - and '${planDateEnd}%' >= CONVERT(varchar(10),plan_pro_date, 120) + and '${planDateEnd}' >= CONVERT(varchar(10),plan_pro_date, 120) and prod_type = 'white' and del_flag = '0' ORDER BY plan_pro_date DESC , order_code ASC