|
|
@ -6,6 +6,7 @@ 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; |
|
|
|
import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRecordDetailCreateReqVO; |
|
|
|
import com.win.module.wms.controller.customerreceiptRecord.vo.CustomerreceiptRecordMainCreateReqVO; |
|
|
@ -24,6 +25,7 @@ import com.win.module.wms.dal.dataobject.businesstype.BusinesstypeDO; |
|
|
|
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.requestsetting.RequestsettingDO; |
|
|
|
import com.win.module.wms.dal.dataobject.transactiontype.TransactiontypeDO; |
|
|
|
import com.win.module.wms.dal.mysql.customerreceiptRecord.CustomerreceiptRecordDetailMapper; |
|
|
|
import com.win.module.wms.dal.mysql.customerreceiptRecord.CustomerreceiptRecordMainMapper; |
|
|
|
import com.win.module.wms.dal.mysql.customerreceiptRequest.CustomerreceiptRequestDetailMapper; |
|
|
@ -31,6 +33,7 @@ import com.win.module.wms.dal.mysql.customerreceiptRequest.CustomerreceiptReques |
|
|
|
import com.win.module.wms.enums.request.RequestStatusEnum; |
|
|
|
import com.win.module.wms.enums.request.RequestStatusState; |
|
|
|
import com.win.module.wms.service.requestsetting.RequestsettingService; |
|
|
|
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; |
|
|
@ -38,12 +41,14 @@ import org.springframework.transaction.annotation.Transactional; |
|
|
|
import org.springframework.validation.annotation.Validated; |
|
|
|
|
|
|
|
import javax.annotation.Resource; |
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.time.LocalDateTime; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Collection; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
import static com.win.framework.common.exception.util.ServiceExceptionUtil.exception; |
|
|
|
import static com.win.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId; |
|
|
|
import static com.win.module.wms.enums.ErrorCodeConstants.*; |
|
|
|
|
|
|
|
/** |
|
|
@ -79,6 +84,12 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq |
|
|
|
@Resource |
|
|
|
private RequestsettingService requestsettingService; |
|
|
|
|
|
|
|
@Resource |
|
|
|
private TransactionService transactionService; |
|
|
|
|
|
|
|
@Resource |
|
|
|
private AdminUserApi userApi; |
|
|
|
|
|
|
|
@Override |
|
|
|
public Long createCustomerreceiptRequestMain(CustomerreceiptRequestMainCreateReqVO createReqVO) { |
|
|
|
// 插入
|
|
|
@ -113,7 +124,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq |
|
|
|
customerreceiptRequestDetailDO.setNumber(number); |
|
|
|
} |
|
|
|
customerreceiptRequestDetailMapper.insertBatch(subDOList); |
|
|
|
trendsApi.createTrends(requestsettingDO.getId(), "CustomerReceiptRequest", "增加了客户收货申请", TrendsTypeEnum.CREATE); |
|
|
|
trendsApi.createTrends(requestsettingDO.getId(), "CustomerReceipt", "增加了客户收货申请", TrendsTypeEnum.CREATE); |
|
|
|
// 返回
|
|
|
|
return customerreceiptRequestMain.getId(); |
|
|
|
} |
|
|
@ -125,7 +136,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq |
|
|
|
// 更新
|
|
|
|
CustomerreceiptRequestMainDO updateObj = CustomerreceiptRequestMainConvert.INSTANCE.convert(updateReqVO); |
|
|
|
customerreceiptRequestMainMapper.updateById(updateObj); |
|
|
|
trendsApi.createTrends(updateReqVO.getId(), "CustomerReceiptRequest", "修改了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
trendsApi.createTrends(updateReqVO.getId(), "CustomerReceipt", "修改了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
@ -186,7 +197,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq |
|
|
|
throw new ServiceException(CUSTOMERRECEIPT_REQUEST_CANNOT_CLOSE); |
|
|
|
} |
|
|
|
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
|
|
|
|
trendsApi.createTrends(id, "CustomerReceiptRequest", "关闭了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
trendsApi.createTrends(id, "CustomerReceipt", "关闭了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
return customerreceiptRequestMainMapper.updateById(mainDO); |
|
|
|
} |
|
|
|
|
|
|
@ -206,7 +217,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq |
|
|
|
throw new ServiceException(CUSTOMERRECEIPT_REQUEST_CANNOT_RE_ADD); |
|
|
|
} |
|
|
|
mainDO.setStatus(requestStatusState.getState().getCode());//增加操作记录
|
|
|
|
trendsApi.createTrends(id, "CustomerReceiptRequest", "打开了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
trendsApi.createTrends(id, "CustomerReceipt", "打开了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
return customerreceiptRequestMainMapper.updateById(mainDO); |
|
|
|
} |
|
|
|
|
|
|
@ -229,7 +240,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq |
|
|
|
if (RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { |
|
|
|
this.generateRecord(mainDO, customerreceiptRequestDetailMapper.selectList(mainDO.getId())); |
|
|
|
} |
|
|
|
trendsApi.createTrends(id, "CustomerReceiptRequest", "提交了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
trendsApi.createTrends(id, "CustomerReceipt", "提交了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
return customerreceiptRequestMainMapper.updateById(mainDO); |
|
|
|
} |
|
|
|
|
|
|
@ -253,7 +264,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq |
|
|
|
if (RequestStatusEnum.HANDLING.getCode().equals(mainDO.getStatus())) { |
|
|
|
this.generateRecord(mainDO, customerreceiptRequestDetailMapper.selectList(mainDO.getId())); |
|
|
|
} |
|
|
|
trendsApi.createTrends(id, "CustomerReceiptRequest", "审批同意了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
trendsApi.createTrends(id, "CustomerReceipt", "审批同意了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
return customerreceiptRequestMainMapper.updateById(mainDO); |
|
|
|
} |
|
|
|
|
|
|
@ -275,7 +286,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq |
|
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
|
//调用执行方法
|
|
|
|
this.generateRecord(mainDO, customerreceiptRequestDetailMapper.selectList(mainDO.getId())); |
|
|
|
trendsApi.createTrends(id, "CustomerReceiptRequest", "执行了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
trendsApi.createTrends(id, "CustomerReceipt", "执行了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
return customerreceiptRequestMainMapper.updateById(mainDO); |
|
|
|
} |
|
|
|
|
|
|
@ -295,7 +306,7 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq |
|
|
|
throw new ServiceException(CUSTOMERRECEIPT_REQUEST_CANNOT_REFUSED); |
|
|
|
} |
|
|
|
mainDO.setStatus(requestStatusState.getState().getCode()); |
|
|
|
trendsApi.createTrends(id, "CustomerReceiptRequest", "审批驳回了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
trendsApi.createTrends(id, "CustomerReceipt", "审批驳回了客户收货申请", TrendsTypeEnum.UPDATE); |
|
|
|
return customerreceiptRequestMainMapper.updateById(mainDO); |
|
|
|
} |
|
|
|
|
|
|
@ -316,15 +327,33 @@ public class CustomerreceiptRequestMainServiceImpl implements CustomerreceiptReq |
|
|
|
BusinesstypeDO businesstypeDO = jobUtils.selectDocumentSettingFromBusinessType("CustomerReceiptRecord"); |
|
|
|
customerreceiptRecordMainCreateReqVO.setBusinessType(businesstypeDO.getCode()); |
|
|
|
customerreceiptRecordMainMapper.insert(CustomerreceiptRecordMainConvert.INSTANCE.convert(customerreceiptRecordMainCreateReqVO)); |
|
|
|
List<ExpectinCreateReqVO> expectinCreateReqVOList = new ArrayList<>(); |
|
|
|
List<ExpectoutCreateReqVO> expectoutCreateReqVOList = new ArrayList<>(); |
|
|
|
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)); |
|
|
|
//添加库存事务list
|
|
|
|
TransactionCreateReqVO transactionCreateReqVO = new TransactionCreateReqVO(); |
|
|
|
BeanUtils.copyProperties(customerreceiptRequestDetailDO, transactionCreateReqVO); |
|
|
|
TransactiontypeDO transactiontypeDO = jobUtils.selectDocumentFromTransactionType(businesstypeDO.getInTransactionType()); |
|
|
|
transactionCreateReqVO.setWorker(String.valueOf(userApi.getUser(getLoginUserId()).getId())); |
|
|
|
transactionCreateReqVO.setInventoryAction(transactiontypeDO.getInventoryAction()); |
|
|
|
transactionCreateReqVO.setTransactionType(transactiontypeDO.getCode()); |
|
|
|
transactionCreateReqVO.setBusinessType(mainDO.getBusinessType()); |
|
|
|
transactionCreateReqVO.setOwnerCode(customerreceiptRequestDetailDO.getFromOwnerCode()); |
|
|
|
transactionCreateReqVO.setItemCode(customerreceiptRequestDetailDO.getItemCode()); |
|
|
|
transactionCreateReqVO.setRecordNumber(number); |
|
|
|
transactionCreateReqVO.setId(null); |
|
|
|
transactionCreateReqVO.setPackingNumber(customerreceiptRequestDetailDO.getPackingNumber()); |
|
|
|
transactionCreateReqVO.setBatch(customerreceiptRequestDetailDO.getBatch()); |
|
|
|
transactionCreateReqVO.setContainerNumber(customerreceiptRequestDetailDO.getContainerNumber()); |
|
|
|
transactionCreateReqVO.setAmount(BigDecimal.ZERO); |
|
|
|
transactionCreateReqVO.setWarehouseCode(mainDO.getFromWarehouseCode()); |
|
|
|
transactionCreateReqVO.setLocationCode(customerreceiptRequestDetailDO.getFromLocationCode()); |
|
|
|
transactionCreateReqVOList.add(transactionCreateReqVO); |
|
|
|
} |
|
|
|
transactionService.createTransaction(transactionCreateReqVOList); |
|
|
|
trendsApi.createTrends(mainDO.getId(), "CustomerReceiptRecord", "客户收货申请生成客户收货记录", TrendsTypeEnum.CREATE); |
|
|
|
} |
|
|
|
} |
|
|
|