自动化立体仓库 - WMS系统
0a63134c5fca10906b261fd4f1aba3f365c031ba..371af76976cec152184123fac0073efcba2b5a70
2025-12-29 1
#
371af7 对比 | 目录
2025-12-29 lty
#
da4b13 对比 | 目录
7个文件已修改
114 ■■■■ 已修改文件
src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java 75 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/SaveOrderSyncScheduler.java
@@ -47,7 +47,7 @@
            List<Order> orders = orderService.selectComplete();
            if(orders.size() > 0){
                for (Order order : orders) {
                    if((order.getDocType() == 3 || order.getDocType() == 16) && order.getPayType() == null){ //走新增提交审核流程
                    if((order.getDocType() == 3 || order.getDocType() == 16 || order.getDocType() == 23) && order.getPayType() == null){ //走新增提交审核流程
                        ReturnT<String> result = saveOrderSyncHandler.start(order);//4已完成
                        if (!result.isSuccess()) {
                            log.error("单据[orderNo={}]新增保存至erp失败", order.getOrderNo());
src/main/java/com/zy/asrs/task/kingdee/SubmitOrderSyncScheduler.java
@@ -34,7 +34,7 @@
    @Value("${erp.switch.ReviewOrderSwitch}")
    private boolean ReviewOrderSwitch;
    @Scheduled(cron = "0/20 * * * * ?")
//    @Scheduled(cron = "0/20 * * * * ?")
    @Async("orderThreadPool")
    public void completeAndReport(){
        if(!ReviewOrderSwitch){
src/main/java/com/zy/asrs/task/kingdee/handler/ReviewOrderSyncHandler.java
@@ -121,6 +121,11 @@
                idArray.add(order.getOrderNo());
                dataObj.fluentPut("billno", idArray);
                return new JSONObject().fluentPut("data", dataObj);
            case "STK_imSaloutbill":
                path = imSaloutbillReport;
                idArray.add(order.getShipCode());
                dataObj.fluentPut("billno", idArray);
                return new JSONObject().fluentPut("data", dataObj);
            case "SAL_RETURNSTOCK"://销售退料单
                path = scpSalreturnReport;
                dataObj.fluentPut("billno", order.getOrderNo());
@@ -223,7 +228,18 @@
                        }
                    }
                }
                order.setSettle(8L); // 更新状态为已上报审核 9->8
                if(order.getDocType() == 16L){
                    order.setDocType(23L);
                    order.setSettle(4L);//转为出库单据上报
                }else{
                    if(order.getDocType() == 23L){
                        Order order1 = orderService.selectOne(new EntityWrapper<Order>().eq("salesman",order.getOrderNo()));
                        order1.setPayType(null);
                        order1.setSettle(4L);
                        orderService.updateById(order1);
                    }
                    order.setSettle(8L); // 更新状态为已上报审核 9->8
                }
                orderService.updateById(order);
            } else {
                log.error("接口调用失败,错误信息: {}", jsonResponse.getString("message"));
src/main/java/com/zy/asrs/task/kingdee/handler/SaveOrderSyncHandler.java
@@ -43,6 +43,8 @@
    private String imOtherinbill;
    @Value("${erp.address.imProductinbillReport}")
    private String imProductinbillReport;
    @Value("${erp.address.imSaloutbillSave}")
    private String imSaloutbillSave;
    @Autowired
    private OrderService orderService;
@@ -236,8 +238,8 @@
                                        .fluentPut("billentry", billentryArray1)  // 将 billentry 数组添加到请求参数
                        )));
            case "STK_MISCELLANEOUS": // 其他入库单
                path = imOtherinbill;
            case "STK_imSaloutbill":
                path = imSaloutbillSave;
                billentryArray = new JSONArray();
                for (OrderDetl orderDetl : orderDetlList) {
                    if (orderDetl.getQty() == 0) {
@@ -249,28 +251,72 @@
                            .fluentPut("id", 0L)
                            .fluentPut("material_number", orderDetl.getMatnr())       // 物料编码
                            .fluentPut("qty", qty)                    // 数量
                            .fluentPut("warehouse_number", "CK001")     // 仓库
                            .fluentPut("invstatus_number", "110")
                            .fluentPut("invtype_number", "110")
                            .fluentPut("outinvstatus_number", "110")
                            .fluentPut("outkeepertype", "bos_org")     // 仓库
                            .fluentPut("outkeeper_number", "BU-00001")
                            .fluentPut("outinvtype_number", "110")
                            .fluentPut("linetype_number", "010");
                            .fluentPut("warehouse_number", "CK-002")
                            .fluentPut("outinvstatus_number", "110")
                            .fluentPut("outownertype", "bos_org")
                            .fluentPut("outowner_number", "BU-00001")
                            .fluentPut("keepertype", "bos_org")
                            .fluentPut("eap7_textfield3", orderDetl.getBoxType3())
                            .fluentPut("ownertype", "bos_org")
                            .fluentPut("eap7_decimalfield", orderDetl.getQty())
                            .fluentPut("seq", orderDetl.getLineNumber());
                    billentryArray.add(billentry);
                }
                Date nowMis = new Date();
                return new JSONObject()
                        .fluentPut("data", new JSONArray(Arrays.asList(
                                new JSONObject()
//                                        .fluentPut("id", 0L)
                                        .fluentPut("billno", order.getOrderNo())
//                                        .fluentPut("bookdate", sdf1.format(nowMis))
                                        .fluentPut("id", 0L)
                                        .fluentPut("billno", UUID.randomUUID().toString().replace("-", "").substring(0, 16))
                                        .fluentPut("bizorg_number", "BU-00001")
                                        .fluentPut("dept_number", "Org-00002")
                                        .fluentPut("billstatus", "B")
                                        .fluentPut("customer_number", "Cus-000004")
                                        .fluentPut("biztime", sdf1.format(nowMis))
//                                        .fluentPut("biztype_number", "354")
//                                        .fluentPut("billtype_number", "im_OtherInBill_STD_BT_S")
//                                        .fluentPut("org_number", "BU-00001")
//                                        .fluentPut("invscheme_number", "354")
                                        .fluentPut("biztype_number", "210")
                                        .fluentPut("bizdept_number", "Org-00002")
                                        .fluentPut("org_number", "BU-00001")
                                        .fluentPut("invscheme_number", "210")
                                        .fluentPut("billentry", billentryArray)
                        )));
//            case "STK_MISCELLANEOUS": // 其他入库单
//                path = imOtherinbill;
//                billentryArray = new JSONArray();
//                for (OrderDetl orderDetl : orderDetlList) {
//                    if (orderDetl.getQty() == 0) {
//                        continue;
//                    }
//                    Mat mat = matService.selectByMatnr(orderDetl.getMatnr());
//                    Double qty = orderDetl.getQty()*mat.getSafeQty();
//                    JSONObject billentry = new JSONObject()
//                            .fluentPut("id", 0L)
//                            .fluentPut("material_number", orderDetl.getMatnr())       // 物料编码
//                            .fluentPut("qty", qty)                    // 数量
//                            .fluentPut("warehouse_number", "CK001")     // 仓库
//                            .fluentPut("invstatus_number", "110")
//                            .fluentPut("invtype_number", "110")
//                            .fluentPut("outinvstatus_number", "110")
//                            .fluentPut("outinvtype_number", "110")
//                            .fluentPut("linetype_number", "010");
//                    billentryArray.add(billentry);
//                }
//                Date nowMis = new Date();
//                return new JSONObject()
//                        .fluentPut("data", new JSONArray(Arrays.asList(
//                                new JSONObject()
////                                        .fluentPut("id", 0L)
//                                        .fluentPut("billno", order.getOrderNo())
////                                        .fluentPut("bookdate", sdf1.format(nowMis))
//                                        .fluentPut("biztime", sdf1.format(nowMis))
////                                        .fluentPut("biztype_number", "354")
////                                        .fluentPut("billtype_number", "im_OtherInBill_STD_BT_S")
////                                        .fluentPut("org_number", "BU-00001")
////                                        .fluentPut("invscheme_number", "354")
//                                        .fluentPut("billentry", billentryArray)
//                        )));
            case "STK_MisDelivery": // 其他出库单
                path = imOtheroutbill;
                billentryArray = new JSONArray();
@@ -361,6 +407,7 @@
                        String billNo = resultItem.getString("number");  // 获取返回的单据号
                        String billId = resultItem.getString("id");      // 获取返回的ID
                        order.setNumber(billId);
                        order.setShipCode(add.getString("billno"));
                    }
                } else {
src/main/java/com/zy/asrs/task/kingdee/handler/SubmitOrderSyncHandler.java
@@ -46,6 +46,8 @@
    private String imOtherinbillSubmit;
    @Value("${erp.address.imProductinbillBatchSubmit}")
    private String imProductinbillBatchSubmit;
    @Value("${erp.address.imSaloutbillSaveSubmit}")
    private String imSaloutbillSaveSubmit;
    @Autowired
    private LoginAuthenticationHandler loginAuthenticationHandler;
    @Autowired
@@ -99,6 +101,11 @@
                idArray.add(order.getNumber());
                dataObj.fluentPut("ids", idArray);
                return new JSONObject().fluentPut("data", dataObj);
            case "STK_imSaloutbill":
                path = imSaloutbillSaveSubmit;
                idArray.add(order.getShipCode());
                dataObj.fluentPut("billno", idArray);
                return new JSONObject().fluentPut("data", dataObj);
            case "STK_MISCELLANEOUS"://其他入库单
                path = imOtherinbillSubmit;
                idArray.add(order.getOrderNo());
src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
@@ -29,7 +29,7 @@
//    PUR_ReceiveBill(17, "收料通知单","PUR_ReceiveBill","FPOQTY","采购入库单","STK_InStock",1),
//    PRD_INSTOCK(19, "生产入库单","PRD_INSTOCK","","","",1),
//    SAL_RETURNNOTICE(20, "退货通知单","SAL_RETURNNOTICE","FBaseJunkedQty","销售退货单","SAL_RETURNSTOCK",1),
//    STK_OutStockApply(21, "出库申请单","STK_OutStockApply","FTotalSecQty","其他出库单","STK_MisDelivery",0),
    STK_imSaloutbill(23, "汇报转出库单","STK_imSaloutbill","","","",0),
    ;
    public Integer id;
    public String desc;
src/main/resources/application.yml
@@ -10,9 +10,9 @@
    enabled: false
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
#    url: jdbc:sqlserver://127.0.0.1:1433;databasename=jshdasrs
    url: jdbc:sqlserver://127.0.0.1:1433;databasename=jshdasrs
#    url: jdbc:sqlserver://10.10.10.235;databasename=jshdasrs
    url: jdbc:sqlserver://192.168.4.191:50948;databasename=jshdasrs
#    url: jdbc:sqlserver://192.168.4.191:50948;databasename=jshdasrs
    username: sa
    password: sa@123
  mvc:
@@ -166,7 +166,9 @@
    imOtherinbillAudit: /kapi/v2/im/im_otherinbill/batchAudit
    #产品检验单查询
    qcppManuinspec: /kapi/v2/eap7/qcpp/qcpp_manuinspec/query
    #汇报单->自生成出库单上报
    imSaloutbillSave: /kapi/v2/eap7/im/im_saloutbill/save
    imSaloutbillSaveSubmit: kapi/v2/im/im_saloutbill/batchSubmit
  #  登录账号管理
  login :
    xAcfwIdentity: "djF8MTlhNTNhZjJhOWEwMWRlODhlMDF8NDkxNTk0MDU4MTQxNXwus9WaEHKRh0daJe1TWmVoMkv3zQY2knNTZRzaOhRgwnw"