|
|
@ -22,8 +22,11 @@ import com.win.module.wms.convert.customerreceiptRecord.CustomerreceiptRecordMai |
|
|
|
import com.win.module.wms.convert.customerreceiptRequest.CustomerreceiptRequestDetailConvert; |
|
|
|
import com.win.module.wms.convert.customerreceiptRequest.CustomerreceiptRequestMainConvert; |
|
|
|
import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; |
|
|
|
import com.win.module.wms.dal.dataobject.customerreceiptRecord.CustomerreceiptRecordDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.customerreceiptRecord.CustomerreceiptRecordMainDO; |
|
|
|
import com.win.module.wms.dal.dataobject.customerreceiptRequest.CustomerreceiptRequestDetailDO; |
|
|
|
import com.win.module.wms.dal.dataobject.customerreceiptRequest.CustomerreceiptRequestMainDO; |
|
|
|
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.transactiontype.TransactiontypeDO; |
|
|
|
import com.win.module.wms.dal.mysql.customerreceiptRecord.CustomerreceiptRecordDetailMapper; |
|
|
@ -32,6 +35,7 @@ import com.win.module.wms.dal.mysql.customerreceiptRequest.CustomerreceiptReques |
|
|
|
import com.win.module.wms.dal.mysql.customerreceiptRequest.CustomerreceiptRequestMainMapper; |
|
|
|
import com.win.module.wms.enums.request.RequestStatusEnum; |
|
|
|
import com.win.module.wms.enums.request.RequestStatusState; |
|
|
|
import com.win.module.wms.service.location.LocationService; |
|
|
|
import com.win.module.wms.service.requestsetting.RequestsettingService; |
|
|
|
import com.win.module.wms.service.transaction.TransactionService; |
|
|
|
import com.win.module.wms.util.JobUtils; |
|
|
@ -90,6 +94,9 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq |
|
|
|
@Resource |
|
|
|
private AdminUserApi userApi; |
|
|
|
|
|
|
|
@Resource |
|
|
|
private LocationService locationService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public Long createCustomerreceiptRequestMain(CustomerreceiptRequestMainCreateReqVO createReqVO) { |
|
|
|
// 插入
|
|
|
@ -318,21 +325,44 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq |
|
|
|
*/ |
|
|
|
private void generateRecord(CustomerreceiptRequestMainDO mainDO, List<CustomerreceiptRequestDetailDO> detailDOList) { |
|
|
|
if ("TRUE".equals(mainDO.getDirectCreateRecord())) { |
|
|
|
CustomerreceiptRecordMainCreateReqVO customerreceiptRecordMainCreateReqVO = new CustomerreceiptRecordMainCreateReqVO(); |
|
|
|
BeanUtils.copyProperties(mainDO, customerreceiptRecordMainCreateReqVO); |
|
|
|
customerreceiptRecordMainCreateReqVO.setRequestNumber(mainDO.getNumber()); |
|
|
|
CustomerreceiptRecordMainDO customerreceiptRecordMainDO = new CustomerreceiptRecordMainDO(); |
|
|
|
BeanUtils.copyProperties(mainDO, customerreceiptRecordMainDO); |
|
|
|
customerreceiptRecordMainDO.setRequestNumber(mainDO.getNumber()); |
|
|
|
String number = serialNumberApi.generateCode(RuleCodeEnum.CUSTOMER_RECEIPT_REQUEST.getCode()); |
|
|
|
customerreceiptRecordMainCreateReqVO.setNumber(number); |
|
|
|
customerreceiptRecordMainDO.setNumber(number); |
|
|
|
//增加业务类型
|
|
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerReceiptRecord"); |
|
|
|
customerreceiptRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); |
|
|
|
customerreceiptRecordMainMapper.insert(CustomerreceiptRecordMainConvert.INSTANCE.convert(customerreceiptRecordMainCreateReqVO)); |
|
|
|
customerreceiptRecordMainDO.setBusinessType(businesstypeDO.getCode()); |
|
|
|
customerreceiptRecordMainMapper.insert(customerreceiptRecordMainDO); |
|
|
|
List<TransactionCreateReqVO> transactionCreateReqVOList = new ArrayList<>(); |
|
|
|
for (CustomerreceiptRequestDetailDO customerreceiptRequestDetailDO : detailDOList) { |
|
|
|
CustomerreceiptRecordDetailCreateReqVO customerreceiptRecordDetailCreateReqVO = new CustomerreceiptRecordDetailCreateReqVO(); |
|
|
|
BeanUtils.copyProperties(customerreceiptRequestDetailDO, customerreceiptRecordDetailCreateReqVO); |
|
|
|
customerreceiptRecordDetailCreateReqVO.setNumber(number); |
|
|
|
customerreceiptRecordDetailMapper.insert(CustomerreceiptRecordDetailConvert.INSTANCE.convert(customerreceiptRecordDetailCreateReqVO)); |
|
|
|
CustomerreceiptRecordDetailDO customerreceiptRecordDetailDO = new CustomerreceiptRecordDetailDO(); |
|
|
|
BeanUtils.copyProperties(customerreceiptRequestDetailDO, customerreceiptRecordDetailDO); |
|
|
|
customerreceiptRecordDetailDO.setNumber(number); |
|
|
|
customerreceiptRecordDetailDO.setFromBatch(customerreceiptRequestDetailDO.getBatch()); |
|
|
|
customerreceiptRecordDetailDO.setFromPackingNumber(customerreceiptRequestDetailDO.getPackingNumber()); |
|
|
|
customerreceiptRecordDetailDO.setFromContainerNumber(customerreceiptRequestDetailDO.getContainerNumber()); |
|
|
|
customerreceiptRecordDetailDO.setFromOwnerCode(customerreceiptRequestDetailDO.getFromOwnerCode()); |
|
|
|
LocationDO fromLocationDO = locationService.selectLocation(customerreceiptRequestDetailDO.getFromLocationCode()); |
|
|
|
if(fromLocationDO != null){ |
|
|
|
customerreceiptRecordDetailDO.setFromLocationCode(fromLocationDO.getCode()); |
|
|
|
customerreceiptRecordDetailDO.setFromAreaCode(fromLocationDO.getAreaCode()); |
|
|
|
customerreceiptRecordDetailDO.setFromLocationGroupCode(fromLocationDO.getLocationGroupCode()); |
|
|
|
} |
|
|
|
customerreceiptRecordDetailDO.setToBatch(customerreceiptRequestDetailDO.getBatch()); |
|
|
|
customerreceiptRecordDetailDO.setToPackingNumber(customerreceiptRequestDetailDO.getPackingNumber()); |
|
|
|
LocationDO toLocationDO = locationService.selectLocation(customerreceiptRequestDetailDO.getToLocationCode()); |
|
|
|
if(toLocationDO != null){ |
|
|
|
customerreceiptRecordDetailDO.setToLocationCode(toLocationDO.getCode()); |
|
|
|
customerreceiptRecordDetailDO.setToAreaCode(toLocationDO.getAreaCode()); |
|
|
|
customerreceiptRecordDetailDO.setToLocationGroupCode(toLocationDO.getLocationGroupCode()); |
|
|
|
} |
|
|
|
customerreceiptRecordDetailDO.setToContainerNumber(customerreceiptRequestDetailDO.getContainerNumber()); |
|
|
|
customerreceiptRecordDetailDO.setToOwnerCode(customerreceiptRequestDetailDO.getToOwnerCode()); |
|
|
|
customerreceiptRecordDetailDO.setAmount(BigDecimal.ZERO); |
|
|
|
customerreceiptRecordDetailDO.setSinglePrice(BigDecimal.ZERO); |
|
|
|
customerreceiptRecordDetailDO.setMasterId(customerreceiptRecordMainDO.getId().toString()); |
|
|
|
customerreceiptRecordDetailMapper.insert(customerreceiptRecordDetailDO); |
|
|
|
//添加库存事务list
|
|
|
|
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); |
|
|
|
BeanUtils.copyProperties(customerreceiptRequestDetailDO, transactionCreateReqVO); |
|
|
|