cy
2023-11-21 ed0df936cf207478583687c2e590b3c59ad5c25c
consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
@@ -3,16 +3,19 @@
import com.consum.base.BaseController;
import com.consum.base.core.utils.CommonUtil;
import com.consum.base.core.utils.MapUtils;
import com.consum.base.pojo.LWhFormOutputInsertParam;
import com.consum.base.core.utils.MapperUtil;
import com.consum.base.pojo.LWhFormOutputParam;
import com.consum.base.pojo.query.LWhFormOutputQry;
import com.consum.base.pojo.response.FormOutputGoodsVO;
import com.consum.base.pojo.response.FormOutputTemplateInfoVO;
import com.consum.base.pojo.response.FormOutputVO;
import com.consum.base.pojo.response.GoodsModelVO;
import com.consum.base.pojo.response.LWhFormOutputExtendVO;
import com.consum.base.service.LWarehouseFlowService;
import com.consum.base.service.LWhFormOutputServiceImpl;
import com.consum.base.service.LWhGoodsService;
import com.consum.base.service.LWhProcureModelService;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.LWhFormOutput;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
@@ -26,6 +29,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.commons.compress.utils.Lists;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -50,6 +54,8 @@
    private LWhProcureModelService lWhProcureModelService;
    @Autowired
    private LWhGoodsService lWhGoodsService;
    @Resource
    private LWarehouseFlowService lWarehouseFlowService;
    /**
     * @Description 新增出库单
@@ -62,7 +68,7 @@
    })
    @PostMapping("/add")
    public ResponseValue add() {
        LWhFormOutputInsertParam param = CommonUtil.getObjFromReqBody(LWhFormOutputInsertParam.class);
        LWhFormOutputParam param = CommonUtil.getObjFromReqBody(LWhFormOutputParam.class);
        S_user_core currentUser = this.getCurrentUser();
        if (currentUser == null) {
            return ResponseValue.error("登录用户信息不存在");
@@ -86,7 +92,12 @@
        if (currentUser == null) {
            return ResponseValue.error("登录用户信息不存在");
        }
        /*当前登录人只能看到自己机构下的列表*/
        FinSysTenantUser sysInfo = this.getSysInfo();
        String tenantId = sysInfo.getTenantId();
        if (param.getAgencyId() == null) {
            param.setAgencyId(Long.valueOf(tenantId));
        }
        GenericPager genericPager = lWhFormOutputService.queryFormOutputList(param);
        List<LWhFormOutput> data = genericPager.getDatas();
@@ -106,9 +117,9 @@
                    + "WHERE pm.BUSINESS_ID =:id GROUP BY bgm.GOODS_TEMPLATES_ID";
                Map<String, Object> paramMap = new HashMap<>();
                paramMap.put("id", item.getId());
                List<Map<String, Object>> procureModelList = lWhProcureModelService.select(sql, paramMap);
                List<Map<String, Object>> procureModelList = lWhProcureModelService.select(sql, paramMap, new MapperUtil());
                for (Map<String, Object> map : procureModelList) {
                    FormOutputTemplateInfoVO procureTemplateInfoVO = MapUtils.convertMapToObj(MapUtils.toReplaceKeyLow(map), FormOutputTemplateInfoVO.class);
                    FormOutputTemplateInfoVO procureTemplateInfoVO = MapUtils.convertMapToObj(map, FormOutputTemplateInfoVO.class);
                    procureTemplateInfoList.add(procureTemplateInfoVO);
                }
                formOutputVO.setFormOutputTemplateInfoList(procureTemplateInfoList);
@@ -146,10 +157,10 @@
            + "WHERE pm.BUSINESS_ID =:id GROUP BY bgt.id ";
        Map<String, Object> paramMap = new HashMap<>();
        paramMap.put("id", lWhFormOutputExtendVO.getId());
        List<Map<String, Object>> procureModelList = lWhFormOutputService.select(sql, paramMap);
        List<Map<String, Object>> procureModelList = lWhFormOutputService.select(sql, paramMap, new MapperUtil());
        List<FormOutputGoodsVO> fromOutputGoods = Lists.newArrayList();
        for (Map<String, Object> map : procureModelList) {
            FormOutputGoodsVO procureTemplateInfoVO = MapUtils.convertMapToObj(MapUtils.toReplaceKeyLow(map), FormOutputGoodsVO.class);
            FormOutputGoodsVO procureTemplateInfoVO = MapUtils.convertMapToObj(map, FormOutputGoodsVO.class);
            // 查询型号数量
            List<GoodsModelVO> goodsModelVOList = Lists.newArrayList();
@@ -157,9 +168,9 @@
                + "FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID "
                + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID "
                + "WHERE pm.BUSINESS_ID =:id";
            List<Map<String, Object>> modelList = lWhFormOutputService.select(sql2, paramMap);
            List<Map<String, Object>> modelList = lWhFormOutputService.select(sql2, paramMap, new MapperUtil());
            modelList.forEach(item -> {
                GoodsModelVO goodsModelVO = MapUtils.convertMapToObj(MapUtils.toReplaceKeyLow(item), GoodsModelVO.class);
                GoodsModelVO goodsModelVO = MapUtils.convertMapToObj(item, GoodsModelVO.class);
                goodsModelVOList.add(goodsModelVO);
            });
            procureTemplateInfoVO.setModels(goodsModelVOList);
@@ -170,37 +181,19 @@
        return ResponseValue.success("查询成功!", lWhFormOutputExtendVO);
    }
    /**
     * @Description 根据仓库id和型号id 查询库存
     * @Author 卢庆阳
     * @Date 2023/11/2
     */
    @ApiOperation(value = "根据仓库id和型号id 查询库存", notes = "根据仓库id和型号id 查询库存")
    @ApiImplicitParams({
        @ApiImplicitParam(name = "warehouseId", value = "仓库id", required = true, dataType = "Long", paramType = "query"),
        @ApiImplicitParam(name = "baseGoodsModelsId", value = "型号id", required = true, dataType = "Long", paramType = "query")
    })
    @GetMapping("/select/number")
    public ResponseValue selectNumber(Long warehouseId, Long baseGoodsModelsId) {
        if (warehouseId == null || baseGoodsModelsId == null) {
            return ResponseValue.error("参数错误");
        }
        int num = this.lWhGoodsService.queryGoodsModelNum(0, warehouseId, baseGoodsModelsId, (short) 1, null);
        return ResponseValue.success(num);
    }
    @ApiOperation(value = "查询出库单详情明细", notes = "查询出库单详情明细")
    @ApiImplicitParam(name = "formOutputQry", value = "出库单详情查询条件", required = true, dataType = "LWhFormOutputQry", paramType = "query")
    @GetMapping("detail/list")
    @GetMapping("/detail/list")
    public ResponseValue queryFormOutputDetailList() {
        LWhFormOutputQry formOutputQry = CommonUtil.getObjFromReq(LWhFormOutputQry.class);
        S_user_core currentUser = this.getCurrentUser();
        if (currentUser == null) {
            return ResponseValue.error("登录用户信息不存在");
        }
        GenericPager genericPager = lWhFormOutputService.queryFormOutputDetailList(formOutputQry);
        return ResponseValue.success(genericPager);
        GenericPager<Map<String, Object>> mapGenericPager = lWarehouseFlowService.queryBusinessFlowDetail(formOutputQry);
        return ResponseValue.success(mapGenericPager);
    }
}