自动化立体仓库 - WMS系统
#
1
5 小时以前 10c441b49c936ff93a549112b31330042605b857
#
10个文件已修改
68 ■■■■ 已修改文件
src/main/java/com/zy/asrs/mapper/BasArmRulesMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasArmRulesService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasArmRulesServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/ArmRulesScheduler.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasArmRulesMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasArmRulesMapper.java
@@ -24,6 +24,7 @@
                         @Param("status") int status);
    Integer getNumber(@Param("weight")Double weight,@Param("volume")Double volume,@Param("length")Double length,@Param("width")Double width,@Param("height")Double height);
    Integer getStatus(@Param("weight")Double weight,@Param("volume")Double volume,@Param("length")Double length,@Param("width")Double width,@Param("height")Double height);
}
src/main/java/com/zy/asrs/service/BasArmRulesService.java
@@ -14,4 +14,5 @@
    boolean updateStatus(ArmPrecomputeParam.CombMat combMat);
    Integer getNumber(Double weight,Double volume,Double length,Double width,Double height);
    Integer getStatus(Double weight,Double volume,Double length,Double width,Double height);
}
src/main/java/com/zy/asrs/service/impl/BasArmRulesServiceImpl.java
@@ -38,4 +38,9 @@
    public Integer getNumber(Double weight,Double volume,Double length,Double width,Double height){
        return this.baseMapper.getNumber(weight,volume,length,width,height);
    }
    @Override
    public Integer getStatus(Double weight,Double volume,Double length,Double width,Double height){
        return this.baseMapper.getStatus(weight,volume,length,width,height);
    }
}
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -716,7 +716,7 @@
        String orderNo = null;
        for (CombParam.CombMat combMat : param.getCombMats()) {
            List<OrderDetlPakin> orderDetlPakins = orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>()
                    .eq("matnr", combMat.getMatnr()).eq("boxType3", combMat.getOrderNo())
                    .eq("matnr", combMat.getMatnr()).eq("box_type3", combMat.getOrderNo())
                    .eq("standby1", combMat.getStandby1()).eq("standby2", combMat.getStandby2())
                    .eq("standby3", combMat.getStandby3()));
            if (orderDetlPakins.size() > 0) {
src/main/java/com/zy/asrs/task/ArmRulesScheduler.java
@@ -41,6 +41,8 @@
                    ArmPrecomputeParam armPrecomputeParam = new ArmPrecomputeParam(basArmRule);
                    ReturnT<String> returnT = armRulesHandler.start(armPrecomputeParam);
                    if (!returnT.isSuccess()) {
                        basArmRule.setStatus(2);
                        basArmRulesService.updateById(basArmRule);
                        log.error("获取码垛数量失败===>"+JSON.toJSON(basArmRule));
                    }
                } else {
src/main/java/com/zy/asrs/task/OrderToSortLineScheduler.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.OrderToLine;
import com.zy.asrs.service.*;
@@ -72,7 +73,12 @@
                            basArmRulesService.insert(basArmRules);
                            return;
                        } else if (number == 0){
                            return;
                            Integer status =  basArmRulesService.getStatus(orderDetl.getWeight(),orderDetl.getVolume(),orderDetl.getManLength(),orderDetl.getWidth(),orderDetl.getHeight());
                            if (!Cools.isEmpty(status) && status == 2){
                                continue;
                            } else {
                                return;
                            }
                        }
                        String name = ToSortLineUtils.MergerParameter(orderDetl.getMatnr(),orderDetl.getStandby3(),orderDetl.getStandby1(),orderDetl.getStandby2());
                        int maxCapacity = number;
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -115,7 +115,7 @@
                    jsonObject.put("end_modifytime", sdf1.format(now));//更新截止
                    jsonObject.put("start_approvedate", "2025-01-01");//审核起始
                    jsonObject.put("end_approvedate", sdf2.format(now));//审核截止
                    jsonObject.put("status", Arrays.asList("B", "C"));//数据状态 [A:暂存, B:已提交, C:已审核]
                    jsonObject.put("status", Arrays.asList("C"));//数据状态 [A:暂存, B:已提交, C:已审核]
                    path = matAddress;
                    break;
                case "BD_RRGANIZATION": //供应商同步
@@ -131,10 +131,10 @@
//                    jsonObject.put("start_biztime", latestUpdateTime);//业务起始日期
                    jsonObject.put("start_biztime",  "2025-01-01 00:00:00");//业务起始日期
                    jsonObject.put("end_biztime", sdf1.format(now));//业务结束日期
                    jsonObject.put("billno", Arrays.asList("CGSL-251125-000003"));
                    jsonObject.put("billstatus", Arrays.asList("A","B","C"));//数据状态 [A:暂存, B:已提交, C:已审核]
                    jsonObject.put("start_auditdate", null);//id
                    jsonObject.put("end_auditdate", null);
                    jsonObject.put("billno", null);
                    jsonObject.put("billstatus", Arrays.asList("C"));//数据状态 [A:暂存, B:已提交, C:已审核]
                    jsonObject.put("start_auditdate", "2025-11-25 00:00:00");
                    jsonObject.put("end_auditdate", sdf1.format(now));
                    jsonObject.put("org_number", null);
                    jsonObject.put("supplier_number", null);
                    path = imPurreceiveBillAddress;
@@ -205,9 +205,9 @@
                            // ---- 排序逻辑 ----
                            List<Double> dims = Arrays.asList(height, width, length);
                            dims.sort(Double::compareTo); // 升序排列:最小、中间、最大
                            Double min = dims.get(0);
                            Double mid = dims.get(1);
                            Double max = dims.get(2);
                            Double min = dims.get(0)*10;
                            Double mid = dims.get(1)*10;
                            Double max = dims.get(2)*10;
                            // 生成商品档案
                            Mat mat = matService.selectByMatnr(matnr);
                            if (mat == null) {
@@ -381,10 +381,10 @@
                                    if (ownerUuid != null) {
                                        locOwner = locOwnerService.selectByUuid(ownerUuid);
                                        if (locOwner == null) {
                                            callApiLogSaveOrder(order,kingDeeUtilType, "货主检索失败,请先添加对应货主编号:"+ownerUuid, false);continue;
                                            callApiLogSaveOwner(locOwner,kingDeeUtilType, "货主检索失败,请先添加对应货主编号:"+ownerUuid+"名称"+owner, false);continue;
                                        }
                                    } else{
                                        callApiLogSaveOrder(order,kingDeeUtilType, "货主检索失败,未查询到货主编号!", false);continue;
                                        callApiLogSaveOwner(locOwner,kingDeeUtilType, "货主检索失败,未查询到货主编号!", false);continue;
                                    }
                                    if (Cools.isEmpty(order)) {
                                        // 单据主档
@@ -443,6 +443,10 @@
                                        String memo = entry.getString("eap7_textfield6"); //备注(英文描述)
                                        String s1 = entry.getString("eap7_textfield7"); //客户PO
                                        String suppCode = entry.getString("supplier_number"); //供应商
                                        if(anfme == 0){
                                            callApiLogSaveOrder(order,kingDeeUtilType, "单据数量异常"+matnr, false);
                                            continue;
                                        }
                                        //物料编码
                                        Mat mat = matService.selectByMatnr(matnr);
                                        if (Cools.isEmpty(mat)) {
@@ -532,10 +536,15 @@
                "货主编号:" + locSupp.getOwnerUuid() + "、货主名称:" + locSupp.getOwner(),
                response, bool);
    }
    public void callApiLogSaveOwner(LocOwner locOwner, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) {
        apiLogService.save("获取"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL,
                "货主编号:" + locOwner.getOwnerUuid() + "、货主名称:" + locOwner.getOwner(),
                response, bool);
    }
    public void callApiLogSaveOrder(Order order, KingDeeUtilType kingDeeUtilType, String response, Boolean bool) {
        apiLogService.save("获取"+kingDeeUtilType.desc, kingDeeUtilType.formId, "null", URL,
                "单据编号:" + order.getId() +  "、状态:" + order.getStatus$(),
                "单据编号:" + order.getOrderNo() +  "、状态:" + order.getStatus$(),
                response, bool);
    }
src/main/java/com/zy/erp/kingdee/enums/KingDeeUtilType.java
@@ -3,7 +3,7 @@
public enum KingDeeUtilType {
    BD_MATERIAL(0, "物料档案","BD_MATERIAL","","","",1),
    BD_RRGANIZATION(2, "供应商","BD_RRGANIZATION","","","",1),
//    PUR_RECEIVEBIll(3, "收料单","PUR_RECEIVEBIll","","","",1),
    PUR_RECEIVEBIll(3, "收料单","PUR_RECEIVEBIll","","","",1),
    //    STK_InStock(1, "采购入库单","STK_InStock","FRealQty","","",1),
//    PUR_MRB(2, "采购退料单","PUR_MRB","FRMREALQTY","","",1),
src/main/resources/application.yml
@@ -94,9 +94,9 @@
    #计时器上报开关
    ErpReportOld: true
    #获取单据开关
    InboundOrderSwitch: false
    InboundOrderSwitch: true
    #登录接口开关
    LoginAuthenticationSwitch: false
    LoginAuthenticationSwitch: true
    #上报、审核单据开关
    ReviewOrderSwitch: false
  #  地址
@@ -105,7 +105,7 @@
    #登录地址
    loginaddress: /kapi/oauth2/getToken
    #商品档案地址
    mataddress: /kapi/v2/basedata/bd_material/batchQuery
    mataddress: /kapi/v2/eap7/basedata/bd_material/batchQuery
    #货主档案地址
    orgaddress: /kapi/v2/basedata/bd_supplier/query
    #收料单-查询
src/main/resources/mapper/BasArmRulesMapper.xml
@@ -41,4 +41,14 @@
        and material_weight = #{weight}
    </select>
    <select id="getStatus" resultType="Integer">
        select status
        from asr_bas_arm_rules
        where 1=1
        and material_length = #{length}
        and material_width = #{width}
        and material_height = #{height}
        and material_weight = #{weight}
    </select>
</mapper>