| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | * |
| | | * @author |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class InoutManager { |
| | | |
| | |
| | | private CheckStandardManager checkStandardManager; |
| | | @Resource |
| | | private InoutEventControlManager inoutEventControl; |
| | | @Resource |
| | | private CoreFileService coreFileService; |
| | | |
| | | /** |
| | | * 直接从数据库查询,不考虑信息状态 |
| | |
| | | return data; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 从缓存中获取下一流程 |
| | | * |
| | |
| | | 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); |
| | | |
| | |
| | | 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); |
| | |
| | | |
| | | 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)); |
| | | } |
| | | } |
| | | |
| | |
| | | if (InoutConstant.TYPE_IN.equals(data.getType())) { |
| | | this.updateCheckItems(data, true); |
| | | } |
| | | |
| | | fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), null); |
| | | return null; |
| | | } |
| | | |
| | |
| | | |
| | | 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 "当前信息已做异常处理,不支持重复执行!"; |
| | | } |
| | |
| | | return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), |
| | | "提示:当前库区未配置出入库流程信息,请联系管理员", data); |
| | | } |
| | | |
| | | List<FileData> files = data.getFiles(); |
| | | // 获取下一个流程状态 |
| | | String curProgress = data.getProgress(); |
| | | String nextProgress = getNextProgress(curProgress, data.getType(), |
| | |
| | | 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); |
| | |
| | | return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), |
| | | "提示:当前系统中流程配置异常,请联系管理员", data); |
| | | } |
| | | |
| | | List<FileData> files = data.getFiles(); |
| | | // 获取下一个流程状态 |
| | | String curProgress = data.getProgress(); |
| | | String nextProgress = getNextProgress(curProgress, data.getType(), |
| | |
| | | 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); |
| | |
| | | data.setCheckTime(new Date()); |
| | | } |
| | | curData.setCheckStatus(data.getCheckStatus()); |
| | | curData.setFoodYear(data.getFoodYear()); |
| | | |
| | | |
| | | // 获取下一个流程状态 |
| | |
| | | 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()); |
| | |
| | | |
| | | |
| | | // 质检完成触发事件 |
| | | inoutEventControl.onInCheck(data,curProgress,nextProgress); |
| | | inoutEventControl.onInCheck(data, curProgress, nextProgress); |
| | | |
| | | return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功"); |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * |
| | | * @param param |
| | | * @return |
| | | */ |
| | |
| | | } |
| | | } |
| | | |
| | | public void initInoutWeight(List<InoutConf> listInoutConf,String sort) { |
| | | inoutEventControl.initInoutWeight(listInoutConf,sort); |
| | | public void initInoutWeight(List<InoutConf> listInoutConf, String sort) { |
| | | inoutEventControl.initInoutWeight(listInoutConf, sort); |
| | | } |
| | | |
| | | } |