From dce6dcb96f5ed7acd816114df26f2bb1b4688471 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期五, 19 三月 2021 13:46:31 +0800 Subject: [PATCH] # --- src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java | 110 +++++++++++++----------------------- src/main/resources/mapper/LocDetlMapper.xml | 10 +++ src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java | 2 src/main/java/zy/cloud/wms/manager/service/LocDetlService.java | 6 ++ src/main/java/zy/cloud/wms/common/service/erp/entity/UploadStock.java | 2 src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java | 5 + 6 files changed, 63 insertions(+), 72 deletions(-) diff --git a/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java b/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java index 9107b65..b721994 100644 --- a/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java +++ b/src/main/java/zy/cloud/wms/common/service/erp/ErpScheduler.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.core.common.Cools; import com.core.common.DateUtils; +import com.core.common.SnowflakeIdWorker; import com.core.exception.CoolException; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -12,13 +13,8 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; -import zy.cloud.wms.common.service.erp.entity.GetBasisResult; -import zy.cloud.wms.common.service.erp.entity.GetOrderResult0; -import zy.cloud.wms.common.service.erp.entity.GetOrderResultDetl0; -import zy.cloud.wms.manager.entity.Cstmr; -import zy.cloud.wms.manager.entity.CustOrder; -import zy.cloud.wms.manager.entity.Mat; -import zy.cloud.wms.manager.entity.Tag; +import zy.cloud.wms.common.service.erp.entity.*; +import zy.cloud.wms.manager.entity.*; import zy.cloud.wms.manager.mapper.CustOrderMapper; import zy.cloud.wms.manager.mapper.TagMapper; import zy.cloud.wms.manager.service.*; @@ -58,6 +54,8 @@ private TagMapper tagMapper; @Autowired private CustOrderMapper custOrderMapper; + @Autowired + private SnowflakeIdWorker snowflakeIdWorker; /** * 鍟嗗搧涓嬭浇 @@ -419,79 +417,49 @@ } /** - * 鏇存柊搴撳瓨 + * 搴撳瓨涓婁紶 */ -// @Scheduled(cron = "0/3 * * * * ? ") + @Scheduled(cron = "0/15 * * * * ? ") + @GetMapping("test2") public void uploadStockExecute(){ try { -// locDetlService - - Map<String, Object> param = new HashMap<>(); - param.put("rec", 0); - param.put("Flag", 1); - String response = new HttpHandler.Builder() - .setUri(URI) - .setPath(GET_BASIS) - .setJson(JSON.toJSONString(param)) - .build() - .doPost(); - if (!Cools.isEmpty(response)) { - log.info(response); - Date now = new Date(); - Result result = JSON.parseObject(response, Result.class); - if (result.getCode() != 1) { - return; - } - List<GetBasisResult> list = JSON.parseArray(result.getData(), GetBasisResult.class); - for (GetBasisResult data : list) { - Mat mat = matService.selectByMatnr(data.getUserCode()); - String modifyDate = data.getModifyDate(); - Date updateTime = null; - if (!Cools.isEmpty(modifyDate)) { - updateTime = DateUtils.convert(data.getModifyDate()); - } - if (null == mat) { - mat = new Mat( - String.valueOf(data.getRec()), // 缂栧彿 - null, // 鎵�灞炲尯鍩� - null, // 鎵�灞炲綊绫� - data.getUserCode(), // 鍟嗗搧缂栧彿 - data.getFullName(), // 鍟嗗搧鍚嶇О - null, // 鍚嶇О - null, // 瑙勬牸 - null, // 鍨嬪彿 - null, // 鎵瑰彿 - null, // 鍗曚綅 - null, // 鏉$爜 - null, // 鍗曟嵁绫诲瀷 - null, // 鍗曟嵁缂栧彿 - null, // 瀹㈡埛鍚嶇О - null, // 鍝侀」鏁� - null, // 搴撳瓨浣欓噺 - null, // 閲嶉噺 - 1, // - null, // 娣诲姞浜哄憳 - now, // 娣诲姞鏃堕棿 - null, // 淇敼浜哄憳 - updateTime, // 淇敼鏃堕棿 - null // 澶囨敞 - ); - matService.insert(mat); - } else { - mat.setUuid(String.valueOf(data.getRec())); - mat.setMatnr(data.getUserCode()); - mat.setMaktx(data.getFullName()); - mat.setUpdateTime(updateTime); - matService.updateById(mat); - } - log.info("====>> 鏇存柊鐗╂枡锛歿}", data.getUserCode()); + List<LocDetl> statis = locDetlService.getLocDetlStatis(); + if (!Cools.isEmpty(statis)) { + UploadStock uploadStock = new UploadStock(); + uploadStock.setNumber(String.valueOf(snowflakeIdWorker.nextId())); + uploadStock.setVchType(89); + uploadStock.setBillDate(DateUtils.convert(new Date(), DateUtils.yyyyMMdd_F)); + uploadStock.setDataSize(statis.size()); + List<UploadStockDtel> detail = new ArrayList<>(); + uploadStock.setDetail(detail); + for (LocDetl locDetl : statis) { + Mat mat = matService.selectByMatnr(locDetl.getMatnr()); + if (mat == null) {continue;} + UploadStockDtel detl = new UploadStockDtel(); + detl.setUserCode(mat.getMatnr()); + detl.setQty(locDetl.getAnfme()); +// detl.setPrice(Double.parseDouble()); + detl.setComment(mat.getMemo()); + detail.add(detl); } + String response = new HttpHandler.Builder() + .setUri(URI) + .setPath(UPLOAD_STOCK) + .setJson(JSON.toJSONString(uploadStock)) + .build() + .doPost(); + if (!Cools.isEmpty(response)) { + log.info("涓婃姤搴撳瓨鏄庣粏缁熻 ======>> \nrequest:{} \nresponse:{}", JSON.toJSONString(uploadStock), response); + Result result = JSON.parseObject(response, Result.class); + if (result.getCode() != 1) { + } + } } + } catch (Exception e) { e.printStackTrace(); - throw new RuntimeException(e.getMessage()); } diff --git a/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadStock.java b/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadStock.java index 54db2f6..1ef432a 100644 --- a/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadStock.java +++ b/src/main/java/zy/cloud/wms/common/service/erp/entity/UploadStock.java @@ -23,6 +23,6 @@ private Integer dataSize; // 璁板綍鏁版嵁闆� - private List<UploadStockDtel> data; + private List<UploadStockDtel> detail; } diff --git a/src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java b/src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java index 1f9a5cc..be5674f 100644 --- a/src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java +++ b/src/main/java/zy/cloud/wms/manager/mapper/LocDetlMapper.java @@ -29,4 +29,6 @@ List<LocDetl> selectByPrior(@Param("matnr") String matnr, @Param("nodeId") Long nodeId); + List<LocDetl> getLocDetlStatis(); + } diff --git a/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java b/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java index b555736..441cecd 100644 --- a/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java +++ b/src/main/java/zy/cloud/wms/manager/service/LocDetlService.java @@ -46,4 +46,10 @@ */ Boolean isPrior(Long nodeId, String matnr); + /** + * 搴撳瓨鏄庣粏缁熻 + * @return + */ + List<LocDetl> getLocDetlStatis(); + } diff --git a/src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java b/src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java index 1e673f3..c76e116 100644 --- a/src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java +++ b/src/main/java/zy/cloud/wms/manager/service/impl/LocDetlServiceImpl.java @@ -103,5 +103,10 @@ return priorService.selectCount(new EntityWrapper<Prior>().eq("matnr", matnr).eq("node_id", nodeId).eq("status", 1))>0; } + @Override + public List<LocDetl> getLocDetlStatis() { + return this.baseMapper.getLocDetlStatis(); + } + } diff --git a/src/main/resources/mapper/LocDetlMapper.xml b/src/main/resources/mapper/LocDetlMapper.xml index 27026b9..d62caa9 100644 --- a/src/main/resources/mapper/LocDetlMapper.xml +++ b/src/main/resources/mapper/LocDetlMapper.xml @@ -130,4 +130,14 @@ order by mp.prio desc, mld.create_time asc </select> + <select id="getLocDetlStatis" resultMap="BaseResultMap"> + select + ROW_NUMBER() over (order by sum(a.anfme) desc) as row + , a.matnr + , sum(a.anfme) as anfme + from man_loc_detl a + where 1=1 + group by a.matnr + </select> + </mapper> -- Gitblit v1.9.1