czt
2023-06-12 1b60f1df51e1824154018a5b6a7159b09b44c8b1
igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java
@@ -1,6 +1,7 @@
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;
@@ -9,11 +10,11 @@
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.io.dto.WeightDto;
import com.ld.igds.models.Depot;
import com.ld.igds.models.DicTrigger;
import com.ld.igds.models.InoutConf;
@@ -171,7 +172,6 @@
        }
        ModelAndView view = new ModelAndView();
        IUser user = ContextUtil.getLoginUser();
        view.addObject(Constant.MODEL_KEY_LOGIN_USER, user);
@@ -181,59 +181,52 @@
        view.addObject("deptId", deptId);
        // 仓库列表做下拉框使用
        List<Depot> listDepot = commonManager.listInDepot();
        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(), ContextUtil.subDeptId(user));
        //称重是否可编辑标签
        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<WeightDto> listWeight = inoutCommonManager.getInoutWeightAll(listInoutConf, InoutConstant.CONF_TYPE_30);
        //根据出入库设备信息筛选地磅配置信息,所有地磅,支持用户手动选择
        List<InoutConf> listWeight = inoutCommonManager.getInoutConf(listInoutConf, InoutConstant.CONF_TYPE_30);
        view.addObject("listWeight", listWeight);
        // 获取当前地磅信息
        WeightDto weightDto = inoutCommonManager.getInoutCurWeight(listWeight, sort);
        // 获取当前地磅
        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);
        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);
        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);
        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_70,
                InoutConstant.PROGRESS_WEIGHT_TAG, 1);
        view.addObject("gateDto", 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;
@@ -245,19 +238,25 @@
     * @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();
        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", ContextUtil.subDeptId(user));
        view.addObject("deptId", deptId);
        view.addObject("type", InoutConstant.TYPE_IN);
        // 仓库列表做下拉框使用
        List<Depot> listDepot = commonManager.listInDepot();
        List<SimpleDepot> listDepot = commonManager.getCacheDeptIn(user.getCompanyId(), deptId);
        view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
        //入库流程
@@ -268,15 +267,13 @@
        // 当前流程节点
        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;
@@ -294,12 +291,13 @@
        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", ContextUtil.subDeptId(user));
        view.addObject("deptId", deptId);
        view.addObject("type", InoutConstant.TYPE_IN);
        // 仓库列表做下拉框使用
        List<Depot> listDepot = commonManager.listInDepot();
        List<SimpleDepot> listDepot = commonManager.getCacheDeptIn(user.getCompanyId(), deptId);
        view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
        //入库流程
@@ -387,7 +385,7 @@
        view.addObject("deptId", deptId);
        // 仓库列表做下拉框使用
        List<Depot> listDepot = commonManager.listInDepot();
        List<SimpleDepot> listDepot = commonManager.getCacheDeptOut(user.getCompanyId(), deptId);
        view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
        // 当前流程标签
@@ -409,11 +407,11 @@
        List<InoutConf> listInoutConf = inoutCommonManager.getListInoutConf(user.getCompanyId(), deptId);
        //获取所有的地磅列表用于页面用户选择
        List<WeightDto> listWeight = inoutCommonManager.getInoutWeightAll(listInoutConf, InoutConstant.CONF_TYPE_30);
        List<InoutConf> listWeight = inoutCommonManager.getInoutConf(listInoutConf, InoutConstant.CONF_TYPE_30);
        view.addObject("listWeight", listWeight);
        // 获取当前地磅信息
        WeightDto weightDto = inoutCommonManager.getInoutCurWeight(listWeight, sort);
        InoutConf weightDto = inoutCommonManager.getInoutConf(listInoutConf, sort, InoutConstant.CONF_TYPE_30);
        view.addObject("weightDto", weightDto);
        // 过程摄像头1
@@ -454,7 +452,7 @@
        view.addObject("type", InoutConstant.TYPE_OUT);
        // 仓库列表做下拉框使用
        List<Depot> listDepot = commonManager.listOutDepot();
        List<SimpleDepot> listDepot = commonManager.getCacheDeptOut(user.getCompanyId(), deptId);
        view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
        //出库流程
@@ -489,15 +487,19 @@
        ModelAndView view = new ModelAndView();
        // 仓库列表做下拉框使用
        List<Depot> listDepot = commonManager.listOutDepot();
        view.addObject(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
        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", ContextUtil.subDeptId(user));
        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(),
@@ -529,6 +531,7 @@
     */
    @RequestMapping("/inout-query")
    public PageResponse<InoutData> inoutQuery(@RequestBody InoutParam param) {
        if (null == param.getCompanyId()) param.setCompanyId(ContextUtil.getCompanyId());
        return inoutManager.inoutQuery(param);
    }
@@ -604,6 +607,38 @@
    }
    /**
     * 出入库称重环节提交
     *
     * @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 {
        return inoutManager.submitHandle(data);
    }
    /**
     * 卡回收页面提交,如果是正常流程卡回收则走正常完成流程,否则执行删除逻辑并回收卡
     *
     * @param data
@@ -614,22 +649,22 @@
        return inoutManager.inoutBack(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);
        }
    }
//    /**
//     * 化验页面数据提交
//     *
//     * @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);
//        }
//    }
    /**
     * 根据卡号和类型,直接完成当前流程
@@ -648,34 +683,34 @@
        }
    }
    /**
     * 根据入库数据信息,获取检查项信息,如果当前数据已经检测完成,查询检测结果,如果没有检测完成则根据检测项配置获取需要检测的项目信息
     *
     * @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());
        }
    }
//    /**
//     * 根据入库数据信息,获取检查项信息,如果当前数据已经检测完成,查询检测结果,如果没有检测完成则根据检测项配置获取需要检测的项目信息
//     *
//     * @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());
//        }
//    }
    /**
     * 分页获取数据信息
     *
     * @param param
     * @return
     */
    @RequestMapping("/page-check-data")
    public PageResponse<Page<InoutData>> pageCheckData(
            @RequestBody InoutParam param) {
        return inoutManager.pageCheckData(param);
    }
//    /**
//     * 分页获取数据信息
//     *
//     * @param param
//     * @return
//     */
//    @RequestMapping("/page-check-data")
//    public PageResponse<Page<InoutData>> pageCheckData(
//            @RequestBody InoutParam param) {
//        return inoutManager.pageCheckData(param);
//    }
    /**
     * 道闸控制
@@ -740,6 +775,8 @@
        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);
@@ -774,7 +811,7 @@
    }
    /**
     * 分页获取扦样记录信息
     * 分页获取扦样数据
     *
     * @param param
     * @return
@@ -785,19 +822,48 @@
    }
    /**
     * 扦样页面提交
     * 扦样页面提交更新
     *
     * @param data
     * @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);
        }
        return inoutManager.updateSampleData(data);
    }
    /**
     * 分页获取化验数据
     *
     * @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 data
     * @return
     */
    @RequestMapping("/update-check")
    public PageResponse<InoutCheckData> updateCheck1(@RequestBody InoutCheckData data) {
        return inoutManager.updateCheckData(data);
    }
}