|  |  |  | 
|---|
|  |  |  | package com.ld.igds.inout.controller; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import ch.qos.logback.classic.pattern.ClassNameOnlyAbbreviator; | 
|---|
|  |  |  | import com.bstek.bdf2.core.business.IUser; | 
|---|
|  |  |  | import com.bstek.bdf2.core.model.DefaultDept; | 
|---|
|  |  |  | import com.ld.igds.check.dto.CheckItemData; | 
|---|
|  |  |  | import com.ld.igds.common.manager.CommonManager; | 
|---|
|  |  |  | import com.ld.igds.constant.BizType; | 
|---|
|  |  |  | 
|---|
|  |  |  | import com.ld.igds.models.Depot; | 
|---|
|  |  |  | import com.ld.igds.models.DicTrigger; | 
|---|
|  |  |  | import com.ld.igds.models.InoutConf; | 
|---|
|  |  |  | import com.ld.igds.models.InoutPrice; | 
|---|
|  |  |  | 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.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; | 
|---|
|  |  |  | 
|---|
|  |  |  | InoutConf conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_10, InoutConstant.PROGRESS_REGISTER, 1); | 
|---|
|  |  |  | view.addObject("lprDto", conf); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //初始化车牌识别 | 
|---|
|  |  |  | inoutManager.initLpr(conf); | 
|---|
|  |  |  | //登记初始化 | 
|---|
|  |  |  | inoutManager.initInoutRegister(conf); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | view.setViewName("admin/inout/in-register"); | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | 
|---|
|  |  |  | if (null != conf) conf.setSort(sort); | 
|---|
|  |  |  | view.addObject("cardDto", conf); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //称重页面初始化 | 
|---|
|  |  |  | inoutManager.initInoutWeight(listInoutConf,sort); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | view.setViewName("admin/inout/in-weight"); | 
|---|
|  |  |  | return view; | 
|---|
|  |  |  | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/in-handle") | 
|---|
|  |  |  | public ModelAndView inHandle() { | 
|---|
|  |  |  | public ModelAndView inHandle(HttpServletRequest httpRequest, @RequestParam(value = "sort", required = false) String sort) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //如果没有指定地磅,从用户上一个选择中获取 | 
|---|
|  |  |  | if (StringUtils.isEmpty(sort)) { | 
|---|
|  |  |  | sort = commonManager.getInoutWeightByClient(httpRequest); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ModelAndView view = new ModelAndView(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | // 当前流程节点 | 
|---|
|  |  |  | view.addObject("progress", InoutConstant.PROGRESS_HANDLE); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 粮食品种下拉框 | 
|---|
|  |  |  | List<DicTrigger> listFoodVariety = inoutCommonManager.getDicTrigger( | 
|---|
|  |  |  | Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId()); | 
|---|
|  |  |  | view.addObject("listFoodVariety", listFoodVariety); | 
|---|
|  |  |  | // 远程智慧卡 | 
|---|
|  |  |  | // 获取出入库设备配置信息 | 
|---|
|  |  |  | List<InoutConf> listInoutConf = inoutCommonManager.getListInoutConf(user.getCompanyId(), deptId); | 
|---|
|  |  |  | InoutConf conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_80, InoutConstant.PROGRESS_WEIGHT_TAG, 1); | 
|---|
|  |  |  | if (null != conf) conf.setSort(sort); | 
|---|
|  |  |  | view.addObject("cardDto", conf); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 粮食等级下拉框 | 
|---|
|  |  |  | List<DicTrigger> listFoodLevel = inoutCommonManager.getDicTrigger( | 
|---|
|  |  |  | Constant.TRIGGER_PARENT_FOOD_LEVEL, user.getCompanyId()); | 
|---|
|  |  |  | view.addObject("listFoodLevel", listFoodLevel); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | view.setViewName("admin/inout/in-handle"); | 
|---|
|  |  |  | return view; | 
|---|
|  |  |  | 
|---|
|  |  |  | // 当前流程节点 | 
|---|
|  |  |  | 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; | 
|---|
|  |  |  | 
|---|
|  |  |  | view.addObject("lprDto", conf); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //初始化车牌识别 | 
|---|
|  |  |  | inoutManager.initLpr(conf); | 
|---|
|  |  |  | inoutManager.initInoutRegister(conf); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | view.setViewName("admin/inout/out-register"); | 
|---|
|  |  |  | return view; | 
|---|
|  |  |  | 
|---|
|  |  |  | view.addObject("type", InoutConstant.TYPE_OUT); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 仓库列表做下拉框使用 | 
|---|
|  |  |  | List<SimpleDepot> listDepot = commonManager.getCacheDeptOut(user.getCompanyId(),deptId); | 
|---|
|  |  |  | List<SimpleDepot> listDepot = commonManager.getCacheDeptOut(user.getCompanyId(), deptId); | 
|---|
|  |  |  | view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //出库流程 | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | IUser user = ContextUtil.getLoginUser(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String deptId =  ContextUtil.subDeptId(user); | 
|---|
|  |  |  | String deptId = ContextUtil.subDeptId(user); | 
|---|
|  |  |  | view.addObject(Constant.MODEL_KEY_LOGIN_USER, user); | 
|---|
|  |  |  | view.addObject("bizType", BizType.INOUT_OUT.getCode()); | 
|---|
|  |  |  | view.addObject("deptId",deptId); | 
|---|
|  |  |  | view.addObject("deptId", deptId); | 
|---|
|  |  |  | view.addObject("type", InoutConstant.TYPE_OUT); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 仓库列表做下拉框使用 | 
|---|
|  |  |  | List<SimpleDepot> listDepot = commonManager.getCacheDeptOut(user.getCompanyId(),deptId); | 
|---|
|  |  |  | List<SimpleDepot> listDepot = commonManager.getCacheDeptOut(user.getCompanyId(), deptId); | 
|---|
|  |  |  | view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot); | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/inout-query") | 
|---|
|  |  |  | public PageResponse<InoutData> inoutQuery(@RequestBody InoutParam param) { | 
|---|
|  |  |  | if(null == param.getCompanyId()) param.setCompanyId(ContextUtil.getCompanyId()); | 
|---|
|  |  |  | if (null == param.getCompanyId()) param.setCompanyId(ContextUtil.getCompanyId()); | 
|---|
|  |  |  | return inoutManager.inoutQuery(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 卡回收数据查询,没有流程状态的数据直接返回 | 
|---|
|  |  |  | * 出库收卡信息查询 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param param | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | 
|---|
|  |  |  | @RequestMapping("/inout-query-back") | 
|---|
|  |  |  | public PageResponse<InoutData> inoutQueryBack(@RequestBody InoutParam param) { | 
|---|
|  |  |  | param.setProgress(null); | 
|---|
|  |  |  | return inoutManager.inoutQuery(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 出入库数据更新,提交到下个流程 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param data | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/inout-next-step") | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public PageResponse<InoutData> inoutNextStep(@RequestBody InoutData data) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | IUser user = ContextUtil.getLoginUser(); | 
|---|
|  |  |  | if (StringUtils.isEmpty(data.getCompanyId())) { | 
|---|
|  |  |  | data.setCompanyId(user.getCompanyId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (StringUtils.isEmpty(data.getDeptId())) { | 
|---|
|  |  |  | data.setDeptId(ContextUtil.subDeptId(user)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (InoutConstant.TYPE_IN.equals(data.getType())) { | 
|---|
|  |  |  | return inoutManager.inNextStep(data); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return inoutManager.outNextStep(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | log.error("后台异常:{}", e); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //手动回滚 | 
|---|
|  |  |  | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), | 
|---|
|  |  |  | "后台异常:" + e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return inoutManager.inoutQueryBack(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 卡回收页面提交,如果是正常流程卡回收则走正常完成流程,否则执行删除逻辑并回收卡 | 
|---|
|  |  |  | * 扦样页面提交更新 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param data | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/inout-back-submit") | 
|---|
|  |  |  | public PageResponse<InoutData> inoutBackSubmit(@RequestBody InoutData data) { | 
|---|
|  |  |  | return inoutManager.inoutBack(data); | 
|---|
|  |  |  | @RequestMapping("/submit-sample") | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public PageResponse<InoutCheckData> submitSample(@RequestBody InoutCheckData data) throws Exception { | 
|---|
|  |  |  | return inoutManager.submitSample(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 化验页面数据提交 | 
|---|
|  |  |  | * 出入库称重环节提交 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param data | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/update-check") | 
|---|
|  |  |  | public PageResponse<InoutData> updateCheck(@RequestBody InoutData data) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | return inoutManager.updateCheck(data); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | log.error("后台异常:{}", e); | 
|---|
|  |  |  | return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), | 
|---|
|  |  |  | "后台异常:" + e.getMessage(), null); | 
|---|
|  |  |  | @RequestMapping("/submit-weight") | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public PageResponse<InoutData> submitWeight(@RequestBody InoutData data) throws Exception { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (null == data.getJjlx()) data.setJjlx("0"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (InoutConstant.TYPE_IN.equals(data.getType())) { | 
|---|
|  |  |  | return inoutManager.submitWeightIn(data); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | return inoutManager.submitWeightOut(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 出入库称重环节提交,请注意:值仓挑提交的数据非出入库流水完整信息,不能直接调用update方法 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param data | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/submit-handle") | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public PageResponse<InoutData> submitHandle(@RequestBody InoutData data) throws Exception { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | log.debug("-------------submitHandle------------------"); | 
|---|
|  |  |  | return inoutManager.submitHandle(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 出入库卡回收提交,如果数据已经是完成,直接不做更新,如果未完成则执行完成 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param data | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/submit-card-back") | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public PageResponse<InoutData> submitCardBack(@RequestBody InoutData data) throws Exception { | 
|---|
|  |  |  | return inoutManager.submitCardBack(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  | * @param data | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/inout-to-complete") | 
|---|
|  |  |  | public PageResponse<InoutData> inoutComplete(@RequestBody InoutData data) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | return inoutManager.inoutComplete(data); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | log.error("后台异常:{}", e); | 
|---|
|  |  |  | return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), | 
|---|
|  |  |  | "后台异常:" + e.getMessage(), data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @RequestMapping("/submit-complete") | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public PageResponse<InoutData> submitComplete(@RequestBody InoutData data) throws Exception { | 
|---|
|  |  |  | return inoutManager.submitComplete(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据入库数据信息,获取检查项信息,如果当前数据已经检测完成,查询检测结果,如果没有检测完成则根据检测项配置获取需要检测的项目信息 | 
|---|
|  |  |  | * 根据质检单号获取出入库信息 | 
|---|
|  |  |  | * @param param | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/inout-check-scan-code") | 
|---|
|  |  |  | public PageResponse<InoutCheckData> inoutDataByCheckId(@RequestBody InoutCheckParam param) { | 
|---|
|  |  |  | if (null == param.getCompanyId()) { | 
|---|
|  |  |  | param.setCompanyId(ContextUtil.getCompanyId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return inoutManager.inoutDataByCheckId(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 质检页面仅提交保存化验信息 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param data | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/get-check-item") | 
|---|
|  |  |  | public PageResponse<List<CheckItemData>> getCheckItem(@RequestBody InoutData data) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | return inoutManager.getCheckItem(data); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | log.error("后台异常:{}", e); | 
|---|
|  |  |  | return new PageResponse<List<CheckItemData>>( | 
|---|
|  |  |  | RespCodeEnum.CODE_1111.getCode(), "后台异常:" + e.getMessage()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @RequestMapping("/submit-checkItem") | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public PageResponse<InoutCheckData> submitCheckItem(@RequestBody InoutCheckData data)throws Exception { | 
|---|
|  |  |  | return inoutManager.submitCheckData(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 分页获取数据信息 | 
|---|
|  |  |  | * 质检页面提交下一流程 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param param | 
|---|
|  |  |  | * @param data | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/page-check-data") | 
|---|
|  |  |  | public PageResponse<Page<InoutData>> pageCheckData( | 
|---|
|  |  |  | @RequestBody InoutParam param) { | 
|---|
|  |  |  | return inoutManager.pageCheckData(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 道闸控制 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param param | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/gate-ctrl") | 
|---|
|  |  |  | public PageResponse<String> gateCtrl( | 
|---|
|  |  |  | @RequestBody InoutGateDto param) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return null; | 
|---|
|  |  |  | @RequestMapping("/submit-check") | 
|---|
|  |  |  | @Transactional | 
|---|
|  |  |  | public PageResponse<InoutCheckData> submitCheck(@RequestBody InoutCheckData data) throws Exception { | 
|---|
|  |  |  | return inoutManager.submitCheck(data); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 扦样页面 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @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); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //入库流程 | 
|---|
|  |  |  | 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 param | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | 
|---|
|  |  |  | return inoutManager.pageSampleData(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 扦样页面提交 | 
|---|
|  |  |  | * 分页获取化验数据 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param data | 
|---|
|  |  |  | * @param param | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/update-sample") | 
|---|
|  |  |  | public PageResponse<InoutCheckData> updateSample(@RequestBody InoutCheckData data) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | return inoutManager.updateSampleData(data); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | log.error("后台异常:{}", e); | 
|---|
|  |  |  | return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), | 
|---|
|  |  |  | "后台异常:" + e.getMessage(), null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | @RequestMapping("/page-check-data") | 
|---|
|  |  |  | public PageResponse<Page<InoutCheckData>> pageCheckData(@RequestBody InoutCheckParam param) { | 
|---|
|  |  |  | return inoutManager.pageCheckData(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 获取化验项信息 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param param | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/get-check-item") | 
|---|
|  |  |  | public PageResponse<List<CheckItemData>> getCheckItem(@RequestBody InoutCheckParam param) { | 
|---|
|  |  |  | return inoutManager.getCheckItemData(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 根据粮食等级及粮食品种获取粮食定价 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param param | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @RequestMapping("/get-price") | 
|---|
|  |  |  | public PageResponse<InoutPrice> getPrice(@RequestBody InoutCheckParam param) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return inoutManager.getPrice(param); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|