From 0925a458d92d33aa05b2fb03aec3ac8c13e5d763 Mon Sep 17 00:00:00 2001 From: LSH Date: 星期三, 04 一月 2023 11:23:16 +0800 Subject: [PATCH] #中间表对接:订单完结上报完成 --- src/main/java/com/zy/ints/task/scheduler/ErpDetTbScheduler.java | 1 src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java | 90 ++++++++++++++++++++++++++---- src/main/java/com/zy/asrs/entity/DocType.java | 30 ++++++++++ 3 files changed, 109 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/zy/asrs/entity/DocType.java b/src/main/java/com/zy/asrs/entity/DocType.java index 14e5776..3cd4c70 100644 --- a/src/main/java/com/zy/asrs/entity/DocType.java +++ b/src/main/java/com/zy/asrs/entity/DocType.java @@ -159,5 +159,35 @@ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } + public String getDocName$(){ + if (Cools.isEmpty(this.docName)){ + return ""; + }else { + switch (this.docName){ + case "閲囪喘閿�鍞紙鍑哄簱锛�": + case "閲囪喘閿�鍞紙鍏ュ簱锛�": + return "TF_PSS"; + case "搴撳瓨璋冩嫧锛堝嚭搴擄級": + case "搴撳瓨璋冩嫧锛堝叆搴擄級": + return "TF_IC"; + case "搴撳瓨璋冩暣锛堝嚭搴擄級": + case "搴撳瓨璋冩暣锛堝叆搴擄級": + return "TF_IJ"; + case "鐢熶骇棰嗘枡锛堝嚭搴擄級": + case "鐢熶骇棰嗘枡锛堝叆搴擄級": + return "TF_ML"; + case "鐢熶骇缂村簱锛堝嚭搴擄級": + case "鐢熶骇缂村簱锛堝叆搴擄級": + return "TF_MM0"; + case "鎵樺伐閫�鍥烇紙鍑哄簱锛�": + case "鎵樺伐閫�鍥烇紙鍏ュ簱锛�": + return "TF_TC"; + default: + return this.docName; + } + } + + } + } diff --git a/src/main/java/com/zy/ints/task/scheduler/ErpDetTbScheduler.java b/src/main/java/com/zy/ints/task/scheduler/ErpDetTbScheduler.java index 66605c0..8cb6b98 100644 --- a/src/main/java/com/zy/ints/task/scheduler/ErpDetTbScheduler.java +++ b/src/main/java/com/zy/ints/task/scheduler/ErpDetTbScheduler.java @@ -139,6 +139,7 @@ orderDetl.setCreateTime(now); orderDetl.setUpdateBy(9999L); orderDetl.setUpdateTime(now); + orderDetl.setMemo(erpDetTb.getWh()); if (orderDetlService.insert(orderDetl)){ erpSqlServer.update(sqlUpDateErpDetTbOne + "'" + erpDetTb.getPrdNo() + "'"); }else { diff --git a/src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java b/src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java index c2bd126..282b5ac 100644 --- a/src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java +++ b/src/main/java/com/zy/ints/task/scheduler/LkDetTbScheduler.java @@ -1,6 +1,17 @@ package com.zy.ints.task.scheduler; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.core.common.Cools; +import com.core.exception.CoolException; +import com.zy.asrs.entity.DocType; +import com.zy.asrs.entity.Order; +import com.zy.asrs.entity.OrderDetl; +import com.zy.asrs.service.DocTypeService; +import com.zy.asrs.service.OrderDetlService; +import com.zy.asrs.service.OrderService; +import com.zy.ints.entity.ErpDetTbBak; import com.zy.ints.entity.LkDetTb; +import com.zy.ints.entity.LkDetTbBak; import com.zy.ints.erp.ErpSqlServer; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -8,6 +19,9 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; import java.util.List; /** @@ -24,6 +38,12 @@ private Boolean erpEnabled; @Autowired private ErpSqlServer erpSqlServer; + @Autowired + private OrderService orderService; + @Autowired + private OrderDetlService orderDetlService; + @Autowired + private DocTypeService docTypeService; /** * 涓婃姤鍏ュ嚭搴撳畬缁撹鍗曚俊鎭� */ @@ -31,25 +51,71 @@ public void InOrOutOrder() { if (!erpEnabled) return; String sqlSelectLkDetTb = "select bill_no as billNo,prd_no as prdNo,iokindid,add_id as addId,qty,prd_mark as prdMark,wh,billdate,status,temp1,temp2,temp3 from lk_det_tb where 1=1"; - String sqlUpDateLkDetTbOne = "update lk_det_tb set status=1 where prd_no="; - String sqlUpDateLkDetTbTwo = "update lk_det_tb set status=2 where prd_no="; + String sqlSelectLkDetTbBak = "select bill_no as billNo,prd_no as prdNo,iokindid,add_id as addId,qty,prd_mark as prdMark,wh,billdate,status,temp1,temp2,temp3 from lk_det_tb_bak where 1=1"; try { - List<LkDetTb> lkDetTbs = erpSqlServer.select(sqlSelectLkDetTb, LkDetTb.class); - if (lkDetTbs.size() > 0){ - for (LkDetTb lkDetTb:lkDetTbs){ - Integer status = lkDetTb.getStatus(); - if (status == 0){ + List<Order> orders = orderService.selectList(new EntityWrapper<Order>().eq("settle", 4L)); + if (orders.size()>0){ + for (Order order:orders){ + List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); + if (!Cools.isEmpty(orderDetls)){ + for (OrderDetl orderDetl:orderDetls){ + Date now = new Date(); + List<LkDetTb> lkDetTbs = erpSqlServer.select(sqlSelectLkDetTb+ + " and bill_no='"+orderDetl.getOrderNo()+"'" + + " and prd_no='"+orderDetl.getMatnr()+"'" + + " and prd_mark='"+orderDetl.getBatch()+"'" + , LkDetTb.class); + List<LkDetTbBak> lkDetTbBaks = erpSqlServer.select(sqlSelectLkDetTbBak+ + " and bill_no='"+orderDetl.getOrderNo()+"'" + + " and prd_no='"+orderDetl.getMatnr()+"'" + + " and prd_mark='"+orderDetl.getBatch()+"'" + , LkDetTbBak.class); + if (lkDetTbs.size() == 1 || lkDetTbBaks.size()==1){ + log.error("璁㈠崟鍙凤細"+orderDetl.getOrderNo()+"銆佸晢鍝佺紪鍙凤細"+orderDetl.getMatnr()+"銆佽揣鍝佺壒寰侊細"+orderDetl.getBatch()+" " + + "宸茬粡涓婃姤浣嗘槸鏄庣粏渚濇棫瀛樺湪锛岃鑱旂郴寮�鍙戜汉鍛橈紒锛侊紒"); + continue; + }else if (lkDetTbs.size()>1 || lkDetTbBaks.size()>1){ + log.error("鐩稿悓 璁㈠崟鍙凤細"+orderDetl.getOrderNo()+"銆佸晢鍝佺紪鍙凤細"+orderDetl.getMatnr()+"銆佽揣鍝佺壒寰侊細"+orderDetl.getBatch()+" " + + "瀛樺湪閲嶅璧勬枡锛岃仈绯诲紑鍙戜汉鍛橈紒锛侊紒"); + continue; +// throw new CoolException("鐩稿悓 璁㈠崟鍙凤細"+orderDetl.getOrderNo()+"銆佸晢鍝佺紪鍙凤細"+orderDetl.getMatnr()+"銆佽揣鍝佺壒寰侊細"+orderDetl.getBatch()+" " + +// "瀛樺湪閲嶅璧勬枡锛岃仈绯诲紑鍙戜汉鍛橈紒锛侊紒"); + }else { + String format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(now); + HashMap<String, Object> condition = new HashMap<>(); + condition.put("bill_no", "'" + orderDetl.getOrderNo() + "'"); + condition.put("prd_no", "'" + orderDetl.getMatnr() + "'"); - }else if (status == 1){ + DocType docType = docTypeService.selectById(order.getDocType()); + if (!Cools.isEmpty(docType)){ + int addid = docType.getPakin() == 1 ? 1 : 2; + condition.put("iokindid", "'" + docType.getDocName$() + "'"); + condition.put("add_id", "'" + addid + "'"); + } - }else if (status == 2){ - - }else { - + condition.put("qty", "'" + orderDetl.getQty() + "'"); + condition.put("prd_mark", "'" + orderDetl.getBatch() + "'"); + condition.put("wh", "'" + orderDetl.getMemo() + "'"); + condition.put("billdate", "'" + format + "'"); + condition.put("status", "'" + 0 + "'"); + erpSqlServer.insert(LkDetTb.class, condition); + } + //淇濆瓨璁㈠崟鏄庣粏鍘嗗彶妗� + if (orderDetlService.addToLogTable(orderDetl)){ + //鍒犻櫎璁㈠崟鏄庣粏 + orderDetlService.deleteById(orderDetl.getId()); + } + } + //淇濆瓨璁㈠崟鍘嗗彶妗� + if (orderService.addToLogTable(order)){ + //鍒犻櫎瀹岀粨璁㈠崟 + orderService.deleteById(order.getId()); + } } } } + }catch (Exception e){ } -- Gitblit v1.9.1