自动化立体仓库 - WMS系统
1
zhang
9 天以前 b51eadaa66a5c0ee6da0e418a3ba193dfc878fca
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -1,5 +1,6 @@
package com.zy.asrs.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.Cools;
import com.core.common.SnowflakeIdWorker;
@@ -13,6 +14,7 @@
import com.zy.asrs.utils.MatUtils;
import com.zy.common.model.DetlDto;
import com.zy.common.utils.NodeUtils;
import com.zy.erp.kingdee.enums.KingDeeUtilType;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -55,9 +57,20 @@
    @Autowired
    private WrkDetlLogServiceImpl wrkDetlLogService;
    @Autowired
    private ApiLogService apiLogService;
    public void callApiLogSaveOrder(Object order,  String name, Boolean bool) {
        apiLogService.save(name, "null", null,null,
                 JSON.toJSONString(order),
                null, bool);
    }
    @Override
    @Transactional
    public void pakinOrderCreate(OpenOrderPakinParam param) {
        callApiLogSaveOrder(param,"入库单", true);
        Order order = orderService.selectByNo(param.getOrderNo());
        if (!Cools.isEmpty(order) && order.getSettle() !=1) {
            throw new CoolException(param.getOrderNo() + "单据已有工作任务");
@@ -106,7 +119,7 @@
                now,    // 修改时间
                null    // 备注
        );
        order.setShipCode(param.getQuality());
        //order.setShipCode(String.valueOf(param.getDetails().get(0).getQuality()));
        if (!orderService.insert(order)) {
            throw new CoolException("生成单据主档失败,请联系管理员");
        }
@@ -116,6 +129,7 @@
        for (DetlDto detail : orderDetails) {
            DetlDto dto = new DetlDto(detail.getMatnr(), detail.getBatch(), detail.getAnfme(),detail.getFromOrderNo()
                    , detail.getMark(),detail.getCustomer(),detail.getSuppName(),detail.getTemp1(),detail.getTemp2(),detail.getTemp3(),detail.getTemp4());
            dto.setQuality(detail.getQuality());
            if (DetlDto.has(list, dto)) {
                DetlDto detlDto = DetlDto.find(list, dto.getMatnr(), dto.getBatch());
                assert detlDto != null;
@@ -151,6 +165,7 @@
            orderDetl.setTemp2(detlDto.getTemp2());
            orderDetl.setTemp3(detlDto.getTemp3());
            orderDetl.setTemp4(detlDto.getTemp4());
            orderDetl.setInspect(detlDto.getQuality());
            if (!orderDetlService.insert(orderDetl)) {
                throw new CoolException("生成单据明细失败,请联系管理员");
            }
@@ -160,6 +175,7 @@
    @Override
    @Transactional
    public List<OpenOrderCompeteResult> pakinOrderComplete(OpenOrderCompleteParam param) {
        callApiLogSaveOrder(param,"出库单", true);
        List<OpenOrderCompeteResult> results = new ArrayList<>();
        if (!Cools.isEmpty(param) && !Cools.isEmpty(param.getOrderNo())) {
            // 指定订单
@@ -206,6 +222,7 @@
    @Override
    @Transactional
    public void pakoutOrderCreate(OpenOrderPakoutParam param) {
        callApiLogSaveOrder(param,"出库单", true);
        Order order = orderService.selectByNo(param.getOrderNo());
        // 如果单据不存在则添加;如果单据存在,作业中无法修改,反之则修改单据
        if (!Cools.isEmpty(order)) {