Browse Source

制品报废子表新增与Bom拆解更新

master
赵雪冰 2 years ago
parent
commit
4dd6d575d6
  1. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/ProductscrapRecordDetailExportReqVO.java
  2. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/ProductscrapRecordDetailPageReqVO.java
  3. 10
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/ProductscrapRequestMainController.java
  4. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestDetailBaseVO.java
  5. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainBaseVO.java
  6. 8
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainExportReqVO.java
  7. 9
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainPageReqVO.java
  8. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productscrapRecord/ProductscrapRecordDetailDO.java
  9. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productscrapRecord/ProductscrapRecordDetailMapper.java
  10. 13
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productscrapRequest/ProductscrapRequestMainMapper.java
  11. 15
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/ProductscrapRequestDetailService.java
  12. 87
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/ProductscrapRequestDetailServiceImpl.java
  13. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/ProductscrapRequestMainService.java
  14. 96
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/ProductscrapRequestMainServiceImpl.java
  15. 12
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/RawscrapRequestDetailService.java
  16. 34
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/RawscrapRequestDetailServiceImpl.java

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/ProductscrapRecordDetailExportReqVO.java

@ -91,4 +91,7 @@ public class ProductscrapRecordDetailExportReqVO {
@Schema(description = "任务明细ID") @Schema(description = "任务明细ID")
private String jobDetailId; private String jobDetailId;
@Schema(description = "主键ID")
private Long masterID;
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRecord/vo/ProductscrapRecordDetailPageReqVO.java

@ -93,4 +93,7 @@ public class ProductscrapRecordDetailPageReqVO extends PageParam {
@Schema(description = "任务明细ID") @Schema(description = "任务明细ID")
private String jobDetailId; private String jobDetailId;
@Schema(description = "主键ID")
private Long masterId;
} }

10
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/ProductscrapRequestMainController.java

@ -9,6 +9,7 @@ import com.win.framework.excel.core.util.ExcelUtils;
import com.win.framework.operatelog.core.annotations.OperateLog; import com.win.framework.operatelog.core.annotations.OperateLog;
import com.win.module.system.api.user.AdminUserApi; import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.api.user.dto.AdminUserRespDTO; import com.win.module.system.api.user.dto.AdminUserRespDTO;
import com.win.module.wms.controller.productdismantleRequest.vo.ProductdismantleRequestDetailbUpdateReqVO;
import com.win.module.wms.controller.productscrapRequest.vo.*; import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestMainConvert; import com.win.module.wms.convert.productscrapRequest.ProductscrapRequestMainConvert;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO; import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
@ -225,4 +226,13 @@ public class ProductscrapRequestMainController {
return success(pageResult); return success(pageResult);
} }
@PostMapping("/updateBom")
@Operation(summary = "更新制品报废申请二级子表")
@PreAuthorize("@ss.hasPermission('wms:productscrap-request-main:update')")
public CommonResult<Boolean> updateProductscrapDetailRequestBom(@RequestParam("id") Long id, @RequestBody List<RawscrapRequestDetailUpdateReqVO> updateReqVOList) {
productscrapRequestMainService.updateProductscrapDetailRequestBom(id, updateReqVOList);
return success(true);
}
} }

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestDetailBaseVO.java

@ -25,22 +25,18 @@ public class ProductscrapRequestDetailBaseVO {
private String fromOwnerCode; private String fromOwnerCode;
@Schema(description = "包装号", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "包装号", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "包装号不能为空")
private String packingNumber; private String packingNumber;
@Schema(description = "器具号") @Schema(description = "器具号")
private String containerNumber; private String containerNumber;
@Schema(description = "批次", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "批次", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "批次不能为空")
private String batch; private String batch;
@Schema(description = "从库位代码", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "从库位代码", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "从库位代码不能为空")
private String fromLocationCode; private String fromLocationCode;
@Schema(description = "库存状态", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "库存状态", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "库存状态不能为空")
private String inventoryStatus; private String inventoryStatus;
@Schema(description = "原因") @Schema(description = "原因")
@ -57,7 +53,6 @@ public class ProductscrapRequestDetailBaseVO {
private String remark; private String remark;
@Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "创建时间不能为空")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime createTime; private LocalDateTime createTime;
@ -97,4 +92,7 @@ public class ProductscrapRequestDetailBaseVO {
@Schema(description = "工序代码") @Schema(description = "工序代码")
private String processCode; private String processCode;
@Schema(description = "主键ID")
private Long masterId;
} }

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainBaseVO.java

@ -94,4 +94,7 @@ public class ProductscrapRequestMainBaseVO {
@Schema(description = "班次", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "班次", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "班次不能为空") @NotNull(message = "班次不能为空")
private String shift; private String shift;
@Schema(description = "主键ID")
private Long masterId;
} }

8
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainExportReqVO.java

@ -71,4 +71,12 @@ public class ProductscrapRequestMainExportReqVO {
@Schema(description = "直接生成记录") @Schema(description = "直接生成记录")
private String directCreateRecord; private String directCreateRecord;
@Schema(description = "车间代码")
private String workshopCode;
@Schema(description = "班组")
private String team;
@Schema(description = "班次")
private String shift;
} }

9
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/productscrapRequest/vo/ProductscrapRequestMainPageReqVO.java

@ -73,4 +73,13 @@ public class ProductscrapRequestMainPageReqVO extends PageParam {
@Schema(description = "直接生成记录") @Schema(description = "直接生成记录")
private String directCreateRecord; private String directCreateRecord;
@Schema(description = "车间代码")
private String workshopCode;
@Schema(description = "班组")
private String team;
@Schema(description = "班次")
private String shift;
} }

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/dataobject/productscrapRecord/ProductscrapRecordDetailDO.java

@ -115,7 +115,7 @@ public class ProductscrapRecordDetailDO extends BaseDO {
/** /**
* 主表ID * 主表ID
*/ */
private String masterId; private Long masterId;
/** /**
* 单据号 * 单据号
*/ */

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productscrapRecord/ProductscrapRecordDetailMapper.java

@ -47,6 +47,7 @@ public interface ProductscrapRecordDetailMapper extends BaseMapperX<Productscrap
.betweenIfPresent(ProductscrapRecordDetailDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(ProductscrapRecordDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(ProductscrapRecordDetailDO::getCreator, reqVO.getCreator()) .eqIfPresent(ProductscrapRecordDetailDO::getCreator, reqVO.getCreator())
.eqIfPresent(ProductscrapRecordDetailDO::getJobDetailId, reqVO.getJobDetailId()) .eqIfPresent(ProductscrapRecordDetailDO::getJobDetailId, reqVO.getJobDetailId())
.eqIfPresent(ProductscrapRecordDetailDO::getMasterId, reqVO.getMasterId())
.orderByDesc(ProductscrapRecordDetailDO::getId)); .orderByDesc(ProductscrapRecordDetailDO::getId));
} }
default PageResult<ProductscrapRecordDetailDO> selectSenior(CustomConditions conditions) { default PageResult<ProductscrapRecordDetailDO> selectSenior(CustomConditions conditions) {
@ -79,6 +80,7 @@ public interface ProductscrapRecordDetailMapper extends BaseMapperX<Productscrap
.betweenIfPresent(ProductscrapRecordDetailDO::getCreateTime, reqVO.getCreateTime()) .betweenIfPresent(ProductscrapRecordDetailDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(ProductscrapRecordDetailDO::getCreator, reqVO.getCreator()) .eqIfPresent(ProductscrapRecordDetailDO::getCreator, reqVO.getCreator())
.eqIfPresent(ProductscrapRecordDetailDO::getJobDetailId, reqVO.getJobDetailId()) .eqIfPresent(ProductscrapRecordDetailDO::getJobDetailId, reqVO.getJobDetailId())
.eqIfPresent(ProductscrapRecordDetailDO::getMasterId, reqVO.getMasterID())
.orderByDesc(ProductscrapRecordDetailDO::getId)); .orderByDesc(ProductscrapRecordDetailDO::getId));
} }

13
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/productscrapRequest/ProductscrapRequestMainMapper.java

@ -1,18 +1,17 @@
package com.win.module.wms.dal.mysql.productscrapRequest; package com.win.module.wms.dal.mysql.productscrapRequest;
import java.util.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.mapper.BaseMapperX; import com.win.framework.mybatis.core.mapper.BaseMapperX;
import com.win.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.win.framework.mybatis.core.util.QueryWrapperUtils; import com.win.framework.mybatis.core.util.QueryWrapperUtils;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestMainExportReqVO; import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestMainExportReqVO;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestMainPageReqVO; import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO; import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
import com.win.module.wms.dal.dataobject.purchaseclaimRequest.PurchaseclaimRequestMainDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/** /**
* 制品报废申请主 Mapper * 制品报废申请主 Mapper
* *
@ -41,6 +40,9 @@ public interface ProductscrapRequestMainMapper extends BaseMapperX<ProductscrapR
.eqIfPresent(ProductscrapRequestMainDO::getAutoAgree, reqVO.getAutoAgree()) .eqIfPresent(ProductscrapRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(ProductscrapRequestMainDO::getAutoExecute, reqVO.getAutoExecute()) .eqIfPresent(ProductscrapRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(ProductscrapRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord()) .eqIfPresent(ProductscrapRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(ProductscrapRequestMainDO::getWorkshopCode, reqVO.getWorkshopCode())
.eqIfPresent(ProductscrapRequestMainDO::getTeam, reqVO.getTeam())
.eqIfPresent(ProductscrapRequestMainDO::getShift, reqVO.getShift())
.orderByDesc(ProductscrapRequestMainDO::getId)); .orderByDesc(ProductscrapRequestMainDO::getId));
} }
@ -68,6 +70,9 @@ public interface ProductscrapRequestMainMapper extends BaseMapperX<ProductscrapR
.eqIfPresent(ProductscrapRequestMainDO::getAutoAgree, reqVO.getAutoAgree()) .eqIfPresent(ProductscrapRequestMainDO::getAutoAgree, reqVO.getAutoAgree())
.eqIfPresent(ProductscrapRequestMainDO::getAutoExecute, reqVO.getAutoExecute()) .eqIfPresent(ProductscrapRequestMainDO::getAutoExecute, reqVO.getAutoExecute())
.eqIfPresent(ProductscrapRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord()) .eqIfPresent(ProductscrapRequestMainDO::getDirectCreateRecord, reqVO.getDirectCreateRecord())
.eqIfPresent(ProductscrapRequestMainDO::getWorkshopCode, reqVO.getWorkshopCode())
.eqIfPresent(ProductscrapRequestMainDO::getTeam, reqVO.getTeam())
.eqIfPresent(ProductscrapRequestMainDO::getShift, reqVO.getShift())
.orderByDesc(ProductscrapRequestMainDO::getId)); .orderByDesc(ProductscrapRequestMainDO::getId));
} }

15
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/ProductscrapRequestDetailService.java

@ -4,12 +4,11 @@ import java.util.*;
import javax.validation.*; import javax.validation.*;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailCreateReqVO; import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailExportReqVO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailPageReqVO;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailUpdateReqVO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestDetailDO; import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestDetailDO;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
/** /**
* 制品报废申请子 Service 接口 * 制品报废申请子 Service 接口
@ -80,4 +79,12 @@ public interface ProductscrapRequestDetailService {
*/ */
List<ProductscrapRequestDetailDO> getProductscrapRequestDetailList(ProductscrapRequestDetailExportReqVO exportReqVO); List<ProductscrapRequestDetailDO> getProductscrapRequestDetailList(ProductscrapRequestDetailExportReqVO exportReqVO);
/**
* 校验子表数据
* @param detailCreateReqVO
* @param businesstypeDO
* @param productscrapRequestMainDO
*/
void validateDetailMethod(ProductscrapRequestDetailBaseVO detailCreateReqVO, BusinesstypeDO businesstypeDO, ProductscrapRequestMainDO productscrapRequestMainDO);
} }

87
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/ProductscrapRequestDetailServiceImpl.java

@ -1,10 +1,22 @@
package com.win.module.wms.service.productscrapRequest; package com.win.module.wms.service.productscrapRequest;
import com.win.framework.common.pojo.CustomConditions; import com.win.framework.common.pojo.CustomConditions;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailCreateReqVO; import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailExportReqVO; import com.win.module.wms.convert.productscrapRequest.RawscrapRequestDetailConvert;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailPageReqVO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.controller.productscrapRequest.vo.ProductscrapRequestDetailUpdateReqVO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
import com.win.module.wms.dal.dataobject.productscrapRequest.RawscrapRequestDetailDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import com.win.module.wms.dal.mysql.productscrapRequest.ProductscrapRequestMainMapper;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.productionline.ProductionlineService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.workstation.WorkstationService;
import com.win.module.wms.util.JobUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
@ -31,11 +43,28 @@ public class ProductscrapRequestDetailServiceImpl implements ProductscrapRequest
@Resource @Resource
private ProductscrapRequestDetailMapper productscrapRequestDetailMapper; private ProductscrapRequestDetailMapper productscrapRequestDetailMapper;
@Resource
private ProductscrapRequestMainMapper productscrapRequestMainMapper;
@Resource
private ProductionlineService productionlineService;
@Resource
private ItembasicService itembasicService;
@Resource
private WorkstationService workstationService;
@Resource
private JobUtils jobUtils;
@Resource
private RequestsettingService requestsettingService;
@Override @Override
public Long createProductscrapRequestDetail(ProductscrapRequestDetailCreateReqVO createReqVO) { public Long createProductscrapRequestDetail(ProductscrapRequestDetailCreateReqVO createReqVO) {
// 插入 BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductScrapRequest");
ProductscrapRequestMainDO productscrapRequestMainDO = productscrapRequestMainMapper.selectById(createReqVO.getMasterId());
// 校验数据
this.validateDetailMethod(createReqVO,businesstypeDO,productscrapRequestMainDO);
ProductscrapRequestDetailDO productscrapRequestDetail = ProductscrapRequestDetailConvert.INSTANCE.convert(createReqVO); ProductscrapRequestDetailDO productscrapRequestDetail = ProductscrapRequestDetailConvert.INSTANCE.convert(createReqVO);
productscrapRequestDetail.setMasterId(createReqVO.getMasterId());
productscrapRequestDetail.setNumber(productscrapRequestMainDO.getNumber());
productscrapRequestDetailMapper.insert(productscrapRequestDetail); productscrapRequestDetailMapper.insert(productscrapRequestDetail);
// 返回 // 返回
return productscrapRequestDetail.getId(); return productscrapRequestDetail.getId();
@ -45,8 +74,14 @@ public class ProductscrapRequestDetailServiceImpl implements ProductscrapRequest
public void updateProductscrapRequestDetail(ProductscrapRequestDetailUpdateReqVO updateReqVO) { public void updateProductscrapRequestDetail(ProductscrapRequestDetailUpdateReqVO updateReqVO) {
// 校验存在 // 校验存在
validateProductscrapRequestDetailExists(updateReqVO.getId()); validateProductscrapRequestDetailExists(updateReqVO.getId());
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("ProductScrapRequest");
ProductscrapRequestMainDO productscrapRequestMainDO = productscrapRequestMainMapper.selectById(updateReqVO.getMasterId());
// 校验数据
this.validateDetailMethod(updateReqVO,businesstypeDO,productscrapRequestMainDO);
// 更新 // 更新
ProductscrapRequestDetailDO updateObj = ProductscrapRequestDetailConvert.INSTANCE.convert(updateReqVO); ProductscrapRequestDetailDO updateObj = ProductscrapRequestDetailConvert.INSTANCE.convert(updateReqVO);
updateObj.setMasterId(updateReqVO.getMasterId());
updateObj.setNumber(productscrapRequestMainDO.getNumber());
productscrapRequestDetailMapper.updateById(updateObj); productscrapRequestDetailMapper.updateById(updateObj);
} }
@ -57,10 +92,12 @@ public class ProductscrapRequestDetailServiceImpl implements ProductscrapRequest
// 删除 // 删除
productscrapRequestDetailMapper.deleteById(id); productscrapRequestDetailMapper.deleteById(id);
} }
@Override @Override
public PageResult<ProductscrapRequestDetailDO> getProductscrapRequestDetailSenior(CustomConditions conditions) { public PageResult<ProductscrapRequestDetailDO> getProductscrapRequestDetailSenior(CustomConditions conditions) {
return productscrapRequestDetailMapper.selectSenior(conditions); return productscrapRequestDetailMapper.selectSenior(conditions);
} }
private void validateProductscrapRequestDetailExists(Long id) { private void validateProductscrapRequestDetailExists(Long id) {
if (productscrapRequestDetailMapper.selectById(id) == null) { if (productscrapRequestDetailMapper.selectById(id) == null) {
throw exception(PRODUCTSCRAP_REQUEST_DETAIL_NOT_EXISTS); throw exception(PRODUCTSCRAP_REQUEST_DETAIL_NOT_EXISTS);
@ -87,4 +124,44 @@ public class ProductscrapRequestDetailServiceImpl implements ProductscrapRequest
return productscrapRequestDetailMapper.selectList(exportReqVO); return productscrapRequestDetailMapper.selectList(exportReqVO);
} }
@Override
public void validateDetailMethod(ProductscrapRequestDetailBaseVO detailCreateReqVO, BusinesstypeDO businesstypeDO, ProductscrapRequestMainDO productscrapRequestMainDO) {
// 校验--生产线基本信息
ProductionlineDO productionlineDO = productionlineService.productionLineCodeExist(detailCreateReqVO.getProductionLineCode());
detailCreateReqVO.setFromLocationCode(productionlineDO.getRawLocationCode());
// 校验--物品基本信息 BQ——>QI
ItembasicDO itembasic = validatorItembasic(detailCreateReqVO.getItemCode());
detailCreateReqVO.setItemDesc1(itembasic.getDesc1());
detailCreateReqVO.setItemDesc2(itembasic.getDesc2());
detailCreateReqVO.setItemName(itembasic.getName());
detailCreateReqVO.setProjectCode(itembasic.getProject());
detailCreateReqVO.setUom(itembasic.getUom());
// 校验--工位基础信息
if(StringUtils.isNotEmpty(detailCreateReqVO.getWorkStationCode())){
WorkstationDO workstationDO = workstationService.selectWorkstationExist(detailCreateReqVO.getWorkStationCode(), productscrapRequestMainDO.getWorkshopCode(), detailCreateReqVO.getProductionLineCode());
detailCreateReqVO.setFromLocationCode(workstationDO.getRawLocationCode());
}
// 校验--uom
// validatorUom(detailCreateReqVO.getUom(), itembasic.getUom());
// 校验--物品类型 DBT---DBT2---IT1
jobUtils.ifInType(itembasic.getType(), businesstypeDO);
// 校验--来源库位 DBT——>DBT2——>LO
jobUtils.ifInToLocationType(detailCreateReqVO.getFromLocationCode(), businesstypeDO);
// 校验--库存状态 DBT——>DBT2——>ISO
// jobUtils.ifOutInventoryStatuses(detailCreateReqVO.getInventoryStatus(), businesstypeDO);
// 校验--库存余额 TB——>TB1
// List<String> business = validatorbusinessbasic(detailCreateReqVO.getInventoryStatus());
// List<BalanceDO> balance = validatorbalance(detailCreateReqVO.getItemCode(), detailCreateReqVO.getPackingNumber(),detailCreateReqVO.getBatch(), detailCreateReqVO.getFromLocationCode(), business);
// BalanceDO balanceDO = balance.get(0);
// productscrapRequestMainDO.setFromWarehouseCode(balanceDO.getWarehouseCode());
// productscrapRequestMainDO.setDueTime(balanceDO.getExpireDate());
// detailCreateReqVO.setFromLocationCode(balanceDO.getLocationCode());
// // 校验 报废数量【qty】不能大于库存数量【banlance.qty】
// validatorQty(detailCreateReqVO.getQty(), balanceDO.getQty());
}
private ItembasicDO validatorItembasic(String itemCode) {
return itembasicService.selectItembasic(itemCode);
}
} }

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/ProductscrapRequestMainService.java

@ -136,4 +136,11 @@ public interface ProductscrapRequestMainService {
* @return 分页列表数据 * @return 分页列表数据
*/ */
PageResult<ProductscrapRequestBomRespVO> getBomInfoPage(ProductscrapRequestDetailPageReqVO pageVO); PageResult<ProductscrapRequestBomRespVO> getBomInfoPage(ProductscrapRequestDetailPageReqVO pageVO);
/**
* 更新BOM拆解二级子表数据
* @param id 一级子表的ID
* @param updateReqVOList 二级子表列表数据
*/
void updateProductscrapDetailRequestBom(Long id, List<RawscrapRequestDetailUpdateReqVO> updateReqVOList);
} }

96
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/ProductscrapRequestMainServiceImpl.java

@ -1,6 +1,7 @@
package com.win.module.wms.service.productscrapRequest; package com.win.module.wms.service.productscrapRequest;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.annotations.VisibleForTesting; import com.google.common.annotations.VisibleForTesting;
import com.win.framework.common.exception.ServiceException; import com.win.framework.common.exception.ServiceException;
@ -28,7 +29,6 @@ import com.win.module.wms.convert.productscrapRequest.RawscrapRequestDetailConve
import com.win.module.wms.dal.dataobject.balance.BalanceDO; import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO; import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.productionline.ProductionlineDO;
import com.win.module.wms.dal.dataobject.productscrapRecord.ProductscrapRecordDetailDO; import com.win.module.wms.dal.dataobject.productscrapRecord.ProductscrapRecordDetailDO;
import com.win.module.wms.dal.dataobject.productscrapRecord.ProductscrapRecordMainDO; import com.win.module.wms.dal.dataobject.productscrapRecord.ProductscrapRecordMainDO;
import com.win.module.wms.dal.dataobject.productscrapRecord.RawscrapRecordDetailDO; import com.win.module.wms.dal.dataobject.productscrapRecord.RawscrapRecordDetailDO;
@ -39,7 +39,6 @@ import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.dataobject.shift.ShiftDO; import com.win.module.wms.dal.dataobject.shift.ShiftDO;
import com.win.module.wms.dal.dataobject.team.TeamDO; import com.win.module.wms.dal.dataobject.team.TeamDO;
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO;
import com.win.module.wms.dal.dataobject.workstation.WorkstationDO;
import com.win.module.wms.dal.mysql.productscrapRecord.ProductscrapRecordDetailMapper; import com.win.module.wms.dal.mysql.productscrapRecord.ProductscrapRecordDetailMapper;
import com.win.module.wms.dal.mysql.productscrapRecord.ProductscrapRecordMainMapper; import com.win.module.wms.dal.mysql.productscrapRecord.ProductscrapRecordMainMapper;
import com.win.module.wms.dal.mysql.productscrapRecord.RawscrapRecordDetailMapper; import com.win.module.wms.dal.mysql.productscrapRecord.RawscrapRecordDetailMapper;
@ -49,14 +48,12 @@ import com.win.module.wms.dal.mysql.productscrapRequest.RawscrapRequestDetailMap
import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.enums.request.RequestStatusState; import com.win.module.wms.enums.request.RequestStatusState;
import com.win.module.wms.service.itembasic.ItembasicService; import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.productionline.ProductionlineService;
import com.win.module.wms.service.recordsetting.RecordsettingService; import com.win.module.wms.service.recordsetting.RecordsettingService;
import com.win.module.wms.service.requestsetting.RequestsettingService; import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.service.shift.ShiftService; import com.win.module.wms.service.shift.ShiftService;
import com.win.module.wms.service.team.TeamService; import com.win.module.wms.service.team.TeamService;
import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.service.workshop.WorkshopService; import com.win.module.wms.service.workshop.WorkshopService;
import com.win.module.wms.service.workstation.WorkstationService;
import com.win.module.wms.util.JobUtils; import com.win.module.wms.util.JobUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -123,9 +120,9 @@ public class ProductscrapRequestMainServiceImpl implements ProductscrapRequestMa
@Resource @Resource
private ShiftService shiftService; private ShiftService shiftService;
@Resource @Resource
private ProductionlineService productionlineService; private ProductscrapRequestDetailService productscrapRequestDetailService;
@Resource @Resource
private WorkstationService workstationService; private RawscrapRequestDetailService rawscrapRequestDetailService;
@Override @Override
public Long createProductscrapRequestMain(ProductscrapRequestMainCreateReqVO createReqVO) { public Long createProductscrapRequestMain(ProductscrapRequestMainCreateReqVO createReqVO) {
@ -216,7 +213,8 @@ public class ProductscrapRequestMainServiceImpl implements ProductscrapRequestMa
// 子表校验 // 子表校验
List<ProductscrapRequestDetailCreateReqVO> subList = createReqVO.getSubList(); List<ProductscrapRequestDetailCreateReqVO> subList = createReqVO.getSubList();
for(ProductscrapRequestDetailCreateReqVO detailCreateReqVO:subList){ for(ProductscrapRequestDetailCreateReqVO detailCreateReqVO:subList){
validateDetailMethod(detailCreateReqVO, businesstypeDO,mainBo); // 子表数据校验
productscrapRequestDetailService.validateDetailMethod(detailCreateReqVO, businesstypeDO,mainBo);
} }
String number = serialNumberApi.generateCode(RuleCodeEnum.PRODUCT_SCRAP_REQUEST.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.PRODUCT_SCRAP_REQUEST.getCode());
mainBo.setNumber(number); mainBo.setNumber(number);
@ -233,7 +231,7 @@ public class ProductscrapRequestMainServiceImpl implements ProductscrapRequestMa
rawscrapRequestDetailDO.setMasterId(detailDO.getId()); rawscrapRequestDetailDO.setMasterId(detailDO.getId());
rawscrapRequestDetailDO.setNumber(detailDO.getNumber()); rawscrapRequestDetailDO.setNumber(detailDO.getNumber());
// 校验--二级子表数据 // 校验--二级子表数据
validateDetailbBom(rawscrapRequestDetailDO,detailDO,mainBo); rawscrapRequestDetailService.validateDetailbBom(rawscrapRequestDetailDO,detailDO,mainBo);
rawscrapRequestDetailDO.setId(null); rawscrapRequestDetailDO.setId(null);
childList.add(rawscrapRequestDetailDO); childList.add(rawscrapRequestDetailDO);
} }
@ -242,62 +240,6 @@ public class ProductscrapRequestMainServiceImpl implements ProductscrapRequestMa
return mainBo; return mainBo;
} }
private void validateDetailbBom(RawscrapRequestDetailDO rawscrapRequestDetailDO, ProductscrapRequestDetailDO detailDO, ProductscrapRequestMainDO mainBo) {
// 校验--物品基本信息
ItembasicDO itembasicDO = itembasicService.selectItembasic(rawscrapRequestDetailDO.getItemCode());
// 赋值物品Item相关信息
rawscrapRequestDetailDO.setItemDesc1(itembasicDO.getDesc1());
rawscrapRequestDetailDO.setItemDesc2(itembasicDO.getDesc2());
rawscrapRequestDetailDO.setItemName(itembasicDO.getName());
rawscrapRequestDetailDO.setProjectCode(itembasicDO.getProject());
// 校验库存余额
List<String> inventoryStatus = new ArrayList<>();
inventoryStatus.add("OK"); // 查询合格的边料库存余额
List<BalanceDO> list = jobUtils.selectlocationReturnManagementAccuracy(rawscrapRequestDetailDO.getItemCode(),null,null,detailDO.getFromLocationCode(),inventoryStatus);
BalanceDO balanceDO = list.get(0); // 去第一条库存余额
rawscrapRequestDetailDO.setInventoryStatus(balanceDO.getInventoryStatus());
rawscrapRequestDetailDO.setBatch(balanceDO.getBatch());
rawscrapRequestDetailDO.setPackingNumber(balanceDO.getPackingNumber());
rawscrapRequestDetailDO.setFromLocationCode(balanceDO.getLocationCode());
rawscrapRequestDetailDO.setCreateTime(LocalDateTime.now());
rawscrapRequestDetailDO.setCreator(null);
}
private void validateDetailMethod(ProductscrapRequestDetailBaseVO detailCreateReqVO, BusinesstypeDO businesstypeDO, ProductscrapRequestMainDO productscrapRequestMainDO) {
// 校验--生产线基本信息
ProductionlineDO productionlineDO = productionlineService.productionLineCodeExist(detailCreateReqVO.getProductionLineCode());
detailCreateReqVO.setFromLocationCode(productionlineDO.getRawLocationCode());
// 校验--物品基本信息 BQ——>QI
ItembasicDO itembasic = validatorItembasic(detailCreateReqVO.getItemCode());
detailCreateReqVO.setItemDesc1(itembasic.getDesc1());
detailCreateReqVO.setItemDesc2(itembasic.getDesc2());
detailCreateReqVO.setItemName(itembasic.getName());
detailCreateReqVO.setProjectCode(itembasic.getProject());
detailCreateReqVO.setUom(itembasic.getUom());
// 校验--工位基础信息
if(StringUtils.isNotEmpty(detailCreateReqVO.getWorkStationCode())){
WorkstationDO workstationDO = workstationService.selectWorkstationExist(detailCreateReqVO.getWorkStationCode(), productscrapRequestMainDO.getWorkshopCode(), detailCreateReqVO.getProductionLineCode());
detailCreateReqVO.setFromLocationCode(workstationDO.getRawLocationCode());
}
// 校验--uom
// validatorUom(detailCreateReqVO.getUom(), itembasic.getUom());
// 校验--物品类型 DBT---DBT2---IT1
jobUtils.ifInType(itembasic.getType(), businesstypeDO);
// 校验--来源库位 DBT——>DBT2——>LO
jobUtils.ifInToLocationType(detailCreateReqVO.getFromLocationCode(), businesstypeDO);
// 校验--库存状态 DBT——>DBT2——>ISO
// jobUtils.ifOutInventoryStatuses(detailCreateReqVO.getInventoryStatus(), businesstypeDO);
// 校验--库存余额 TB——>TB1
// List<String> business = validatorbusinessbasic(detailCreateReqVO.getInventoryStatus());
// List<BalanceDO> balance = validatorbalance(detailCreateReqVO.getItemCode(), detailCreateReqVO.getPackingNumber(),detailCreateReqVO.getBatch(), detailCreateReqVO.getFromLocationCode(), business);
// BalanceDO balanceDO = balance.get(0);
// productscrapRequestMainDO.setFromWarehouseCode(balanceDO.getWarehouseCode());
// productscrapRequestMainDO.setDueTime(balanceDO.getExpireDate());
// detailCreateReqVO.setFromLocationCode(balanceDO.getLocationCode());
// // 校验 报废数量【qty】不能大于库存数量【banlance.qty】
// validatorQty(detailCreateReqVO.getQty(), balanceDO.getQty());
}
private ProductscrapRequestMainDO validateMainMethod(ProductscrapRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) { private ProductscrapRequestMainDO validateMainMethod(ProductscrapRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) {
ProductscrapRequestMainDO productscrapRequestMainDO = ProductscrapRequestMainConvert.INSTANCE.convert(baseVO); ProductscrapRequestMainDO productscrapRequestMainDO = ProductscrapRequestMainConvert.INSTANCE.convert(baseVO);
RequestStatusState requestStatusState = new RequestStatusState(); RequestStatusState requestStatusState = new RequestStatusState();
@ -376,7 +318,8 @@ public class ProductscrapRequestMainServiceImpl implements ProductscrapRequestMa
List<ProductscrapRequestDetailUpdateReqVO> subList = updateReqVO.getSubList(); List<ProductscrapRequestDetailUpdateReqVO> subList = updateReqVO.getSubList();
if(subList!=null) { if(subList!=null) {
for (ProductscrapRequestDetailUpdateReqVO detailUpdateReqVO : subList) { for (ProductscrapRequestDetailUpdateReqVO detailUpdateReqVO : subList) {
validateDetailMethod(detailUpdateReqVO, businesstypeDO, productputawayRequestMainDO); // 子表数据校验
productscrapRequestDetailService.validateDetailMethod(detailUpdateReqVO, businesstypeDO, productputawayRequestMainDO);
} }
List<ProductscrapRequestDetailDO> subDOList = ProductscrapRequestDetailConvert.INSTANCE.convertList05(subList); List<ProductscrapRequestDetailDO> subDOList = ProductscrapRequestDetailConvert.INSTANCE.convertList05(subList);
productscrapRequestDetailMapper.updateBatch(subDOList); productscrapRequestDetailMapper.updateBatch(subDOList);
@ -731,5 +674,28 @@ public class ProductscrapRequestMainServiceImpl implements ProductscrapRequestMa
PageResult<ProductscrapRequestBomRespVO> pageResult = new PageResult(myPage.getRecords(),myPage.getTotal()); PageResult<ProductscrapRequestBomRespVO> pageResult = new PageResult(myPage.getRecords(),myPage.getTotal());
return pageResult; return pageResult;
} }
@Transactional
@Override
public void updateProductscrapDetailRequestBom(Long id, List<RawscrapRequestDetailUpdateReqVO> updateReqVOList) {
// 删除之前的数据
LambdaQueryWrapper<RawscrapRequestDetailDO> requestDetailDOLambdaQueryWrapper = new LambdaQueryWrapper<>();
requestDetailDOLambdaQueryWrapper.eq(RawscrapRequestDetailDO::getMasterId,id);
rawscrapRequestDetailMapper.delete(requestDetailDOLambdaQueryWrapper);
// 查询子表数据
ProductscrapRequestDetailDO productscrapRequestDetailDO = productscrapRequestDetailMapper.selectById(id);
ProductscrapRequestMainDO productscrapRequestMainDO = productscrapRequestMainMapper.selectById(productscrapRequestDetailDO.getMasterId());
List<RawscrapRequestDetailDO> childList = new ArrayList<>();
for(RawscrapRequestDetailUpdateReqVO rawscrapRequestDetailUpdateReqVO:updateReqVOList){
RawscrapRequestDetailDO rawscrapRequestDetailDO = RawscrapRequestDetailConvert.INSTANCE.convert(rawscrapRequestDetailUpdateReqVO);
rawscrapRequestDetailDO.setMasterId(productscrapRequestDetailDO.getId());
rawscrapRequestDetailDO.setNumber(productscrapRequestDetailDO.getNumber());
// 校验--二级子表数据
rawscrapRequestDetailService.validateDetailbBom(rawscrapRequestDetailDO,productscrapRequestDetailDO,productscrapRequestMainDO);
rawscrapRequestDetailDO.setId(null);
childList.add(rawscrapRequestDetailDO);
}
rawscrapRequestDetailMapper.insertBatch(childList);
}
} }

12
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/RawscrapRequestDetailService.java

@ -2,6 +2,8 @@ package com.win.module.wms.service.productscrapRequest;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productscrapRequest.vo.*; import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestDetailDO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
import com.win.module.wms.dal.dataobject.productscrapRequest.RawscrapRequestDetailDO; import com.win.module.wms.dal.dataobject.productscrapRequest.RawscrapRequestDetailDO;
import javax.validation.Valid; import javax.validation.Valid;
@ -77,5 +79,13 @@ public interface RawscrapRequestDetailService {
* @param updatePart 是否支持更新 * @param updatePart 是否支持更新
* @return 导入结果 * @return 导入结果
*/ */
public List<RawscrapRequestDetailExcelVO> importRawscrapRequestDetailList(List<RawscrapRequestDetailExcelVO> datas, Integer mode, boolean updatePart); List<RawscrapRequestDetailExcelVO> importRawscrapRequestDetailList(List<RawscrapRequestDetailExcelVO> datas, Integer mode, boolean updatePart);
/**
* 校验子表数据
* @param rawscrapRequestDetailDO 请求数据
* @param detailDO 一级子表
* @param mainBo 主表
*/
void validateDetailbBom(RawscrapRequestDetailDO rawscrapRequestDetailDO, ProductscrapRequestDetailDO detailDO, ProductscrapRequestMainDO mainBo);
} }

34
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/productscrapRequest/RawscrapRequestDetailServiceImpl.java

@ -4,12 +4,19 @@ import cn.hutool.core.collection.CollUtil;
import com.win.framework.common.pojo.PageResult; import com.win.framework.common.pojo.PageResult;
import com.win.module.wms.controller.productscrapRequest.vo.*; import com.win.module.wms.controller.productscrapRequest.vo.*;
import com.win.module.wms.convert.productscrapRequest.RawscrapRequestDetailConvert; import com.win.module.wms.convert.productscrapRequest.RawscrapRequestDetailConvert;
import com.win.module.wms.dal.dataobject.balance.BalanceDO;
import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestDetailDO;
import com.win.module.wms.dal.dataobject.productscrapRequest.ProductscrapRequestMainDO;
import com.win.module.wms.dal.dataobject.productscrapRequest.RawscrapRequestDetailDO; import com.win.module.wms.dal.dataobject.productscrapRequest.RawscrapRequestDetailDO;
import com.win.module.wms.dal.mysql.productscrapRequest.RawscrapRequestDetailMapper; import com.win.module.wms.dal.mysql.productscrapRequest.RawscrapRequestDetailMapper;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.util.JobUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -29,6 +36,10 @@ public class RawscrapRequestDetailServiceImpl implements RawscrapRequestDetailSe
@Resource @Resource
private RawscrapRequestDetailMapper rawscrapRequestDetailMapper; private RawscrapRequestDetailMapper rawscrapRequestDetailMapper;
@Resource
private ItembasicService itembasicService;
@Resource
private JobUtils jobUtils;
@Override @Override
public Long createRawscrapRequestDetail(RawscrapRequestDetailCreateReqVO createReqVO) { public Long createRawscrapRequestDetail(RawscrapRequestDetailCreateReqVO createReqVO) {
@ -106,4 +117,27 @@ public class RawscrapRequestDetailServiceImpl implements RawscrapRequestDetailSe
return errorList; return errorList;
} }
@Override
public void validateDetailbBom(RawscrapRequestDetailDO rawscrapRequestDetailDO, ProductscrapRequestDetailDO detailDO, ProductscrapRequestMainDO mainBo) {
// 校验--物品基本信息
ItembasicDO itembasicDO = itembasicService.selectItembasic(rawscrapRequestDetailDO.getItemCode());
// 赋值物品Item相关信息
rawscrapRequestDetailDO.setItemDesc1(itembasicDO.getDesc1());
rawscrapRequestDetailDO.setItemDesc2(itembasicDO.getDesc2());
rawscrapRequestDetailDO.setItemName(itembasicDO.getName());
rawscrapRequestDetailDO.setProjectCode(itembasicDO.getProject());
// 校验库存余额
List<String> inventoryStatus = new ArrayList<>();
inventoryStatus.add("OK"); // 查询合格的边料库存余额
List<BalanceDO> list = jobUtils.selectlocationReturnManagementAccuracy(rawscrapRequestDetailDO.getItemCode(),null,null,detailDO.getFromLocationCode(),inventoryStatus);
BalanceDO balanceDO = list.get(0); // 去第一条库存余额
rawscrapRequestDetailDO.setInventoryStatus(balanceDO.getInventoryStatus());
rawscrapRequestDetailDO.setBatch(balanceDO.getBatch());
rawscrapRequestDetailDO.setPackingNumber(balanceDO.getPackingNumber());
rawscrapRequestDetailDO.setFromLocationCode(balanceDO.getLocationCode());
rawscrapRequestDetailDO.setCreateTime(LocalDateTime.now());
rawscrapRequestDetailDO.setCreator(null);
}
} }

Loading…
Cancel
Save