黎星凯
2024-05-08 b4adff68a07b783fc90da1c9370d8be5f383e700
consum-base/src/main/java/com/consum/base/service/impl/LWhFormTransferServiceImpl.java
@@ -13,6 +13,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.util.CollectionUtils;
@@ -21,6 +22,7 @@
import com.consum.base.core.type.CategoryType;
import com.consum.base.core.type.StatesType;
import com.consum.base.core.type.TransferBusinessType;
import com.consum.base.core.type.TransferStatesType;
import com.consum.base.core.type.WareHouseType;
import com.consum.base.core.utils.CurrencyUtil;
import com.consum.base.core.utils.IdUtil;
@@ -95,7 +97,8 @@
     * @Author 卢庆阳
     * @Date 2023/10/30
     */
    public long add(LWhFormTransferParam param, FinSysTenantUser sysInfo) throws Exception {
    @Transactional(rollbackFor = Exception.class)
    public long add(LWhFormTransferParam param, FinSysTenantUser sysInfo,boolean isHaveDoc) throws Exception {
        // 1.新增调拨单记录
        LWhFormTransfer lWhFormTransfer = new LWhFormTransfer();
        // 调拨单id
@@ -119,10 +122,11 @@
            // 入库仓库为当前用户的默认仓库中的第一个
            String tenantId = sysInfo.getTenantId();
            String tenantName = sysInfo.getTenantName();
            BaseWarehouse warehouse = baseWarehouseService.getDefaultWarehouseByAgencyId(Long.valueOf(tenantId));
            BaseWarehouse warehouse = baseWarehouseService.getWarehouseByAgencyId(Long.valueOf(tenantId), null);
            if (warehouse == null) {
                log.error("仓库不存在");
                throw new Exception("仓库不存在");
                //throw new Exception("仓库不存在");
                return -2L;
            }
            lWhFormTransfer.setInWarehouseId(warehouse.getId());
            lWhFormTransfer.setInWarehouseName(warehouse.getWarehouseName());
@@ -141,7 +145,8 @@
            List<BaseWarehouseManager> managerList = baseWarehouseManagerService.select(manager);
            if (CollectionUtils.isEmpty(managerList)) {
                log.error("该用户不是库管员");
                throw new Exception("该用户不是库管员");
                //throw new Exception("该用户不是库管员");
                return -1L;
            }
            BaseWarehouseManager baseWarehouseManager = managerList.stream().findFirst().orElse(null);
            Long baseWarehouseId = baseWarehouseManager.getBaseWarehouseId();
@@ -153,7 +158,11 @@
            lWhFormTransfer.setInWarehouseId(param.getDepartmentId());
            lWhFormTransfer.setInWarehouseName(param.getDepartmentName());
            lWhFormTransfer.setInOperatorName(param.getOperatorName());
            lWhFormTransfer.setInTime(param.getCreateTime());
            if(!isHaveDoc){
                lWhFormTransfer.setInTime(param.getCreateTime());
            }
            lWhFormTransfer.setOutWarehouseType(WareHouseType.TENANT.getValue());
            lWhFormTransfer.setOutWarehouseId(warehouse.getId());
@@ -161,7 +170,10 @@
            lWhFormTransfer.setOutOperatorId(sysInfo.getId());
            lWhFormTransfer.setOutOperatorName(sysInfo.getUserName());
            lWhFormTransfer.setOutputTime(param.getCreateTime());
            if(!isHaveDoc) {
                lWhFormTransfer.setOutputTime(param.getCreateTime());
            }
            lWhFormTransfer.setTel(param.getTel());
        }
@@ -170,6 +182,7 @@
        FinSysTenant finSysTenant = finSysTenantService.get(new FinSysTenant(param.getOutAgencyId()));
        if (finSysTenant == null) {
            log.error("调拨机构不存在");
            throw new Exception("调拨机构不存在");
        }
        Long outAgencyId = finSysTenant.getId();
        lWhFormTransfer.setOutAgencyId(outAgencyId);
@@ -178,7 +191,7 @@
        lWhFormTransfer.setOperatorName(sysInfo.getUserName());
        lWhFormTransfer.setCreateTime(param.getCreateTime());
        // 0=待出库;1=待接收;2=已入库库:4=已撤销
        lWhFormTransfer.setStates(0);
        lWhFormTransfer.setStates(TransferStatesType.OUT_PENDING.getValue());
        lWhFormTransfer.setProcureDoc(param.getProcureDoc());
        int flag1 = this.insert(lWhFormTransfer);
@@ -441,67 +454,6 @@
        }
        result.setFormTransferGoods(goodsTemplateInfoList);
        // String sql = "SELECT bgt.id, CATEGORY_ID, CATEGORY_NAME, GOODS_NAME,bgt.CLASSIFICATION type "
        // + "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 GROUP BY bgt.id ";
        // Map<String, Object> paramMap = new HashMap<>();
        // paramMap.put("id", result.getId());
        // List<Map<String, Object>> procureModelList = this.select(sql, paramMap, new MapperUtil());
        //
        // String queryRecord =
        // "SELECT * FROM l_wh_procure_model_user_record where TRANS_BUSINESS_ID = :id order by DEAL_TIME desc limit 1";
        // LWhProcureModelUserRecord lWhProcureModelUserRecord =
        // lWhProcureModelUserRecordService.get(queryRecord, paramMap, new LWhProcureModelUserRecord());
        // List<FormTransferGoodsVO> formTransferGoods = Lists.newArrayList();
        // for (Map<String, Object> map : procureModelList) {
        // FormTransferGoodsVO procureTemplateInfoVO = MapUtils.convertMapToObj(map, FormTransferGoodsVO.class);
        // Long baseGoodsTemplateId = procureTemplateInfoVO.getId();
        // // 查询型号数量
        // List<GoodsModelVO> goodsModelVOList = Lists.newArrayList();
        // String sql2 = "SELECT pm.id,pm.BASE_GOODS_MODELS_NAME,bgm.UNIT,COUNTS,total_amount "
        // + "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 and bgt.id =:baseGoodsTemplateId";
        // Map<String, Object> goodsModelParamMap = new HashMap<>();
        // goodsModelParamMap.put("id", result.getId());
        // goodsModelParamMap.put("baseGoodsTemplateId", baseGoodsTemplateId);
        // List<Map<String, Object>> modelList = this.select(sql2, goodsModelParamMap, new MapperUtil());
        // modelList.forEach(item -> {
        // GoodsModelVO goodsModelVO = MapUtils.convertMapToObj(item, GoodsModelVO.class);
        // Integer businessType = result.getBusinessType();
        // String type = procureTemplateInfoVO.getType();
        // // 部门分发需要查询使用信息
        // if (businessType == 1 && "A".equals(type)) {
        // Long procureModelId = goodsModelVO.getId();
        // LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser();
        // lWhProcureModelUser.setWhProcureModelId(procureModelId);
        // lWhProcureModelUser.setProcureModelUserRecordId(lWhProcureModelUserRecord.getId());
        // List<LWhProcureModelUser> procureModelUserList =
        // this.lWhProcureModelUserService.select(lWhProcureModelUser);
        // if (!CollectionUtils.isEmpty(procureModelUserList)) {
        // List<DepartGoodsUseInfo> departGoodsUseInfoList = Lists.newArrayList();
        // procureModelUserList.forEach(useInfo -> {
        // Integer goodsNum = useInfo.getGoodsNum();
        // Long nowUserPhone = useInfo.getNowUserPhone();
        // String nowUserName = useInfo.getNowUserName();
        // DepartGoodsUseInfo departGoodsUseInfo = new DepartGoodsUseInfo();
        // departGoodsUseInfo.setName(nowUserName);
        // departGoodsUseInfo.setNum(goodsNum);
        // departGoodsUseInfo.setTel(nowUserPhone);
        // departGoodsUseInfoList.add(departGoodsUseInfo);
        // });
        // goodsModelVO.setUseInfo(departGoodsUseInfoList);
        // }
        //
        // }
        // goodsModelVOList.add(goodsModelVO);
        // procureTemplateInfoVO.setModels(goodsModelVOList);
        // });
        // formTransferGoods.add(procureTemplateInfoVO);
        // }
        // result.setFormTransferGoods(formTransferGoods);
        return result;
    }
@@ -544,7 +496,7 @@
     */
    public int updateStatus(Long id) {
        LWhFormTransfer lWhFormTransfer = new LWhFormTransfer(id);
        lWhFormTransfer.setStates(4);
        lWhFormTransfer.setStates(TransferStatesType.CANCEL.getValue());
        return this.update(lWhFormTransfer);
    }
@@ -643,11 +595,11 @@
        }
        if (param.getOutAgencyId() != null) {
            sql.append("AND ft.OUT_AGENCY_ID like :outAgencyId ");
            params.put("outAgencyId", param.getOutAgencyId());
            params.put("outAgencyId", param.getOutAgencyId() + StringUtils.CHAR_PERCENT);
        }
        if (param.getOutAgencyId() != null) {
        if (param.getInAgencyId() != null) {
            sql.append("AND ft.IN_AGENCY_ID like :inAgencyId ");
            params.put("inAgencyId", param.getInAgencyId());
            params.put("inAgencyId", param.getInAgencyId() + StringUtils.CHAR_PERCENT);
        }
        if (StringUtils.isNotEmpty(param.getOperatorName())) {
            sql.append("AND ft.OPERATOR_NAME = :operatorName ");