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/LkDetTbScheduler.java | 90 +++++++++++++++++++++++++++++++++++++++------ 1 files changed, 78 insertions(+), 12 deletions(-) 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