| | |
| | | import com.zy.asrs.service.ReportToThirdService; |
| | | import com.zy.nc.SendUtil; |
| | | import com.zy.nc.entity.NccCgCgdhdWms; |
| | | import com.zy.nc.entity.NccSaleDbddWms; |
| | | import com.zy.nc.entity.NccSaleXsfhmxWms; |
| | | import com.zy.nc.util.NcResultMessage; |
| | | import com.zy.nc.vo.*; |
| | |
| | | @Value("${NYNC.saveRefDelivery}") |
| | | private String saveRefDelivery; |
| | | |
| | | @Value("${NYNC.saveRefWhsTrans}") |
| | | private String saveRefWhsTrans; |
| | | |
| | | @Value("${NYNC.purchasein}") |
| | | private String purchasein; |
| | | |
| | | @Value("${NYNC.whstrans}") |
| | | private String whstrans; |
| | | |
| | | @Value("${NYNC.generalout}") |
| | | private String generalout; |
| | | |
| | | @Value("${NYNC.dbdd}") |
| | | private String dbdd; |
| | | |
| | | |
| | | @Override |
| | | public void report(Order order, List<OrderDetl> orderDetls, DocType docType) { |
| | | int step = (Cools.isEmpty(order.getStep()) || order.getStep() == 0) ? 0 : order.getStep(); |
| | | NcResultMessage response = null; |
| | | Object process1 = null; |
| | | Object process2 = null; |
| | | Object process3 = null; |
| | | try { |
| | | switch (order.getDocType$().toString()) { |
| | | case "销售发货": |
| | |
| | | //发送请求 |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1)); |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("response:{}", response); |
| | | log.info("销售发货response:{}", response); |
| | | step = 10; |
| | | } |
| | | break; |
| | | case "转库": |
| | | process1 = processQTRK(orderDetls); |
| | | case "转库-入库": |
| | | process1 = processZKRK(orderDetls); |
| | | //发送请求 |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1)); |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefWhsTrans, JSONObject.toJSONString(process1)); |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("response:{}", response); |
| | | log.info("转库-入库response:{}", response); |
| | | step = 10; |
| | | } |
| | | break; |
| | | case "采购到货": |
| | | process1 = processCGDH(orderDetls); |
| | | List<Object> cg = new ArrayList<>(); |
| | | cg.add(process1); |
| | | //发送请求 |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1)); |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, purchasein, JSONObject.toJSONString(cg)); |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("response:{}", response); |
| | | log.info("采购到货response:{}", response); |
| | | step = 10; |
| | | } |
| | | break; |
| | | case "产成品入库单": |
| | | if (step == 2) { |
| | | process3 = processQTRK(orderDetls); |
| | | //发送请求 |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process3)); |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("response:{}", response); |
| | | step = 10; |
| | | } |
| | | } else if (step == 1) { |
| | | process2 = processGENERALOUT(orderDetls); |
| | | //发送请求 |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process2)); |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("response:{}", response); |
| | | step = 2; |
| | | } |
| | | process3 = processQTRK(orderDetls); |
| | | //发送请求 |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process3)); |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("response:{}", response); |
| | | step = 10; |
| | | } |
| | | } else if (step == 0) { |
| | | process1 = processZK(orderDetls); |
| | | //发送请求 |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process1)); |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("response:{}", response); |
| | | step = 1; |
| | | } |
| | | process2 = processGENERALOUT(orderDetls); |
| | | //发送请求 |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process2)); |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("response:{}", response); |
| | | step = 2; |
| | | } |
| | | process3 = processQTRK(orderDetls); |
| | | //发送请求 |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, saveRefDelivery, JSONObject.toJSONString(process3)); |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("response:{}", response); |
| | | step = 10; |
| | | } |
| | | case "转库-出库": |
| | | process1 = processGENERALOUT(orderDetls); |
| | | List<Object> zkck = new ArrayList<>(); |
| | | zkck.add(process1); |
| | | //发送请求 |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, generalout, JSONObject.toJSONString(zkck)); |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("转库-出库response:{}", response); |
| | | step = 10; |
| | | } |
| | | break; |
| | | // case "内部调拨": |
| | | // break; |
| | | case "集团内部调拨": |
| | | process1 = processDBDD(orderDetls); |
| | | //发送请求 |
| | | response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, dbdd, JSONObject.toJSONString(process1)); |
| | | if (!Cools.isEmpty(response) && response.isSuccess()) { |
| | | log.info("集团内部调拨response:{}", response); |
| | | step = 10; |
| | | } |
| | | break; |
| | | default: |
| | | throw new CoolException("不能识别的单据类型"); |
| | | } |
| | |
| | | return data; |
| | | } |
| | | |
| | | private Object processZKRK(List<OrderDetl> orderDetls) { |
| | | //组装对象数据 |
| | | Map<String, Object> data = new HashMap<String, Object>(); |
| | | GeneralInHeadVO generalInHeadVO = new GeneralInHeadVO(); |
| | | generalInHeadVO.setPk_org("FYT"); |
| | | generalInHeadVO.setCwarehouseid("6101"); |
| | | GeneralInBodyVO generalInBodyVO = null; |
| | | List<GeneralInBodyVO> generalInBodyVOS = new ArrayList<>(); |
| | | for (OrderDetl orderDetl : orderDetls) { |
| | | generalInBodyVO = new GeneralInBodyVO(); |
| | | String remark = orderDetl.getRemark(); |
| | | if (!Cools.isEmpty(remark)) { |
| | | NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class); |
| | | generalInBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid()); |
| | | generalInBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid()); |
| | | generalInBodyVO.setNnum(orderDetl.getQty()); |
| | | generalInBodyVO.setNshouldnum(orderDetl.getAnfme()); |
| | | generalInBodyVO.setVbatchcode(orderDetl.getBatch()); |
| | | } |
| | | generalInBodyVOS.add(generalInBodyVO); |
| | | } |
| | | data.put("GeneralInHeadVO", generalInHeadVO); |
| | | data.put("GeneralInBodyVO", generalInBodyVOS); |
| | | return data; |
| | | } |
| | | |
| | | |
| | | private Object processQTRK(List<OrderDetl> orderDetls) { |
| | | //组装对象数据 |
| | |
| | | generalInBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid()); |
| | | generalInBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid()); |
| | | generalInBodyVO.setNnum(orderDetl.getQty()); |
| | | generalInBodyVO.setNshouldnum(orderDetl.getAnfme()); |
| | | generalInBodyVO.setVbatchcode(orderDetl.getBatch()); |
| | | generalInBodyVO.setCmaterialoid(orderDetl.getMatnr()); |
| | | } |
| | |
| | | } |
| | | data.put("GeneralInHeadVO", generalInHeadVO); |
| | | data.put("GeneralInBodyVO", generalInBodyVOS); |
| | | return data; |
| | | } |
| | | |
| | | private Object processDBDD(List<OrderDetl> orderDetls) { |
| | | //组装对象数据 |
| | | Map<String, Object> data = new HashMap<String, Object>(); |
| | | IaIjBill iaIjBill = new IaIjBill(); |
| | | iaIjBill.setPk_org("FYT"); |
| | | //iaIjBill.setCwarehouseid("6101"); |
| | | IaIjBillB iaIjBillB = null; |
| | | List<IaIjBillB> iaIjBillBS = new ArrayList<>(); |
| | | for (OrderDetl orderDetl : orderDetls) { |
| | | iaIjBillB = new IaIjBillB(); |
| | | String remark = orderDetl.getRemark(); |
| | | if (!Cools.isEmpty(remark)) { |
| | | NccSaleDbddWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleDbddWms.class); |
| | | iaIjBillB.setCinventoryid(nccSaleXsfhmxWms.getWlbm()); |
| | | iaIjBillB.setCinventoryvid(nccSaleXsfhmxWms.getWlbm()); |
| | | iaIjBillB.setCsrcid(nccSaleXsfhmxWms.getCbillid()); |
| | | iaIjBillB.setNnum(orderDetl.getQty().intValue() + ""); |
| | | iaIjBillB.setPk_org("FYT"); |
| | | } |
| | | iaIjBillBS.add(iaIjBillB); |
| | | } |
| | | data.put("ia_ijbill", iaIjBill); |
| | | data.put("ia_ijbill_b", iaIjBillBS); |
| | | return data; |
| | | } |
| | | |
| | |
| | | String remark = orderDetl.getRemark(); |
| | | if (!Cools.isEmpty(remark)) { |
| | | NccCgCgdhdWms nccCgCgdhdWms = JSONObject.parseObject(remark, NccCgCgdhdWms.class); |
| | | ic_purchasein_b.setCsourcebillbid(nccCgCgdhdWms.getPkArriveorderB()); |
| | | ic_purchasein_b.setCsourcebillhid(nccCgCgdhdWms.getPkArriveorder()); |
| | | ic_purchasein_b.setCmaterialvid(orderDetl.getMaktx()); |
| | | ic_purchasein_h.setCvendorid(nccCgCgdhdWms.getGysbm()); |
| | | ic_purchasein_h.setCbizid(nccCgCgdhdWms.getDhlxbm()); |
| | | |
| | | ic_purchasein_b.setCmaterialvid(orderDetl.getMatnr()); |
| | | ic_purchasein_b.setNnum(orderDetl.getQty()); |
| | | ic_purchasein_b.setNshouldassistnum(orderDetl.getQty()); |
| | | //ic_purchasein_b.setNorigprice(nccSaleXsfhmxWms.getNorigprice().doubleValue()); |
| | | //ic_purchasein_b.setNshouldassistnum(orderDetl.getQty()); |
| | | ic_purchasein_b.setVbatchcode(orderDetl.getBatch()); |
| | | } |
| | | ic_purchasein_bs.add(ic_purchasein_b); |
| | | } |
| | | data.put("ic_purchasein_h", ic_purchasein_h); |
| | | data.put("ic_purchasein_b", ic_purchasein_b); |
| | | data.put("ic_purchasein_b", ic_purchasein_bs); |
| | | return data; |
| | | } |
| | | |
| | |
| | | private Object processGENERALOUT(List<OrderDetl> orderDetls) { |
| | | //组装对象数据 |
| | | Map<String, Object> data = new HashMap<String, Object>(); |
| | | ic_purchasein_h ic_purchasein_h = new ic_purchasein_h(); |
| | | ic_purchasein_h.setPk_org("FYT"); |
| | | ic_purchasein_h.setCwarehouseid("6101"); |
| | | ic_purchasein_b ic_purchasein_b = null; |
| | | List<ic_purchasein_b> ic_purchasein_bs = new ArrayList<>(); |
| | | ic_generalout_h generalout_h = new ic_generalout_h(); |
| | | generalout_h.setPk_org("FYT"); |
| | | generalout_h.setCwarehouseid("6101"); |
| | | ic_generalout_b generalout_b = null; |
| | | List<ic_generalout_b> ic_purchasein_bs = new ArrayList<>(); |
| | | for (OrderDetl orderDetl : orderDetls) { |
| | | ic_purchasein_b = new ic_purchasein_b(); |
| | | generalout_b = new ic_generalout_b(); |
| | | String remark = orderDetl.getRemark(); |
| | | if (!Cools.isEmpty(remark)) { |
| | | NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class); |
| | | |
| | | generalout_b.setMaterialvid(orderDetl.getMatnr()); |
| | | generalout_b.setNshouldassistnum(orderDetl.getQty()); |
| | | generalout_b.setVbatchcode(orderDetl.getBatch()); |
| | | } |
| | | ic_purchasein_bs.add(ic_purchasein_b); |
| | | ic_purchasein_bs.add(generalout_b); |
| | | } |
| | | data.put("ic_purchasein_h", ic_purchasein_h); |
| | | data.put("ic_purchasein_b", ic_purchasein_b); |
| | | data.put("ic_generalout_h", generalout_h); |
| | | data.put("ic_generalout_b", ic_purchasein_bs); |
| | | return data; |
| | | } |
| | | |