czt
2025-12-03 53fab3f56e8335fbf39fc07c4e10f6abdb0505bb
fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/inout/InoutController.java
@@ -1,12 +1,14 @@
package com.fzzy.sys.controller.inout;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fzzy.common.dto.BaseParam;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.constant.RespCodeEnum;
import com.fzzy.igds.data.IgdsBaseParam;
import com.fzzy.igds.data.InoutParam;
import com.fzzy.igds.data.NoticeParam;
import com.fzzy.igds.data.PageResponse;
import com.fzzy.igds.domain.Depot;
import com.fzzy.igds.domain.InoutConf;
import com.fzzy.igds.domain.InoutRecord;
import com.fzzy.igds.domain.*;
import com.fzzy.igds.utils.ContextUtil;
import com.fzzy.igds.utils.DateUtil;
import com.fzzy.sys.manager.common.CommonManager;
@@ -46,23 +48,21 @@
    private CommonManager commonManager;
    /**
     * 出入库快速登记
     *
     * 登记,出入库共用
     * @param httpRequest
     * @param sort        配套号
     * @param type        业务类型:IN-入库,OUT-出库
     * @param sort         配套号
     * @param type         业务类型:IN-入库,OUT-出库
     * @param view
     * @return
     */
    @RequestMapping("/register")
    public String register(HttpServletRequest httpRequest,
                           @RequestParam(value = "sort", required = false) String sort,
                           @RequestParam(value = "type", required = false) String type,
                           ModelMap view) {
                              @RequestParam(value = "sort", required = false) String sort,
                              @RequestParam(value = "type", required = false) String type,
                              ModelMap view) {
        SysUser user = ContextUtil.getLoginUser();
        view.put(Constant.MODEL_KEY_LOGIN_USER, user);
        String deptId = ContextUtil.subDeptId(user);
        view.put("deptId", deptId);
@@ -73,46 +73,31 @@
            sort = inoutManager.getInoutWeightByClient(httpRequest);
        }
        if (StringUtils.isEmpty(type)) {
        if (StringUtils.isBlank(type)) {
            //默认入库
            type = Constant.TYPE_IN;
        }
        view.put("type", type);
        //称重是否可编辑标签
        String weightEditTag = inoutManager.getWeightEditTag(user.getCompanyId(), deptId);
        view.put("weightEditTag", weightEditTag);
        // 类型列表
        List<SysDictData> listInoutType = commonManager.getInoutType();
        view.put("listInoutType", listInoutType);
        //出入库流程
        String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(), ContextUtil.subDeptId(user), type);
        view.put("inoutProgress", inoutProgress);
        // 当前流程节点
        view.put("progress", Constant.PROGRESS_REGISTER);
        // 获取出入库配置信息
        List<InoutConf> listInoutConf = inoutManager.getListInoutConf(user.getCompanyId(), deptId);
        //根据出入库设备信息筛选地磅配置信息,所有地磅,支持用户手动选择
        List<InoutConf> listWeight = inoutManager.getInoutConf(listInoutConf, Constant.CONF_TYPE_30);
        view.put("listWeight", listWeight);
        // 车牌识别参数封装
        InoutConf conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_10, Constant.PROGRESS_REGISTER, 1);
        view.put("lprDto", conf);
        // 获取当前地磅
        InoutConf weightDto = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_30);
        view.put("weightDto", weightDto);
        // 过程摄像头1
        InoutConf conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 1);
        view.put("snapDto1", conf);
        // 过程摄像头2
        conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 2);
        view.put("snapDto2", conf);
        // 过程摄像头3
        conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 3);
        view.put("snapDto3", conf);
        return prefix + "/inout-register";
        return prefix + "/register";
    }
    /**
@@ -120,15 +105,14 @@
     * @return
     */
    @RequestMapping("/check")
    public String check(HttpServletRequest httpRequest, ModelMap view) {
    public String check(ModelMap view) {
        SysUser user = ContextUtil.getLoginUser();
        view.put(Constant.MODEL_KEY_LOGIN_USER, user);
        String deptId = ContextUtil.subDeptId(user);
        view.put("type", Constant.TYPE_IN);
        view.put("deptId", deptId);
        view.put("type", Constant.TYPE_IN);
        // 仓库列表做下拉框使用
        List<Depot> listDepot = commonManager.listDepotByDeptId(deptId);
@@ -141,14 +125,13 @@
        // 当前流程节点
        view.put("progress", Constant.PROGRESS_CHECK);
        // 粮食品种下拉框
        List<SysDictData> listFoodVariety = commonManager.getDicTrigger(
                Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId());
        view.put("listFoodVariety", listFoodVariety);
        // 类型列表
        List<SysDictData> listInoutType = commonManager.getInoutType();
        view.put("listInoutType", listInoutType);
        // 粮食性质下拉框
        List<SysDictData> listFoodType = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_TYPE, user.getCompanyId());
        view.put("listFoodType", listFoodType);
        // 粮食品种下拉框
        List<SysDictData> listFoodVariety = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId());
        view.put("listFoodVariety", listFoodVariety);
        // 粮食等级下拉框
        List<SysDictData> listFoodLevel = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_LEVEL, user.getCompanyId());
@@ -157,9 +140,8 @@
        view.put("endTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
        view.put("startTime", DateFormatUtils.format(DateUtil.getNewByDay(null, -30), "yyyy-MM-dd"));
        return prefix + "/inout-check";
        return prefix + "/check";
    }
    /**
     * 入库称重操作,包括空车称重和满车称重,共用一个页面
@@ -171,8 +153,12 @@
    public String weight(HttpServletRequest httpRequest,
                         @RequestParam(value = "sort", required = false) String sort,
                         @RequestParam(value = "type", required = false) String type,
                         @RequestParam(value = "viewTag", required = false) String viewTag,
                         ModelMap view) {
        if (StringUtils.isEmpty(viewTag)) {
            viewTag = "1";
        }
        //如果没有指定地磅,从用户上一个选择中获取
        if (StringUtils.isEmpty(sort)) {
            sort = "1";
@@ -189,25 +175,27 @@
        SysUser user = ContextUtil.getLoginUser();
        view.put(Constant.MODEL_KEY_LOGIN_USER, user);
        String deptId = ContextUtil.subDeptId(user);
        view.put("type", type);
        view.put("deptId", deptId);
        // 仓库列表做下拉框使用
        List<Depot> listDepot = commonManager.listDepotByDeptId(deptId);
        view.put(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
        //称重是否可编辑标签
        String weightEditTag = inoutManager.getWeightEditTag(user.getCompanyId(), deptId);
        view.put("weightEditTag", weightEditTag);
        // 当前流程标签
        view.put("progress", Constant.PROGRESS_WEIGHT_TAG);
        //入库流程配置
        String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(), deptId, Constant.TYPE_IN);
        String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(), deptId, type);
        view.put("inoutProgress", inoutProgress);
        //称重是否可编辑标签
        String weightEditTag = inoutManager.getWeightEditTag(user.getCompanyId(), deptId);
        view.put("weightEditTag", weightEditTag);
        // 类型
        List<SysDictData> listInoutType = commonManager.getInoutType();
        view.put("listInoutType", listInoutType);
        // 仓库列表做下拉框使用
        List<Depot> listDepot = commonManager.listDepotByDeptId(deptId);
        view.put(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
        // 粮食品种下拉框
        List<SysDictData> listFoodVariety = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId());
@@ -236,127 +224,21 @@
        conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 3);
        view.put("snapDto3", conf);
        return prefix + "/inout-weight";
    }
    /**
     * 出库登记
     *
     * @param sort 表示使用的出入库设备配套号,不传递默认为1
     * @return
     */
    @RequestMapping("/out-register")
    public String outRegister(HttpServletRequest httpRequest,
                              @RequestParam(value = "sort", required = false) String sort,
                              ModelMap view) {
        SysUser user = ContextUtil.getLoginUser();
        view.put(Constant.MODEL_KEY_LOGIN_USER, user);
        if (StringUtils.isEmpty(sort)) {
            sort = inoutManager.getInoutWeightByClient(httpRequest);
        }
        if (StringUtils.isEmpty(sort)) {
            sort = "1";
        }
        String deptId = ContextUtil.subDeptId(user);
        view.put("type", Constant.TYPE_OUT);
        view.put("deptId", deptId);
        // 类型
        List<SysDictData> listInoutType = commonManager.getInoutType();
        view.put("listInoutType", listInoutType);
        //入库流程
        String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(), ContextUtil.subDeptId(user), Constant.TYPE_OUT);
        view.put("inoutProgress", inoutProgress);
        // 当前流程节点
        view.put("progress", Constant.PROGRESS_REGISTER);
        // 获取出入库配置信息
        List<InoutConf> listInoutConf = inoutManager.getListInoutConf(user.getCompanyId(), deptId);
        // 车牌识别参数封装
        InoutConf conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_10, Constant.PROGRESS_REGISTER, 1);
        view.put("lprDto", conf);
        return prefix + "/out-register";
    }
    /**
     * 出库简易操作页面
     *
     * @param sort 表示使用的出入库设备配套号,不传递默认为1
     * @return
     */
    @RequestMapping("/out-easy")
    public String outEasy(@RequestParam(value = "sort", required = false) String sort,
                                @RequestParam(value = "type", required = false) String type,
                                ModelMap view) {
        SysUser user = ContextUtil.getLoginUser();
        view.put(Constant.MODEL_KEY_LOGIN_USER, user);
        view.put("type", Constant.TYPE_OUT);
        String deptId = ContextUtil.subDeptId(user);
        view.put("deptId", deptId);
        // 仓库列表做下拉框使用
        List<Depot> listDepot = commonManager.listDepotByDeptId(deptId);
        view.put(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
        //入库流程
        String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(),
                ContextUtil.subDeptId(user), Constant.TYPE_IN);
        view.put("inoutProgress", inoutProgress);
        // 粮食品种下拉框
        List<SysDictData> listFoodVariety = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId());
        view.put("listFoodVariety", listFoodVariety);
        // 粮食性质下拉框
        List<SysDictData> listFoodType = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_TYPE, user.getCompanyId());
        view.put("listFoodType", listFoodType);
        // 粮食等级下拉框
        List<SysDictData> listFoodLevel = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_LEVEL, user.getCompanyId());
        view.put("listFoodLevel", listFoodLevel);
        // 类型
        List<SysDictData> listInoutType = commonManager.getInoutType();
        view.put("listInoutType", listInoutType);
        // 当前流程标签
        view.put("progress", Constant.PROGRESS_WEIGHT_TAG);
        // 获取出入库配置信息
        List<InoutConf> listInoutConf = inoutManager.getListInoutConf(user.getCompanyId(), deptId);
        // 获取地磅信息
        InoutConf weightDto = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_30);
        view.put("weightDto", weightDto);
        // 过程摄像头1
        InoutConf conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 1);
        view.put("snapDto1", conf);
        // 过程摄像头2
        conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 2);
        view.put("snapDto2", conf);
        // 过程摄像头3
        conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 3);
        view.put("snapDto3", conf);
        //默认查询时间
        view.put("endTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
        view.put("startTime", DateFormatUtils.format(DateUtil.getNewByDay(null, -30), "yyyy-MM-dd"));
        return prefix + "/out-easy";
        String viewStr = prefix + "/weight";
        if ("1".equals(viewTag)) {
            viewStr = prefix + "/weight";
        }
        if ("2".equals(viewTag)) {
            viewStr = prefix + "/weight2";
        }
        return viewStr;
    }
    /**
     * 分页获取流程未完成的数据
@@ -368,6 +250,18 @@
    @ResponseBody
    public PageResponse<Page<InoutRecord>> pageInoutData(@RequestBody InoutParam param) {
        return inoutManager.pageInoutData(param);
    }
    /**
     * 获取待称重的数据
     *
     * @param param
     * @return
     */
    @RequestMapping("/list-weight-data")
    @ResponseBody
    public PageResponse<List<InoutRecord>> listWeightData(@RequestBody InoutParam param) {
        return inoutManager.listWeightData(param);
    }
    /**
@@ -437,4 +331,39 @@
        return inoutManager.submitHandle(data);
    }
    /**
     * 获取行政区域
     *
     * @return
     */
    @RequestMapping("/page-dicArea")
    @ResponseBody
    public PageResponse<Page<DicArea>> pageDicArea(@RequestBody IgdsBaseParam param) {
        return inoutManager.pageDicArea(param);
    }
    /**
     * 入库通知单-获取没有完成的通知单列表
     *
     * @return
     */
    @RequestMapping("/list-notice-in")
    @ResponseBody
    public PageResponse<List<InoutNoticeIn>> listNoticeIn(@RequestBody NoticeParam param) {
        return inoutManager.listNoticeIn(param);
    }
    /**
     * 出库通知单-获取没有完成的通知单列表
     *
     * @return
     */
    @RequestMapping("/list-notice-out")
    @ResponseBody
    public PageResponse<List<InoutNoticeOut>> listNoticeOut(@RequestBody NoticeParam param) {
        return inoutManager.listNoticeOut(param);
    }
}