| | |
| | | package com.consum.base.service.impl; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import org.apache.commons.compress.utils.Lists; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import com.consum.base.core.CodeGeneratorEnum; |
| | | import com.consum.base.core.CodeGeneratorService; |
| | | import com.consum.base.core.type.CategoryType; |
| | |
| | | import com.consum.base.pojo.response.GoodsModelVO; |
| | | import com.consum.base.pojo.response.GoodsTemplateInfoVO; |
| | | import com.consum.base.pojo.response.LWHFromTransferExtendVO; |
| | | import com.consum.base.service.*; |
| | | import com.consum.model.po.*; |
| | | import com.consum.base.service.BaseWarehouseManagerService; |
| | | import com.consum.base.service.BaseWarehouseService; |
| | | import com.consum.base.service.FinSysTenantServiceImpl; |
| | | import com.consum.base.service.LWhFormTransferService; |
| | | import com.consum.base.service.LWhGoodsService; |
| | | import com.consum.base.service.LWhProcureModelService; |
| | | import com.consum.base.service.LWhProcureModelUserRecordService; |
| | | import com.consum.base.service.LWhProcureModelUserService; |
| | | import com.consum.model.po.BaseWarehouse; |
| | | import com.consum.model.po.BaseWarehouseManager; |
| | | import com.consum.model.po.FinSysTenant; |
| | | import com.consum.model.po.FinSysTenantUser; |
| | | import com.consum.model.po.LWhFormTransfer; |
| | | import com.consum.model.po.LWhProcureModel; |
| | | import com.consum.model.po.LWhProcureModelUser; |
| | | import com.consum.model.po.LWhProcureModelUserRecord; |
| | | 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 org.apache.commons.compress.utils.Lists; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @Description 调拨管理 |
| | |
| | | @Autowired |
| | | private BaseWarehouseManagerService baseWarehouseManagerService; |
| | | |
| | | private static final String QUERY_FORM_TRANSFER_LIST = |
| | | "SELECT DISTINCT ft.* FROM l_wh_form_transfer ft " + "left join L_WH_PROCURE_MODEL pm on pm.BUSINESS_ID = ft.id " |
| | | + "LEFT JOIN BASE_GOODS_MODELS bgm ON pm.BASE_GOODS_MODELS_ID=bgm.ID " |
| | | + "LEFT JOIN BASE_GOODS_TEMPLATE bgt ON bgm.GOODS_TEMPLATES_ID=bgt.id WHERE 1 = 1 "; |
| | | private static final String QUERY_FORM_TRANSFER_LIST = "SELECT DISTINCT ft.* FROM l_wh_form_transfer ft " |
| | | + "left join L_WH_PROCURE_MODEL pm on pm.BUSINESS_ID = ft.id " |
| | | + "LEFT JOIN BASE_GOODS_MODELS bgm ON pm.BASE_GOODS_MODELS_ID=bgm.ID " |
| | | + "LEFT JOIN BASE_GOODS_TEMPLATE bgt ON bgm.GOODS_TEMPLATES_ID=bgt.id WHERE 1 = 1 "; |
| | | |
| | | /** |
| | | * @Description 新增 |
| | |
| | | // 3.当业务类型为部门分发时 添加部门分发记录和使用人 |
| | | // 单据类型 1 采购2 调拨 3出库4部门分发 |
| | | // 部门分发类型 |
| | | if (businessType == 1 && "A".equals(baseModelMap.get("type"))) { |
| | | if (businessType == 1 && CategoryType.TYPE_A.getValue().equals(baseModelMap.get("type"))) { |
| | | // TODO 重复保存 |
| | | LWhProcureModelUserRecord lWhProcureModelUserRecord = new LWhProcureModelUserRecord(); |
| | | lWhProcureModelUserRecord.setId(IdUtil.generateId()); |
| | | lWhProcureModelUserRecord.setTransBusinessId(lWhFormTransferId); |
| | | lWhProcureModelUserRecord.setOperatorId(sysInfo.getId()); |
| | | lWhProcureModelUserRecord.setOperatorName(sysInfo.getUserName()); |
| | | lWhProcureModelUserRecord.setDealTime(DateUtils.getDateTimeNumber(System.currentTimeMillis())); |
| | | lWhProcureModelUserRecordService.insert(lWhProcureModelUserRecord); |
| | | |
| | | List<LWhProcureModelUser> procureModelUserList = Lists.newArrayList(); |
| | |
| | | log.error("新增物品使用信息失败"); |
| | | TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); |
| | | } |
| | | |
| | | } |
| | | |
| | | modelList.add(lWhProcureModel); |
| | |
| | | if (CollectionUtils.isEmpty(goodsModelInfo)) { |
| | | return result; |
| | | } |
| | | // 查询部门物品使用信息 |
| | | Map<String, Object> paramMap = new HashMap<>(); |
| | | paramMap.put("id", result.getId()); |
| | | 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()); |
| | | |
| | | Map<Long, List<GoodModelInfoDTO>> collect = |
| | | goodsModelInfo.stream().filter(Objects::nonNull).filter(dto -> dto.getBaseGoodsTemplateId() != null) |
| | |
| | | String type = goodsTemplateInfoVO.getType(); |
| | | if (businessType == 1 && CategoryType.TYPE_A.getValue().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 -> { |