自动化立体仓库 - WMS系统
#
LSH
2023-12-27 83c9330f576c23aade710bcd996dedd19534e213
#
6个文件已修改
113 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/param/OpenOrderPakinJDParam.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/PushDowmOrderSyncScheduler.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/DetlDto.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/OpenOrderPakinJDParam.java
@@ -19,7 +19,6 @@
    private String createDate;
    private String number;//行号
    private String type;//类型  (1、整单上报  2、行号上报)
    private List<DetlDto2> matList;
@@ -37,15 +36,17 @@
        private Double anfme;
        private String owner;
        private String origin;
        public DetlDto2(){}
        public DetlDto2(String matnr,String maktx,String batch,String specs,Double anfme,String owner){
        public DetlDto2(String matnr,String maktx,String batch,String specs,Double anfme,String owner,String origin){
            this.matnr=matnr;
            this.maktx=maktx;
            this.batch=batch;
            this.specs=specs;
            this.anfme=anfme;
            this.owner=owner;
            this.origin=origin;
        }
    }
src/main/java/com/zy/asrs/task/kingdee/PushDowmOrderSyncScheduler.java
@@ -10,6 +10,7 @@
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
import java.util.List;
/*
@@ -33,9 +34,15 @@
        }
        List<Order> orders = orderService.selectComplete();
        for (Order order : orders) {
            ReturnT<String> result = pushDowmOrderSyncHandler.start(order);
            if (!result.isSuccess()) {
                log.error("单据[orderNo={}]提交至erp失败", order.getOrderNo());
            try{
                ReturnT<String> result = pushDowmOrderSyncHandler.start(order);
                if (!result.isSuccess()) {
                    log.error("单据[orderNo={}]提交至erp失败", order.getOrderNo());
                }
            }catch (Exception e){
                Order order1 = orderService.selectById(order.getId());
                order1.setUpdateTime(new Date());
                orderService.updateById(order1);
            }
        }
    }
src/main/java/com/zy/asrs/task/kingdee/handler/PushDowmOrderSyncHandler.java
@@ -4,10 +4,15 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.zy.asrs.entity.DocType;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.service.ApiLogService;
import com.zy.asrs.service.DocTypeService;
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.task.AbstractHandler;
import com.zy.asrs.task.core.ReturnT;
@@ -19,7 +24,9 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
/**
@@ -38,6 +45,8 @@
    @Autowired
    private OrderService orderService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Autowired
    private ApiLogService apiLogService;
    @Autowired
@@ -62,9 +71,25 @@
        //条件拼接
        log.info("条件拼接");
        String entryIds = null;
//        if (kingDeeUtilType.entryId==1){
//            List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId());
//            for (OrderDetl orderDetl:orderDetls){
//                if (Cools.isEmpty(entryIds)){
//                    entryIds = orderDetl.getOrigin();
//                }else {
//                    entryIds = entryIds+"," +orderDetl.getOrigin();
//                }
//            }
//            orderNoS = "";
//        }
        if (Cools.isEmpty(entryIds)){
            entryIds = "";
        }
        JSONObject dataJsonObject = new JSONObject();
        dataJsonObject.put("Numbers",orderNoS);
        dataJsonObject.put("EntryIds","");
        dataJsonObject.put("EntryIds",entryIds);
        dataJsonObject.put("RuleId",kingDeeUtilType.ruleId);
        dataJsonObject.put("TargetFormId",kingDeeUtilType.correspondingFormId);
@@ -90,14 +115,20 @@
                    .setHttps(true)
                    .build()
                    .doPost();
            JSONObject data = JSON.parseObject(response);
//            JSONObject data = JSON.parseObject(response);
            log.info("下推response:"+response);
            Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
            String bool=IsSuccess.toString();
//            Object IsSuccess = findValueByKey(JSON.parseObject(response), "IsSuccess");
//            String bool=IsSuccess.toString();
            ObjectMapper objectMapper =  new ObjectMapper();
            JsonNode rootNode = objectMapper.readTree(response);
            boolean bool = rootNode.get("Result").get("ResponseStatus").get("IsSuccess").asBoolean();
            log.info("下推bool:"+bool);
            //下推完成原订单4转6  6.上报完成
            if(bool.equals("true")){
            if(bool){
                success = true;
                order.setSettle(6L);
                order.setUpdateTime(new Date());
                orderService.update(order,new EntityWrapper<Order>().eq("order_no",order.getOrderNo()));
            }
        } catch (Exception e) {
src/main/java/com/zy/common/model/DetlDto.java
@@ -23,6 +23,7 @@
    private int owner;
    private String ownerName;
    private String orgin;
    private int payment;
@@ -36,6 +37,7 @@
        this.batch=detlDto2.getBatch();
        this.anfme=detlDto2.getAnfme();
        this.ownerName=detlDto2.getOwner();
        this.orgin=detlDto2.getOrigin();
        this.payment=0;
    }
src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
@@ -2,58 +2,57 @@
public enum KingDeeUtilType {
    SAL_DELIVERYNOTICE(1, "发货通知单-销售出库单","SAL_DELIVERYNOTICE","FQty","销售出库单","SAL_OUTSTOCK",0,"DeliveryNotice-Outstock"),
    SAL_DELIVERYNOTICE(1, "发货通知单-销售出库单","SAL_DELIVERYNOTICE","FQty","销售出库单","SAL_OUTSTOCK",0,"DeliveryNotice-Outstock",0),
    //米多青岛
    STK_OutStockApply30(2, "试用品发货通知单-其他出库单","SAL_DELIVERYNOTICE","","其他出库单","STK_MisDelivery",0,"731ce15d-c58d-4c21-96f9-d121c0a7b255"),
    STK_OutStockApply30(2, "试用品发货通知单-其他出库单","SAL_DELIVERYNOTICE","","其他出库单","STK_MisDelivery",0,"731ce15d-c58d-4c21-96f9-d121c0a7b255",0),
    /*
    * 退货通知单至销售退货单单据唯一标识:一级:SalReturnNotice-SalReturnstock  二级:a0ab8e5c-5224-4ba2-b31f-b061e64aa1a2
    * */
    SAL_RETURNNOTICE(3, "退货通知单-销售退货单","SAL_RETURNNOTICE","","销售退货单","SAL_RETURNSTOCK",0,"SalReturnNotice-SalReturnstock"),
    SAL_RETURNNOTICE(3, "退货通知单-销售退货单","SAL_RETURNNOTICE","","销售退货单","SAL_RETURNSTOCK",0,"SalReturnNotice-SalReturnstock",0),
    /*
    * 采购收料单至采购入库单唯一标识:一级:PUR_ReceiveBill-STK_InStock  二级:b60e30ca-634c-4f92-b874-db9837496705
    * */
    PUR_ReceiveBill(4, "收料通知单-采购入库单","PUR_ReceiveBill","","采购入库单","STK_InStock",1,"PUR_ReceiveBill-STK_InStock"),
    PUR_ReceiveBill(4, "收料通知单-采购入库单","PUR_ReceiveBill","","采购入库单","STK_InStock",1,"PUR_ReceiveBill-STK_InStock",0),
    /*
    * 退料申请单至采购退料单单据唯一标识:PUR_MRAPP-PUR_MRB
    * */
    PUR_MRAPP(5, "退料申请单-采购退料单","PUR_MRAPP","","采购退料单","PUR_MRB",1,"PUR_MRAPP-PUR_MRB"),
    PUR_MRAPP(5, "退料申请单-采购退料单","PUR_MRAPP","","采购退料单","PUR_MRB",1,"PUR_MRAPP-PUR_MRB",0),
    /*
    * 生产用料清单到生产领料单唯一标识:一级:PRD_PPBOM2PICKMTRL_NORMAL  二级:3539ff08-0c46-435d-a8cd-b6308b0b57b5
    * */
    PRD_PPBOM1(6, "生产用料清单-生产领料单","PRD_PPBOM","","生产领料单","PRD_PickMtrl",0,"PRD_PPBOM2PICKMTRL_NORMAL"),
    PRD_PPBOM1(6, "生产用料清单-生产领料单","PRD_PPBOM","","生产领料单","PRD_PickMtrl",0,"PRD_PPBOM2PICKMTRL_NORMAL",1),
    PRD_PPBOM2(7, "生产用料清单-生产补料单","PRD_PPBOM","","生产补料单","PRD_FeedMtrl",1,"PRD_PPBOM2FEEDMTRL"),
    PRD_PPBOM2(7, "生产用料清单-生产补料单","PRD_PPBOM","","生产补料单","PRD_FeedMtrl",1,"PRD_PPBOM2FEEDMTRL",1),
    PRD_PPBOM3(8, "生产用料清单-生产退料单","PRD_PPBOM","","生产退料单","PRD_ReturnMtrl",1,"PRD_PPBOM2RETURNMTRL"),
    PRD_PPBOM3(8, "生产用料清单-生产退料单","PRD_PPBOM","","生产退料单","PRD_ReturnMtrl",1,"PRD_PPBOM2RETURNMTRL",1),
    PRD_MO(9, "生产订单-生产入库单","PRD_MO","","生产入库单","PRD_INSTOCK",1,"PRD_MO2INSTOCK"),
    PRD_MO(9, "生产订单-生产入库单","PRD_MO","","生产入库单","PRD_INSTOCK",1,"PRD_MO2INSTOCK",0),
    PRD_MORPT(10, "生产汇报单-生产入库单","PRD_MORPT","","生产入库单","PRD_INSTOCK",1,"PRD_MORPT2INSTOCK"),
    PRD_MORPT(10, "生产汇报单-生产入库单","PRD_MORPT","","生产入库单","PRD_INSTOCK",1,"PRD_MORPT2INSTOCK",0),
    STK_TRANSFERAPPLY(11, "调拨申请单-直接调拨单","STK_TRANSFERAPPLY","","直接调拨单","STK_TransferDirect",0,"StkTransferApphy-StkTransferDirect"),
    STK_TRANSFERAPPLY1(11, "调拨申请单1-直接调拨单","STK_TRANSFERAPPLY","","直接调拨单","STK_TransferDirect",0,"StkTransferApphy-StkTransferDirect",1),
    STK_OutStockApply337(12, "研发领料出库申请单-研发领料出库单","STK_OUTSTOCKAPPLY","","研发领料出库单","",0,"STK_OutstockApplyTosTK_MisDelivery"),
    STK_ASSEMBLY1(13, "组装拆卸单1","STK_ASSEMBLY","","","",1,""),
    STK_ASSEMBLY2(14, "组装拆卸单2","STK_ASSEMBLY","","","",0,""),
    SAL_RETURNNOTICE1(15, "其他入库单","SAL_RETURNNOTICE","","其他入库单","STK_MISCELLANEOUS",1,""),
    SAL_DELIVERYNOTICE2(16, "其他出库单","SAL_DELIVERYNOTICE","","其他出库单","SAL_DELIVERYNOTICE",0,""),
    PRD_PPBOM(17, "生产用料清单-生产用料清单变更单","PRD_PPBOM","","生产领料单","PRD_PPBOMChange",1,"PRD_PPBOM2PPBOMCHANGE"),
    STK_OutStockApply337(12, "研发领料出库申请单-研发领料出库单","STK_OUTSTOCKAPPLY","","研发领料出库单","",0,"STK_OutstockApplyTosTK_MisDelivery",0),
    STK_ASSEMBLY1(13, "组装拆卸单1","STK_ASSEMBLY","","","",1,"",0),
    STK_ASSEMBLY2(14, "组装拆卸单2","STK_ASSEMBLY","","","",0,"",0),
    SAL_RETURNNOTICE1(15, "其他入库单","SAL_RETURNNOTICE","","其他入库单","STK_MISCELLANEOUS",1,"",2),
    SAL_DELIVERYNOTICE2(16, "其他出库单","SAL_DELIVERYNOTICE","","其他出库单","SAL_DELIVERYNOTICE",0,"",2),
    PRD_PPBOM(17, "生产用料清单-生产用料清单变更单","PRD_PPBOM","","生产领料单","PRD_PPBOMChange",1,"PRD_PPBOM2PPBOMCHANGE",2),
    STK_TRANSFERAPPLY2(18, "调拨申请单2-直接调拨单","STK_TRANSFERAPPLY","","直接调拨单","STK_TransferDirect",0,"StkTransferApphy-StkTransferDirect",1),
    STK_TRANSFERAPPLY3(19, "调拨申请单3-直接调拨单","STK_TRANSFERAPPLY","","直接调拨单","STK_TransferDirect",0,"StkTransferApphy-StkTransferDirect",1),
    ;
    public Integer id;
    public String desc;//类型名称
    public String formId;//单据类型唯一编码
    public Integer id;//唯一
    public String desc;//类型名称  保持唯一
    public String formId;//单据类型
    public String anfme;//单据数量字段名
    public String correspondingName;//目标单据数量字段
    public String correspondingFormId;//目标formId  非默认下推时启用  默认下推时启用ruleId
    public Integer pakIn; //出入库标志
    public String ruleId;//单据转换唯一标识 非默认下推时启用  默认下推时启用correspondingFormId
    public int entryId;//单据转换唯一标识 非默认下推时启用  默认下推时启用correspondingFormId
    KingDeeUtilType(Integer id, String desc,String formId,String anfme,String correspondingName,String correspondingFormId,int pakIn,String ruleId){
    KingDeeUtilType(Integer id, String desc,String formId,String anfme,String correspondingName,String correspondingFormId,int pakIn,String ruleId,int entryId){
        this.id = id;
        this.desc = desc;
        this.formId = formId;
@@ -62,6 +61,7 @@
        this.correspondingFormId = correspondingFormId;
        this.pakIn = pakIn;   //1入库  0出库
        this.ruleId = ruleId;
        this.entryId = entryId;
    }
    public static KingDeeUtilType get(Short id) {
src/main/resources/mapper/OrderMapper.xml
@@ -65,7 +65,7 @@
        where 1=1
        and settle = 4
        and status = 1
        order by create_time asc
        order by update_time asc
    </select>
    <select id="selectInOrOutOrders" resultMap="BaseResultMap">
        SELECT * FROM man_order o left join man_doc_type d on o.doc_type = d.doc_id WHERE d.pakin = #{flag} and o.settle in (1,2)