YYC
2023-10-12 537a57d5e81d4c6da8a0eca1690f61644a1dc462
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,7 +214,6 @@
        return data;
    }
    /**
     * 从缓存中获取下一流程
     *
@@ -367,8 +367,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 +406,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 +421,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,7 +463,7 @@
        if (InoutConstant.TYPE_IN.equals(data.getType())) {
            this.updateCheckItems(data, true);
        }
        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), null);
        return null;
    }
@@ -491,9 +511,9 @@
        data = inoutService.inoutQueryById(param);
        if (InoutConstant.PROGRESS_RECORD.equals(data.getProgress())) {
            return "流程结束的数据不支持异常处理!";
        }
//        if (InoutConstant.PROGRESS_RECORD.equals(data.getProgress())) {
//            return "流程结束的数据不支持异常处理!";
//        }
        if (InoutConstant.RECORD_STATUS_DEL.equals(data.getRecordStatus())) {
            return "当前信息已做异常处理,不支持重复执行!";
        }
@@ -594,7 +614,7 @@
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
                    "提示:当前库区未配置出入库流程信息,请联系管理员", data);
        }
        List<FileData> files = data.getFiles();
        // 获取下一个流程状态
        String curProgress = data.getProgress();
        String nextProgress = getNextProgress(curProgress, data.getType(),
@@ -608,8 +628,10 @@
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data);
        }
        // 执行附件信息
        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress);
        if(null != files && files.size()>0){
            // 执行附件信息
            fileService.saveInoutFiles(files, data.getCompanyId(), data.getId(), curProgress);
        }
        //登记完成事件
        inoutEventControl.onInoutRegister(data);
@@ -626,7 +648,7 @@
            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
                    "提示:当前系统中流程配置异常,请联系管理员", data);
        }
        List<FileData> files = data.getFiles();
        // 获取下一个流程状态
        String curProgress = data.getProgress();
        String nextProgress = getNextProgress(curProgress, data.getType(),
@@ -644,8 +666,10 @@
                    data);
        }
        // 执行附件信息
        fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress);
        if(null != files && files.size()>0){
            // 执行附件信息
            fileService.saveInoutFiles(files, data.getCompanyId(), data.getId(), curProgress);
        }
        // 称重完成事件
        inoutEventControl.onInoutWeight(data, curProgress, nextProgress);
@@ -841,6 +865,7 @@
            data.setCheckTime(new Date());
        }
        curData.setCheckStatus(data.getCheckStatus());
        curData.setFoodYear(data.getFoodYear());
        // 获取下一个流程状态
@@ -860,6 +885,8 @@
        curData.setPrice(data.getPrice());
        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());
@@ -876,7 +903,7 @@
        // 质检完成触发事件
        inoutEventControl.onInCheck(data,curProgress,nextProgress);
        inoutEventControl.onInCheck(data, curProgress, nextProgress);
        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功");
    }
@@ -994,7 +1021,6 @@
    }
    /**
     *
     * @param param
     * @return
     */
@@ -1021,4 +1047,8 @@
        }
    }
    public void initInoutWeight(List<InoutConf> listInoutConf, String sort) {
        inoutEventControl.initInoutWeight(listInoutConf, sort);
    }
}