Browse Source

Merge remote-tracking branch 'origin/master'

master
陈薪名 2 years ago
parent
commit
a058a2a14a
  1. 7
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/TransferissueRecordMainController.java
  2. 2
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestDetailConvert.java
  3. 6
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainService.java
  4. 115
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java
  5. 80
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestDetailServiceImpl.java

7
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/transferissueRecord/TransferissueRecordMainController.java

@ -118,13 +118,6 @@ public class TransferissueRecordMainController {
ExcelUtils.write(response, "调拨出库记录主.xls", "数据", TransferissueRecordMainExcelVO.class, datas);
}
@PostMapping("/pdaCreate")
@Operation(summary = "PDA创建调拨出库记录")
@PreAuthorize("@ss.hasPermission('wms:transferissue-record-main:create')")
public CommonResult<Long> pdaCreateTransferissueRecord(@Valid @RequestBody TransferissueRecordMainCreateReqVO createReqVO) {
Long id = transferissueRecordMainService.pdaCreateTransferissueRecord(createReqVO);
return success(id);
}
@GetMapping("/getDetailInfoById")
@Operation(summary = "获取记录根据ID")

2
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/convert/transferissueRequest/TransferissueRequestDetailConvert.java

@ -50,5 +50,5 @@ public interface TransferissueRequestDetailConvert {
TransferissueRequestDetailExcelVO convert(TransferissueRequestMainDO mainDO, TransferissueRequestDetailDO detailDO);
TransferissueRequestDetailDO convertReq(TransferissueRequestDetailBaseVO createReqVO);
}

6
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainService.java

@ -77,12 +77,6 @@ public interface TransferissueRecordMainService {
*/
List<TransferissueRecordMainDO> getTransferissueRecordMainList(TransferissueRecordMainExportReqVO exportReqVO);
/**
* PDA创建记录
* @param createReqVO 记录请参数
* @return 主表ID
*/
Long pdaCreateTransferissueRecord(TransferissueRecordMainCreateReqVO createReqVO);
/**
* 获取记录明细数据

115
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRecord/TransferissueRecordMainServiceImpl.java

@ -2,6 +2,8 @@ package com.win.module.wms.service.transferissueRecord;
import com.win.framework.common.pojo.CustomConditions;
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.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.api.user.AdminUserApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
@ -20,7 +22,6 @@ import com.win.module.wms.service.transaction.TransactionService;
import com.win.module.wms.util.JobUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
@ -56,14 +57,61 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa
private AdminUserApi userApi;
@Resource
private TransactionService transactionService;
@Resource
private TrendsApi trendsApi;
@Override
public Long createTransferissueRecordMain(TransferissueRecordMainCreateReqVO createReqVO) {
// 插入
TransferissueRecordMainDO transferissueRecordMain = TransferissueRecordMainConvert.INSTANCE.convert(createReqVO);
transferissueRecordMainMapper.insert(transferissueRecordMain);
// 返回
return transferissueRecordMain.getId();
TransferissueRecordMainDO transferissueRecordMainDO = TransferissueRecordMainConvert.INSTANCE.convert(createReqVO);
String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_DELIVER_RECORD.getCode());
transferissueRecordMainDO.setNumber(number);
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRecord");
transferissueRecordMainDO.setBusinessType(businesstypeDO.getCode());
transferissueRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType());
transferissueRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType());
String interFaceType = recordsettingService.selectRecordsettingExist("TransferDeliverRecord").getInterfaceType();
transferissueRecordMainDO.setInterfaceType(interFaceType);
transferissueRecordMainDO.setExecuteTime(LocalDateTime.now());
transferissueRecordMainDO.setActiveDate(LocalDateTime.now());
transferissueRecordMainDO.setAvailable("TRUE");
transferissueRecordMainDO.setDueTime(null);
transferissueRecordMainDO.setId(null);
transferissueRecordMainDO.setCreator(null);
transferissueRecordMainDO.setCreateTime(LocalDateTime.now());
transferissueRecordMainMapper.insert(transferissueRecordMainDO);
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
List<TransferissueRecordDetailCreateReqVO> subList = createReqVO.getSubList();
for(TransferissueRecordDetailCreateReqVO transferissueRecordDetailCreateReqVO : subList) {
TransferissueRecordDetailDO recordDetailDO = TransferissueRecordDetailConvert.INSTANCE.convert(transferissueRecordDetailCreateReqVO);
recordDetailDO.setNumber(number);
recordDetailDO.setMasterId(transferissueRecordMainDO.getId());
transferissueRecordDetailMapper.insert(recordDetailDO);
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO);
//增加业务类型
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(transferissueRecordMainDO.getBusinessType());
transactionCreateReqVO.setLocationCode(recordDetailDO.getToLocationCode());
transactionCreateReqVO.setOwnerCode(recordDetailDO.getFromOwnerCode());
transactionCreateReqVO.setPackingNumber(recordDetailDO.getFromPackingNumber());
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVO.setBatch(recordDetailDO.getFromBatch());
transactionCreateReqVO.setWarehouseCode(transferissueRecordMainDO.getToWarehouseCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
}
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
trendsApi.createTrends(transferissueRecordMainDO.getId(), "TransferDeliverRecord", "增加了调拨出库申请记录", TrendsTypeEnum.CREATE);
return transferissueRecordMainDO.getId();
}
@Override
@ -114,61 +162,6 @@ public class TransferissueRecordMainServiceImpl implements TransferissueRecordMa
return transferissueRecordMainMapper.selectList(exportReqVO);
}
@Transactional
@Override
public Long pdaCreateTransferissueRecord(TransferissueRecordMainCreateReqVO createReqVO) {
TransferissueRecordMainDO transferissueRecordMainDO = TransferissueRecordMainConvert.INSTANCE.convert(createReqVO);
String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_DELIVER_RECORD.getCode());
transferissueRecordMainDO.setNumber(number);
//增加业务类型
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRecord");
transferissueRecordMainDO.setBusinessType(businesstypeDO.getCode());
transferissueRecordMainDO.setOutTransactionType(businesstypeDO.getOutTransactionType());
transferissueRecordMainDO.setInTransactionType(businesstypeDO.getInTransactionType());
String interFaceType = recordsettingService.selectRecordsettingExist("TransferDeliverRecord").getInterfaceType();
transferissueRecordMainDO.setInterfaceType(interFaceType);
transferissueRecordMainDO.setExecuteTime(LocalDateTime.now());
transferissueRecordMainDO.setActiveDate(LocalDateTime.now());
transferissueRecordMainDO.setAvailable("TRUE");
transferissueRecordMainDO.setDueTime(null);
transferissueRecordMainDO.setId(null);
transferissueRecordMainDO.setCreator(null);
transferissueRecordMainDO.setCreateTime(null);
transferissueRecordMainMapper.insert(transferissueRecordMainDO);
//库存事务
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>();
List<TransferissueRecordDetailCreateReqVO> subList = createReqVO.getSubList();
for(TransferissueRecordDetailCreateReqVO transferissueRecordDetailCreateReqVO : subList) {
TransferissueRecordDetailDO recordDetailDO = TransferissueRecordDetailConvert.INSTANCE.convert(transferissueRecordDetailCreateReqVO);
recordDetailDO.setNumber(number);
recordDetailDO.setMasterId(transferissueRecordMainDO.getId());
transferissueRecordDetailMapper.insert(recordDetailDO);
//添加库存事务list
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO();
BeanUtils.copyProperties(recordDetailDO, transactionCreateReqVO);
//增加业务类型
transactionCreateReqVO.setBusinessType(businesstypeDO.getCode());
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType());
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction());
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode());
transactionCreateReqVO.setBusinessType(transferissueRecordMainDO.getBusinessType());
transactionCreateReqVO.setLocationCode(recordDetailDO.getToLocationCode());
transactionCreateReqVO.setOwnerCode(recordDetailDO.getFromOwnerCode());
transactionCreateReqVO.setPackingNumber(recordDetailDO.getFromPackingNumber());
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId()));
transactionCreateReqVO.setBatch(recordDetailDO.getFromBatch());
transactionCreateReqVO.setWarehouseCode(transferissueRecordMainDO.getToWarehouseCode());
transactionCreateReqVO.setRecordNumber(number);
transactionCreateReqVO.setId(null);
transactionCreateReqVOList.add(transactionCreateReqVO);
}
//增加库存事务
transactionService.createTransaction(transactionCreateReqVOList);
return transferissueRecordMainDO.getId();
}
@Override
public TransferissueRecordMainRespVO getDetailInfoById(Long id) {

80
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/transferissueRequest/TransferissueRequestDetailServiceImpl.java

@ -4,8 +4,6 @@ import com.win.framework.common.pojo.CustomConditions;
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.system.api.serialnumber.SerialNumberApi;
import com.win.module.system.enums.serialNumber.RuleCodeEnum;
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailCreateReqVO;
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailExportReqVO;
import com.win.module.wms.controller.transferissueRequest.vo.TransferissueRequestDetailPageReqVO;
@ -17,12 +15,15 @@ import com.win.module.wms.dal.dataobject.itembasic.ItembasicDO;
import com.win.module.wms.dal.dataobject.location.LocationDO;
import com.win.module.wms.dal.dataobject.requestsetting.RequestsettingDO;
import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestDetailDO;
import com.win.module.wms.dal.dataobject.transferissueRequest.TransferissueRequestMainDO;
import com.win.module.wms.dal.mysql.transferissueRequest.TransferissueRequestDetailMapper;
import com.win.module.wms.dal.mysql.transferissueRequest.TransferissueRequestMainMapper;
import com.win.module.wms.service.itembasic.ItembasicService;
import com.win.module.wms.service.location.LocationService;
import com.win.module.wms.service.requestsetting.RequestsettingService;
import com.win.module.wms.util.JobUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
@ -32,7 +33,7 @@ import java.util.Collection;
import java.util.List;
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception;
import static com.win.module.wms.enums.ErrorCodeConstants.TRANSFERISSUE_REQUEST_DETAIL_NOT_EXISTS;
import static com.win.module.wms.enums.ErrorCodeConstants.*;
/**
* 调拨出库申请子 Service 实现类
@ -46,31 +47,34 @@ public class TransferissueRequestDetailServiceImpl implements TransferissueReque
@Resource
private TransferissueRequestDetailMapper transferissueRequestDetailMapper;
@Resource
private ItembasicService itembasicService;
@Resource
private LocationService locationService;
@Resource
private JobUtils jobUtils;
@Resource
private TrendsApi trendsApi;
@Resource
private SerialNumberApi serialNumberApi;
@Resource
private RequestsettingService requestsettingService;
@Resource
private TransferissueRequestMainMapper transferissueRequestMainMapper;
@Transactional
@Override
public Long createTransferissueRequestDetail(TransferissueRequestDetailCreateReqVO createReqVO) {
RequestsettingDO requestsettingDO = requestsettingService.selectRequestsettingExist("TransferDeliverRequest");
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRequest");
TransferissueRequestMainDO mainDO = transferissueRequestMainMapper.selectById(createReqVO.getMasterId());
// 插入
TransferissueRequestDetailDO transferissueRequestDetail = validatorToCreate(createReqVO,requestsettingDO);
TransferissueRequestDetailDO transferissueRequestDetailDO = TransferissueRequestDetailConvert.INSTANCE.convertReq(createReqVO);
transferissueRequestDetailDO = validateDetailMethod(transferissueRequestDetailDO,businesstypeDO);
transferissueRequestDetailDO.setNumber(mainDO.getNumber());
transferissueRequestDetailDO.setMasterId(mainDO.getId());
transferissueRequestDetailMapper.insert(transferissueRequestDetailDO);
trendsApi.createTrends(requestsettingDO.getId(), "TransferDeliverRequest", "增加了调拨出库申请", TrendsTypeEnum.CREATE);
return transferissueRequestDetail.getId();
return transferissueRequestDetailDO.getId();
}
private List<BalanceDO> validatebalance(TransferissueRequestDetailDO detailDo){
@ -81,57 +85,61 @@ public class TransferissueRequestDetailServiceImpl implements TransferissueReque
}
private LocationDO validatorLocation(String Location){
return locationService.selectLocation(Location);
}
private TransferissueRequestDetailDO validatorToCreate(TransferissueRequestDetailCreateReqVO createReqVO, RequestsettingDO requestsettingDO) {
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRequest");
TransferissueRequestDetailDO transferissueRequestDetailDO = TransferissueRequestDetailConvert.INSTANCE.convert(createReqVO);
transferissueRequestDetailDO = validateDetailMethod(transferissueRequestDetailDO,businesstypeDO);
String number = serialNumberApi.generateCode(RuleCodeEnum.TRANSFER_REQUEST.getCode());
transferissueRequestDetailDO.setNumber(number);
transferissueRequestDetailDO.setMasterId(createReqVO.getMasterId());
transferissueRequestDetailMapper.insert(transferissueRequestDetailDO);
return transferissueRequestDetailDO;
}
private ItembasicDO validatorItembasic(String itemCode) {
return itembasicService.selectItembasic(itemCode);
}
private TransferissueRequestDetailDO validateDetailMethod(TransferissueRequestDetailDO transferissueRequestDetailDO, BusinesstypeDO businesstypeDO) {
transferissueRequestDetailDO.setCreateTime(LocalDateTime.now());
// BQ——>QL 校验来源/目标库位基础信息
LocationDO tolocationDO = validatorLocation(transferissueRequestDetailDO.getToLocationCode());
if(tolocationDO == null){
throw exception(TRANSFERISSUE_REQUEST_DETAIL_LOCALTIONCODE_NOT_EXISTS, transferissueRequestDetailDO.getToLocationCode());
}
LocationDO fromlocationDO = validatorLocation(transferissueRequestDetailDO.getFromLocationCode());
if(fromlocationDO == null){
throw exception(TRANSFERISSUE_REQUEST_DETAIL_LOCALTIONCODE_NOT_EXISTS, transferissueRequestDetailDO.getFromLocationCode());
}
// BQ----QI 校验物品基础信息
ItembasicDO item = validatorItembasic(transferissueRequestDetailDO.getItemCode());
if(item == null){
throw exception(TRANSFERISSUE_REQUEST_DETAIL_ITEM_NOT_EXISTS, transferissueRequestDetailDO.getItemCode());
}
transferissueRequestDetailDO.setItemDesc1(item.getDesc1());
transferissueRequestDetailDO.setItemDesc2(item.getDesc2());
transferissueRequestDetailDO.setItemName(item.getName());
transferissueRequestDetailDO.setUom(item.getUom());
transferissueRequestDetailDO.setProjectCode(item.getProject());
validatorLocation(transferissueRequestDetailDO.getToLocationCode());
// DBT——>DBT2——>LO 校验来源库位
jobUtils.ifInToLocationType(transferissueRequestDetailDO.getFromLocationCode(), businesstypeDO);
// DBT——>DBT2——>LO 校验目标库位
jobUtils.ifInToLocationType(transferissueRequestDetailDO.getToLocationCode(), businesstypeDO);
// DBT——>DBT2——>SO 校验库存状态
jobUtils.ifOutInventoryStatuses(transferissueRequestDetailDO.getInventoryStatus(), businesstypeDO);
// TB——>TB1 校验库存余额是否存在
validatebalance(transferissueRequestDetailDO);
return transferissueRequestDetailDO;
}
}
@Override
public PageResult<TransferissueRequestDetailDO> getTransferissueRequestDetailSenior(CustomConditions conditions) {
return transferissueRequestDetailMapper.selectSenior(conditions);
}
@Transactional
@Override
public void updateTransferissueRequestDetail(TransferissueRequestDetailUpdateReqVO updateReqVO) {
// 校验存在
validateTransferissueRequestDetailExists(updateReqVO.getId());
// 更新
TransferissueRequestDetailDO updateObj = TransferissueRequestDetailConvert.INSTANCE.convert(updateReqVO);
transferissueRequestDetailMapper.updateById(updateObj);
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("TransferDeliverRequest");
TransferissueRequestDetailDO transferissueRequestDetailDO = TransferissueRequestDetailConvert.INSTANCE.convert(updateReqVO);
// 校验数据
validateDetailMethod(transferissueRequestDetailDO,businesstypeDO);
// 更新数据
transferissueRequestDetailMapper.updateById(transferissueRequestDetailDO);
}
@Override

Loading…
Cancel
Save