供应链-采购管理
This commit is contained in:
parent
c8e3ca6f11
commit
5b2e614af3
|
|
@ -1,9 +1,11 @@
|
||||||
package com.bonus.canteen.core.ims.controller;
|
package com.bonus.canteen.core.ims.controller;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import javax.validation.Valid;
|
import javax.validation.Valid;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollUtil;
|
||||||
import com.bonus.canteen.core.ims.domain.param.PurchaseContractAdd;
|
import com.bonus.canteen.core.ims.domain.param.PurchaseContractAdd;
|
||||||
import com.bonus.canteen.core.ims.domain.param.PurchaseContractQuery;
|
import com.bonus.canteen.core.ims.domain.param.PurchaseContractQuery;
|
||||||
import com.bonus.canteen.core.ims.domain.param.PurchaseContractUpdate;
|
import com.bonus.canteen.core.ims.domain.param.PurchaseContractUpdate;
|
||||||
|
|
@ -92,9 +94,7 @@ public class PurchaseContractController extends BaseController {
|
||||||
@PostMapping
|
@PostMapping
|
||||||
public AjaxResult add(@RequestBody @Valid PurchaseContractAdd purchaseContractAdd) {
|
public AjaxResult add(@RequestBody @Valid PurchaseContractAdd purchaseContractAdd) {
|
||||||
try {
|
try {
|
||||||
PurchaseContract purchaseContract = new PurchaseContract();
|
return toAjax(purchaseContractService.insertPurchaseContract(purchaseContractAdd));
|
||||||
BeanUtils.copyProperties(purchaseContractAdd, purchaseContract);
|
|
||||||
return toAjax(purchaseContractService.insertPurchaseContract(purchaseContract));
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return error(e.getMessage());
|
return error(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
@ -110,9 +110,7 @@ public class PurchaseContractController extends BaseController {
|
||||||
@PostMapping("/edit")
|
@PostMapping("/edit")
|
||||||
public AjaxResult edit(@RequestBody @Valid PurchaseContractUpdate purchaseContractUpdate) {
|
public AjaxResult edit(@RequestBody @Valid PurchaseContractUpdate purchaseContractUpdate) {
|
||||||
try {
|
try {
|
||||||
PurchaseContract purchaseContract = new PurchaseContract();
|
return toAjax(purchaseContractService.updatePurchaseContract(purchaseContractUpdate));
|
||||||
BeanUtils.copyProperties(purchaseContractUpdate, purchaseContract);
|
|
||||||
return toAjax(purchaseContractService.updatePurchaseContract(purchaseContract));
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
return error(e.getMessage());
|
return error(e.getMessage());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,5 +60,8 @@ public class PurchaseContractDetailAdd implements Serializable {
|
||||||
@ApiModelProperty(value = "计量单位名称")
|
@ApiModelProperty(value = "计量单位名称")
|
||||||
private String unitName;
|
private String unitName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,5 +60,7 @@ public class PurchaseContractDetailUpdate implements Serializable {
|
||||||
@ApiModelProperty(value = "计量单位名称")
|
@ApiModelProperty(value = "计量单位名称")
|
||||||
private String unitName;
|
private String unitName;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "备注")
|
||||||
|
private String remark;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ package com.bonus.canteen.core.ims.service;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.bonus.canteen.core.ims.domain.PurchaseContract;
|
import com.bonus.canteen.core.ims.domain.PurchaseContract;
|
||||||
|
import com.bonus.canteen.core.ims.domain.param.PurchaseContractAdd;
|
||||||
|
import com.bonus.canteen.core.ims.domain.param.PurchaseContractUpdate;
|
||||||
import com.bonus.canteen.core.ims.domain.vo.PurchaseContractVO;
|
import com.bonus.canteen.core.ims.domain.vo.PurchaseContractVO;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -30,18 +32,18 @@ public interface IPurchaseContractService {
|
||||||
/**
|
/**
|
||||||
* 新增采购合同主
|
* 新增采购合同主
|
||||||
*
|
*
|
||||||
* @param purchaseContract 采购合同主
|
* @param purchaseContractAdd 采购合同主
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int insertPurchaseContract(PurchaseContract purchaseContract);
|
public int insertPurchaseContract(PurchaseContractAdd purchaseContractAdd);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改采购合同主
|
* 修改采购合同主
|
||||||
*
|
*
|
||||||
* @param purchaseContract 采购合同主
|
* @param purchaseContractUpdate 采购合同主
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int updatePurchaseContract(PurchaseContract purchaseContract);
|
public int updatePurchaseContract(PurchaseContractUpdate purchaseContractUpdate);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除采购合同主
|
* 批量删除采购合同主
|
||||||
|
|
|
||||||
|
|
@ -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.PurchaseContractDetail;
|
||||||
import com.bonus.canteen.core.ims.domain.constants.ApproveStatusEnum;
|
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.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.domain.vo.PurchaseContractVO;
|
||||||
import com.bonus.canteen.core.ims.service.IPurchaseContractDetailService;
|
import com.bonus.canteen.core.ims.service.IPurchaseContractDetailService;
|
||||||
import com.bonus.canteen.core.ims.utils.NoGenerateUtils;
|
import com.bonus.canteen.core.ims.utils.NoGenerateUtils;
|
||||||
|
|
@ -49,10 +54,20 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
|
||||||
if(Objects.nonNull(purchaseContract)) {
|
if(Objects.nonNull(purchaseContract)) {
|
||||||
PurchaseContractDetail purchaseContractDetail = new PurchaseContractDetail();
|
PurchaseContractDetail purchaseContractDetail = new PurchaseContractDetail();
|
||||||
purchaseContractDetail.setContractId(contractId);
|
purchaseContractDetail.setContractId(contractId);
|
||||||
purchaseContract.setPurchaseContractDetailList(inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail));
|
List<PurchaseContractDetail> purchaseContractDetails = inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail);
|
||||||
|
purchaseContract.setPurchaseContractDetailList(purchaseContractDetails);
|
||||||
calContractStatus(purchaseContract);
|
calContractStatus(purchaseContract);
|
||||||
purchaseContractVO = new PurchaseContractVO();
|
purchaseContractVO = new PurchaseContractVO();
|
||||||
BeanUtils.copyProperties(purchaseContract, 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;
|
return purchaseContractVO;
|
||||||
}
|
}
|
||||||
|
|
@ -71,10 +86,20 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
|
||||||
for(PurchaseContract contract : purchaseContracts) {
|
for(PurchaseContract contract : purchaseContracts) {
|
||||||
PurchaseContractDetail purchaseContractDetail = new PurchaseContractDetail();
|
PurchaseContractDetail purchaseContractDetail = new PurchaseContractDetail();
|
||||||
purchaseContractDetail.setContractId(contract.getContractId());
|
purchaseContractDetail.setContractId(contract.getContractId());
|
||||||
contract.setPurchaseContractDetailList(inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail));
|
List<PurchaseContractDetail> purchaseContractDetailList = inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail);
|
||||||
|
contract.setPurchaseContractDetailList(purchaseContractDetailList);
|
||||||
calContractStatus(contract);
|
calContractStatus(contract);
|
||||||
PurchaseContractVO purchaseContractVO = new PurchaseContractVO();
|
PurchaseContractVO purchaseContractVO = new PurchaseContractVO();
|
||||||
BeanUtils.copyProperties(contract, 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);
|
purchaseContractVOList.add(purchaseContractVO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -99,12 +124,14 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
|
||||||
/**
|
/**
|
||||||
* 新增采购合同主
|
* 新增采购合同主
|
||||||
*
|
*
|
||||||
* @param purchaseContract 采购合同主
|
* @param purchaseContractAdd 采购合同主
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@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.setContractId(null);
|
||||||
purchaseContract.setCreateTime(DateUtils.getNowDate());
|
purchaseContract.setCreateTime(DateUtils.getNowDate());
|
||||||
purchaseContract.setCreateBy(SecurityUtils.getUsername());
|
purchaseContract.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
|
@ -113,12 +140,14 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
|
||||||
purchaseContract.setContractCode(contractCode);
|
purchaseContract.setContractCode(contractCode);
|
||||||
purchaseContract.setApproveStatus(ApproveStatusEnum.APPROVED.getKey());
|
purchaseContract.setApproveStatus(ApproveStatusEnum.APPROVED.getKey());
|
||||||
int result = purchaseContractMapper.insertPurchaseContract(purchaseContract);
|
int result = purchaseContractMapper.insertPurchaseContract(purchaseContract);
|
||||||
List<PurchaseContractDetail> purchaseContractDetails = purchaseContract.getPurchaseContractDetailList();
|
List<PurchaseContractDetailAdd> purchaseContractDetails = purchaseContractAdd.getPurchaseContractDetailList();
|
||||||
if(CollUtil.isNotEmpty(purchaseContractDetails)) {
|
if(CollUtil.isNotEmpty(purchaseContractDetails)) {
|
||||||
for(PurchaseContractDetail purchaseContractDetail : purchaseContractDetails) {
|
for(PurchaseContractDetailAdd purchaseContractDetailAdd : purchaseContractDetails) {
|
||||||
purchaseContractDetail.setContractId(purchaseContract.getContractId());
|
PurchaseContractDetail purchaseDetailContract = new PurchaseContractDetail();
|
||||||
purchaseContractDetail.setContractCode(contractCode);
|
BeanUtils.copyProperties(purchaseContractDetailAdd, purchaseDetailContract);
|
||||||
inspectGoodsDetailService.insertPurchaseContractDetail(purchaseContractDetail);
|
purchaseDetailContract.setContractId(purchaseContract.getContractId());
|
||||||
|
purchaseDetailContract.setContractCode(contractCode);
|
||||||
|
inspectGoodsDetailService.insertPurchaseContractDetail(purchaseDetailContract);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|
@ -130,12 +159,14 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
|
||||||
/**
|
/**
|
||||||
* 修改采购合同主
|
* 修改采购合同主
|
||||||
*
|
*
|
||||||
* @param purchaseContract 采购合同主
|
* @param purchaseContractUpdate 采购合同主
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@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())) {
|
if(Objects.isNull(purchaseContract.getContractId())) {
|
||||||
throw new ServiceException("采购合同ID不能为空");
|
throw new ServiceException("采购合同ID不能为空");
|
||||||
}
|
}
|
||||||
|
|
@ -150,12 +181,14 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
|
||||||
purchaseContract.setUpdateBy(SecurityUtils.getUsername());
|
purchaseContract.setUpdateBy(SecurityUtils.getUsername());
|
||||||
try {
|
try {
|
||||||
inspectGoodsDetailService.deletePurchaseContractDetailByContractId(purchaseContract.getContractId());
|
inspectGoodsDetailService.deletePurchaseContractDetailByContractId(purchaseContract.getContractId());
|
||||||
List<PurchaseContractDetail> purchaseContractDetails = purchaseContract.getPurchaseContractDetailList();
|
List<PurchaseContractDetailUpdate> purchaseContractDetailsUpdate = purchaseContractUpdate.getPurchaseContractDetailList();
|
||||||
if(CollUtil.isNotEmpty(purchaseContractDetails)) {
|
if(CollUtil.isNotEmpty(purchaseContractDetailsUpdate)) {
|
||||||
for(PurchaseContractDetail purchaseContractDetail : purchaseContractDetails) {
|
for(PurchaseContractDetailUpdate purchaseContractDetailUpdate : purchaseContractDetailsUpdate) {
|
||||||
purchaseContractDetail.setContractId(purchaseContract.getContractId());
|
PurchaseContractDetail purchaseDetailContract = new PurchaseContractDetail();
|
||||||
purchaseContractDetail.setContractCode(purchaseContractVO.getContractCode());
|
BeanUtils.copyProperties(purchaseContractDetailUpdate, purchaseDetailContract);
|
||||||
inspectGoodsDetailService.insertPurchaseContractDetail(purchaseContractDetail);
|
purchaseDetailContract.setContractId(purchaseContract.getContractId());
|
||||||
|
purchaseDetailContract.setContractCode(purchaseContractVO.getContractCode());
|
||||||
|
inspectGoodsDetailService.insertPurchaseContractDetail(purchaseDetailContract);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return purchaseContractMapper.updatePurchaseContract(purchaseContract);
|
return purchaseContractMapper.updatePurchaseContract(purchaseContract);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue