package com.ld.igds.inout.controller;
|
|
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.constant.Constant;
|
import com.ld.igds.constant.RespCodeEnum;
|
import com.ld.igds.data.BaseParam;
|
import com.ld.igds.data.Page;
|
import com.ld.igds.data.PageResponse;
|
import com.ld.igds.data.SimpleDepot;
|
import com.ld.igds.inout.InoutConstant;
|
import com.ld.igds.inout.dto.*;
|
import com.ld.igds.inout.manager.InoutCommonManager;
|
import com.ld.igds.inout.manager.InoutManager;
|
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.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import java.lang.reflect.Array;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
|
|
/**
|
* @Desc: 出入库业务流程控制层,主要为标准卡车出入库流程控制管理
|
* @author: Andy
|
*/
|
@Slf4j
|
@RestController
|
@RequestMapping("basic/inout")
|
public class InoutController {
|
|
@Resource
|
private CommonManager commonManager;
|
@Resource
|
private InoutManager inoutManager;
|
@Resource
|
private InoutCommonManager inoutCommonManager;
|
|
/**
|
* 入库登记
|
*
|
* @param sort 表示使用的出入库设备配套号,不传递默认为1
|
* @return
|
*/
|
@RequestMapping("/in-register")
|
public ModelAndView inRegister(HttpServletRequest httpRequest, @RequestParam(value = "sort", required = false) String sort) {
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
|
if (StringUtils.isEmpty(sort)) {
|
sort = commonManager.getInoutWeightByClient(httpRequest);
|
}
|
|
if (StringUtils.isEmpty(sort)) {
|
sort = "1";
|
}
|
|
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(), ContextUtil.subDeptId(user), InoutConstant.TYPE_IN);
|
view.addObject("inoutProgress", inoutProgress);
|
// 当前流程节点
|
view.addObject("progress", InoutConstant.PROGRESS_REGISTER);
|
|
// 获取出入库配置信息
|
List<InoutConf> listInoutConf = inoutCommonManager.getListInoutConf(user.getCompanyId(), deptId);
|
|
// 车牌识别参数封装
|
InoutConf conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_10, InoutConstant.PROGRESS_REGISTER, 1);
|
view.addObject("lprDto", 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
|
*/
|
@RequestMapping("/in-check")
|
public ModelAndView inCheck(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, -30), "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-check");
|
return view;
|
}
|
|
/**
|
* 入库称重操作,包括空车称重和满车称重,共用一个页面
|
*
|
* @param sort 表示使用的出入库设备配套号,不传递默认为1
|
* @return
|
*/
|
@RequestMapping("/in-weight")
|
public ModelAndView inWeight(HttpServletRequest httpRequest, @RequestParam(value = "sort", required = false) String sort) {
|
|
//如果没有指定地磅,从用户上一个选择中获取
|
if (StringUtils.isEmpty(sort)) {
|
sort = commonManager.getInoutWeightByClient(httpRequest);
|
}
|
|
ModelAndView view = new ModelAndView();
|
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);
|
|
// 仓库列表做下拉框使用
|
List<SimpleDepot> listDepot = commonManager.getCacheDeptIn(user.getCompanyId(), deptId);
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
// 当前流程标签
|
view.addObject("progress", InoutConstant.PROGRESS_WEIGHT_TAG);
|
|
//入库流程配置
|
String inoutProgress = inoutCommonManager.getInoutProgressConf(user.getCompanyId(), deptId, InoutConstant.TYPE_IN);
|
view.addObject("inoutProgress", inoutProgress);
|
|
//称重是否可编辑标签
|
String weightEditTag = inoutCommonManager.getWeightEditTag(user.getCompanyId(), deptId);
|
view.addObject("weightEditTag", weightEditTag);
|
|
// 粮食品种下拉框
|
List<DicTrigger> listFoodVariety = inoutCommonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId());
|
view.addObject("listFoodVariety", listFoodVariety);
|
|
// 获取出入库设备配置信息
|
List<InoutConf> listInoutConf = inoutCommonManager.getListInoutConf(user.getCompanyId(), deptId);
|
|
//根据出入库设备信息筛选地磅配置信息,所有地磅,支持用户手动选择
|
List<InoutConf> listWeight = inoutCommonManager.getInoutConf(listInoutConf, InoutConstant.CONF_TYPE_30);
|
view.addObject("listWeight", listWeight);
|
|
// 获取当前地磅
|
InoutConf weightDto = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_30);
|
view.addObject("weightDto", weightDto);
|
|
// 过程摄像头1
|
InoutConf conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_60, InoutConstant.PROGRESS_WEIGHT_TAG, 1);
|
view.addObject("snapDto1", conf);
|
|
// 过程摄像头2
|
conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_60, InoutConstant.PROGRESS_WEIGHT_TAG, 2);
|
view.addObject("snapDto2", conf);
|
|
// 过程摄像头3
|
conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_60, InoutConstant.PROGRESS_WEIGHT_TAG, 3);
|
view.addObject("snapDto3", conf);
|
|
// 远程智慧卡
|
conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_80, InoutConstant.PROGRESS_WEIGHT_TAG, 1);
|
if (null != conf) conf.setSort(sort);
|
view.addObject("cardDto", conf);
|
|
|
view.setViewName("admin/inout/in-weight");
|
return view;
|
}
|
|
/**
|
* 入库-值仓
|
*
|
* @return
|
*/
|
@RequestMapping("/in-handle")
|
public ModelAndView inHandle(HttpServletRequest httpRequest, @RequestParam(value = "sort", required = false) String sort) {
|
|
//如果没有指定地磅,从用户上一个选择中获取
|
if (StringUtils.isEmpty(sort)) {
|
sort = commonManager.getInoutWeightByClient(httpRequest);
|
}
|
|
ModelAndView view = new ModelAndView();
|
|
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("deptId", deptId);
|
view.addObject("type", InoutConstant.TYPE_IN);
|
|
// 仓库列表做下拉框使用
|
List<SimpleDepot> listDepot = commonManager.getCacheDeptIn(user.getCompanyId(), deptId);
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
//入库流程
|
String inoutProgress = inoutCommonManager.getInoutProgressConf(user.getCompanyId(),
|
ContextUtil.subDeptId(user), InoutConstant.TYPE_IN);
|
view.addObject("inoutProgress", inoutProgress);
|
|
// 当前流程节点
|
view.addObject("progress", InoutConstant.PROGRESS_HANDLE);
|
|
// 远程智慧卡
|
// 获取出入库设备配置信息
|
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);
|
|
|
view.setViewName("admin/inout/in-handle");
|
return view;
|
}
|
|
/**
|
* 入库-卡回收
|
*
|
* @return
|
*/
|
@RequestMapping("/in-card-back")
|
public ModelAndView inCardBack() {
|
ModelAndView view = new ModelAndView();
|
|
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("deptId", deptId);
|
view.addObject("type", InoutConstant.TYPE_IN);
|
|
// 仓库列表做下拉框使用
|
List<SimpleDepot> listDepot = commonManager.getCacheDeptIn(user.getCompanyId(), deptId);
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
//入库流程
|
String inoutProgress = inoutCommonManager.getInoutProgressConf(user.getCompanyId(),
|
ContextUtil.subDeptId(user), InoutConstant.TYPE_IN);
|
view.addObject("inoutProgress", inoutProgress);
|
|
// 当前流程节点
|
view.addObject("progress", InoutConstant.PROGRESS_CARD_BACK);
|
|
|
view.setViewName("admin/inout/in-card-back");
|
return view;
|
}
|
|
/**
|
* 出库登记
|
*
|
* @param sort 表示使用的出入库设备配套号,不传递默认为1
|
* @return
|
*/
|
@RequestMapping("/out-register")
|
public ModelAndView outRegister(@RequestParam(value = "sort", required = false) String sort) {
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
String deptId = ContextUtil.subDeptId(user);
|
view.addObject("bizType", BizType.INOUT_OUT.getCode());
|
view.addObject("type", InoutConstant.TYPE_OUT);
|
view.addObject("deptId", deptId);
|
|
//入库流程
|
String inoutProgress = inoutCommonManager.getInoutProgressConf(user.getCompanyId(), ContextUtil.subDeptId(user), InoutConstant.TYPE_OUT);
|
view.addObject("inoutProgress", inoutProgress);
|
// 当前流程节点
|
view.addObject("progress", InoutConstant.PROGRESS_REGISTER);
|
|
// 获取出入库配置信息
|
List<InoutConf> listInoutConf = inoutCommonManager.getListInoutConf(user.getCompanyId(), deptId);
|
|
// 车牌识别参数封装
|
InoutConf conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_10, InoutConstant.PROGRESS_REGISTER, 1);
|
view.addObject("lprDto", conf);
|
|
//初始化车牌识别
|
inoutManager.initInoutRegister(conf);
|
|
view.setViewName("admin/inout/out-register");
|
return view;
|
}
|
|
/**
|
* 出库称重,包括空车称重和满车称重,共用一个页面
|
*
|
* @param sort 表示使用的出入库设备配套号,不传递默认为1
|
* @return
|
*/
|
@RequestMapping("/out-weight")
|
public ModelAndView outWeight(HttpServletRequest httpRequest, @RequestParam(value = "sort", required = false) String sort) {
|
|
//如果没有指定地磅,从用户上一个选择中获取
|
if (StringUtils.isEmpty(sort)) {
|
sort = commonManager.getInoutWeightByClient(httpRequest);
|
}
|
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
String deptId = ContextUtil.subDeptId(user);
|
view.addObject("bizType", BizType.INOUT_OUT.getCode());
|
view.addObject("type", InoutConstant.TYPE_OUT);
|
view.addObject("deptId", deptId);
|
|
// 仓库列表做下拉框使用
|
List<SimpleDepot> listDepot = commonManager.getCacheDeptOut(user.getCompanyId(), deptId);
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
// 当前流程标签
|
view.addObject("progress", InoutConstant.PROGRESS_WEIGHT_TAG);
|
|
//入库流程
|
String inoutProgress = inoutCommonManager.getInoutProgressConf(user.getCompanyId(), deptId, InoutConstant.TYPE_OUT);
|
view.addObject("inoutProgress", inoutProgress);
|
|
//称重结果是否可修改
|
String weightEditTag = inoutCommonManager.getWeightEditTag(user.getCompanyId(), ContextUtil.subDeptId(user));
|
view.addObject("weightEditTag", weightEditTag);
|
|
// 粮食品种下拉框
|
List<DicTrigger> listFoodVariety = inoutCommonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId());
|
view.addObject("listFoodVariety", listFoodVariety);
|
|
// 获取出入库配置信息
|
List<InoutConf> listInoutConf = inoutCommonManager.getListInoutConf(user.getCompanyId(), deptId);
|
|
//获取所有的地磅列表用于页面用户选择
|
List<InoutConf> listWeight = inoutCommonManager.getInoutConf(listInoutConf, InoutConstant.CONF_TYPE_30);
|
view.addObject("listWeight", listWeight);
|
|
// 获取当前地磅信息
|
InoutConf weightDto = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_30);
|
view.addObject("weightDto", weightDto);
|
|
// 过程摄像头1
|
InoutConf conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_60,
|
InoutConstant.PROGRESS_WEIGHT_TAG, 1);
|
view.addObject("snapDto1", conf);
|
|
// 过程摄像头2
|
conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_60,
|
InoutConstant.PROGRESS_WEIGHT_TAG, 2);
|
view.addObject("snapDto2", conf);
|
|
// 过程摄像头3
|
conf = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_60,
|
InoutConstant.PROGRESS_WEIGHT_TAG, 3);
|
view.addObject("snapDto3", conf);
|
|
view.setViewName("admin/inout/out-weight");
|
return view;
|
}
|
|
/**
|
* 出库-值仓
|
*
|
* @return
|
*/
|
@RequestMapping("/out-handle")
|
public ModelAndView outHandle() {
|
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
|
|
String deptId = ContextUtil.subDeptId(user);
|
view.addObject("bizType", BizType.INOUT_OUT.getCode());
|
view.addObject("deptId", deptId);
|
view.addObject("type", InoutConstant.TYPE_OUT);
|
|
// 仓库列表做下拉框使用
|
List<SimpleDepot> listDepot = commonManager.getCacheDeptOut(user.getCompanyId(), deptId);
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
//出库流程
|
String inoutProgress = inoutCommonManager.getInoutProgressConf(user.getCompanyId(),
|
ContextUtil.subDeptId(user), InoutConstant.TYPE_OUT);
|
view.addObject("inoutProgress", inoutProgress);
|
|
// 当前流程节点
|
view.addObject("progress", InoutConstant.PROGRESS_HANDLE);
|
|
// 粮食品种下拉框
|
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/out-handle");
|
return view;
|
}
|
|
/**
|
* 出库-卡回收
|
*
|
* @return
|
*/
|
@RequestMapping("/out-card-back")
|
public ModelAndView outCardBack() {
|
|
ModelAndView view = new ModelAndView();
|
|
IUser user = ContextUtil.getLoginUser();
|
|
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("type", InoutConstant.TYPE_OUT);
|
|
|
// 仓库列表做下拉框使用
|
List<SimpleDepot> listDepot = commonManager.getCacheDeptOut(user.getCompanyId(), deptId);
|
view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
|
|
|
//出库流程
|
String inoutProgress = inoutCommonManager.getInoutProgressConf(user.getCompanyId(),
|
ContextUtil.subDeptId(user), InoutConstant.TYPE_OUT);
|
view.addObject("inoutProgress", inoutProgress);
|
|
// 当前流程节点
|
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/out-card-back");
|
return view;
|
}
|
|
/**
|
* 出入库数据查询,根据条件查询数据,出入库数据信息
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/inout-query")
|
public PageResponse<InoutData> inoutQuery(@RequestBody InoutParam param) {
|
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.inoutQueryBack(param);
|
}
|
|
/**
|
* 出入库数据保存,登记提交
|
*
|
* @param data
|
* @return
|
*/
|
@RequestMapping("/submit-register")
|
@Transactional
|
public PageResponse<InoutData> submitRegister(@RequestBody InoutData data) throws Exception {
|
IUser user = ContextUtil.getLoginUser();
|
if (StringUtils.isEmpty(data.getCompanyId())) {
|
data.setCompanyId(user.getCompanyId());
|
}
|
if (StringUtils.isEmpty(data.getDeptId())) {
|
data.setDeptId(ContextUtil.subDeptId(user));
|
}
|
|
//如果注册时候没有使用智慧卡,默认使用身份证号作为智慧卡号
|
if (StringUtils.isEmpty(data.getIntelCard())) {
|
data.setIntelCard(data.getUserId());
|
}
|
|
return inoutManager.submitRegisterInout(data);
|
}
|
|
/**
|
* 扦样页面提交更新
|
*
|
* @param data
|
* @return
|
*/
|
@RequestMapping("/submit-sample")
|
@Transactional
|
public PageResponse<InoutCheckData> submitSample(@RequestBody InoutCheckData data) throws Exception {
|
return inoutManager.submitSample(data);
|
}
|
|
/**
|
* 出入库称重环节提交
|
*
|
* @param data
|
* @return
|
*/
|
@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("/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("/submit-checkItem")
|
@Transactional
|
public PageResponse<InoutCheckData> submitCheckItem(@RequestBody InoutCheckData data)throws Exception {
|
return inoutManager.submitCheckData(data);
|
}
|
|
/**
|
* 质检页面提交下一流程
|
*
|
* @param data
|
* @return
|
*/
|
@RequestMapping("/submit-check")
|
@Transactional
|
public PageResponse<InoutCheckData> submitCheck(@RequestBody InoutCheckData data) throws Exception {
|
return inoutManager.submitCheck(data);
|
}
|
|
/**
|
* 更新用户选择地磅,根据用户IP保存期选择
|
*
|
* @param param 用参数中的key作为选择
|
* @return
|
*/
|
@RequestMapping("/update-select-weight")
|
public PageResponse<String> updateWeight(HttpServletRequest request, @RequestBody BaseParam param) {
|
try {
|
|
if (null == param.getKey()) {
|
return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
|
"后台异常:没有获取到用户选择地磅");
|
}
|
|
commonManager.setInoutWeightByClient(request, param.getKey());
|
|
return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "更新成功");
|
|
} catch (Exception e) {
|
return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(),
|
"后台异常:" + e.getMessage());
|
}
|
}
|
|
|
/**
|
* 分页获取扦样数据
|
*
|
* @param param
|
* @return
|
*/
|
@RequestMapping("/page-sample-data")
|
public PageResponse<Page<InoutCheckData>> pageSampleData(@RequestBody InoutCheckParam param) {
|
return inoutManager.pageSampleData(param);
|
}
|
|
|
/**
|
* 分页获取化验数据
|
*
|
* @param param
|
* @return
|
*/
|
@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);
|
}
|
}
|