自动化立体仓库 - WMS系统
ZY
2024-10-11 173c2665d9d53534489a5374abe855dad19b86a6
入库:添加仓库编码逻辑
9个文件已修改
95 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/entity/AgvLocMast.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/Order.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderService.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/AgvLocMast.java
@@ -41,7 +41,7 @@
    @TableField("whs_type")
    private Long whsType;
    @ApiModelProperty(value= "")
    @ApiModelProperty(value= "erp仓库编码")
    @TableField("plt_type")
    private Integer pltType;
src/main/java/com/zy/asrs/entity/Order.java
@@ -261,6 +261,10 @@
    @ApiModelProperty(value= "备注")
    private String memo;
    @ApiModelProperty(value= "erp仓库编码")
    @TableField("plt_type")
    private Integer pltType;
    public Order() {}
    public Order(String uuid,String orderNo,String orderTime,Long docType,Long itemId,String itemName,Long allotItemId,String defNumber,String number,Long cstmr,String cstmrName,String tel,String operMemb,Double totalFee,Double discount,Double discountFee,Double otherFee,Double actFee,Integer payType,String salesman,Integer accountDay,Integer postFeeType,Double postFee,Date payTime,Date sendTime,String shipName,String shipCode,Long settle,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
src/main/java/com/zy/asrs/service/OrderService.java
@@ -1,10 +1,7 @@
package com.zy.asrs.service;
import com.baomidou.mybatisplus.service.IService;
import com.zy.asrs.entity.Order;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.entity.WrkDetl;
import com.zy.asrs.entity.WrkMast;
import com.zy.asrs.entity.*;
import com.zy.common.model.OrderMergeVo;
import java.util.List;
@@ -17,7 +14,7 @@
    boolean updateSettle(Long orderId, Long settle, Long userId);
    void checkComplete(String orderNo);
    void checkComplete(String orderNo, String locNo);
    boolean saveHandlerOrder(Boolean pakin, WrkMast wrkMast, List<WrkDetl> wrkDetls);
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -526,7 +526,7 @@
        //删除入库通知档
        waitPakinService.delete(new EntityWrapper<WaitPakin>().eq("zpallet", zpallet));
        orderService.checkComplete(waitPakinList.get(0).getOrderNo());
        orderService.checkComplete(waitPakinList.get(0).getOrderNo(),locNo);
    }
@@ -596,7 +596,7 @@
        manLocDetlService.update(manLocDetl,manLocDetlWrapper);
        //检测订单是否完成
        orderService.checkComplete(param.getOrderNo());
        orderService.checkComplete(param.getOrderNo(),param.getLocNo());
    }
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
@@ -11,9 +11,11 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.entity.param.ReportErpParam;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.mapper.OrderMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.task.handler.OrderSyncHandler;
import com.zy.common.model.DetlDto;
import com.zy.common.model.OrderDto;
import com.zy.common.model.OrderMergeVo;
@@ -25,7 +27,8 @@
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@Service("orderService")
@@ -58,6 +61,12 @@
    @Autowired
    private ManPakOutService manPakOutService;
    @Autowired
    private OrderSyncHandler orderSyncHandler;
    @Autowired
    private AgvLocMastService agvLocMastService;
    @Value("${u8.url}")
    private String url;
@@ -84,7 +93,7 @@
    }
    @Override
    public void checkComplete(String orderNo) {
    public void checkComplete(String orderNo, String locNo) {
        Order order = this.selectByNo(orderNo);
        if(Cools.isEmpty(order)){
            return;
@@ -101,6 +110,12 @@
                break;
            }
        }
        //仓库编码
        if (Cools.isEmpty(order.getPltType())) {
            AgvLocMast locNo1 = agvLocMastService.selectOne(new EntityWrapper<AgvLocMast>().eq("loc_no", locNo));
            order.setPltType(locNo1.getPltType());
            super.updateById(order);
        }
        // 如果 作业数量等于单据总数量 && 工作明细档中无该单据的数据 && AGV工作明细档中无该单据的数据
        int count = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("order_no", orderNo));
        boolean wrkDeltExist = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().like("order_no", orderNo)) < 1;
@@ -115,6 +130,7 @@
                throw new CoolException("修改订单【orderNo = " + order.getOrderNo() + "】状态为已完成失败");
            }
        }
    }
@@ -179,24 +195,28 @@
    public void report(Long orderId, String username) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Order order = this.selectById(orderId);
        Map<String, Object> param = new HashMap<>();
        param.put("id",order.getOrderNo());
        param.put("dDate",sdf.format(new Date()));
        param.put("cHandler",username);
        List<Map<String,Object>> orderDetlsParam = new ArrayList<>();
        param.put("orderDetails",orderDetlsParam);
//        Map<String, Object> param = new HashMap<>();
//        param.put("id",order.getOrderNo());
//        param.put("dDate",sdf.format(new Date()));
//        param.put("cHandler",username);
//
//        List<Map<String,Object>> orderDetlsParam = new ArrayList<>();
//        param.put("orderDetails",orderDetlsParam);
        List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(orderId);
        for (OrderDetl orderDetl : orderDetls){
            Map<String, Object> odMap = new HashMap<>();
            odMap.put("autoid",orderDetl.getItemNum());
            odMap.put("iQuantity",orderDetl.getQty());
            orderDetlsParam.add(odMap);
        }
        ReportErpParam reportErpParam = new ReportErpParam();
        orderSyncHandler.mappingParam(order, reportErpParam);
        orderSyncHandler.mappingParamChildren(orderDetls, reportErpParam);
        int code = doHttpRequest(param, "单据审核", url, orderReportPath, null, "127.0.0.1");
//        for (OrderDetl orderDetl : orderDetls){
//            Map<String, Object> odMap = new HashMap<>();
//            odMap.put("autoid",orderDetl.getItemNum());
//            odMap.put("iQuantity",orderDetl.getQty());
//            orderDetlsParam.add(odMap);
//        }
        int code = doHttpRequest(reportErpParam, "单据审核", url, orderReportPath, null, "127.0.0.1");
        //int code = doHttpRequest(param, "单据审核", "localhost:8080", "/test/report", null, "127.0.0.1");
        if(code == 0){
            order.setSettle(6L);
@@ -240,6 +260,7 @@
        }
        return result;
    }
    @Override
    public List<Order> selectorderNoL(String orderNo) {
        return this.baseMapper.selectorderNoL(orderNo);
src/main/java/com/zy/asrs/task/OrderSyncScheduler.java
@@ -88,7 +88,7 @@
    public void completeOrder() {
        List<Order> orderList = orderService.selectList(new EntityWrapper<Order>().eq("settle", 2));
        orderList.forEach(order -> {
            orderService.checkComplete(order.getOrderNo());
            orderService.checkComplete(order.getOrderNo(),null);
        });
    }
src/main/java/com/zy/asrs/task/handler/AgvWrkMastHandler.java
@@ -290,12 +290,12 @@
            if(!isJSON(orderNo)){
                //检查订单是否已完成
                orderService.checkComplete(orderNo);
                orderService.checkComplete(orderNo,agvWrkMast.getLocNo());
            }else{
                List<Map> maps = JSONArray.parseArray(orderNo, Map.class);
                maps.forEach(map -> {
                    String o = map.get("orderNo").toString();
                    orderService.checkComplete(o);
                    orderService.checkComplete(o,agvWrkMast.getLocNo());
                });
            }
@@ -391,12 +391,12 @@
            agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
            if(!isJSON(orderNo)){
                //检查订单是否已完成
                orderService.checkComplete(orderNo);
                orderService.checkComplete(orderNo,agvWrkMast.getLocNo());
            }else{
                List<Map> maps = JSONArray.parseArray(orderNo, Map.class);
                maps.forEach(map -> {
                    String o = map.get("orderNo").toString();
                    orderService.checkComplete(o);
                    orderService.checkComplete(o,agvWrkMast.getLocNo());
                });
            }
@@ -448,12 +448,12 @@
            agvWrkDetlService.delete(new EntityWrapper<AgvWrkDetl>().eq("wrk_no",wrkNo));
            if(!isJSON(orderNo)){
                //检查订单是否已完成
                orderService.checkComplete(orderNo);
                orderService.checkComplete(orderNo,agvWrkMast.getLocNo());
            }else{
                List<Map> maps = JSONArray.parseArray(orderNo, Map.class);
                maps.forEach(map -> {
                    String o = map.get("orderNo").toString();
                    orderService.checkComplete(o);
                    orderService.checkComplete(o,agvWrkMast.getLocNo());
                });
            }
            //上报mes
src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -82,12 +82,12 @@
        return SUCCESS;
    }
    private void mappingParam(Order order, ReportErpParam param){
    public void mappingParam(Order order, ReportErpParam param) {
        param.set操作系统号(order.getDefNumber());
        param.set操作单据(order.getDocType$());
        param.set操作类型("add");
        param.setDdate(order.getOrderTime());
        param.setCWhCode("");
        param.setCWhCode(Cools.isEmpty(order.getPltType()) ? "" : order.getPltType() + "");
        param.setCDepCode("YZ");
        param.setCOrderCode(order.getOrderNo());
        param.setCMaker("");
@@ -95,7 +95,7 @@
        param.setCDefine14(order.getOrderNo());
    }
    private void mappingParamChildren(List<OrderDetl> orderDetlList, ReportErpParam param){
    public void mappingParamChildren(List<OrderDetl> orderDetlList, ReportErpParam param) {
        List<ReportErpParam.ChildInfo> paramChild = new ArrayList<>();
        param.setChildren(paramChild);
        for (OrderDetl orderDetl : orderDetlList){
@@ -110,7 +110,6 @@
            childInfo.setIPOsID(orderDetl.getSku());
            childInfo.setCOrderCode(orderDetl.getOrderNo());
            childInfo.setIvouchrowno(orderDetl.getItemNum());
            childInfo.setCBatch("");
            childInfo.setDefine22(orderDetl.getThreeCode());
            paramChild.add(childInfo);
src/main/java/com/zy/asrs/task/handler/WorkLogHandler.java
@@ -120,12 +120,12 @@
            // 修改订单状态 作业中 ===>> 已完成
            for (WrkDetl wrkDetl : wrkDetlsKeyOrder) {
                if (!BaseController.isJSON(wrkDetl.getOrderNo())) {
                    orderService.checkComplete(wrkDetl.getOrderNo());
                    orderService.checkComplete(wrkDetl.getOrderNo(),wrkMast.getLocNo());
                } else {
                    // 订单合并出库
                    List<OrderDto> orderDtoList = JSON.parseArray(wrkDetl.getOrderNo(), OrderDto.class);
                    for (OrderDto one : orderDtoList) {
                        orderService.checkComplete(one.getOrderNo());
                        orderService.checkComplete(one.getOrderNo(),wrkMast.getLocNo());
                    }
                }
            }