src/main/java/com/zy/asrs/entity/param/CombParam.java
@@ -19,10 +19,14 @@ // 库位编号 private String locNo; private List<CombMat> combMats; @Data public static class CombMat { // 条码 private String vbarcode; private String orderNo; @@ -36,9 +40,9 @@ private String standby2 = ""; private String standby3 = ""; private String boxType1 = "1"; private String boxType2 = "1"; private String boxType3 = "1"; private String boxType1 = ""; private String boxType2 = ""; private String boxType3 = ""; // 物料数量 private Double anfme; src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -19,6 +19,8 @@ import com.zy.common.model.enums.WorkNoType; import com.zy.common.service.CommonService; import com.zy.common.utils.HttpHandler; import com.zy.nc.entity.NccJcQilibcBarcodeflowWms; import com.zy.nc.service.NccJcQilibcBarcodeflowWmsService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -94,6 +96,9 @@ @Resource private OrderDetlPakoutService orderDetlPakoutService; @Autowired private NccJcQilibcBarcodeflowWmsService barcodeflowWmsService; @Override @Transactional @@ -615,7 +620,13 @@ } // 生成入库通知档 List<DetlDto> detlDtos = new ArrayList<>(); param.getCombMats().forEach(elem -> { // TODO 不考虑代码效率,因为旧代码bug少 if (!Cools.isEmpty(elem.getVbarcode())){ NccJcQilibcBarcodeflowWms vbarcode1 = barcodeflowWmsService.selectOne(new EntityWrapper<NccJcQilibcBarcodeflowWms>().eq("vbarcode", elem.getVbarcode())); } // 订单明细数量校验 // OrderDetl orderDetl = orderDetlService.selectItem(order.getId(), elem.getMatnr(), elem.getBatch()); src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -12,6 +12,7 @@ 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.*; @@ -44,14 +45,27 @@ @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 "销售发货": @@ -59,78 +73,50 @@ //发送请求 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("不能识别的单据类型"); } @@ -190,6 +176,32 @@ 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) { //组装对象数据 @@ -209,6 +221,7 @@ generalInBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid()); generalInBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid()); generalInBodyVO.setNnum(orderDetl.getQty()); generalInBodyVO.setNshouldnum(orderDetl.getAnfme()); generalInBodyVO.setVbatchcode(orderDetl.getBatch()); generalInBodyVO.setCmaterialoid(orderDetl.getMatnr()); } @@ -216,6 +229,32 @@ } 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; } @@ -261,17 +300,18 @@ 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; } @@ -282,22 +322,24 @@ 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; } src/main/java/com/zy/nc/SendUtil.java
@@ -148,6 +148,7 @@ } catch (Exception e) { throw new RuntimeException(e); } System.out.println("【url】:" + apiUrl); System.out.println("【json】:" + json); System.out.println("【RESULT】:" + result); System.out.println("result解密:" + result2); src/main/java/com/zy/nc/entity/NccCgCgdhdWms.java
@@ -150,6 +150,11 @@ private BigDecimal ydzsl; /** * */ private String vbatchcode; /** * */ private BigDecimal ydsl; src/main/java/com/zy/nc/mapper/NccSaleDbddWmsMapper.java
@@ -2,18 +2,19 @@ import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.nc.entity.NccSaleDbddWms; import org.apache.ibatis.annotations.Param; import java.util.List; /** * @author zc857 * @description 针对表【ncc_sale_dbdd_wms】的数据库操作Mapper * @createDate 2025-05-21 16:04:17 * @Entity com.zy.nc.entity.NccSaleDbddWms */ * @author zc857 * @description 针对表【ncc_sale_dbdd_wms】的数据库操作Mapper * @createDate 2025-05-21 16:04:17 * @Entity com.zy.nc.entity.NccSaleDbddWms */ public interface NccSaleDbddWmsMapper extends BaseMapper<NccSaleDbddWms> { List<String> selectDbdd(); List<String> selectDbdd(@Param("ids") List<Integer> ids); } src/main/java/com/zy/nc/mapper/NccScZkmxbWmsMapper.java
@@ -1,18 +1,21 @@ package com.zy.nc.mapper; import com.zy.nc.entity.NccScZkmxbWms; import com.baomidou.mybatisplus.mapper.BaseMapper; import com.zy.nc.entity.NccScZkmxbWms; import org.apache.ibatis.annotations.Param; import java.util.List; /** * @author ZY * @description 针对表【ncc_sc_zkmxb_wms】的数据库操作Mapper * @createDate 2025-05-13 17:50:58 * @Entity com.zy.nc.entity.NccScZkmxbWms */ * @author ZY * @description 针对表【ncc_sc_zkmxb_wms】的数据库操作Mapper * @createDate 2025-05-13 17:50:58 * @Entity com.zy.nc.entity.NccScZkmxbWms */ public interface NccScZkmxbWmsMapper extends BaseMapper<NccScZkmxbWms> { List<String> selectZk(); List<String> selectZkOut(@Param("ids") List<Integer> ids); List<String> selectZkIn(@Param("ids")List<Integer> ids); } src/main/java/com/zy/nc/service/NccSaleDbddWmsService.java
@@ -6,11 +6,11 @@ import java.util.List; /** * @author zc857 * @description 针对表【ncc_sale_dbdd_wms】的数据库操作Service * @createDate 2025-05-21 16:04:17 */ * @author zc857 * @description 针对表【ncc_sale_dbdd_wms】的数据库操作Service * @createDate 2025-05-21 16:04:17 */ public interface NccSaleDbddWmsService extends IService<NccSaleDbddWms> { List<String> selectDbdd(); List<String> selectDbdd(List<Integer> ids); } src/main/java/com/zy/nc/service/NccScZkmxbWmsService.java
@@ -12,5 +12,7 @@ */ public interface NccScZkmxbWmsService extends IService<NccScZkmxbWms> { List<String> selectZk(); List<String> selectZkOut(List<Integer> ids); List<String> selectZkIn(List<Integer> ids); } src/main/java/com/zy/nc/service/impl/NccSaleDbddWmsServiceImpl.java
@@ -2,25 +2,24 @@ import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.zy.nc.entity.NccSaleDbddWms; import com.zy.nc.service.NccSaleDbddWmsService; import com.zy.nc.mapper.NccSaleDbddWmsMapper; import com.zy.nc.service.NccSaleDbddWmsService; import org.springframework.stereotype.Service; import java.util.Collections; import java.util.List; /** * @author zc857 * @description 针对表【ncc_sale_dbdd_wms】的数据库操作Service实现 * @createDate 2025-05-21 16:04:17 */ * @author zc857 * @description 针对表【ncc_sale_dbdd_wms】的数据库操作Service实现 * @createDate 2025-05-21 16:04:17 */ @Service public class NccSaleDbddWmsServiceImpl extends ServiceImpl<NccSaleDbddWmsMapper, NccSaleDbddWms> implements NccSaleDbddWmsService{ implements NccSaleDbddWmsService { @Override public List<String> selectDbdd() { return this.baseMapper.selectDbdd(); public List<String> selectDbdd(List<Integer> ids) { return this.baseMapper.selectDbdd(ids); } } src/main/java/com/zy/nc/service/impl/NccScZkmxbWmsServiceImpl.java
@@ -18,8 +18,14 @@ public class NccScZkmxbWmsServiceImpl extends ServiceImpl<NccScZkmxbWmsMapper, NccScZkmxbWms> implements NccScZkmxbWmsService{ @Override public List<String> selectZk() { return this.baseMapper.selectZk(); public List<String> selectZkOut(List<Integer> ids) { return this.baseMapper.selectZkOut(ids); } @Override public List<String> selectZkIn(List<Integer> ids) { return this.baseMapper.selectZkIn(ids); } } src/main/java/com/zy/nc/task/PlanOrderTask.java
@@ -5,11 +5,13 @@ import com.zy.nc.entity.*; import com.zy.nc.service.*; import com.zy.nc.task.handler.PlanOrderHandler; import com.zy.system.service.impl.ConfigServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.util.Arrays; import java.util.List; @Slf4j @@ -34,6 +36,8 @@ @Autowired private NccCkPddWmsService nccCkPddWmsService; @Autowired private ConfigServiceImpl configService; /** * 发货 @@ -45,6 +49,9 @@ List<String> Ids = nccSaleXsfhmxWmsService.selectXsfh(); for (String id : Ids) { List<NccSaleXsfhmxWms> wmsFlag = nccSaleXsfhmxWmsService.selectList(new EntityWrapper<NccSaleXsfhmxWms>().eq("vbillcode", id).ne("wms_flag", 1).eq("fstatusflag", 2)); if (wmsFlag == null || wmsFlag.isEmpty()) { return; } ReturnT<String> returnT = planOrderHandler.start1(wmsFlag); if (!returnT.isSuccess()) { for (NccSaleXsfhmxWms wms : wmsFlag) { @@ -63,11 +70,17 @@ * @return */ @Scheduled(cron = "0/3 * * * * ? ") public void execute2() { List<String> strings = nccScZkmxbWmsService.selectZk(); public void execute2_1() { //Config wmsFlag1 = configService.selectConfigByCode("wms_flag"); List<Integer> ids = Arrays.asList(6101, 6102, 6106, 6110); //String s = "一期成品库-内贸(立体库)、一期成品库-福莱国际外贸(立体库)、一期成品库-外购(立体库)、一期成品库-福达/工厂外贸(立体库)、一期辅料库-包材(立体库)"; List<String> strings = nccScZkmxbWmsService.selectZkIn(ids); for (String string : strings) { List<NccScZkmxbWms> wmsFlag = nccScZkmxbWmsService.selectList(new EntityWrapper<NccScZkmxbWms>().eq("vbillcode", string).ne("wms_flag", 1)); ReturnT<String> returnT = planOrderHandler.start2(wmsFlag); if (wmsFlag == null || wmsFlag.isEmpty()) { return; } ReturnT<String> returnT = planOrderHandler.start2In(wmsFlag); if (!returnT.isSuccess()) { for (NccScZkmxbWms wms : wmsFlag) { wms.setWmsMemo(returnT.getMsg()); @@ -76,7 +89,31 @@ log.error(returnT.getMsg()); } } } /** * 转库 * * @return */ @Scheduled(cron = "0/3 * * * * ? ") public void execute2_2() { List<Integer> ids = Arrays.asList(6101, 6102, 6106, 6110); List<String> strings = nccScZkmxbWmsService.selectZkOut(ids); for (String string : strings) { List<NccScZkmxbWms> wmsFlag = nccScZkmxbWmsService.selectList(new EntityWrapper<NccScZkmxbWms>().eq("vbillcode", string).ne("wms_flag", 1)); if (wmsFlag == null || wmsFlag.isEmpty()) { return; } ReturnT<String> returnT = planOrderHandler.start2Out(wmsFlag); if (!returnT.isSuccess()) { for (NccScZkmxbWms wms : wmsFlag) { wms.setWmsMemo(returnT.getMsg()); nccScZkmxbWmsService.updateById(wms); } log.error(returnT.getMsg()); } } } /** @@ -89,6 +126,9 @@ List<String> strings = nccCgCgdhdWmsService.selectCg(); for (String string : strings) { List<NccCgCgdhdWms> wmsFlag = nccCgCgdhdWmsService.selectList(new EntityWrapper<NccCgCgdhdWms>().eq("vbillcode", string).ne("wms_flag", 1)); if (wmsFlag == null || wmsFlag.isEmpty()) { return; } ReturnT<String> returnT = planOrderHandler.start3(wmsFlag); if (!returnT.isSuccess()) { for (NccCgCgdhdWms wms : wmsFlag) { @@ -108,9 +148,13 @@ */ @Scheduled(cron = "0/3 * * * * ? ") public void execute5() { List<String> strings = nccSaleDbddWmsService.selectDbdd(); List<Integer> ids = Arrays.asList(6101, 6102, 6106, 6110); List<String> strings = nccSaleDbddWmsService.selectDbdd(ids); for (String string : strings) { List<NccSaleDbddWms> wmsFlag = nccSaleDbddWmsService.selectList(new EntityWrapper<NccSaleDbddWms>().eq("vbillcode", string).ne("wms_flag", 1)); if (wmsFlag == null || wmsFlag.isEmpty()) { return; } ReturnT<String> returnT = planOrderHandler.start5(wmsFlag); if (!returnT.isSuccess()) { for (NccSaleDbddWms wms : wmsFlag) { @@ -133,7 +177,7 @@ public void execute4() { List<String> strings = nccCkPddWmsService.selectPdd(); for (String string : strings) { List<NccCkPddWms> wmsFlag = nccCkPddWmsService.selectList(new EntityWrapper<NccCkPddWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("hdr",0).eq("bdr",0)); List<NccCkPddWms> wmsFlag = nccCkPddWmsService.selectList(new EntityWrapper<NccCkPddWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("hdr", 0).eq("bdr", 0)); ReturnT<String> returnT = planOrderHandler.start4(wmsFlag); if (!returnT.isSuccess()) { for (NccCkPddWms wms : wmsFlag) { src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -99,16 +99,16 @@ * * @return */ public ReturnT<String> start2(List<NccScZkmxbWms> wmsFlag) { public ReturnT<String> start2In(List<NccScZkmxbWms> wmsFlag) { try { OpenOrderPakinParam param = new OpenOrderPakinParam(); param.setOrderType("转库"); param.setOrderType("转库-入库"); DetlDto detlDto; List<DetlDto> orderDetails = new ArrayList<>(); long i = 1; for (NccScZkmxbWms nccScZkmxbWms : wmsFlag) { log.info("NccScZkmxbWms数据:{}", JSONObject.toJSON(nccScZkmxbWms)); if ( nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getDr() == 0) { if (nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getDr() == 0) { detlDto = new DetlDto(); detlDto.setMatnr(nccScZkmxbWms.getWlbm()); detlDto.setAnfme(nccScZkmxbWms.getYingzzsl().doubleValue()); @@ -132,6 +132,43 @@ return SUCCESS; } /** * 转库,包含出库 * * @return */ public ReturnT<String> start2Out(List<NccScZkmxbWms> wmsFlag) { try { OpenOrderPakoutParam param = new OpenOrderPakoutParam(); param.setOrderType("转库-出库"); DetlDto detlDto; List<DetlDto> orderDetails = new ArrayList<>(); long i = 1; for (NccScZkmxbWms nccScZkmxbWms : wmsFlag) { log.info("NccScZkmxbWms数据:{}", JSONObject.toJSON(nccScZkmxbWms)); if (nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getDr() == 0) { detlDto = new DetlDto(); detlDto.setMatnr(nccScZkmxbWms.getWlbm()); detlDto.setAnfme(nccScZkmxbWms.getYingzzsl().doubleValue()); detlDto.setBatch(nccScZkmxbWms.getVbatchcode()); detlDto.setLineNumber(i); detlDto.setRemark(JSONObject.toJSONString(nccScZkmxbWms)); orderDetails.add(detlDto); i++; } nccScZkmxbWms.setWmsFlag(1); param.setOrderNo(nccScZkmxbWms.getVbillcode()); } param.setOrderDetails(orderDetails); openService.pakoutOrderCreate(param); nccScZkmxbWmsService.updateBatchById(wmsFlag); } catch (Exception e) { e.printStackTrace(); TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); return FAIL.setMsg(e.getMessage()); } return SUCCESS; } /** * 采购到货 @@ -151,6 +188,7 @@ detlDto = new DetlDto(); detlDto.setMatnr(nccCgCgdhdWms.getWlbm()); detlDto.setAnfme(nccCgCgdhdWms.getYdzsl().doubleValue()); detlDto.setBatch(nccCgCgdhdWms.getVbatchcode()); detlDto.setLineNumber(i); detlDto.setRemark(JSONObject.toJSONString(nccCgCgdhdWms)); orderDetails.add(detlDto); @@ -214,7 +252,6 @@ } /** * 调拨单 * @@ -229,16 +266,14 @@ long i = 1; for (NccSaleDbddWms nccCgCgdhdWms : wmsFlag) { log.info("nccCgCgdhdWms数据:{}", JSONObject.toJSON(nccCgCgdhdWms)); if (nccCgCgdhdWms.getDr() == 0 ) { detlDto = new DetlDto(); detlDto.setMatnr(nccCgCgdhdWms.getWlbm()); detlDto.setAnfme(nccCgCgdhdWms.getZsl().doubleValue()); detlDto.setBatch(nccCgCgdhdWms.getVbatchcode()); detlDto.setLineNumber(i); detlDto.setRemark(JSONObject.toJSONString(nccCgCgdhdWms)); orderDetails.add(detlDto); i++; } detlDto = new DetlDto(); detlDto.setMatnr(nccCgCgdhdWms.getWlbm()); detlDto.setAnfme(nccCgCgdhdWms.getZsl().doubleValue()); detlDto.setBatch(nccCgCgdhdWms.getVbatchcode()); detlDto.setLineNumber(i); detlDto.setRemark(JSONObject.toJSONString(nccCgCgdhdWms)); orderDetails.add(detlDto); i++; nccCgCgdhdWms.setWmsFlag(1); param.setOrderNo(nccCgCgdhdWms.getVbillcode()); } src/main/java/com/zy/nc/vo/IaIjBill.java
New file @@ -0,0 +1,8 @@ package com.zy.nc.vo; import lombok.Data; @Data public class IaIjBill { private String pk_org; } src/main/java/com/zy/nc/vo/IaIjBillB.java
New file @@ -0,0 +1,12 @@ package com.zy.nc.vo; import lombok.Data; @Data public class IaIjBillB { private String csrcid; private String cinventoryid; private String nnum; private String cinventoryvid; private String pk_org; } src/main/java/com/zy/nc/vo/ic_generalout_b.java
@@ -1,4 +1,16 @@ package com.zy.nc.vo; import lombok.Data; @Data public class ic_generalout_b { private String materialvid; private Double nshouldassistnum; private String ncostprice; /** * 批次号 */ private String vbatchcode; } src/main/resources/application.yml
@@ -101,7 +101,7 @@ #5.3.其他入库单参照转库新增 #saveRefWhsTrans: http://ip:port/nccloud/api/ic/generalin/saveRefWhsTrans #6.调拨订单查询 #saveRefWhsTrans: http://ip:port/nccloud/api/ic/generalin/saveRefWhsTrans dbdd: /nccloud/api/ia/ij/operation/save #7.盘点单查询 invcount: http://ip:port/nccloud/api/ic/invcount/query src/main/resources/mapper/nc/NccSaleDbddWmsMapper.xml
@@ -60,6 +60,13 @@ <select id="selectDbdd" resultType="java.lang.String"> select distinct VBILLCODE from ncc_sale_dbdd_wms where wms_flag != 1 and FSTATUSFLAG = 4 and FROWSTATUFLAG = 4 limit 100 where (wms_flag is null or wms_flag != 1) and FSTATUSFLAG = 4 and FROWSTATUFLAG = 4 and dr = 0 <if test="ids != null"> and DCCKBM in <foreach item="id" collection="ids" separator="," open="(" close=")" index=""> #{id} </foreach> </if> limit 100 </select> </mapper> src/main/resources/mapper/nc/NccScZkmxbWmsMapper.xml
@@ -76,9 +76,29 @@ DR,TS,wms_flag </sql> <select id="selectZk" resultType="java.lang.String"> <select id="selectZkIn" resultType="java.lang.String"> select distinct VBILLCODE from ncc_sc_zkmxb_wms where wms_flag != 1 and DJZT = 4 limit 100 where wms_flag != 1 and DJZT = 4 <if test="ids != null"> and RKCKBM in <foreach item="id" collection="ids" separator="," open="(" close=")" index=""> #{id} </foreach> </if> limit 100 </select> <select id="selectZkOut" resultType="java.lang.String"> select distinct VBILLCODE from ncc_sc_zkmxb_wms where wms_flag != 1 and DJZT = 4 <if test="ids != null"> and CKCKBM in <foreach item="id" collection="ids" separator="," open="(" close=")" index=""> #{id} </foreach> </if> limit 100 </select> </mapper>