自动化立体仓库 - WMS系统
ZY
2024-10-11 173c2665d9d53534489a5374abe855dad19b86a6
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);