luqingyang
2023-10-30 a74126e4f4fd6f2c896f41a67e001f5e2463c594
出入库管理 相关代码
1个文件已添加
3个文件已修改
264 ■■■■■ 已修改文件
consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputExtend.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java
@@ -1,20 +1,22 @@
package com.consum.base.controller;
import com.consum.base.BaseController;
import com.consum.base.pojo.BaseGoodsTemplateParam;
import com.consum.base.pojo.LWhFormOutputParam;
import com.consum.base.pojo.*;
import com.consum.base.service.BaseCategoryServiceImpl;
import com.consum.base.service.LWhFormOutputServiceImpl;
import com.consum.model.po.BaseGoodsTemplate;
import com.consum.model.po.FinSysTenantUser;
import com.consum.model.po.*;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.CollectionUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.web.ResponseValue;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
/**
 * @Description 出库单
@@ -44,6 +46,87 @@
        return ResponseValue.error("新增失败!");
    }
    /**
     * @Description 列表查询
     */
    @GetMapping("/list")
    public ResponseValue queryFormOutputList(LWhFormOutputParam param) {
        S_user_core currentUser = this.getCurrentUser();
        if (currentUser == null) {
            return ResponseValue.error("登录用户信息不存在");
        }
        FinSysTenantUser sysInfo = getSysInfo();
        //只能查询本级 及以下机构的出库单
        //??????
        GenericPager genericPager = lWhFormOutputService.queryFormOutputList(param);
        List<LWhFormOutput> datas = genericPager.getDatas();
        ArrayList<LWhFormProcureExtend> newDatas = new ArrayList<>();
        if (!CollectionUtils.isEmpty(datas)) {
            datas.forEach(item -> {
                // 查询型号数量
                LWhProcureModel lWhProcureModel = new LWhProcureModel();
                lWhProcureModel.setBusinessType(3);
                lWhProcureModel.setBusinessId(item.getId());
                List<LWhProcureModel> models = lWhFormOutputService.select(lWhProcureModel);
                LWhFormProcureExtend formProcureExtend = new LWhFormProcureExtend();
                BeanUtils.copyProperties(item, formProcureExtend);
                formProcureExtend.setModels(models);
                newDatas.add(formProcureExtend);
            });
        }
        try {
            Field fieldDatas = GenericPager.class.getDeclaredField("datas");
            fieldDatas.setAccessible(true);
            fieldDatas.set(genericPager, newDatas);
        } catch (Exception e) {
            e.printStackTrace();
        }
//        genericPager.setDatas(newDatas);
        return ResponseValue.success(genericPager);
    }
    /**
     * 根据id查询详情
     */
    @GetMapping("/detail")
    public ResponseValue getById(Long id) throws IllegalAccessException {
        if (id == null) {
            return ResponseValue.error("出库单id为空");
        }
        LWhFormOutput lWhFormOutput = lWhFormOutputService.get(new LWhFormOutput(id));
        LWhFormOutputExtend formOutputExtend = new LWhFormOutputExtend();
        BeanUtils.copyProperties(lWhFormOutput, formOutputExtend);
        // 物品
        LWhFormProcureGoods lWhFormProcureGoods = new LWhFormProcureGoods();
        lWhFormProcureGoods.setWhFormProcureId(id);
        List<LWhFormProcureGoods> formProcureGoods = lWhFormOutputService.select(lWhFormProcureGoods);
        Field fieldModels = null;
        try {
            fieldModels = LWhFormProcureGoodsParams.class.getDeclaredField("models");
        } catch (NoSuchFieldException e) {
            e.printStackTrace();
        }
        fieldModels.setAccessible(true);
        ArrayList<LWhFormProcureGoodsParams> procureGoodsParams = new ArrayList<>();
        for (LWhFormProcureGoods formProcureGood : formProcureGoods) {
            LWhFormProcureGoodsParams lWhFormProcureGoodsParams = new LWhFormProcureGoodsParams();
            BeanUtils.copyProperties(formProcureGood, lWhFormProcureGoodsParams);
            // 查询型号数量
            LWhProcureModel lWhProcureModel = new LWhProcureModel();
            lWhProcureModel.setFromProcureGoodsId(formProcureGood.getId());
            List<LWhProcureModel> models = lWhFormOutputService.select(lWhProcureModel);
            fieldModels.set(lWhFormProcureGoodsParams, models);
            procureGoodsParams.add(lWhFormProcureGoodsParams);
        }
        formOutputExtend.setProcureGoods(procureGoodsParams);
        return ResponseValue.success("查询成功!", formOutputExtend);
    }
consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputExtend.java
New file
@@ -0,0 +1,33 @@
package com.consum.base.pojo;
import com.consum.model.po.LWhFormProcure;
import com.consum.model.po.LWhProcureModel;
import java.util.List;
/**
 * @Description
 * @Author 卢庆阳
 * @Date 2023/10/30
 */
public class LWhFormOutputExtend extends LWhFormProcure {
    private List<LWhProcureModel> models;
    private List<LWhFormProcureGoodsParams> procureGoods;
    public List<LWhProcureModel> getModels() {
        return models;
    }
    public void setModels(List<LWhProcureModel> models) {
        this.models = models;
    }
    public List<LWhFormProcureGoodsParams> getProcureGoods() {
        return procureGoods;
    }
    public void setProcureGoods(List<LWhFormProcureGoodsParams> procureGoods) {
        this.procureGoods = procureGoods;
    }
}
consum-base/src/main/java/com/consum/base/pojo/LWhFormOutputParam.java
@@ -32,9 +32,34 @@
     */
    private Long baseGoodsTemplateId;
    /**
     * 物品名称
     * 物品模版名称
     */
    private String goodsTemplateName;
    /**
     * 出库单号
     */
    private String businessFormCode;
    /**
     * 机构
     */
    private Long agencyId;
    /**
     * 创建人
     */
    private String operatorName;
    /**
     * 1=待出库;2=已出库
     */
    private Short states;
    /**
     * 出库时间 开始
     */
    private Long outputTimeStart;
    /**
     * 出库时间 结束
     */
    private Long outputTimeEnd;
    public Long getWarehouseId() {
        return warehouseId;
@@ -75,4 +100,52 @@
    public void setGoodsTemplateName(String goodsTemplateName) {
        this.goodsTemplateName = goodsTemplateName;
    }
    public String getBusinessFormCode() {
        return businessFormCode;
    }
    public void setBusinessFormCode(String businessFormCode) {
        this.businessFormCode = businessFormCode;
    }
    public Long getAgencyId() {
        return agencyId;
    }
    public void setAgencyId(Long agencyId) {
        this.agencyId = agencyId;
    }
    public String getOperatorName() {
        return operatorName;
    }
    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }
    public Short getStates() {
        return states;
    }
    public void setStates(Short states) {
        this.states = states;
    }
    public Long getOutputTimeStart() {
        return outputTimeStart;
    }
    public void setOutputTimeStart(Long outputTimeStart) {
        this.outputTimeStart = outputTimeStart;
    }
    public Long getOutputTimeEnd() {
        return outputTimeEnd;
    }
    public void setOutputTimeEnd(Long outputTimeEnd) {
        this.outputTimeEnd = outputTimeEnd;
    }
}
consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java
@@ -3,10 +3,13 @@
import com.consum.base.Constants;
import com.consum.base.core.param.BaseWarehouseParam1;
import com.consum.base.pojo.LWhFormOutputParam;
import com.consum.base.pojo.LWhFormProcureParam;
import com.consum.base.util.IdUtil;
import com.consum.model.po.*;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.DateUtils;
import com.walker.infrastructure.utils.StringUtils;
import com.walker.jdbc.service.BaseServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
@@ -14,6 +17,7 @@
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
import java.util.HashMap;
import java.util.List;
/**
@@ -34,7 +38,10 @@
    @Autowired
    private LWhFormOutputCoreService lWhFormOutputCoreService;
//    /**
    private static String QUERY_FORM_OUTPUT_LIST = "SELECT * FROM l_wh_form_output WHERE 1 = 1";
    //    /**
//     * @Description 新增出库单
//     * @Author 卢庆阳
//     * @Date 2023/10/27
@@ -201,4 +208,52 @@
        return 1;
    }
    /**
     * @Description  列表查询
     * @Author 卢庆阳
     * @Date 2023/10/30
     */
    public GenericPager queryFormOutputList(LWhFormOutputParam param) {
        HashMap<String, Object> paramts = new HashMap<>();
        StringBuilder sql = new StringBuilder(QUERY_FORM_OUTPUT_LIST);
        //出库单号
        if (!StringUtils.isEmpty(param.getBusinessFormCode())) {
            sql.append(" and BUSINESS_FORM_CODE like :businessFormCode ");
            paramts.put("businessFormCode", StringUtils.CHAR_PERCENT + param.getBusinessFormCode() + StringUtils.CHAR_PERCENT);
        }
        //物品名称
        if (!StringUtils.isEmpty(param.getGoodsTemplateName())) {
            sql.append(" AND id IN (SELECT BUSINESS_ID FROM L_WH_PROCURE_MODEL procureModel LEFT JOIN BASE_GOODS_MODELS baseModel ON procureModel.BASE_GOODS_MODELS_ID=baseModel.ID LEFT JOIN BASE_GOODS_TEMPLATE baseTemp ON baseModel.GOODS_TEMPLATES_ID=baseTemp.id WHERE procureModel.BUSINESS_TYPE=1 AND baseTemp.GOODS_NAME LIKE :goodsTemplateName)");
            paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT);
        }
        //机构
        if (param.getAgencyId() != null){
            sql.append(" and AGENCY_ID like :agencyId ");
            paramts.put("agencyId",  param.getAgencyId() + StringUtils.CHAR_PERCENT);
        }
        //创建人
        if (!StringUtils.isEmpty(param.getOperatorName())) {
            sql.append(" and operator_name =:operator_name ");
            paramts.put("operator_name", param.getOperatorName());
        }
        //状态
        if (param.getStates() != null) {
            sql.append(" and states =:states ");
            paramts.put("states", param.getStates());
        }
        //出库时间
        if (param.getOutputTimeStart() != null) {
            sql.append(" and DEAL_TIME >=:outputTimeStart ");
            paramts.put("outputTimeStart", param.getOutputTimeStart() * 1000000);
        }
        if (param.getOutputTimeEnd() != null) {
            sql.append(" and DEAL_TIME <:outputTimeEnd ");
            paramts.put("outputTimeEnd", param.getOutputTimeEnd() * 1000000 + 240000);
        }
        sql.append(" ORDER BY DEAL_TIME DESC");
        GenericPager genericPager = selectSplit(sql.toString(), paramts, new LWhFormOutput());
        return genericPager;
    }
}