|
|
|
|
@ -9,6 +9,11 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
|
|
import com.bonus.canteen.core.ims.domain.PurchaseContractDetail;
|
|
|
|
|
import com.bonus.canteen.core.ims.domain.constants.ApproveStatusEnum;
|
|
|
|
|
import com.bonus.canteen.core.ims.domain.constants.PurchaseContractStatusEnum;
|
|
|
|
|
import com.bonus.canteen.core.ims.domain.param.PurchaseContractAdd;
|
|
|
|
|
import com.bonus.canteen.core.ims.domain.param.PurchaseContractDetailAdd;
|
|
|
|
|
import com.bonus.canteen.core.ims.domain.param.PurchaseContractDetailUpdate;
|
|
|
|
|
import com.bonus.canteen.core.ims.domain.param.PurchaseContractUpdate;
|
|
|
|
|
import com.bonus.canteen.core.ims.domain.vo.PurchaseContractDetailVO;
|
|
|
|
|
import com.bonus.canteen.core.ims.domain.vo.PurchaseContractVO;
|
|
|
|
|
import com.bonus.canteen.core.ims.service.IPurchaseContractDetailService;
|
|
|
|
|
import com.bonus.canteen.core.ims.utils.NoGenerateUtils;
|
|
|
|
|
@ -49,10 +54,20 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
|
|
|
|
|
if(Objects.nonNull(purchaseContract)) {
|
|
|
|
|
PurchaseContractDetail purchaseContractDetail = new PurchaseContractDetail();
|
|
|
|
|
purchaseContractDetail.setContractId(contractId);
|
|
|
|
|
purchaseContract.setPurchaseContractDetailList(inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail));
|
|
|
|
|
List<PurchaseContractDetail> purchaseContractDetails = inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail);
|
|
|
|
|
purchaseContract.setPurchaseContractDetailList(purchaseContractDetails);
|
|
|
|
|
calContractStatus(purchaseContract);
|
|
|
|
|
purchaseContractVO = new PurchaseContractVO();
|
|
|
|
|
BeanUtils.copyProperties(purchaseContract, purchaseContractVO);
|
|
|
|
|
if(CollUtil.isNotEmpty(purchaseContractDetails)) {
|
|
|
|
|
List<PurchaseContractDetailVO> purchaseContractDetailVOList = new ArrayList<>();
|
|
|
|
|
purchaseContractDetails.forEach(detail -> {
|
|
|
|
|
PurchaseContractDetailVO purchaseContractDetailVO = new PurchaseContractDetailVO();
|
|
|
|
|
BeanUtils.copyProperties(detail, purchaseContractDetailVO);
|
|
|
|
|
purchaseContractDetailVOList.add(purchaseContractDetailVO);
|
|
|
|
|
});
|
|
|
|
|
purchaseContractVO.setPurchaseContractDetailList(purchaseContractDetailVOList);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return purchaseContractVO;
|
|
|
|
|
}
|
|
|
|
|
@ -71,10 +86,20 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
|
|
|
|
|
for(PurchaseContract contract : purchaseContracts) {
|
|
|
|
|
PurchaseContractDetail purchaseContractDetail = new PurchaseContractDetail();
|
|
|
|
|
purchaseContractDetail.setContractId(contract.getContractId());
|
|
|
|
|
contract.setPurchaseContractDetailList(inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail));
|
|
|
|
|
List<PurchaseContractDetail> purchaseContractDetailList = inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail);
|
|
|
|
|
contract.setPurchaseContractDetailList(purchaseContractDetailList);
|
|
|
|
|
calContractStatus(contract);
|
|
|
|
|
PurchaseContractVO purchaseContractVO = new PurchaseContractVO();
|
|
|
|
|
BeanUtils.copyProperties(contract, purchaseContractVO);
|
|
|
|
|
if(CollUtil.isNotEmpty(purchaseContractDetailList)) {
|
|
|
|
|
List<PurchaseContractDetailVO> purchaseContractDetailVOList = new ArrayList<>();
|
|
|
|
|
purchaseContractDetailList.forEach(detail -> {
|
|
|
|
|
PurchaseContractDetailVO purchaseContractDetailVO = new PurchaseContractDetailVO();
|
|
|
|
|
BeanUtils.copyProperties(detail, purchaseContractDetailVO);
|
|
|
|
|
purchaseContractDetailVOList.add(purchaseContractDetailVO);
|
|
|
|
|
});
|
|
|
|
|
purchaseContractVO.setPurchaseContractDetailList(purchaseContractDetailVOList);
|
|
|
|
|
}
|
|
|
|
|
purchaseContractVOList.add(purchaseContractVO);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -99,12 +124,14 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
|
|
|
|
|
/**
|
|
|
|
|
* 新增采购合同主
|
|
|
|
|
*
|
|
|
|
|
* @param purchaseContract 采购合同主
|
|
|
|
|
* @param purchaseContractAdd 采购合同主
|
|
|
|
|
* @return 结果
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public int insertPurchaseContract(PurchaseContract purchaseContract) {
|
|
|
|
|
public int insertPurchaseContract(PurchaseContractAdd purchaseContractAdd) {
|
|
|
|
|
PurchaseContract purchaseContract = new PurchaseContract();
|
|
|
|
|
BeanUtils.copyProperties(purchaseContractAdd, purchaseContract);
|
|
|
|
|
purchaseContract.setContractId(null);
|
|
|
|
|
purchaseContract.setCreateTime(DateUtils.getNowDate());
|
|
|
|
|
purchaseContract.setCreateBy(SecurityUtils.getUsername());
|
|
|
|
|
@ -113,12 +140,14 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
|
|
|
|
|
purchaseContract.setContractCode(contractCode);
|
|
|
|
|
purchaseContract.setApproveStatus(ApproveStatusEnum.APPROVED.getKey());
|
|
|
|
|
int result = purchaseContractMapper.insertPurchaseContract(purchaseContract);
|
|
|
|
|
List<PurchaseContractDetail> purchaseContractDetails = purchaseContract.getPurchaseContractDetailList();
|
|
|
|
|
List<PurchaseContractDetailAdd> purchaseContractDetails = purchaseContractAdd.getPurchaseContractDetailList();
|
|
|
|
|
if(CollUtil.isNotEmpty(purchaseContractDetails)) {
|
|
|
|
|
for(PurchaseContractDetail purchaseContractDetail : purchaseContractDetails) {
|
|
|
|
|
purchaseContractDetail.setContractId(purchaseContract.getContractId());
|
|
|
|
|
purchaseContractDetail.setContractCode(contractCode);
|
|
|
|
|
inspectGoodsDetailService.insertPurchaseContractDetail(purchaseContractDetail);
|
|
|
|
|
for(PurchaseContractDetailAdd purchaseContractDetailAdd : purchaseContractDetails) {
|
|
|
|
|
PurchaseContractDetail purchaseDetailContract = new PurchaseContractDetail();
|
|
|
|
|
BeanUtils.copyProperties(purchaseContractDetailAdd, purchaseDetailContract);
|
|
|
|
|
purchaseDetailContract.setContractId(purchaseContract.getContractId());
|
|
|
|
|
purchaseDetailContract.setContractCode(contractCode);
|
|
|
|
|
inspectGoodsDetailService.insertPurchaseContractDetail(purchaseDetailContract);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return result;
|
|
|
|
|
@ -130,12 +159,14 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
|
|
|
|
|
/**
|
|
|
|
|
* 修改采购合同主
|
|
|
|
|
*
|
|
|
|
|
* @param purchaseContract 采购合同主
|
|
|
|
|
* @param purchaseContractUpdate 采购合同主
|
|
|
|
|
* @return 结果
|
|
|
|
|
*/
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public int updatePurchaseContract(PurchaseContract purchaseContract) {
|
|
|
|
|
public int updatePurchaseContract(PurchaseContractUpdate purchaseContractUpdate) {
|
|
|
|
|
PurchaseContract purchaseContract = new PurchaseContract();
|
|
|
|
|
BeanUtils.copyProperties(purchaseContractUpdate, purchaseContract);
|
|
|
|
|
if(Objects.isNull(purchaseContract.getContractId())) {
|
|
|
|
|
throw new ServiceException("采购合同ID不能为空");
|
|
|
|
|
}
|
|
|
|
|
@ -150,12 +181,14 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
|
|
|
|
|
purchaseContract.setUpdateBy(SecurityUtils.getUsername());
|
|
|
|
|
try {
|
|
|
|
|
inspectGoodsDetailService.deletePurchaseContractDetailByContractId(purchaseContract.getContractId());
|
|
|
|
|
List<PurchaseContractDetail> purchaseContractDetails = purchaseContract.getPurchaseContractDetailList();
|
|
|
|
|
if(CollUtil.isNotEmpty(purchaseContractDetails)) {
|
|
|
|
|
for(PurchaseContractDetail purchaseContractDetail : purchaseContractDetails) {
|
|
|
|
|
purchaseContractDetail.setContractId(purchaseContract.getContractId());
|
|
|
|
|
purchaseContractDetail.setContractCode(purchaseContractVO.getContractCode());
|
|
|
|
|
inspectGoodsDetailService.insertPurchaseContractDetail(purchaseContractDetail);
|
|
|
|
|
List<PurchaseContractDetailUpdate> purchaseContractDetailsUpdate = purchaseContractUpdate.getPurchaseContractDetailList();
|
|
|
|
|
if(CollUtil.isNotEmpty(purchaseContractDetailsUpdate)) {
|
|
|
|
|
for(PurchaseContractDetailUpdate purchaseContractDetailUpdate : purchaseContractDetailsUpdate) {
|
|
|
|
|
PurchaseContractDetail purchaseDetailContract = new PurchaseContractDetail();
|
|
|
|
|
BeanUtils.copyProperties(purchaseContractDetailUpdate, purchaseDetailContract);
|
|
|
|
|
purchaseDetailContract.setContractId(purchaseContract.getContractId());
|
|
|
|
|
purchaseDetailContract.setContractCode(purchaseContractVO.getContractCode());
|
|
|
|
|
inspectGoodsDetailService.insertPurchaseContractDetail(purchaseDetailContract);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
return purchaseContractMapper.updatePurchaseContract(purchaseContract);
|
|
|
|
|
|