jiazx0107@163.com
2023-09-12 2411d88ab5411fed8928ace4d3c46a62dedd00fc
igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
@@ -7,6 +7,7 @@
import com.ld.igds.data.Page;
import com.ld.igds.data.PageResponse;
import com.ld.igds.file.CoreFileService;
import com.ld.igds.file.dto.FileData;
import com.ld.igds.inout.InoutConstant;
import com.ld.igds.inout.dto.InoutCheckData;
import com.ld.igds.inout.dto.InoutCheckParam;
@@ -19,7 +20,6 @@
import com.ld.igds.models.InoutSysConf;
import com.ld.igds.util.ContextUtil;
import com.ld.igds.util.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.apache.commons.lang3.time.DateUtils;
@@ -36,7 +36,6 @@
 *
 * @author
 */
@Slf4j
@Component
public class InoutManager {
@@ -50,6 +49,8 @@
    private CheckStandardManager checkStandardManager;
    @Resource
    private InoutEventControlManager inoutEventControl;
    @Resource
    private CoreFileService coreFileService;
    /**
     * 直接从数据库查询,不考虑信息状态
@@ -213,6 +214,34 @@
        return data;
    }
    private InoutData updateFiles(InoutData data) throws Exception {
        List<FileData> files = data.getFiles();
        if (null == files) {
            return data;
        }
        for (FileData fileData : files) {
            fileData.setFileId(ContextUtil.getUUID());
            fileData.setCompanyId(data.getCompanyId());
            fileData.setBizId(data.getId());
            if ("HANDLE".equals(fileData.getBizTag())) {
                if (data.getEmptyWeightTime().before(data.getFullWeightTime())) {
                    fileData.setCreateTime(DateUtils.addMinutes(data.getFullWeightTime(), -20));
                } else {
                    fileData.setCreateTime(DateUtils.addMinutes(data.getEmptyWeightTime(), -20));
                }
            }
            if ("WEIGHT_EMPTY".equals(fileData.getBizTag())) {
                fileData.setCreateTime(data.getEmptyWeightTime());
            }
            if ("WEIGHT_FULL".equals(fileData.getBizTag())) {
                fileData.setCreateTime(data.getFullWeightTime());
            }
            coreFileService.addRecord(fileData);
        }
        return data;
    }
    /**
     * 从缓存中获取下一流程
@@ -367,8 +396,9 @@
        if (null != msg) {
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg);
        }
        data.setCompleteTime(param.getCompleteTime());
        data.setProgress(InoutConstant.PROGRESS_RECORD);
        inoutService.updateInoutCache(data);
        // 流程完成收事件
        inoutEventControl.onInoutComplete(data);
@@ -405,7 +435,7 @@
            data.setCompleteTime(new Date());
        }
        // 注册时间比完成时间早一个小时
        data.setRegisterTime(DateUtil.getNewByMinute(new Date(), -60));
        data.setRegisterTime(DateUtils.addMinutes(new Date(), -80));
        if (StringUtils.isEmpty(data.getUserId())) {
            data.setUserId(InoutConstant.DEFAULT_ID_CARD);
@@ -420,19 +450,38 @@
        if (InoutConstant.TYPE_IN.equals(data.getType())) {
            if (null == data.getFullWeightTime()) {
                data.setFullWeightTime(DateUtil.getNewByMinute(new Date(), -50));
                data.setFullWeightTime(DateUtils.addMinutes(new Date(), -50));
            }
            if (null == data.getEmptyWeightTime()) {
                data.setEmptyWeightTime(DateUtil.getNewByMinute(new Date(), -10));
                data.setEmptyWeightTime(DateUtils.addMinutes(new Date(), -10));
            }
            if (data.getCompleteTime().before(data.getEmptyWeightTime())) {
                data.setEmptyWeightTime(DateUtils.addMinutes(data.getCompleteTime(), -10));
            }
            if (data.getEmptyWeightTime().before(data.getFullWeightTime())) {
                data.setFullWeightTime(DateUtils.addMinutes(data.getEmptyWeightTime(), -40));
            }
            if (data.getFullWeightTime().before(data.getRegisterTime())) {
                data.setRegisterTime(DateUtils.addMinutes(data.getFullWeightTime(), -30));
            }
            data = this.updateCheckItems(data, false);
        } else {
            if (null == data.getEmptyWeightTime()) {
                data.setEmptyWeightTime(DateUtil.getNewByMinute(new Date(), -50));
                data.setEmptyWeightTime(DateUtils.addMinutes(new Date(), -50));
            }
            if (null == data.getFullWeightTime()) {
                data.setFullWeightTime(DateUtil.getNewByMinute(new Date(), -10));
                data.setFullWeightTime(DateUtils.addMinutes(new Date(), -10));
            }
            if (data.getCompleteTime().before(data.getFullWeightTime())) {
                data.setFullWeightTime(DateUtils.addMinutes(data.getCompleteTime(), -10));
            }
            if (data.getFullWeightTime().before(data.getEmptyWeightTime())) {
                data.setEmptyWeightTime(DateUtils.addMinutes(data.getEmptyWeightTime(), -40));
            }
            if (data.getEmptyWeightTime().before(data.getRegisterTime())) {
                data.setRegisterTime(DateUtils.addMinutes(data.getFullWeightTime(), -30));
            }
        }
@@ -443,6 +492,7 @@
        if (InoutConstant.TYPE_IN.equals(data.getType())) {
            this.updateCheckItems(data, true);
        }
        this.updateFiles(data);
        return null;
    }
@@ -862,6 +912,7 @@
        curData.setRemarks(data.getRemarks());
        curData.setCheckItems(data.getCheckItems());
        curData.setCheckTime(data.getCheckTime());
        curData.setDepotId(data.getDepotId());
        if (StringUtils.isEmpty(data.getCheckUser())) {
            curData.setCheckUser(ContextUtil.getLoginUserCName());