luqingyang
2023-10-31 ffea930626dbf049d678e5abfa16edfdf5133dbf
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);
    }
}