luqingyang
2023-10-31 ffea930626dbf049d678e5abfa16edfdf5133dbf
调拨管理 相关代码
2个文件已添加
2个文件已修改
172 ■■■■■ 已修改文件
consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-model-pojo/src/main/java/com/consum/model/vo/LWhFormOutputVo.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-model-pojo/src/main/java/com/consum/model/vo/LWhGoodsRecordVo.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java
@@ -7,6 +7,7 @@
import com.consum.base.pojo.*;
import com.consum.base.service.*;
import com.consum.model.po.*;
import com.consum.model.vo.LWhFormOutputVo;
import com.consum.model.vo.LWhFormTransferVo;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
@@ -39,6 +40,8 @@
    private BaseWarehouseServiceImpl baseWarehouseService;
    @Autowired
    private LWhProcureModelService lWhProcureModelService;
    @Autowired
    private LWhFormTransferCoreService lWhFormTransferCoreService;
    /**
     * @Description 新增
@@ -59,7 +62,7 @@
    }
    /**
     * @Description  列表查询
     * @Description  列表查询(调拨明细)
     * @Author 卢庆阳
     * @Date 2023/10/30
     */
@@ -73,7 +76,7 @@
        }
        FinSysTenantUser sysInfo = getSysInfo();
        //只能查询本级 及以下机构的进货单
        //只能查询本级 及以下机构的调拨单
        //??????
        GenericPager genericPager = lWhFormTransferService.queryFormTransferList(param);
@@ -109,7 +112,7 @@
     * @Date 2023/10/30
     */
    @GetMapping("/detail")
    public ResponseValue getById(Long id) throws IllegalAccessException {
    public ResponseValue getById(Long id) {
        if (id == null) {
            return ResponseValue.error("调拨单id为空");
        }
@@ -117,5 +120,56 @@
        return ResponseValue.success(vo);
    }
    /**
     * 撤销
     * @author 卢庆阳
     * @date 2023/10/31
     */
    @PostMapping("/updStatus")
    public ResponseValue updateStatus(Long id) {
        if (id == null) {
            return ResponseValue.error("参数错误");
        }
        int num = this.lWhFormTransferService.updateStatus(id);
        return num > 0 ? ResponseValue.success(1) : ResponseValue.error("修改失败!");
    }
    /**
     * @Description  调拨入库
     * @Author 卢庆阳
     * @Date 2023/10/31
     */
    @PostMapping("/income")
    public ResponseValue income(Long id) {
        lWhFormTransferCoreService.doTransferInPut(id, getCurrentUser());
        return ResponseValue.success();
    }
    /**
     * @Description  调拨出库
     * @Author 卢庆阳
     * @Date 2023/10/31
     */
    @PostMapping("/output")
    public ResponseValue output(Long id) {
        lWhFormTransferCoreService.doTransferOutPut(id, getCurrentUser());
        return ResponseValue.success();
    }
    /**
     * @Description  导出调拨出库单
     * @Author 卢庆阳
     * @Date 2023/10/31
     */
    @GetMapping("/export")
    public ResponseValue export(Long id) {
        if (id == null) {
            return ResponseValue.error("调拨单id为空");
        }
        LWhFormOutputVo vo = this.lWhFormTransferService.export(id,this.getCurrentUser());
        return ResponseValue.success(vo);
    }
}
consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java
@@ -3,11 +3,14 @@
import com.consum.base.Constants;
import com.consum.base.core.CodeGeneratorEnum;
import com.consum.base.core.CodeGeneratorService;
import com.consum.base.core.WhBusinessEnum;
import com.consum.base.core.param.BaseWarehouseParam1;
import com.consum.base.pojo.*;
import com.consum.base.util.IdUtil;
import com.consum.model.po.*;
import com.consum.model.vo.LWhFormOutputVo;
import com.consum.model.vo.LWhFormTransferVo;
import com.consum.model.vo.LWhGoodsRecordVo;
import com.iplatform.model.po.S_user_core;
import com.walker.db.page.GenericPager;
import com.walker.infrastructure.utils.DateUtils;
@@ -41,11 +44,19 @@
    private LWhGoodsService lWhGoodsService;
    @Autowired
    private LWhProcureModelService lWhProcureModelService;
    @Autowired
    private LWhFormOutputCoreService lWhFormOutputCoreService;
    @Autowired
    private LWhFormOutputServiceImpl lWhFormOutputService;
    @Autowired
    private LWhGoodsRecordService lWhGoodsRecordService;
    @Autowired
    private BaseGoodsModelsServiceImpl baseGoodsModelsService;
    private static String QUERY_FORM_TRANSFER_LIST = "SELECT * FROM l_wh_form_transfer WHERE 1 = 1";
    /**
     * @Description
     * @Description 新增
     * @Author 卢庆阳
     * @Date 2023/10/30
     */
@@ -135,8 +146,8 @@
        }
        //接收机构
        if (param.getInAgencyId() != null){
            sql.append(" and OUT_AGENCY_ID = :OUT_AGENCY_ID ");
            paramts.put("OUT_AGENCY_ID",   param.getOutAgencyId() );
            sql.append(" and IN_AGENCY_ID = :IN_AGENCY_ID ");
            paramts.put("IN_AGENCY_ID",   param.getInAgencyId() );
        }
        //状态
        if (param.getStates() != null) {
@@ -186,7 +197,58 @@
            BeanUtils.copyProperties(lWhFormTransfer,vo);
        }
        //2.查询物品型号
//        this.lWhProcureModelService.getModelByForm(id)
        return null;
        List<LWhProcureModel> models = this.lWhProcureModelService.getModelByForm(WhBusinessEnum.DIAOBO, id);
        if (!CollectionUtils.isEmpty(models)) {
            vo.setModels(models);
        }
        return vo;
    }
    /**
     * @Description  导出调拨出库单
     * @Author 卢庆阳
     * @Date 2023/10/31
     */
    public LWhFormOutputVo export(Long id, S_user_core currentUser) {
        LWhFormOutputVo result = new LWhFormOutputVo();
        long dealTime = DateUtils.getDateTimeNumber(System.currentTimeMillis());
        //1.根据调拨单生成出库单
        Long outWarehouseFormId = this.lWhFormOutputCoreService.createOutFormByTransId(id, currentUser, dealTime);
        //2.出库单id查询出库单
        LWhFormOutput lWhFormOutput = this.lWhFormOutputService.get(new LWhFormOutput(outWarehouseFormId));
        if (lWhFormOutput!= null) {
            BeanUtils.copyProperties(lWhFormOutput,result);
        }
        //3.根据进出库流水总表id查询l_wh_goods_record
        LWhGoodsRecord record = new LWhGoodsRecord();
        record.setWarehouseFlowId(lWhFormOutput.getWarehouseFlowId());
        List<LWhGoodsRecord> recordList = this.lWhGoodsRecordService.select(record);
        List<LWhGoodsRecordVo> voList = new ArrayList<>();
        if (!CollectionUtils.isEmpty(recordList)) {
            for (LWhGoodsRecord lWhGoodsRecord : recordList) {
                LWhGoodsRecordVo vo = new LWhGoodsRecordVo();
                BeanUtils.copyProperties(lWhGoodsRecord,vo);
                //根据型号id查询型号
                BaseGoodsModels baseGoodsModels = baseGoodsModelsService.get(new BaseGoodsModels(id));
                if (baseGoodsModels != null) {
                    vo.setUnit(baseGoodsModels.getUnit());
                }
                voList.add(vo);
            }
        }
        result.setRecordVoList(voList);
        return result;
    }
    /**
     * 撤销
     * @author 卢庆阳
     * @date 2023/10/31
     */
    public int updateStatus(Long id) {
        LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(id);
        lWhFormTransfer.setStates(4);
        return this.update(lWhFormTransfer);
    }
}
consum-model-pojo/src/main/java/com/consum/model/vo/LWhFormOutputVo.java
New file
@@ -0,0 +1,21 @@
package com.consum.model.vo;
import com.consum.model.po.LWhFormOutput;
import java.util.List;
public class LWhFormOutputVo extends LWhFormOutput {
    /**
     * 各规格物品的进出库记录
     */
    private List<LWhGoodsRecordVo> recordVoList;
    public List<LWhGoodsRecordVo> getRecordVoList() {
        return recordVoList;
    }
    public void setRecordVoList(List<LWhGoodsRecordVo> recordVoList) {
        this.recordVoList = recordVoList;
    }
}
consum-model-pojo/src/main/java/com/consum/model/vo/LWhGoodsRecordVo.java
New file
@@ -0,0 +1,19 @@
package com.consum.model.vo;
import com.consum.model.po.LWhGoodsRecord;
public class LWhGoodsRecordVo extends LWhGoodsRecord {
    /**
     * 物品单位
     */
    private String unit;
    public String getUnit() {
        return unit;
    }
    public void setUnit(String unit) {
        this.unit = unit;
    }
}