Browse Source

检验生成上架申请。

master
刘忱 2 years ago
parent
commit
70f12ed983
  1. 6
      win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java
  2. 1
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainBaseVO.java
  3. 38
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countadjustRequest/CountadjustRequestMainService.java
  4. 123
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countadjustRequest/CountadjustRequestMainServiceImpl.java
  5. 47
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java
  6. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java

6
win-module-wms/win-module-wms-api/src/main/java/com/win/module/wms/enums/ErrorCodeConstants.java

@ -941,6 +941,12 @@ public interface ErrorCodeConstants {
//盘点调整申请ErrorCode //盘点调整申请ErrorCode
ErrorCode COUNTADJUST_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_156_000, "盘点调整申请主不存在"); ErrorCode COUNTADJUST_REQUEST_MAIN_NOT_EXISTS = new ErrorCode(1_000_156_000, "盘点调整申请主不存在");
ErrorCode COUNTADJUST_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_156_001, "盘点调整申请子不存在"); ErrorCode COUNTADJUST_REQUEST_DETAIL_NOT_EXISTS = new ErrorCode(1_000_156_001, "盘点调整申请子不存在");
ErrorCode COUNTADJUST_REQUEST_JOB_EXISTS = new ErrorCode(1_000_078_003, "盘点调整申请存在采购收货任务单");
ErrorCode COUNTADJUST_REQUEST_CANNOT_CLOSE = new ErrorCode(1_000_078_004, "盘点调整申请状态不支持关闭");
ErrorCode COUNTADJUST_REQUEST_CANNOT_SUBMIT = new ErrorCode(1_000_078_005, "盘点调整申请状态不支持提交");
ErrorCode COUNTADJUST_REQUEST_CANNOT_AGREE = new ErrorCode(1_000_078_006, "盘点调整申请状态不支持审批同意");
ErrorCode COUNTADJUST_REQUEST_CANNOT_HANDLE = new ErrorCode(1_000_078_007, "盘点调整申请状态不支持处理");
ErrorCode COUNTADJUST_REQUEST_CANNOT_ABORT = new ErrorCode(1_000_078_008, "盘点调整申请状态不支持审批拒绝");
//盘点调整记录ErrorCode //盘点调整记录ErrorCode
ErrorCode COUNTADJUST_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_157_000, "盘点调整记录主不存在"); ErrorCode COUNTADJUST_RECORD_MAIN_NOT_EXISTS = new ErrorCode(1_000_157_000, "盘点调整记录主不存在");
ErrorCode COUNTADJUST_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_157_001, "盘点调整记录子不存在"); ErrorCode COUNTADJUST_RECORD_DETAIL_NOT_EXISTS = new ErrorCode(1_000_157_001, "盘点调整记录子不存在");

1
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/putawayRequest/vo/PutawayRequestMainBaseVO.java

@ -77,7 +77,6 @@ public class PutawayRequestMainBaseVO {
private String toWarehouseCode; private String toWarehouseCode;
@Schema(description = "到库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED) @Schema(description = "到库位类型范围", requiredMode = Schema.RequiredMode.REQUIRED)
@NotNull(message = "到库位类型范围不能为空")
private String toLocationTypes; private String toLocationTypes;
@Schema(description = "到库区代码范围") @Schema(description = "到库区代码范围")

38
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countadjustRequest/CountadjustRequestMainService.java

@ -46,4 +46,42 @@ public interface CountadjustRequestMainService {
*/ */
List<CountadjustRequestMainDO> getCountadjustRequestMainList(CustomConditions conditions); List<CountadjustRequestMainDO> getCountadjustRequestMainList(CustomConditions conditions);
/**
* 关闭盘点调整申请主
*
* @param id 盘点调整申请主ID
* @return 更新数量
*/
Integer closeCountadjustRequestMain(Long id);
/**
* 提交盘点调整申请主
*
* @param id 盘点调整申请主ID
* @return 更新数量
*/
Integer submitCountadjustRequestMain(Long id);
/**
* 审批通过盘点调整申请主
*
* @param id 盘点调整申请主ID
* @return 更新数量
*/
Integer agreeCountadjustRequestMain(Long id);
/**
* 处理盘点调整申请主
* @param id
* @return
*/
Integer handleCountadjustRequestMain(Long id);
/**
* 审批拒绝盘点调整申请主
*
* @param id 盘点调整申请主ID
* @return 更新数量
*/
Integer abortCountadjustRequestMain(Long id);
} }

123
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/countadjustRequest/CountadjustRequestMainServiceImpl.java

@ -1,17 +1,29 @@
package com.win.module.wms.service.countadjustRequest; package com.win.module.wms.service.countadjustRequest;
import com.win.framework.common.exception.ServiceException;
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.module.infra.api.trends.TrendsApi;
import com.win.module.infra.enums.TrendsTypeEnum;
import com.win.module.wms.controller.countadjustRequest.vo.CountadjustRequestMainExportReqVO; import com.win.module.wms.controller.countadjustRequest.vo.CountadjustRequestMainExportReqVO;
import com.win.module.wms.controller.countadjustRequest.vo.CountadjustRequestMainPageReqVO; import com.win.module.wms.controller.countadjustRequest.vo.CountadjustRequestMainPageReqVO;
import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestDetailDO;
import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestMainDO; import com.win.module.wms.dal.dataobject.countadjustRequest.CountadjustRequestMainDO;
import com.win.module.wms.dal.mysql.countadjustRecord.CountadjustRecordMainMapper;
import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestDetailMapper;
import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestMainMapper; import com.win.module.wms.dal.mysql.countadjustRequest.CountadjustRequestMainMapper;
import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.enums.request.RequestStatusState;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
/** /**
* 盘点调整申请主 Service 实现类 * 盘点调整申请主 Service 实现类
* *
@ -23,6 +35,12 @@ public class CountadjustRequestMainServiceImpl implements CountadjustRequestMain
@Resource @Resource
private CountadjustRequestMainMapper countadjustRequestMainMapper; private CountadjustRequestMainMapper countadjustRequestMainMapper;
@Resource
private CountadjustRequestDetailMapper countadjustRequestDetailMapper;
@Resource
private CountadjustRecordMainMapper countadjustRecordMainMapper;
@Resource
private TrendsApi trendsApi;
@Override @Override
public PageResult<CountadjustRequestMainDO> getCountadjustRequestMainSenior(CustomConditions conditions) { public PageResult<CountadjustRequestMainDO> getCountadjustRequestMainSenior(CustomConditions conditions) {
@ -44,4 +62,109 @@ public class CountadjustRequestMainServiceImpl implements CountadjustRequestMain
return countadjustRequestMainMapper.selectSeniorList(conditions); return countadjustRequestMainMapper.selectSeniorList(conditions);
} }
@Override
@Transactional
public Integer closeCountadjustRequestMain(Long id) {
// 校验存在存在下级单据
CountadjustRequestMainDO mainDO = validateCountadjustRequestMainExists(id);
// Long count = countadjustRecordMainMapper.selectByRequestNumber(mainDO.getNumber());
// if(count > 0) {
// throw new ServiceException(COUNTADJUST_REQUEST_JOB_EXISTS);
// }
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.close();
if(!flag) {
throw new ServiceException(COUNTADJUST_REQUEST_CANNOT_CLOSE);
}
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
trendsApi.createTrends(id, "countadjustRequest", "关闭了到货校验申请", TrendsTypeEnum.UPDATE);
return countadjustRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer submitCountadjustRequestMain(Long id) {
CountadjustRequestMainDO mainDO = validateCountadjustRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.submit(mainDO.getAutoAgree(), mainDO.getAutoExecute());
if(!flag) {
throw new ServiceException(COUNTADJUST_REQUEST_CANNOT_SUBMIT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateJob(mainDO, countadjustRequestDetailMapper.selectList(mainDO.getId()));
}
trendsApi.createTrends(id, "countadjustRequest", "提交了到货校验申请", TrendsTypeEnum.UPDATE);
return countadjustRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer agreeCountadjustRequestMain(Long id) {
// 校验存在
CountadjustRequestMainDO mainDO = validateCountadjustRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.agree(mainDO.getAutoAgree());
if(!flag) {
throw new ServiceException(COUNTADJUST_REQUEST_CANNOT_AGREE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用自动执行方法
if(RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) {
this.generateJob(mainDO, countadjustRequestDetailMapper.selectList(mainDO.getId()));
}
trendsApi.createTrends(id, "countadjustRequest", "审批同意了到货校验申请", TrendsTypeEnum.UPDATE);
return countadjustRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer handleCountadjustRequestMain(Long id) {
// 校验存在
CountadjustRequestMainDO mainDO = validateCountadjustRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.handle();
if(!flag) {
throw new ServiceException(COUNTADJUST_REQUEST_CANNOT_HANDLE);
}
mainDO.setStatus(requestStatusState.getState().getCode());
//调用执行方法
this.generateJob(mainDO, countadjustRequestDetailMapper.selectList(mainDO.getId()));
trendsApi.createTrends(id, "countadjustRequest", "执行了到货校验申请", TrendsTypeEnum.UPDATE);
return countadjustRequestMainMapper.updateById(mainDO);
}
@Override
@Transactional
public Integer abortCountadjustRequestMain(Long id) {
// 校验存在
CountadjustRequestMainDO mainDO = validateCountadjustRequestMainExists(id);
RequestStatusState requestStatusState = new RequestStatusState(mainDO.getStatus());
boolean flag = requestStatusState.refused();
if(!flag) {
throw new ServiceException(COUNTADJUST_REQUEST_CANNOT_ABORT);
}
mainDO.setStatus(requestStatusState.getState().getCode());
trendsApi.createTrends(id, "countadjustRequest", "审批拒绝了到货校验申请", TrendsTypeEnum.UPDATE);
return countadjustRequestMainMapper.updateById(mainDO);
}
/**
* 生成收货检验任务不要改动事务传播方式否则会有事务问题
* @param mainDO 收货检验主
* @param detailDOList 收货检验子
*/
private void generateJob(CountadjustRequestMainDO mainDO, List<CountadjustRequestDetailDO> detailDOList) {
}
private CountadjustRequestMainDO validateCountadjustRequestMainExists(Long id) {
CountadjustRequestMainDO mainDO = countadjustRequestMainMapper.selectById(id);
if (mainDO == null) {
throw exception(COUNTADJUST_REQUEST_MAIN_NOT_EXISTS);
}
return mainDO;
}
} }

47
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/inspectJob/InspectJobMainServiceImpl.java

@ -11,9 +11,12 @@ 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.system.enums.serialNumber.RuleCodeEnum; import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.inspectJob.vo.*; import com.win.module.wms.controller.inspectJob.vo.*;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestDetailCreateReqVO;
import com.win.module.wms.controller.putawayRequest.vo.PutawayRequestMainCreateReqVO;
import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO; import com.win.module.wms.controller.transaction.vo.TransactionCreateReqVO;
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.documentSwitch.SwitchDO;
import com.win.module.wms.dal.dataobject.inspectJob.InspectJobMainDO; import com.win.module.wms.dal.dataobject.inspectJob.InspectJobMainDO;
import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordDetailDO; import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordDetailDO;
import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO; import com.win.module.wms.dal.dataobject.inspectRecord.InspectRecordMainDO;
@ -30,7 +33,9 @@ import com.win.module.wms.dal.mysql.inspectRequest.InspectRequestMainMapper;
import com.win.module.wms.enums.job.JobStatusEnum; import com.win.module.wms.enums.job.JobStatusEnum;
import com.win.module.wms.enums.job.JobStatusState; import com.win.module.wms.enums.job.JobStatusState;
import com.win.module.wms.enums.request.RequestStatusEnum; import com.win.module.wms.enums.request.RequestStatusEnum;
import com.win.module.wms.service.documentSwitch.SwitchService;
import com.win.module.wms.service.expectin.ExpectinService; import com.win.module.wms.service.expectin.ExpectinService;
import com.win.module.wms.service.putawayRequest.PutawayRequestMainService;
import com.win.module.wms.service.transaction.TransactionService; import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils; import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
@ -85,6 +90,10 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
private BalanceMapper balanceMapper; private BalanceMapper balanceMapper;
@Resource @Resource
private InspectRequestDetailMapper inspectRequestDetailMapper; private InspectRequestDetailMapper inspectRequestDetailMapper;
@Resource
private SwitchService switchService;
@Resource
private PutawayRequestMainService putawayRequestMainService;
@Override @Override
public InspectJobMainDO getInspectJobMain(Long id) { public InspectJobMainDO getInspectJobMain(Long id) {
@ -197,6 +206,7 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
String number = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_RECORD.getCode()); String number = serialNumberApi.generateCode(RuleCodeEnum.INSPECT_RECORD.getCode());
inspectRecordMainDO.setNumber(number); inspectRecordMainDO.setNumber(number);
inspectRecordMainDO.setJobNumber(inspectJobMainDO.getNumber()); inspectRecordMainDO.setJobNumber(inspectJobMainDO.getNumber());
inspectRecordMainDO.setFromWarehouseCode(inspectJobMainDO.getWarehouseCode());
inspectRecordMainDO.setId(null); inspectRecordMainDO.setId(null);
inspectRecordMainDO.setCreator(null); inspectRecordMainDO.setCreator(null);
inspectRecordMainDO.setCreateTime(null); inspectRecordMainDO.setCreateTime(null);
@ -349,6 +359,43 @@ public class InspectJobMainServiceImpl implements InspectJobMainService {
} }
//移除预计入 //移除预计入
expectinService.deleteExpectinByJobNumber(inspectJobMainDO.getNumber()); expectinService.deleteExpectinByJobNumber(inspectJobMainDO.getNumber());
//上架申请子
SwitchDO switchDO = switchService.selectSwitchExist("CreatePutawayRequestAfterInspectRecordCreated");
//检验合格生成上架申请
if(switchDO.getEffectiveSetValue().equals("TRUE")) {
PutawayRequestMainCreateReqVO putawayRequestMainCreateReqVO = new PutawayRequestMainCreateReqVO();
BeanUtils.copyProperties(inspectRecordMainDO, putawayRequestMainCreateReqVO);
List<PutawayRequestDetailCreateReqVO> putawayRequestDetailCreateReqVOList = new ArrayList<>();
for(InspectJobDetailUpdateReqVO inspectJobDetailUpdateReqVO : inspectJobDetailUpdateReqVOList) {
if(!inspectJobDetailUpdateReqVO.getToInventoryStatus().equals("OK")) {
continue;
}
PutawayRequestDetailCreateReqVO putawayRequestDetailCreateReqVO = new PutawayRequestDetailCreateReqVO();
BeanUtils.copyProperties(inspectJobDetailUpdateReqVO, putawayRequestDetailCreateReqVO);
putawayRequestDetailCreateReqVO.setBatch(inspectRecordMainDO.getBatch());
putawayRequestDetailCreateReqVO.setPoNumber(inspectRecordMainDO.getPoNumber());
putawayRequestDetailCreateReqVO.setPoLine(inspectRecordMainDO.getPoLine());
putawayRequestDetailCreateReqVO.setItemCode(inspectRecordMainDO.getItemCode());
putawayRequestDetailCreateReqVO.setItemName(inspectRecordMainDO.getItemCode());
putawayRequestDetailCreateReqVO.setInventoryStatus("OK");
putawayRequestDetailCreateReqVO.setId(null);
putawayRequestDetailCreateReqVO.setCreateTime(null);
putawayRequestDetailCreateReqVO.setCreator(null);
putawayRequestDetailCreateReqVO.setUpdateTime(null);
putawayRequestDetailCreateReqVO.setUpdater(null);
putawayRequestDetailCreateReqVOList.add(putawayRequestDetailCreateReqVO);
}
putawayRequestMainCreateReqVO.setToWarehouseCode(inspectRecordMainDO.getFromWarehouseCode());
putawayRequestMainCreateReqVO.setId(null);
putawayRequestMainCreateReqVO.setCreateTime(null);
putawayRequestMainCreateReqVO.setCreator(null);
putawayRequestMainCreateReqVO.setUpdateTime(null);
putawayRequestMainCreateReqVO.setUpdater(null);
putawayRequestMainCreateReqVO.setSubList(putawayRequestDetailCreateReqVOList);
if(!putawayRequestDetailCreateReqVOList.isEmpty()) {
putawayRequestMainService.createPutawayRequestMain(putawayRequestMainCreateReqVO);
}
}
//变更记录 //变更记录
trendsApi.createTrends(inspectJobMainDO.getId(), "inspectJob", "执行了到货检验任务", TrendsTypeEnum.UPDATE); trendsApi.createTrends(inspectJobMainDO.getId(), "inspectJob", "执行了到货检验任务", TrendsTypeEnum.UPDATE);
return number; return number;

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/putawayRequest/PutawayRequestMainServiceImpl.java

@ -408,8 +408,10 @@ public class PutawayRequestMainServiceImpl implements PutawayRequestMainService
//校验主表公共方法(适用于新增/修改) //校验主表公共方法(适用于新增/修改)
private PutawayRequestMainDO validatorMainMethod(PutawayRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) { private PutawayRequestMainDO validatorMainMethod(PutawayRequestMainBaseVO baseVO, BusinesstypeDO businesstypeDO, RequestsettingDO requestsettingDO) {
PutawayRequestMainDO mainDo = PutawayRequestMainConvert.INSTANCE.convert(baseVO); PutawayRequestMainDO mainDo = PutawayRequestMainConvert.INSTANCE.convert(baseVO);
mainDo.setRequestTime(LocalDateTime.now());
mainDo.setBusinessType(businesstypeDO.getCode()); mainDo.setBusinessType(businesstypeDO.getCode());
mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes()); mainDo.setFromLocationTypes(businesstypeDO.getOutLocationTypes());
mainDo.setToLocationTypes(businesstypeDO.getInLocationTypes());
mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes()); mainDo.setFromAreaCodes(businesstypeDO.getOutAreaCodes());
mainDo.setAutoAgree(requestsettingDO.getAutoAgree()); mainDo.setAutoAgree(requestsettingDO.getAutoAgree());
mainDo.setAutoCommit(requestsettingDO.getAutoCommit()); mainDo.setAutoCommit(requestsettingDO.getAutoCommit());

Loading…
Cancel
Save