igds-core/src/main/java/com/ld/igds/inout/dto/InoutParam.java
@@ -12,7 +12,6 @@ * 出入库的页面参数定义 * * @author jiazx * */ @Data @EqualsAndHashCode(callSuper = false) @@ -85,4 +84,6 @@ private Double price; private Double settleMoney; private Date updateTime = new Date(); } igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java
@@ -25,7 +25,6 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @@ -101,8 +100,68 @@ return view; } /** * 扦样化验页面 * 扦样页面 * * @param sort 表示使用的出入库设备配套号,不传递默认为1 * @return */ @RequestMapping("/in-sample") public ModelAndView inSample(HttpServletRequest httpRequest, @RequestParam(value = "sort", required = false) String sort) { if (StringUtils.isEmpty(sort)) { sort = commonManager.getInoutWeightByClient(httpRequest); } ModelAndView view = new ModelAndView(); // 仓库列表做下拉框使用 List<Depot> listDepot = commonManager.listDepot(true); view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot); IUser user = ContextUtil.getLoginUser(); view.addObject(Constant.MODEL_KEY_LOGIN_USER, user); String deptId = ContextUtil.subDeptId(user); view.addObject("bizType", BizType.INOUT_IN.getCode()); view.addObject("type", InoutConstant.TYPE_IN); view.addObject("deptId", deptId); DefaultDept dept = commonManager.getSubDept(user, deptId); view.addObject("deptName", dept.getName()); //入库流程 String inoutProgress = inoutCommonManager.getInoutProgressConf(user.getCompanyId(), deptId, InoutConstant.TYPE_IN); view.addObject("inoutProgress", inoutProgress); // 当前流程节点 view.addObject("progress", InoutConstant.PROGRESS_CHECK); // 粮食品种下拉框 List<DicTrigger> listFoodVariety = inoutCommonManager.getDicTrigger( Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId()); view.addObject("listFoodVariety", listFoodVariety); // 粮食等级下拉框 List<DicTrigger> listFoodLevel = inoutCommonManager.getDicTrigger( Constant.TRIGGER_PARENT_FOOD_LEVEL, user.getCompanyId()); view.addObject("listFoodLevel", listFoodLevel); view.addObject("endTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd")); view.addObject("startTime", DateFormatUtils.format( DateUtil.getNewByDay(null, -10), "yyyy-MM-dd")); // 获取出入库配置信息 List<InoutConf> listInoutConf = inoutCommonManager.getListInoutConf(user.getCompanyId(), deptId); // 获取扦样机信息 InoutConf conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_20, InoutConstant.PROGRESS_CHECK, 1); view.addObject("checkDto", conf); view.setViewName("admin/inout/in-sample"); return view; } /** * 质检页面 * * @param sort 表示使用的出入库设备配套号,不传递默认为1 * @return @@ -309,15 +368,6 @@ // 当前流程节点 view.addObject("progress", InoutConstant.PROGRESS_CARD_BACK); // 粮食品种下拉框 List<DicTrigger> listFoodVariety = inoutCommonManager.getDicTrigger( Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId()); view.addObject("listFoodVariety", listFoodVariety); // 粮食等级下拉框 List<DicTrigger> listFoodLevel = inoutCommonManager.getDicTrigger( Constant.TRIGGER_PARENT_FOOD_LEVEL, user.getCompanyId()); view.addObject("listFoodLevel", listFoodLevel); view.setViewName("admin/inout/in-card-back"); return view; @@ -574,6 +624,18 @@ } /** * 扦样页面提交更新 * * @param data * @return */ @RequestMapping("/submit-sample") @Transactional public PageResponse<InoutCheckData> submitSample(@RequestBody InoutCheckData data) throws Exception { return inoutManager.submitSample(data); } /** * 出入库称重环节提交 * * @param data @@ -654,64 +716,7 @@ } /** * 扦样页面 * * @param sort 表示使用的出入库设备配套号,不传递默认为1 * @return */ @RequestMapping("/in-sample") public ModelAndView inSample(HttpServletRequest httpRequest, @RequestParam(value = "sort", required = false) String sort) { if (StringUtils.isEmpty(sort)) { sort = commonManager.getInoutWeightByClient(httpRequest); } ModelAndView view = new ModelAndView(); // 仓库列表做下拉框使用 List<Depot> listDepot = commonManager.listDepot(true); view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot); IUser user = ContextUtil.getLoginUser(); view.addObject(Constant.MODEL_KEY_LOGIN_USER, user); String deptId = ContextUtil.subDeptId(user); view.addObject("bizType", BizType.INOUT_IN.getCode()); view.addObject("type", InoutConstant.TYPE_IN); view.addObject("deptId", deptId); DefaultDept dept = commonManager.getSubDept(user, deptId); view.addObject("deptName", dept.getName()); //入库流程 String inoutProgress = inoutCommonManager.getInoutProgressConf(user.getCompanyId(), deptId, InoutConstant.TYPE_IN); view.addObject("inoutProgress", inoutProgress); // 当前流程节点 view.addObject("progress", InoutConstant.PROGRESS_CHECK); // 粮食品种下拉框 List<DicTrigger> listFoodVariety = inoutCommonManager.getDicTrigger( Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId()); view.addObject("listFoodVariety", listFoodVariety); // 粮食等级下拉框 List<DicTrigger> listFoodLevel = inoutCommonManager.getDicTrigger( Constant.TRIGGER_PARENT_FOOD_LEVEL, user.getCompanyId()); view.addObject("listFoodLevel", listFoodLevel); view.addObject("endTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd")); view.addObject("startTime", DateFormatUtils.format( DateUtil.getNewByDay(null, -10), "yyyy-MM-dd")); // 获取出入库配置信息 List<InoutConf> listInoutConf = inoutCommonManager.getListInoutConf(user.getCompanyId(), deptId); // 获取扦样机信息 InoutConf conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_20, InoutConstant.PROGRESS_CHECK, 1); view.addObject("checkDto", conf); view.setViewName("admin/inout/in-sample"); return view; } /** * 分页获取扦样数据 @@ -724,17 +729,7 @@ return inoutManager.pageSampleData(param); } /** * 扦样页面提交更新 * * @param data * @return */ @RequestMapping("/update-sample") public PageResponse<InoutCheckData> updateSample(@RequestBody InoutCheckData data) { return inoutManager.updateSampleData(data); } /** * 分页获取化验数据 igds-inout/src/main/java/com/ld/igds/inout/dto/InoutCheckData.java
@@ -2,7 +2,6 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.ld.igds.check.dto.CheckItemData; import com.ld.igds.inout.InoutConstant; import lombok.Data; import java.io.Serializable; import java.util.Date; @@ -81,6 +80,8 @@ private String remarks; private Date updateTime; //化验项数据信息 private List<CheckItemData> checkItems; } igds-inout/src/main/java/com/ld/igds/inout/manager/CheckManager.java
@@ -1,17 +1,12 @@ package com.ld.igds.inout.manager; import com.ld.igds.inout.InoutConstant; import com.ld.igds.io.dto.CheckResultParam; import com.ld.igds.io.sample.ApiSampleManager; import com.ld.igds.io.sample.ApiSampleService; import com.ld.igds.io.sample.data.SampleDto; import com.ld.igds.m.service.InoutCommonService; import com.ld.igds.util.ContextUtil; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; @Component("inout.checkManager") public class CheckManager { igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
@@ -57,7 +57,6 @@ @Resource private InoutDeviceManager inoutDeviceManager; /** * 直接从数据库查询,不考虑信息状态 * @@ -86,11 +85,13 @@ } if (InoutConstant.PROGRESS_RECORD.equals(result.getProgress())) { return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), "当前车辆流程已经结束", result); return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), "当前车辆流程已经结束", result); } if (!InoutConstant.PROGRESS_CARD_BACK.equals(result.getProgress())) { return new PageResponse<>(RespCodeEnum.CODE_1008.getCode(), "当前车辆流程不在当前环节,无法执行出库", result); return new PageResponse<>(RespCodeEnum.CODE_1008.getCode(), "当前车辆流程不在当前环节,无法执行出库", result); } return new PageResponse<>(RespCodeEnum.CODE_0000, result); @@ -126,14 +127,14 @@ return new PageResponse<>(RespCodeEnum.CODE_0000, result); } //流程类型验证 if (!result.getType().equals(param.getType())) { String msg = "流程错误:当前车辆流程为【入库】"; if (InoutConstant.TYPE_OUT.equals(result.getType())) msg = "流程错误:当前车辆流程为【出库】"; return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), msg, result); if (InoutConstant.TYPE_OUT.equals(result.getType())) msg = "流程错误:当前车辆流程为【出库】"; return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), msg, result); } //流程环节验证 if (progress.equals(InoutConstant.PROGRESS_WEIGHT_TAG)) { @@ -167,7 +168,6 @@ } } public InoutData inoutProgressQuery(InoutData data) throws Exception { InoutParam param = new InoutParam(); param.setCompanyId(data.getCompanyId()); @@ -188,18 +188,19 @@ InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf( data.getCompanyId(), data.getDeptId()); if (inoutSysConf.getNoPassNext().equals(InoutConstant.CHECK_NOPASS_RECORD)) { if (inoutSysConf.getNoPassNext().equals( InoutConstant.CHECK_NOPASS_RECORD)) { // 流程结束 data.setProgress(InoutConstant.PROGRESS_RECORD); data.setCompleteTime(new Date()); } if (inoutSysConf.getNoPassNext().equals(InoutConstant.CHECK_NOPASS_BACK)) { if (inoutSysConf.getNoPassNext() .equals(InoutConstant.CHECK_NOPASS_BACK)) { // 离库收卡 data.setProgress(InoutConstant.PROGRESS_CARD_BACK); } return data; } /** * 更新质检信息 @@ -209,11 +210,13 @@ */ private CheckUpdateResult updateCheckItems(InoutData data) { CheckUpdateResult result = new CheckUpdateResult(); if (null == data.getCheckItems()) return result; if (null == data.getCheckItems()) return result; try { // 更新检验项数据 result = checkStandardManager.updateCheckItems(data.getCheckId(), data.getCompanyId(), data.getCheckItems()); result = checkStandardManager.updateCheckItems(data.getCheckId(), data.getCompanyId(), data.getCheckItems()); // 将化验数据存入缓存中 inoutService.setCheckCache(data); @@ -232,7 +235,8 @@ * * @return */ private String getNextProgress(String curProgress, String type, InoutSysConf sysConf) { private String getNextProgress(String curProgress, String type, InoutSysConf sysConf) { String nextProgress = null; List<String> list = null; if (InoutConstant.TYPE_IN.equals(type)) { @@ -258,7 +262,8 @@ * @param data * @return */ private InoutData updateBasicInfo(InoutData data, String curProgress, String nextProgress) { private InoutData updateBasicInfo(InoutData data, String curProgress, String nextProgress) { if (InoutConstant.PROGRESS_REGISTER.equals(curProgress)) { data.setRegisterTime(new Date()); @@ -370,8 +375,8 @@ return data; } public PageResponse<InoutData> submitComplete(InoutData data) throws Exception { public PageResponse<InoutData> submitComplete(InoutData data) throws Exception { if (StringUtils.isEmpty(data.getId()) || StringUtils.isEmpty(data.getType()) @@ -380,7 +385,6 @@ return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "没有获取到车辆信息。", data); } data.setUpdateTime(new Date()); if (null == data.getCompleteTime()) { @@ -401,7 +405,6 @@ param.setDepotId(data.getDepotId()); param.setCompleteTime(data.getCompleteTime()); param.setProgress(InoutConstant.PROGRESS_RECORD); String msg = inoutService.toComplete(param); @@ -424,12 +427,12 @@ if (InoutConstant.PROGRESS_RECORD.equals(data.getProgress())) { //删除缓存 inoutService.delFromCache(data.getDeptId(), data.getType(), data.getId()); inoutService.delFromCache(data.getDeptId(), data.getType(), data.getId()); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "当车辆流程已经完成,卡片已回收", data); } //如果当前流程不是卡回收 if (!InoutConstant.PROGRESS_CARD_BACK.equals(data.getProgress())) { @@ -448,10 +451,9 @@ "后端执行异常:" + e.getMessage()); } return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data); } /** * 补单操作 补单因为完成时间不确定,所以需要系统根据当前数据进行自动检测,调整原来流水信息和库存 @@ -502,18 +504,23 @@ data.setFullWeightTime(DateUtil.getNewByMinute(new Date(), -50)); } if (null == data.getEmptyWeightTime()) { data.setEmptyWeightTime(DateUtil.getNewByMinute(new Date(), -10)); data.setEmptyWeightTime(DateUtil .getNewByMinute(new Date(), -10)); } // 先执行化验信息保存 CheckUpdateResult checkResult = checkStandardManager.updateCheckItems(data.getCheckId(), data.getCompanyId(), data.getCheckItems()); CheckUpdateResult checkResult = checkStandardManager .updateCheckItems(data.getCheckId(), data.getCompanyId(), data.getCheckItems()); if (null != checkResult) { // if (null == data.getWet())data.setWet(checkResult.getWet()); // if (null == data.getImpurity())data.setImpurity(checkResult.getImpurity()); // if (null == // data.getImpurity())data.setImpurity(checkResult.getImpurity()); } } else { if (null == data.getEmptyWeightTime()) { data.setEmptyWeightTime(DateUtil.getNewByMinute(new Date(), -50)); data.setEmptyWeightTime(DateUtil .getNewByMinute(new Date(), -50)); } if (null == data.getFullWeightTime()) { data.setFullWeightTime(DateUtil.getNewByMinute(new Date(), -10)); @@ -729,7 +736,8 @@ * @return * @throws Exception */ public PageResponse<InoutData> submitRegisterInout (InoutData data) throws Exception { public PageResponse<InoutData> submitRegisterInout(InoutData data) throws Exception { //首先判断流程中是否有已经存在的车辆信息未执行完成,直接从数据库中查询 InoutParam param = new InoutParam(); @@ -745,50 +753,51 @@ "当前车牌或智慧卡有正在执行流程未结束,请联系管理员", data); } //获取系统参数配置 InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId()); InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf( data.getCompanyId(), data.getDeptId()); if (null == inoutSysConf) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "提示:当前库区未配置出入库流程信息,请联系管理员", data); } //获取下一个流程状态 String curProgress = data.getProgress(); String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf); String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf); data = updateBasicInfo(data, curProgress, nextProgress); String msg = inoutService.insertData(data); if (null != msg) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data); return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data); } // 执行附件信息 fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data); } public PageResponse<InoutData> submitWeightIn (InoutData data) throws Exception { public PageResponse<InoutData> submitWeightIn(InoutData data) throws Exception { //获取系统参数配置 InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId()); InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf( data.getCompanyId(), data.getDeptId()); if (null == inoutSysConf) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "提示:当前系统中流程配置异常,请联系管理员", data); } //获取下一个流程状态 String curProgress = data.getProgress(); String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf); String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf); data = updateBasicInfo(data, curProgress, nextProgress); //入库称重可能调整质检单 CheckUpdateResult checkUpdateResult = updateCheckItems(data); @@ -803,58 +812,66 @@ String msg = inoutService.updateData(data); if (null != msg) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data); return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data); } // 执行附件信息 fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); //称重完成,调用出入库控制逻辑处理 inoutDeviceManager.controlWeight(data, curProgress, nextProgress); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data); } public PageResponse<InoutData> submitWeightOut (InoutData data) throws Exception { public PageResponse<InoutData> submitWeightOut(InoutData data) throws Exception { //获取系统参数配置 InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId()); InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf( data.getCompanyId(), data.getDeptId()); if (null == inoutSysConf) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "提示:当前系统中流程配置异常,请联系管理员", data); } //获取下一个流程状态 String curProgress = data.getProgress(); String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf); String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf); data = updateBasicInfo(data, curProgress, nextProgress); //执行数据更新 String msg = inoutService.updateData(data); if (null != msg) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data); return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data); } // 执行附件信息 fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); //称重后根据当前流程状态和下一个状态,通知称重控制器 inoutDeviceManager.controlWeight(data, curProgress, nextProgress); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data); } public PageResponse<InoutData> submitHandle (InoutData data) throws Exception { public PageResponse<InoutData> submitHandle(InoutData data) throws Exception { if (null == data.getHandleUser()) { data.setHandleUser(ContextUtil.getLoginUserCName()); } //获取系统参数配置 InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId()); InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf( data.getCompanyId(), data.getDeptId()); if (null == inoutSysConf) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "提示:当前系统中流程配置异常,请联系管理员", data); @@ -862,23 +879,25 @@ //获取下一个流程状态 String curProgress = data.getProgress(); String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf); String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf); data = updateBasicInfo(data, curProgress, nextProgress); //执行数据更新 String msg = inoutService.updateDataByHandle(data); if (null != msg) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data); return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), msg, data); } // 执行附件信息 fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); fileService.saveInoutFiles(data.getFiles(), data.getCompanyId(), data.getId(), curProgress); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data); return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功", data); } /** * 根据条件获取扦样数据 @@ -886,7 +905,8 @@ * @param param * @return */ public PageResponse<Page<InoutCheckData>> pageSampleData (InoutCheckParam param){ public PageResponse<Page<InoutCheckData>> pageSampleData( InoutCheckParam param) { if (StringUtils.isEmpty(param.getCompanyId())) { param.setCompanyId(ContextUtil.getCompanyId()); @@ -903,23 +923,24 @@ //获取扦样数据 Page<InoutCheckData> sampleList = inoutService.pageSampleData(param); if (null == sampleList.getRecords() || sampleList.getRecords().isEmpty()) { if (null == sampleList.getRecords() || sampleList.getRecords().isEmpty()) { return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), "获取到数据信息为空"); } return new PageResponse<>(RespCodeEnum.CODE_0000, sampleList); } @Transactional(rollbackFor = Exception.class) public PageResponse<InoutCheckData> updateSampleData (InoutCheckData data){ try { public PageResponse<InoutCheckData> submitSample(InoutCheckData data) throws Exception { // 获取业务数据信息 InoutParam param = new InoutParam(); param.setCompanyId(data.getCompanyId()); param.setId(data.getId()); InoutData curData = inoutService.inoutProgressQuery(param); if (null == curData) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "没有获取到入库业务数据信息,更新失败", data); @@ -933,9 +954,11 @@ if (StringUtils.isEmpty(data.getSampleUser())) { data.setSampleUser(ContextUtil.getLoginUserCName()); } if (null == data.getSampleTime()) { data.setSampleTime(new Date()); } String msg = inoutService.updateSampleData(data); if (null != msg) { @@ -943,18 +966,14 @@ } return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功"); } catch (Exception e) { log.error("后台异常:{}", e); return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "后台异常:" + e.getMessage(), null); } } /** * @param param * @return */ public PageResponse<Page<InoutCheckData>> pageCheckData (InoutCheckParam param){ public PageResponse<Page<InoutCheckData>> pageCheckData( InoutCheckParam param) { if (StringUtils.isEmpty(param.getCompanyId())) { param.setCompanyId(ContextUtil.getCompanyId()); @@ -969,7 +988,6 @@ Page<InoutCheckData> checkList = inoutService.pageCheckData(param); if (null == checkList.getRecords() || checkList.getRecords().isEmpty()) { return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), "获取到数据信息为空"); @@ -983,16 +1001,18 @@ * @param param * @return */ public PageResponse<List<CheckItemData>> getCheckItemData (InoutCheckParam param){ public PageResponse<List<CheckItemData>> getCheckItemData( InoutCheckParam param) { try { List<CheckItemData> result = checkStandardManager.listCheckItem(param.getCheckId(), param.getCompanyId(), param.getFoodVariety()); List<CheckItemData> result = checkStandardManager.listCheckItem( param.getCheckId(), param.getCompanyId(), param.getFoodVariety()); return new PageResponse<>(RespCodeEnum.CODE_0000, result); } catch (Exception e) { return new PageResponse<>( RespCodeEnum.CODE_1111.getCode(), "后台异常:" + e.getMessage(), null); return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "后台异常:" + e.getMessage(), null); } } @@ -1015,7 +1035,9 @@ } //更新化验项信息 CheckUpdateResult checkResult = checkStandardManager.updateCheckItems(data.getCheckId(), data.getCompanyId(), data.getCheckItems()); CheckUpdateResult checkResult = checkStandardManager .updateCheckItems(data.getCheckId(), data.getCompanyId(), data.getCheckItems()); if (StringUtils.isNotEmpty(checkResult.getMsg())) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "后台执行异常:" + checkResult.getMsg(), data); @@ -1034,7 +1056,8 @@ curData.setCheckStatus(data.getCheckStatus()); //获取系统参数配置 InoutSysConf inoutSysConf = inoutCommonService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId()); InoutSysConf inoutSysConf = inoutCommonService .getCacheInoutSysConf(data.getCompanyId(), data.getDeptId()); if (null == inoutSysConf) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "提示:当前库区未配置出入库流程信息,请联系管理员", data); @@ -1043,7 +1066,8 @@ if (InoutConstant.PROGRESS_CHECK.equals(curData.getProgress())) { curData = updateBasicInfo(curData, inoutSysConf); // 若化验结果不合格,判断配置后续流程 if (InoutConstant.STATUS_UNPASS.equals(curData.getCheckStatus())) { if (InoutConstant.STATUS_UNPASS .equals(curData.getCheckStatus())) { curData = checkNoPass(curData); } } @@ -1065,8 +1089,8 @@ return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "执行成功"); } catch (Exception e) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "后台异常:" + e.getMessage(), null); return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "后台异常:" + e.getMessage(), null); } } @@ -1081,15 +1105,15 @@ List<InoutPrice> price = inoutService.getPrice(param); if (null == price || price.isEmpty()) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "未获取到粮食定价配置信息"); return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "未获取到粮食定价配置信息"); } return new PageResponse<>(RespCodeEnum.CODE_0000, price.get(0)); } catch (Exception e) { return new PageResponse<>( RespCodeEnum.CODE_1111.getCode(), "后台异常:" + e.getMessage(), null); return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "后台异常:" + e.getMessage(), null); } } } igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
@@ -281,12 +281,17 @@ @Override public String toComplete(InoutParam param) throws Exception { param.setUpdateTime(new Date()); if (null == param.getCompanyId()) { param.setCompanyId(ContextUtil.getDefaultCompanyId()); } // 清除缓存 this.delFromCache(param.getDeptId(), param.getType(), param.getId()); inoutMapper.toComplete(param); @@ -719,6 +724,7 @@ } int num = inoutCheckMapper.updateSampleData(data); return null; } @@ -756,6 +762,9 @@ data.setCompanyId(ContextUtil.subDeptId(null)); } data.setUpdateTime(new Date()); int num = inoutCheckMapper.updateCheckData(data); return null; } igds-inout/src/main/resources/mapper/InoutCheckMapper.xml
@@ -44,7 +44,8 @@ <!--更新扦样信息--> <update id="updateSampleData" parameterType="com.ld.igds.inout.dto.InoutCheckData"> UPDATE D_INOUT_RECORD SET UPDATE D_INOUT_RECORD set UPDATE_TIME_ = #{data.updateTime} , <if test="data.sampleUser != null">SAMPLE_USER_ = #{data.sampleUser},</if> <if test="data.sampleTime != null">SAMPLE_TIME_ = #{data.sampleTime},</if> <if test="data.sampleType != null">SAMPLE_TYPE_ = #{data.sampleType},</if> igds-inout/src/main/resources/mapper/InoutRecordMapper.xml
@@ -471,7 +471,7 @@ set PROGRESS_ = #{param.progress}, COMPLETE_TIME_ =#{param.completeTime}, COMPLETE_USER_ = #{param.userId}, UPDATE_TIME_ = sysdate UPDATE_TIME_ = #{param.updateTime} where ID_ = #{param.id} and TYPE_ = #{param.type} and COMPANY_ID_ = #{param.companyId} igds-web/src/main/resources/static/admin/inout/in-card-back.js
@@ -127,7 +127,7 @@ } // 当前完成 function submit() { function submitData() { if (!recordData) { alertError("没有数据可以提交!"); return; @@ -140,7 +140,7 @@ $.ajax({ type : "POST", url : "../../basic/inout/inout-back-submit", url : "../../basic/inout/submit-card-back", dataType : "json", contentType : "application/json;charset=UTF-8", data : JSON.stringify(recordData), igds-web/src/main/resources/static/admin/inout/in-sample.js
@@ -14,7 +14,6 @@ form = layui.form; table = layui.table; laydate = layui.laydate; laydate.render({ elem: '#start', theme: '#7b8e9f', @@ -44,31 +43,11 @@ showDetail(obj); } }); //监听粮食品种 layui.form.on('select(select_foodVariety)', function (data) { updateFoodVariety(data.value); }); //监听化验结果单填写数据,并给出提示结果 table.on('edit(tableCheckItem)', function (obj) { getResult(obj); }); }); //显示入库流程 showProgress(); // 初始化WebSocket initInoutWS(deptId, bizType, progress, userId); }); // socket信息返回處理 function socketOnMessage(packet) { layer.alert(packet.data); window.parent.sysNotify(packet.data); } /** * 条件查询 @@ -193,55 +172,6 @@ form.render(); }; //根据填写化验数据,给出提醒是否合格 function getResult(obj) { var data = obj.data; //填写的数据值 var newValue = data.value; //标准值 var limit = data.upperLimit; //运算符 var symbol = data.operaSymbol; if (symbol && limit) { if (">=" == symbol) { if (newValue < limit) { data.remarks = "不合格"; } else { data.remarks = "合格"; } } if ("<=" == symbol) { if (newValue > limit) { data.remarks = "不合格"; } else { data.remarks = "合格"; } } if ("==" == symbol) { if (newValue != limit) { data.remarks = "不合格"; } else { data.remarks = "合格"; } } } obj.update(data); //根据化验结果提醒是否合格 updateCheckResultTip(); } //根据选择仓库显示粮食品种 function updateFoodVariety(foodVariety) { if (null == foodVariety || "" == foodVariety) return; form.val("form-detail", { foodVariety: foodVariety }); form.render(); flushCheckItem(foodVariety); } // 根据模式启动开始扦样 function checkExe(type) { @@ -257,14 +187,14 @@ success: function (result) { layer.close(index); if (result.code != "0000") { layer.alert(result.msg); alertError(result.msg); } else { layer.msg("操作命令发送成功!"); alertSuccess("操作命令发送成功!"); } }, error: function () { layer.close(index); layer.alert("后台异常,操作命令发送失败!"); alertError("后台异常,操作命令发送失败!"); } }); }; @@ -348,7 +278,6 @@ * 时间等 */ function getTime() { var now = new Date(); var time = now.toLocaleString('chinese', { hour12: false @@ -381,7 +310,7 @@ btnAlign: 'c', btn: ['保存并打印', '保存提交','关闭取消'], yes: function () { layer.alert("条形码待确定!"); alertSuccess("条形码待确定!"); }, btn2: function () { // 更新到页面 var data = form.val("form-detail"); @@ -409,11 +338,10 @@ layer.alert("请输入扦样时间!!"); return; } var index = layer.load(); $.ajax({ type: "POST", url: "../../basic/inout/update-sample", url: "../../basic/inout/submit-sample", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(curSampleData), @@ -430,67 +358,7 @@ }, error: function () { layer.close(index); layer.alert("提交失败,请重新尝试!"); alertError("提交失败,请重新尝试"); } }); } //控制流程环节显示 function showProgress() { if (!inoutProgress) { return; } if (inoutProgress.indexOf("REGISTER") == -1) { $("#progress-register").css("display", "none"); } if (inoutProgress.indexOf("CHECK") == -1) { $("#progress-check").css("display", "none"); } if (inoutProgress.indexOf("WEIGHT_FULL") == -1) { $("#progress-fullWeight").css("display", "none"); } if (inoutProgress.indexOf("HANDLE") == -1) { $("#progress-hand").css("display", "none"); } if (inoutProgress.indexOf("WEIGHT_EMPTY") == -1) { $("#progress-emptyWeight").css("display", "none"); } if (inoutProgress.indexOf("CARD_BACK") == -1) { $("#progress-cardBack").css("display", "none"); } } /** * 弹出提醒框 * @param msg 提醒信息 * @param data 数据信息,可能为空 */ function notify(msg, data) { if (data) { //赋值 $("#resultMsg").text(msg); $("#resultUserName").text(data.userName); $("#resultPlateNum").text(data.plateNum); if ("IN" == data.type) { $("#resultType").text("入库-" + INOUT_PROGRESS_MSG(data.progress)); } else { $("#resultType").text("出库-" + INOUT_PROGRESS_MSG(data.progress)); } $("#resultIntelCard").text(data.intelCard); layer.open({ type: 1, offset: ['150px', '200px'], area: '450px;', shade: 0.8, id: 'dialog_notify_info', btn: ['确定'], content: $('#dialog-from-notify'), yes: function (index) { layer.closeAll(); } }); } else { layer.alert(msg, {offset: ['300px', '300px']}); } } igds-web/src/main/resources/static/admin/inout/inout-common.js
@@ -31,6 +31,13 @@ }); } function alertSuccess(msg) { layer.alert(msg, { icon: 1, offset: ['300px', '300px'] }); } /** * 弹出提醒框 * @param msg 提醒信息 igds-web/src/main/resources/templates/admin/inout/in-card-back.html
@@ -294,8 +294,8 @@ <div class="rkbk-quick layui-text-center"> <button class="rkbk-quick-btn layui-btn btn-green" onclick="submit()"> <button class="rkbk-quick-btn layui-btn btn-green" type='button' onclick="submitData()"> <i><img th:src="@{../../static/images/icon-ok.png}"/></i> 收卡出库 </button> </div> igds-web/src/main/resources/templates/admin/inout/in-sample.html
@@ -177,21 +177,17 @@ <div class="qyzj-con radius-6"> <div class="qyzj-con-top layui-row"> <form class="layui-form" action="" id="form-param" lay-filter="form-param"> <div class="layui-form-item display-none"> <label class="layui-form-label">隐藏-类型</label> <div class="layui-input-block"> <input type="text" name="type" th:value="${type}" autocomplete="off" class="layui-input rkbk-search-input"> <input type="text" name="type" th:value="${type}"> </div> </div> <div class="layui-form-item display-none"> <label class="layui-form-label">隐藏-流程</label> <div class="layui-input-block"> <input type="text" name="progress" th:value="${progress}" autocomplete="off" class="layui-input rkbk-search-input"> <input type="text" name="progress" th:value="${progress}"> </div> <div class="layui-form-item display-none"> <input type="text" name="companyId" th:value="${companyId}"> </div> <div class="layui-form-item display-none"> <input type="text" name="deptId" th:value="${deptId}"> </div> <div class="layui-col-xs3"> @@ -299,17 +295,12 @@ var type = [[${type}]]; //userId var userId = [[${loginUser.username}]]; var sampleUser = [[${loginUser.cname}]]; var companyId = [[${loginUser.companyId}]]; //品种 var listFoodVariety = [[${listFoodVariety}]]; var startTime = [[${startTime}]]; var endTime = [[${endTime}]]; //扦样机信息 var checkDto = [[${checkDto}]]; //所属分库 var deptId = [[${deptId}]]; //库区名称 @@ -321,6 +312,7 @@ <script th:src="@{../../static/js/jquery.min.js}"></script> <script th:src="@{../../static/js/constant.js}"></script> <script th:src="@{../../static/js/igds-common.js}"></script> <script th:src="@{../../static/admin/inout/inout-common.js}"></script> <script th:src="@{../../static/admin/inout/in-sample.js}"></script> <script type="text/html" id="barControl">