pom.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/controller/OrderController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/config/ds/DataSourceConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/config/ds/PrimaryDataSourceConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/nc/entity/NccScZkmxbWms.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/nc/task/PlanOrderTask.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/nc/NccCkPddWmsMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/resources/mapper/nc/NccScZkmxbWmsMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
pom.xml
@@ -61,6 +61,13 @@ <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis-plus.version}</version> </dependency> <!-- jdk 8+ 引入可选模块 --> <!-- <dependency>--> <!-- <groupId>com.baomidou</groupId>--> <!-- <artifactId>mybatis-plus-jsqlparser-4.9</artifactId>--> <!-- <version>3.5.9</version>--> <!-- </dependency>--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> src/main/java/com/zy/asrs/controller/OrderController.java
@@ -9,7 +9,6 @@ import com.core.exception.CoolException; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.OrderDomainParam; import com.zy.asrs.entity.result.WrkTraceVo; import com.zy.asrs.service.*; import com.zy.common.model.DetlDto; @@ -45,7 +44,7 @@ @RequestMapping(value = "/order/nav/list/auth") @ManagerAuth public R navList(@RequestParam(required = false) String orderNo){ public R navList(@RequestParam(required = false) String orderNo) { EntityWrapper<Order> wrapper = new EntityWrapper<>(); if (!Cools.isEmpty(orderNo)) { wrapper.like("order_no", orderNo); @@ -73,15 +72,17 @@ @RequestMapping(value = "/order/head/page/auth") @ManagerAuth public R head(@RequestParam(defaultValue = "1")Integer curr, @RequestParam(defaultValue = "10")Integer limit, @RequestParam(required = false)String orderByField, @RequestParam(required = false)String orderByType, @RequestParam Map<String, Object> param){ public R head(@RequestParam(defaultValue = "1") Integer curr, @RequestParam(defaultValue = "10") Integer limit, @RequestParam(required = false) String orderByField, @RequestParam(required = false) String orderByType, @RequestParam Map<String, Object> param) { EntityWrapper<Order> wrapper = new EntityWrapper<>(); excludeTrash(param); convert(param, wrapper); if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else { if (!Cools.isEmpty(orderByField)) { wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); } else { wrapper.orderBy("settle").orderBy("create_time", false); } wrapper.eq("status", 1); @@ -90,27 +91,27 @@ @RequestMapping(value = "/order/detl/all/auth") @ManagerAuth public R head(@RequestParam Long orderId){ public R head(@RequestParam Long orderId) { return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_id", orderId))); } @RequestMapping(value = "/order/form/add/auth") @ManagerAuth(memo = "手动添加订单") @Transactional public R formAdd(@RequestBody OrderDomainParam param){ public R formAdd(@RequestBody OrderDomainParam param) { int status = 0; if(Cools.isEmpty(param.getOrderNo())){ if (Cools.isEmpty(param.getOrderNo())) { String prefix = ""; DocType docType = docTypeService.selectById(param.getDocType()); if(!Cools.isEmpty(docType)){ if (!Cools.isEmpty(docType)) { prefix = docType.getPakin() == 1 ? "RK" : "CK"; status = (prefix.equals("RK") ? 1 : (prefix.equals("CK") ? 2 : 0)); } param.setOrderNo(prefix + snowflakeIdWorker.nextId()); } else { DocType docType = docTypeService.selectById(param.getDocType()); if(!Cools.isEmpty(docType)){ status = (docType.getPakin() == 1 ? 1 : 2 ); if (!Cools.isEmpty(docType)) { status = (docType.getPakin() == 1 ? 1 : 2); } } @@ -162,11 +163,11 @@ List<DetlDto> list = new ArrayList<>(); for (OrderDetl orderDetl : param.getOrderDetlList()) { DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(), orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3()); orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3()); if (DetlDto.has(list, dto)) { OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBrand(),orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(), orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3()); OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3()); item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); if (!orderDetlService.updateById(item)) { throw new CoolException("保存订单明细档失败"); @@ -193,7 +194,7 @@ @RequestMapping(value = "/order/form/modify/auth") @ManagerAuth(memo = "手动修改订单") @Transactional public R formModify(@RequestBody OrderDomainParam param){ public R formModify(@RequestBody OrderDomainParam param) { Order order = orderService.selectById(param.getOrderId()); if (order == null || order.getStatus() == 0) { return R.error("订单不存在"); @@ -218,13 +219,13 @@ // 2.重组数据 List<DetlDto> list = new ArrayList<>(); for (OrderDetl orderDetl : param.getOrderDetlList()) { DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBrand(), orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(), orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3()); DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3()); if (DetlDto.has(list, dto)) { OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(),orderDetl.getBrand(), orderDetl.getStandby1(),orderDetl.getStandby2(),orderDetl.getStandby3(), orderDetl.getBoxType1(),orderDetl.getBoxType2(),orderDetl.getBoxType3()); OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch(), orderDetl.getBrand(), orderDetl.getStandby1(), orderDetl.getStandby2(), orderDetl.getStandby3(), orderDetl.getBoxType1(), orderDetl.getBoxType2(), orderDetl.getBoxType3()); item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); if (!orderDetlService.updateById(item)) { throw new CoolException("保存订单明细档失败"); @@ -286,8 +287,8 @@ WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime())); if (wrkMast == null) { WrkMastLog wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime())); if (wrkMastLog.getIoType()==103){ wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()).eq("io_type",53)); if (wrkMastLog.getIoType() == 103) { wrkMastLog = wrkMastLogService.selectOne(new EntityWrapper<WrkMastLog>().eq("wrk_no", wrkDetl.getWrkNo()).eq("io_time", wrkDetl.getIoTime()).eq("io_type", 53)); } if (wrkMastLog != null) { wrkMast = new WrkMast(); @@ -315,9 +316,9 @@ .add("list", wrkTraceVos) .add("orderNo", order.getOrderNo()) .add("totalQty", totalQty) .add("wrkQty", wrkQty+endQty) .add("wrkQty", wrkQty + endQty) .add("lackQty", lackQty) .add("endQty",endQty) .add("endQty", endQty) ); } @@ -332,22 +333,24 @@ @RequestMapping(value = "/order/list/auth") @ManagerAuth public R list(@RequestParam(defaultValue = "1")Integer curr, @RequestParam(defaultValue = "10")Integer limit, @RequestParam(required = false)String orderByField, @RequestParam(required = false)String orderByType, @RequestParam Map<String, Object> param){ public R list(@RequestParam(defaultValue = "1") Integer curr, @RequestParam(defaultValue = "10") Integer limit, @RequestParam(required = false) String orderByField, @RequestParam(required = false) String orderByType, @RequestParam Map<String, Object> param) { EntityWrapper<Order> wrapper = new EntityWrapper<>(); excludeTrash(param); convert(param, wrapper); if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} if (!Cools.isEmpty(orderByField)) { wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); } return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper)); } private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){ for (Map.Entry<String, Object> entry : map.entrySet()){ private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { for (Map.Entry<String, Object> entry : map.entrySet()) { String val = String.valueOf(entry.getValue()); if (val.contains(RANGE_TIME_LINK)){ if (val.contains(RANGE_TIME_LINK)) { String[] dates = val.split(RANGE_TIME_LINK); wrapper.ge(entry.getKey(), DateUtils.convert(dates[0])); wrapper.le(entry.getKey(), DateUtils.convert(dates[1])); @@ -359,15 +362,15 @@ @RequestMapping(value = "/order/update/auth") @ManagerAuth public R update(Order order){ if (Cools.isEmpty(order) || null == order.getId()){ public R update(Order order) { if (Cools.isEmpty(order) || null == order.getId()) { return R.error(); } //订单完结前,判断是否存在作业中数据,存在则不能完结 if(order.getSettle() == 4){ int wrkCount = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no",order.getOrderNo())); int pakinCount = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("order_no",order.getOrderNo())); if (order.getSettle() == 4) { int wrkCount = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", order.getOrderNo())); int pakinCount = waitPakinService.selectCount(new EntityWrapper<WaitPakin>().eq("order_no", order.getOrderNo())); if (wrkCount > 0 || pakinCount > 0) { throw new CoolException("存在作业中数据,不能完结。请检查入库通知档和工作档"); } @@ -384,7 +387,7 @@ @RequestMapping(value = "/order/delete/auth") @ManagerAuth(memo = "手动删除订单") @Transactional public R delete(@RequestParam Long orderId){ public R delete(@RequestParam Long orderId) { orderService.remove(orderId); // Order order = orderService.selectById(orderId); // if (order != null) { @@ -399,7 +402,7 @@ @RequestMapping(value = "/order/export/auth") @ManagerAuth public R export(@RequestBody JSONObject param){ public R export(@RequestBody JSONObject param) { EntityWrapper<Order> wrapper = new EntityWrapper<>(); List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); Map<String, Object> map = excludeTrash(param.getJSONObject("order")); @@ -415,7 +418,7 @@ wrapper.like("id", condition); Page<Order> page = orderService.selectPage(new Page<>(0, 10), wrapper); List<Map<String, Object>> result = new ArrayList<>(); for (Order order : page.getRecords()){ for (Order order : page.getRecords()) { Map<String, Object> map = new HashMap<>(); map.put("id", order.getId()); map.put("value", order.getOrderNo()); @@ -428,7 +431,7 @@ @ManagerAuth public R query(@RequestBody JSONObject param) { Wrapper<Order> wrapper = new EntityWrapper<Order>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); if (null != orderService.selectOne(wrapper)){ if (null != orderService.selectOne(wrapper)) { return R.parse(BaseRes.REPEAT).add(getComment(Order.class, String.valueOf(param.get("key")))); } return R.ok(); src/main/java/com/zy/asrs/service/impl/ReportToThirdServiceImpl.java
@@ -67,6 +67,7 @@ int step = (Cools.isEmpty(order.getStep()) || order.getStep() == 0) ? 0 : order.getStep(); NcResultMessage response = null; Object process1 = null; Object process2 = null; try { switch (order.getDocType$().toString()) { case "销售发货": @@ -99,13 +100,23 @@ } break; case "转库-出库": process1 = processGENERALOUT(orderDetls); List<Object> zkck = new ArrayList<>(); zkck.add(process1); process1 = processZKCK(orderDetls); List<Object> zkck1 = new ArrayList<>(); zkck1.add(process1); //发送请求 response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, generalout, JSONObject.toJSONString(zkck)); response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, whstrans, JSONObject.toJSONString(zkck1)); if (!Cools.isEmpty(response) && response.isSuccess()) { log.info("转库-出库response:{}", response); log.info("转库-出库1response:{}", response); step = 1; } process2 = processGENERALOUT2(orderDetls); List<Object> zkck2 = new ArrayList<>(); zkck2.add(process2); //发送请求 response = SendUtil.sendDataToNc(SendUtil.token, nyncIp + ":" + port, generalout, JSONObject.toJSONString(zkck2)); if (!Cools.isEmpty(response) && response.isSuccess()) { log.info("转库-出库2response:{}", response); step = 10; } break; @@ -191,12 +202,11 @@ if (!Cools.isEmpty(remark)) { NccScZkmxbWms nccScZkmxbWms = JSONObject.parseObject(remark, NccScZkmxbWms.class); generalInBodyVO.setCsourcebillbid(nccScZkmxbWms.getCspecialbid()); //generalInBodyVO.setCsourcebillhid(nccScZkmxbWms.getCdeliveryid()); generalInBodyVO.setCsourcebillhid(nccScZkmxbWms.getCspecialhid()); //generalInBodyVO.setCmaterialvid(orderDetl.getMatnr()); generalInBodyVO.setNnum(orderDetl.getQty()); generalInBodyVO.setNshouldnum(orderDetl.getAnfme()); generalInBodyVO.setVbatchcode(orderDetl.getBatch()); generalInBodyVO.setCsourcetype(nccScZkmxbWms.getZklxbm()); } generalInBodyVOS.add(generalInBodyVO); } @@ -204,8 +214,6 @@ data.put("GeneralInBodyVO", generalInBodyVOS); return data; } private Object processDBDD(List<OrderDetl> orderDetls) { @@ -234,7 +242,33 @@ return data; } private Object processZKCK(List<OrderDetl> orderDetls) { //组装对象数据 Map<String, Object> data = new HashMap<String, Object>(); WhsTransBillHeaderVO whsTransBillHeaderVO = new WhsTransBillHeaderVO(); whsTransBillHeaderVO.setPk_org("FYT"); whsTransBillHeaderVO.setCwarehouseid("6101"); WhsTransBillBodyVO whsTransBillBodyVO = null; List<WhsTransBillBodyVO> whsTransBillBodyVOS = new ArrayList<>(); for (OrderDetl orderDetl : orderDetls) { whsTransBillBodyVO = new WhsTransBillBodyVO(); String remark = orderDetl.getRemark(); if (!Cools.isEmpty(remark)) { NccSaleXsfhmxWms nccSaleXsfhmxWms = JSONObject.parseObject(remark, NccSaleXsfhmxWms.class); whsTransBillBodyVO.setCsourcetype("4331"); whsTransBillBodyVO.setClocationid("610101"); whsTransBillBodyVO.setCsourcebillbid(nccSaleXsfhmxWms.getCdeliverybid()); whsTransBillBodyVO.setCsourcebillhid(nccSaleXsfhmxWms.getCdeliveryid()); whsTransBillBodyVO.setNnum(orderDetl.getQty()); whsTransBillBodyVO.setVbatchcode(orderDetl.getBatch()); whsTransBillBodyVO.setCmaterialoid(orderDetl.getMatnr()); } whsTransBillBodyVOS.add(whsTransBillBodyVO); } data.put("WhsTransBillHeaderVO", whsTransBillHeaderVO); data.put("WhsTransBillBodyVO", whsTransBillBodyVOS); return data; } private Object processCGDH(List<OrderDetl> orderDetls) { @@ -242,7 +276,8 @@ 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_h.setCwarehouseid("6301"); ic_purchasein_h.setCfanaceorgoid("FYT"); ic_purchasein_b ic_purchasein_b = null; List<ic_purchasein_b> ic_purchasein_bs = new ArrayList<>(); for (OrderDetl orderDetl : orderDetls) { @@ -251,11 +286,14 @@ if (!Cools.isEmpty(remark)) { NccCgCgdhdWms nccCgCgdhdWms = JSONObject.parseObject(remark, NccCgCgdhdWms.class); ic_purchasein_h.setCvendorid(nccCgCgdhdWms.getGysbm()); ic_purchasein_h.setCbizid(nccCgCgdhdWms.getDhlxbm()); ic_purchasein_h.setCtrantypeid(nccCgCgdhdWms.getDhlxbm()); ic_purchasein_b.setCsourcebillbid(nccCgCgdhdWms.getPkArriveorderB()); ic_purchasein_b.setCsourcebillhid(nccCgCgdhdWms.getPkArriveorder()); ic_purchasein_b.setCmaterialvid(orderDetl.getMatnr()); ic_purchasein_b.setNnum(orderDetl.getQty()); //ic_purchasein_b.setNshouldassistnum(orderDetl.getQty()); ic_purchasein_b.setCsourcetype(nccCgCgdhdWms.getDhlxbm()); ic_purchasein_b.setVbatchcode(orderDetl.getBatch()); } ic_purchasein_bs.add(ic_purchasein_b); @@ -294,6 +332,35 @@ } /** * @param orderDetls * @return */ private Object processGENERALOUT2(List<OrderDetl> orderDetls) { //组装对象数据 Map<String, Object> data = new HashMap<String, Object>(); 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) { 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(generalout_b); } data.put("ic_generalout_h", generalout_h); data.put("ic_generalout_b", ic_purchasein_bs); return data; } private Boolean reportApiLog(Object data, String docType, String url, String path) { String response = ""; boolean success = false; src/main/java/com/zy/common/config/ds/DataSourceConfig.java
@@ -36,7 +36,6 @@ // 次数据源 @Bean(name = "slaveDataSource") public DataSource secondaryDataSource() { System.out.println(driverClassName); return DataSourceBuilder.create() .driverClassName(driverClassName) .url(url) src/main/java/com/zy/common/config/ds/PrimaryDataSourceConfig.java
@@ -1,6 +1,8 @@ package com.zy.common.config.ds; import com.baomidou.mybatisplus.plugins.PaginationInterceptor; import com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean; import org.apache.ibatis.plugin.Interceptor; import org.mybatis.spring.annotation.MapperScan; import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.context.annotation.Bean; @@ -17,12 +19,14 @@ @Bean(name = "primarySqlSessionFactory") @Primary public MybatisSqlSessionFactoryBean primarySqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception { public MybatisSqlSessionFactoryBean primarySqlSessionFactory(@Qualifier("dataSource") DataSource dataSource, PaginationInterceptor paginationInterceptor) throws Exception { MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); // 设置MyBatis的Mapper XML文件路径 sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver() .getResources("classpath:mapper/asrs/*.xml")); Interceptor[] interceptors = new Interceptor[]{paginationInterceptor}; sessionFactory.setPlugins(interceptors); return sessionFactory; } @@ -31,4 +35,6 @@ public DataSourceTransactionManager primaryTransactionManager(@Qualifier("dataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } } src/main/java/com/zy/common/config/ds/SecondaryDataSourceConfig.java
@@ -1,6 +1,8 @@ package com.zy.common.config.ds; import com.baomidou.mybatisplus.plugins.PaginationInterceptor; import com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean; import org.apache.ibatis.plugin.Interceptor; import org.apache.ibatis.session.SqlSessionFactory; import org.mybatis.spring.SqlSessionFactoryBean; import org.mybatis.spring.annotation.MapperScan; @@ -17,12 +19,15 @@ public class SecondaryDataSourceConfig { @Bean(name = "secondarySqlSessionFactory") public MybatisSqlSessionFactoryBean secondarySqlSessionFactory(@Qualifier("slaveDataSource") DataSource dataSource) throws Exception { public MybatisSqlSessionFactoryBean secondarySqlSessionFactory(@Qualifier("slaveDataSource") DataSource dataSource, PaginationInterceptor paginationInterceptor) throws Exception { MybatisSqlSessionFactoryBean sessionFactory = new MybatisSqlSessionFactoryBean(); sessionFactory.setDataSource(dataSource); // 设置MyBatis的Mapper XML文件路径 sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver() .getResources("classpath:mapper/nc/*.xml")); Interceptor[] interceptors = new Interceptor[] { paginationInterceptor }; sessionFactory.setPlugins(interceptors); return sessionFactory; } @@ -30,4 +35,6 @@ public DataSourceTransactionManager secondaryTransactionManager(@Qualifier("slaveDataSource") DataSource dataSource) { return new DataSourceTransactionManager(dataSource); } } src/main/java/com/zy/nc/entity/NccScZkmxbWms.java
@@ -20,6 +20,10 @@ @TableId private String cspecialbid; private String cspecialhid; private String zklxbm; /** * */ src/main/java/com/zy/nc/task/PlanOrderTask.java
@@ -48,7 +48,7 @@ public void execute1() { 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)); List<NccSaleXsfhmxWms> wmsFlag = nccSaleXsfhmxWmsService.selectList(new EntityWrapper<NccSaleXsfhmxWms>().eq("vbillcode", id).ne("wms_flag", 1).eq("fstatusflag", 2).eq("hdr", 0).eq("bdr", 0).eq("fstatusflag", 2)); if (wmsFlag == null || wmsFlag.isEmpty()) { return; } @@ -76,7 +76,7 @@ //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)); List<NccScZkmxbWms> wmsFlag = nccScZkmxbWmsService.selectList(new EntityWrapper<NccScZkmxbWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("dr", 0).eq("bdr", 0)); if (wmsFlag == null || wmsFlag.isEmpty()) { return; } @@ -101,7 +101,7 @@ 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)); List<NccScZkmxbWms> wmsFlag = nccScZkmxbWmsService.selectList(new EntityWrapper<NccScZkmxbWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("hdr", 0).eq("bdr", 0)); if (wmsFlag == null || wmsFlag.isEmpty()) { return; } @@ -125,7 +125,7 @@ public void execute3() { List<String> strings = nccCgCgdhdWmsService.selectCg(); for (String string : strings) { List<NccCgCgdhdWms> wmsFlag = nccCgCgdhdWmsService.selectList(new EntityWrapper<NccCgCgdhdWms>().eq("vbillcode", string).ne("wms_flag", 1)); List<NccCgCgdhdWms> wmsFlag = nccCgCgdhdWmsService.selectList(new EntityWrapper<NccCgCgdhdWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("hdr", 0).eq("bdr", 0)); if (wmsFlag == null || wmsFlag.isEmpty()) { return; } @@ -151,7 +151,7 @@ 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)); List<NccSaleDbddWms> wmsFlag = nccSaleDbddWmsService.selectList(new EntityWrapper<NccSaleDbddWms>().eq("vbillcode", string).ne("wms_flag", 1).eq("dr", 0).eq("bdr", 0)); if (wmsFlag == null || wmsFlag.isEmpty()) { return; } src/main/java/com/zy/nc/task/handler/PlanOrderHandler.java
@@ -70,16 +70,14 @@ List<DetlDto> orderDetails = new ArrayList<>(); long i = 1; for (NccSaleXsfhmxWms nccSaleXsfhmxWms : wmsFlag) { if (nccSaleXsfhmxWms.getFstatusflag() == 2 && nccSaleXsfhmxWms.getBdr() == 0 && nccSaleXsfhmxWms.getHdr() == 0) { detlDto = new DetlDto(); detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm()); detlDto.setAnfme(nccSaleXsfhmxWms.getNastnum().doubleValue()); detlDto.setLineNumber(i); detlDto.setRemark(JSONObject.toJSONString(nccSaleXsfhmxWms)); orderDetails.add(detlDto); log.info("NccSaleXsfhmxWms数据:{}", JSONObject.toJSON(nccSaleXsfhmxWms)); i++; } detlDto = new DetlDto(); detlDto.setMatnr(nccSaleXsfhmxWms.getWlbm()); detlDto.setAnfme(nccSaleXsfhmxWms.getNastnum().doubleValue()); detlDto.setLineNumber(i); detlDto.setRemark(JSONObject.toJSONString(nccSaleXsfhmxWms)); orderDetails.add(detlDto); log.info("NccSaleXsfhmxWms数据:{}", JSONObject.toJSON(nccSaleXsfhmxWms)); i++; nccSaleXsfhmxWms.setWmsFlag(1); param.setOrderNo(nccSaleXsfhmxWms.getVbillcode()); } @@ -108,16 +106,14 @@ 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++; } 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()); } @@ -146,16 +142,14 @@ 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++; } 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()); } @@ -184,16 +178,14 @@ long i = 1; for (NccCgCgdhdWms nccCgCgdhdWms : wmsFlag) { log.info("nccCgCgdhdWms数据:{}", JSONObject.toJSON(nccCgCgdhdWms)); if (nccCgCgdhdWms.getBdr() == 0 && nccCgCgdhdWms.getHdr() == 0) { 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); i++; } 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); i++; nccCgCgdhdWms.setWmsFlag(1); param.setOrderNo(nccCgCgdhdWms.getVbillcode()); } @@ -220,23 +212,21 @@ InventoryCheckOrderDetl checkOrderDetl = null; for (NccCkPddWms nccScZkmxbWms : wmsFlag) { log.info("NccCkPddWms数据:{}", JSONObject.toJSON(nccScZkmxbWms)); if (nccScZkmxbWms.getBdr() == 0 && nccScZkmxbWms.getHdr() == 0) { Mat mat = matService.selectByMatnr(nccScZkmxbWms.getWlbm()); if (Cools.isEmpty(mat)) { throw new CoolException(nccScZkmxbWms.getWlbm() + "编号商品检索失败,请先添加商品"); } List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", nccScZkmxbWms.getVbillcode()).eq("matnr", mat.getMatnr()).eq("batch", nccScZkmxbWms.getVbatchcode())); if (checkOrderDetls != null && !checkOrderDetls.isEmpty()) { throw new CoolException(nccScZkmxbWms.getWlbm() + "盘点单的明细重复了"); } checkOrderDetl = new InventoryCheckOrderDetl(); checkOrderDetl.setMatnr(nccScZkmxbWms.getWlbm()); checkOrderDetl.setMaktx(mat.getMaktx()); checkOrderDetl.setOrderNo(nccScZkmxbWms.getVbillcode()); checkOrderDetl.setAnfme(nccScZkmxbWms.getZmzsl().doubleValue()); checkOrderDetl.setBatch(nccScZkmxbWms.getVbatchcode()); inventoryCheckOrderDetlService.insert(checkOrderDetl); Mat mat = matService.selectByMatnr(nccScZkmxbWms.getWlbm()); if (Cools.isEmpty(mat)) { throw new CoolException(nccScZkmxbWms.getWlbm() + "编号商品检索失败,请先添加商品"); } List<InventoryCheckOrderDetl> checkOrderDetls = inventoryCheckOrderDetlService.selectList(new EntityWrapper<InventoryCheckOrderDetl>().eq("order_no", nccScZkmxbWms.getVbillcode()).eq("matnr", mat.getMatnr()).eq("batch", nccScZkmxbWms.getVbatchcode())); if (checkOrderDetls != null && !checkOrderDetls.isEmpty()) { //throw new CoolException(nccScZkmxbWms.getWlbm() + "盘点单的明细重复了"); } checkOrderDetl = new InventoryCheckOrderDetl(); checkOrderDetl.setMatnr(nccScZkmxbWms.getWlbm()); checkOrderDetl.setMaktx(mat.getMaktx()); checkOrderDetl.setOrderNo(nccScZkmxbWms.getVbillcode()); checkOrderDetl.setAnfme(nccScZkmxbWms.getZmzsl().doubleValue()); checkOrderDetl.setBatch(nccScZkmxbWms.getVbatchcode()); inventoryCheckOrderDetlService.insert(checkOrderDetl); nccScZkmxbWms.setWmsFlag(1); param.setOrderNo(nccScZkmxbWms.getVbillcode()); } src/main/resources/mapper/nc/NccCkPddWmsMapper.xml
@@ -50,6 +50,6 @@ <select id="selectPdd" resultType="java.lang.String"> select distinct VBILLCODE from ncc_ck_pdd_wms where wms_flag != 1 and FBILLFLAG = 2 limit 100 where wms_flag != 1 and FBILLFLAG = 2 and hdr =0 and bdr =0 limit 100 </select> </mapper> src/main/resources/mapper/nc/NccScZkmxbWmsMapper.xml
@@ -79,7 +79,7 @@ <select id="selectZkIn" resultType="java.lang.String"> select distinct VBILLCODE from ncc_sc_zkmxb_wms where wms_flag != 1 and DJZT = 4 where wms_flag != 1 and DJZT = 4 and dr =0 and bdr =0 <if test="ids != null"> and RKCKBM in <foreach item="id" collection="ids" separator="," open="(" close=")" index=""> @@ -92,7 +92,7 @@ <select id="selectZkOut" resultType="java.lang.String"> select distinct VBILLCODE from ncc_sc_zkmxb_wms where wms_flag != 1 and DJZT = 4 where wms_flag != 1 and DJZT = 4 and dr =0 and bdr =0 <if test="ids != null"> and CKCKBM in <foreach item="id" collection="ids" separator="," open="(" close=")" index="">