供应链-采购管理

This commit is contained in:
gaowdong 2025-07-02 10:37:48 +08:00
parent e58d6822fd
commit 00dc8051f3
19 changed files with 184 additions and 79 deletions

View File

@ -3,6 +3,8 @@ package com.bonus.canteen.core.ims.controller;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.bonus.canteen.core.ims.domain.param.InspectGoodsAdd;
import com.bonus.canteen.core.ims.domain.param.InspectGoodsUpdate;
import com.bonus.canteen.core.ims.domain.vo.InspectGoodsVO;
import com.bonus.common.log.enums.OperaType;
//import com.bonus.canteen.core.ims.common.annotation.PreventRepeatSubmit;
@ -83,9 +85,9 @@ public class InspectGoodsController extends BaseController {
//@RequiresPermissions("ims:goods:add")
@SysLog(title = "验货单", businessType = OperaType.INSERT, logType = 1,module = "仓储管理->新增验货单")
@PostMapping
public AjaxResult add(@RequestBody InspectGoods inspectGoods) {
public AjaxResult add(@RequestBody InspectGoodsAdd inspectGoodsAdd) {
try {
return toAjax(inspectGoodsService.insertInspectGoods(inspectGoods));
return toAjax(inspectGoodsService.insertInspectGoods(inspectGoodsAdd));
} catch (Exception e) {
return error(e.getMessage());
}
@ -99,9 +101,9 @@ public class InspectGoodsController extends BaseController {
//@RequiresPermissions("ims:goods:edit")
@SysLog(title = "验货单", businessType = OperaType.UPDATE, logType = 1,module = "仓储管理->修改验货单")
@PostMapping("/edit")
public AjaxResult edit(@RequestBody InspectGoods inspectGoods) {
public AjaxResult edit(@RequestBody InspectGoodsUpdate inspectGoodsUpdate) {
try {
return toAjax(inspectGoodsService.updateInspectGoods(inspectGoods));
return toAjax(inspectGoodsService.updateInspectGoods(inspectGoodsUpdate));
} catch (Exception e) {
return error(e.getMessage());
}

View File

@ -92,9 +92,7 @@ public class OrderGoodsController extends BaseController {
@PostMapping
public AjaxResult add(@RequestBody OrderGoodsAdd orderGoodsAdd) {
try {
OrderGoods orderGoods = new OrderGoods();
BeanUtils.copyProperties(orderGoodsAdd, orderGoods);
return toAjax(orderGoodsService.insertOrderGoods(orderGoods));
return toAjax(orderGoodsService.insertOrderGoods(orderGoodsAdd));
} catch (Exception e) {
return error(e.getMessage());
}
@ -110,9 +108,7 @@ public class OrderGoodsController extends BaseController {
@PostMapping("/edit")
public AjaxResult edit(@RequestBody OrderGoodsUpdate orderGoodsUpdate) {
try {
OrderGoods orderGoods = new OrderGoods();
BeanUtils.copyProperties(orderGoodsUpdate, orderGoods);
return toAjax(orderGoodsService.updateOrderGoods(orderGoods));
return toAjax(orderGoodsService.updateOrderGoods(orderGoodsUpdate));
} catch (Exception e) {
return error(e.getMessage());
}

View File

@ -91,9 +91,7 @@ public class PurchasePlanController extends BaseController {
@PostMapping
public AjaxResult add(@RequestBody PurchasePlanAdd purchasePlanAdd) {
try {
PurchasePlan purchasePlan = new PurchasePlan();
BeanUtils.copyProperties(purchasePlanAdd, purchasePlan);
return toAjax(purchasePlanService.insertPurchasePlan(purchasePlan));
return toAjax(purchasePlanService.insertPurchasePlan(purchasePlanAdd));
} catch (Exception e) {
return error(e.getMessage());
}
@ -109,9 +107,7 @@ public class PurchasePlanController extends BaseController {
@PostMapping("/edit")
public AjaxResult edit(@RequestBody PurchasePlanUpdate purchasePlanUpdate) {
try {
PurchasePlan purchasePlan = new PurchasePlan();
BeanUtils.copyProperties(purchasePlanUpdate, purchasePlan);
return toAjax(purchasePlanService.updatePurchasePlan(purchasePlan));
return toAjax(purchasePlanService.updatePurchasePlan(purchasePlanUpdate));
} catch (Exception e) {
return error(e.getMessage());
}

View File

@ -113,6 +113,14 @@ public class InspectGoods extends BaseEntity {
@ApiModelProperty(value = "送货供应商名称")
private String deliverySupplierName;
@ApiModelProperty("合同开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startDateTime;
@ApiModelProperty("合同结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endDateTime;
private List<InspectGoodsDetail> inspectGoodsDetails;
}

View File

@ -168,6 +168,14 @@ public class OrderGoods extends BaseEntity {
@ApiModelProperty(value = "档口名称")
private String stallName;
@ApiModelProperty("合同开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startDateTime;
@ApiModelProperty("合同结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endDateTime;
private List<OrderGoodsDetail> orderGoodsDetailList;
}

View File

@ -140,5 +140,13 @@ public class PurchasePlan extends BaseEntity {
@ApiModelProperty(value = "供应商名称")
private String supplierNames;
@ApiModelProperty("合同开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startDateTime;
@ApiModelProperty("合同结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endDateTime;
private List<PurchasePlanDetail> purchasePlanDetailList;
}

View File

@ -80,4 +80,6 @@ public class OrderGoodsDetailAdd implements Serializable {
@ApiModelProperty(value = "计量单位名称")
private String unitName;
@ApiModelProperty(value = "备注")
private String remark;
}

View File

@ -80,4 +80,6 @@ public class OrderGoodsDetailUpdate implements Serializable {
@ApiModelProperty(value = "计量单位名称")
private String unitName;
@ApiModelProperty(value = "备注")
private String remark;
}

View File

@ -84,4 +84,6 @@ public class PurchasePlanDetailAdd implements Serializable {
@ApiModelProperty(value = "材料名称")
private String stallName;
@ApiModelProperty(value = "备注")
private String remark;
}

View File

@ -84,4 +84,6 @@ public class PurchasePlanDetailUpdate implements Serializable {
@ApiModelProperty(value = "材料名称")
private String stallName;
@ApiModelProperty(value = "备注")
private String remark;
}

View File

@ -2,6 +2,8 @@ package com.bonus.canteen.core.ims.service;
import java.util.List;
import com.bonus.canteen.core.ims.domain.InspectGoods;
import com.bonus.canteen.core.ims.domain.param.InspectGoodsAdd;
import com.bonus.canteen.core.ims.domain.param.InspectGoodsUpdate;
import com.bonus.canteen.core.ims.domain.vo.InspectGoodsVO;
/**
@ -30,18 +32,18 @@ public interface IInspectGoodsService {
/**
* 新增验货单
*
* @param inspectGoods 验货单
* @param inspectGoodsAdd 验货单
* @return 结果
*/
public int insertInspectGoods(InspectGoods inspectGoods);
public int insertInspectGoods(InspectGoodsAdd inspectGoodsAdd);
/**
* 修改验货单
*
* @param inspectGoods 验货单
* @param inspectGoodsUpdate 验货单
* @return 结果
*/
public int updateInspectGoods(InspectGoods inspectGoods);
public int updateInspectGoods(InspectGoodsUpdate inspectGoodsUpdate);
/**
* 批量删除验货单

View File

@ -2,6 +2,8 @@ package com.bonus.canteen.core.ims.service;
import java.util.List;
import com.bonus.canteen.core.ims.domain.OrderGoods;
import com.bonus.canteen.core.ims.domain.param.OrderGoodsAdd;
import com.bonus.canteen.core.ims.domain.param.OrderGoodsUpdate;
import com.bonus.canteen.core.ims.domain.vo.OrderGoodsVO;
/**
@ -30,18 +32,18 @@ public interface IOrderGoodsService {
/**
* 新增采购订单主
*
* @param orderGoods 采购订单主
* @param orderGoodsAdd 采购订单主
* @return 结果
*/
public int insertOrderGoods(OrderGoods orderGoods);
public int insertOrderGoods(OrderGoodsAdd orderGoodsAdd);
/**
* 修改采购订单主
*
* @param orderGoods 采购订单主
* @param orderGoodsUpdate 采购订单主
* @return 结果
*/
public int updateOrderGoods(OrderGoods orderGoods);
public int updateOrderGoods(OrderGoodsUpdate orderGoodsUpdate);
/**
* 批量删除采购订单主

View File

@ -2,6 +2,8 @@ package com.bonus.canteen.core.ims.service;
import java.util.List;
import com.bonus.canteen.core.ims.domain.PurchasePlan;
import com.bonus.canteen.core.ims.domain.param.PurchasePlanAdd;
import com.bonus.canteen.core.ims.domain.param.PurchasePlanUpdate;
import com.bonus.canteen.core.ims.domain.vo.PurchasePlanVO;
/**
@ -30,18 +32,18 @@ public interface IPurchasePlanService {
/**
* 新增采购计划
*
* @param purchasePlan 采购计划
* @param purchasePlanAdd 采购计划
* @return 结果
*/
public int insertPurchasePlan(PurchasePlan purchasePlan);
public int insertPurchasePlan(PurchasePlanAdd purchasePlanAdd);
/**
* 修改采购计划
*
* @param purchasePlan 采购计划
* @param purchasePlanUpdate 采购计划
* @return 结果
*/
public int updatePurchasePlan(PurchasePlan purchasePlan);
public int updatePurchasePlan(PurchasePlanUpdate purchasePlanUpdate);
/**
* 批量删除采购计划

View File

@ -6,7 +6,14 @@ import java.util.Objects;
import cn.hutool.core.collection.CollUtil;
import com.bonus.canteen.core.ims.domain.InspectGoodsDetail;
import com.bonus.canteen.core.ims.domain.OrderGoods;
import com.bonus.canteen.core.ims.domain.param.InspectGoodsAdd;
import com.bonus.canteen.core.ims.domain.param.InspectGoodsDetailAdd;
import com.bonus.canteen.core.ims.domain.param.InspectGoodsDetailUpdate;
import com.bonus.canteen.core.ims.domain.param.InspectGoodsUpdate;
import com.bonus.canteen.core.ims.domain.vo.InspectGoodsDetailVO;
import com.bonus.canteen.core.ims.domain.vo.InspectGoodsVO;
import com.bonus.canteen.core.ims.domain.vo.OrderGoodsDetailVO;
import com.bonus.canteen.core.ims.service.IInspectGoodsDetailService;
import com.bonus.canteen.core.ims.utils.NoGenerateUtils;
import com.bonus.common.core.exception.ServiceException;
@ -47,9 +54,19 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
if(Objects.nonNull(inspectGoods)) {
InspectGoodsDetail inspectGoodsDetail = new InspectGoodsDetail();
inspectGoodsDetail.setInspectGoodsId(inspectGoodsId);
inspectGoods.setInspectGoodsDetails(inspectGoodsDetailService.selectInspectGoodsDetailList(inspectGoodsDetail));
List<InspectGoodsDetail> inspectGoodsDetails = inspectGoodsDetailService.selectInspectGoodsDetailList(inspectGoodsDetail);
inspectGoods.setInspectGoodsDetails(inspectGoodsDetails);
inspectGoodsVO = new InspectGoodsVO();
BeanUtils.copyProperties(inspectGoods, inspectGoodsVO);
if(CollUtil.isNotEmpty(inspectGoodsDetails)) {
List<InspectGoodsDetailVO> orderGoodsDetailVOList = new ArrayList<>();
inspectGoodsDetails.forEach(detail -> {
InspectGoodsDetailVO inspectGoodsDetailVO = new InspectGoodsDetailVO();
BeanUtils.copyProperties(detail, inspectGoodsDetailVO);
orderGoodsDetailVOList.add(inspectGoodsDetailVO);
});
inspectGoodsVO.setInspectGoodsDetails(orderGoodsDetailVOList);
}
}
return inspectGoodsVO;
}
@ -68,9 +85,9 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
for(InspectGoods goods : inspectGoodsList) {
InspectGoodsDetail inspectGoodsDetail = new InspectGoodsDetail();
inspectGoodsDetail.setInspectGoodsId(goods.getInspectGoodsId());
goods.setInspectGoodsDetails(inspectGoodsDetailService.selectInspectGoodsDetailList(inspectGoodsDetail));
// goods.setInspectGoodsDetails(inspectGoodsDetailService.selectInspectGoodsDetailList(inspectGoodsDetail));
InspectGoodsVO inspectGoodsVO = new InspectGoodsVO();
BeanUtils.copyProperties(inspectGoods, inspectGoodsVO);
BeanUtils.copyProperties(goods, inspectGoodsVO);
inspectGoodsVOList.add(inspectGoodsVO);
}
}
@ -80,12 +97,14 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
/**
* 新增验货单
*
* @param inspectGoods 验货单
* @param inspectGoodsAdd 验货单
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int insertInspectGoods(InspectGoods inspectGoods) {
public int insertInspectGoods(InspectGoodsAdd inspectGoodsAdd) {
InspectGoods inspectGoods = new InspectGoods();
BeanUtils.copyProperties(inspectGoodsAdd, inspectGoods);
inspectGoods.setInspectGoodsId(null);
inspectGoods.setCreateTime(DateUtils.getNowDate());
inspectGoods.setCreateBy(SecurityUtils.getUsername());
@ -93,9 +112,11 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
String inspectGoodsCode = NoGenerateUtils.generateInspectGoodsCode();
inspectGoods.setInspectGoodsCode(inspectGoodsCode);
int result = inspectGoodsMapper.insertInspectGoods(inspectGoods);
List<InspectGoodsDetail> inspectGoodsDetailList = inspectGoods.getInspectGoodsDetails();
if(CollUtil.isNotEmpty(inspectGoodsDetailList)) {
for(InspectGoodsDetail inspectGoodsDetail : inspectGoodsDetailList) {
List<InspectGoodsDetailAdd> inspectGoodsDetailListAdd = inspectGoodsAdd.getInspectGoodsDetails();
if(CollUtil.isNotEmpty(inspectGoodsDetailListAdd)) {
for(InspectGoodsDetailAdd inspectGoodsDetailAdd : inspectGoodsDetailListAdd) {
InspectGoodsDetail inspectGoodsDetail = new InspectGoodsDetail();
BeanUtils.copyProperties(inspectGoodsDetailAdd, inspectGoodsDetail);
inspectGoodsDetail.setInspectGoodsId(inspectGoods.getInspectGoodsId());
inspectGoodsDetail.setInspectGoodsCode(inspectGoodsCode);
inspectGoodsDetailService.insertInspectGoodsDetail(inspectGoodsDetail);
@ -110,12 +131,14 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
/**
* 修改验货单
*
* @param inspectGoods 验货单
* @param inspectGoodsUpdate 验货单
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int updateInspectGoods(InspectGoods inspectGoods) {
public int updateInspectGoods(InspectGoodsUpdate inspectGoodsUpdate) {
InspectGoods inspectGoods = new InspectGoods();
BeanUtils.copyProperties(inspectGoodsUpdate, inspectGoods);
if(Objects.isNull(inspectGoods.getInspectGoodsId())) {
throw new ServiceException("验货单ID不能为空");
}
@ -130,9 +153,11 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
inspectGoods.setUpdateBy(SecurityUtils.getUsername());
try {
inspectGoodsDetailService.deleteInspectGoodsDetailByInspectGoodsId(inspectGoods.getInspectGoodsId());
List<InspectGoodsDetail> inspectGoodsDetailList = inspectGoods.getInspectGoodsDetails();
if(CollUtil.isNotEmpty(inspectGoodsDetailList)) {
for(InspectGoodsDetail inspectGoodsDetail : inspectGoodsDetailList) {
List<InspectGoodsDetailUpdate> inspectGoodsDetailListUpdate = inspectGoodsUpdate.getInspectGoodsDetails();
if(CollUtil.isNotEmpty(inspectGoodsDetailListUpdate)) {
for(InspectGoodsDetailUpdate inspectGoodsDetailUpdate : inspectGoodsDetailListUpdate) {
InspectGoodsDetail inspectGoodsDetail = new InspectGoodsDetail();
BeanUtils.copyProperties(inspectGoodsDetailUpdate, inspectGoodsDetail);
inspectGoodsDetail.setInspectGoodsId(inspectGoods.getInspectGoodsId());
inspectGoodsDetail.setInspectGoodsCode(inspectGoodsVO.getInspectGoodsCode());
inspectGoodsDetailService.insertInspectGoodsDetail(inspectGoodsDetail);

View File

@ -7,7 +7,13 @@ import java.util.Objects;
import cn.hutool.core.collection.CollUtil;
import com.bonus.canteen.core.ims.domain.OrderGoodsDetail;
import com.bonus.canteen.core.ims.domain.constants.ApproveStatusEnum;
import com.bonus.canteen.core.ims.domain.param.OrderGoodsAdd;
import com.bonus.canteen.core.ims.domain.param.OrderGoodsDetailAdd;
import com.bonus.canteen.core.ims.domain.param.OrderGoodsDetailUpdate;
import com.bonus.canteen.core.ims.domain.param.OrderGoodsUpdate;
import com.bonus.canteen.core.ims.domain.vo.OrderGoodsDetailVO;
import com.bonus.canteen.core.ims.domain.vo.OrderGoodsVO;
import com.bonus.canteen.core.ims.domain.vo.PurchaseContractDetailVO;
import com.bonus.canteen.core.ims.service.IOrderGoodsDetailService;
import com.bonus.canteen.core.ims.utils.NoGenerateUtils;
import com.bonus.common.core.exception.ServiceException;
@ -47,9 +53,19 @@ public class OrderGoodsServiceImpl implements IOrderGoodsService {
if(Objects.nonNull(orderGoods)) {
OrderGoodsDetail orderGoodsDetail = new OrderGoodsDetail();
orderGoodsDetail.setOrderGoodsId(orderGoods.getOrderGoodsId());
orderGoods.setOrderGoodsDetailList(inspectGoodsDetailService.selectOrderGoodsDetailList(orderGoodsDetail));
List<OrderGoodsDetail> orderGoodsDetails = inspectGoodsDetailService.selectOrderGoodsDetailList(orderGoodsDetail);
orderGoods.setOrderGoodsDetailList(orderGoodsDetails);
orderGoodsVO = new OrderGoodsVO();
BeanUtils.copyProperties(orderGoods, orderGoodsVO);
if(CollUtil.isNotEmpty(orderGoodsDetails)) {
List<OrderGoodsDetailVO> orderGoodsDetailVOList = new ArrayList<>();
orderGoodsDetails.forEach(detail -> {
OrderGoodsDetailVO orderGoodsDetailVO = new OrderGoodsDetailVO();
BeanUtils.copyProperties(detail, orderGoodsDetailVO);
orderGoodsDetailVOList.add(orderGoodsDetailVO);
});
orderGoodsVO.setOrderGoodsDetailList(orderGoodsDetailVOList);
}
}
return orderGoodsVO;
}
@ -68,9 +84,9 @@ public class OrderGoodsServiceImpl implements IOrderGoodsService {
for(OrderGoods goods : orderGoodsList) {
OrderGoodsDetail orderGoodsDetail = new OrderGoodsDetail();
orderGoodsDetail.setOrderGoodsId(goods.getOrderGoodsId());
goods.setOrderGoodsDetailList(inspectGoodsDetailService.selectOrderGoodsDetailList(orderGoodsDetail));
// goods.setOrderGoodsDetailList(inspectGoodsDetailService.selectOrderGoodsDetailList(orderGoodsDetail));
OrderGoodsVO orderGoodsVO = new OrderGoodsVO();
BeanUtils.copyProperties(orderGoods, orderGoodsVO);
BeanUtils.copyProperties(goods, orderGoodsVO);
orderGoodsVOList.add(orderGoodsVO);
}
}
@ -80,12 +96,14 @@ public class OrderGoodsServiceImpl implements IOrderGoodsService {
/**
* 新增采购订单主
*
* @param orderGoods 采购订单主
* @param orderGoodsAdd 采购订单主
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int insertOrderGoods(OrderGoods orderGoods) {
public int insertOrderGoods(OrderGoodsAdd orderGoodsAdd) {
OrderGoods orderGoods = new OrderGoods();
BeanUtils.copyProperties(orderGoodsAdd, orderGoods);
orderGoods.setOrderGoodsId(null);
orderGoods.setCreateTime(DateUtils.getNowDate());
orderGoods.setCreateBy(SecurityUtils.getUsername());
@ -94,9 +112,11 @@ public class OrderGoodsServiceImpl implements IOrderGoodsService {
orderGoods.setOrderGoodsCode(orderGoodsCode);
orderGoods.setApproveStatus(ApproveStatusEnum.APPROVED.getKey());
int result = orderGoodsMapper.insertOrderGoods(orderGoods);
List<OrderGoodsDetail> orderGoodsDetails = orderGoods.getOrderGoodsDetailList();
if(CollUtil.isNotEmpty(orderGoodsDetails)) {
for(OrderGoodsDetail orderGoodsDetail : orderGoodsDetails) {
List<OrderGoodsDetailAdd> orderGoodsDetailsAdd = orderGoodsAdd.getOrderGoodsDetailList();
if(CollUtil.isNotEmpty(orderGoodsDetailsAdd)) {
for(OrderGoodsDetailAdd orderGoodsDetailAdd : orderGoodsDetailsAdd) {
OrderGoodsDetail orderGoodsDetail = new OrderGoodsDetail();
BeanUtils.copyProperties(orderGoodsDetailAdd, orderGoodsDetail);
orderGoodsDetail.setOrderGoodsId(orderGoods.getOrderGoodsId());
inspectGoodsDetailService.insertOrderGoodsDetail(orderGoodsDetail);
}
@ -110,12 +130,14 @@ public class OrderGoodsServiceImpl implements IOrderGoodsService {
/**
* 修改采购订单主
*
* @param orderGoods 采购订单主
* @param orderGoodsUpdate 采购订单主
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int updateOrderGoods(OrderGoods orderGoods) {
public int updateOrderGoods(OrderGoodsUpdate orderGoodsUpdate) {
OrderGoods orderGoods = new OrderGoods();
BeanUtils.copyProperties(orderGoodsUpdate, orderGoods);
if(Objects.isNull(orderGoods.getOrderGoodsId())) {
throw new ServiceException("订单ID不能为空");
}
@ -130,9 +152,11 @@ public class OrderGoodsServiceImpl implements IOrderGoodsService {
orderGoods.setUpdateBy(SecurityUtils.getUsername());
try {
inspectGoodsDetailService.deleteOrderGoodsDetailByOrderGoodsId(orderGoods.getOrderGoodsId());
List<OrderGoodsDetail> orderGoodsDetails = orderGoods.getOrderGoodsDetailList();
if(CollUtil.isNotEmpty(orderGoodsDetails)) {
for(OrderGoodsDetail orderGoodsDetail : orderGoodsDetails) {
List<OrderGoodsDetailUpdate> orderGoodsDetailsUpdate = orderGoodsUpdate.getOrderGoodsDetailList();
if(CollUtil.isNotEmpty(orderGoodsDetailsUpdate)) {
for(OrderGoodsDetailUpdate orderGoodsDetailUpdate : orderGoodsDetailsUpdate) {
OrderGoodsDetail orderGoodsDetail = new OrderGoodsDetail();
BeanUtils.copyProperties(orderGoodsDetailUpdate, orderGoodsDetail);
orderGoodsDetail.setOrderGoodsId(orderGoods.getOrderGoodsId());
inspectGoodsDetailService.insertOrderGoodsDetail(orderGoodsDetail);
}

View File

@ -86,20 +86,20 @@ public class PurchaseContractServiceImpl implements IPurchaseContractService {
for(PurchaseContract contract : purchaseContracts) {
PurchaseContractDetail purchaseContractDetail = new PurchaseContractDetail();
purchaseContractDetail.setContractId(contract.getContractId());
List<PurchaseContractDetail> purchaseContractDetailList = inspectGoodsDetailService.selectPurchaseContractDetailList(purchaseContractDetail);
contract.setPurchaseContractDetailList(purchaseContractDetailList);
// 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);
}
// 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);
}
}

View File

@ -10,6 +10,11 @@ import cn.hutool.core.collection.CollUtil;
import com.bonus.canteen.core.ims.domain.ImsUnit;
import com.bonus.canteen.core.ims.domain.PurchasePlanDetail;
import com.bonus.canteen.core.ims.domain.constants.ApproveStatusEnum;
import com.bonus.canteen.core.ims.domain.param.PurchasePlanAdd;
import com.bonus.canteen.core.ims.domain.param.PurchasePlanDetailAdd;
import com.bonus.canteen.core.ims.domain.param.PurchasePlanDetailUpdate;
import com.bonus.canteen.core.ims.domain.param.PurchasePlanUpdate;
import com.bonus.canteen.core.ims.domain.vo.PurchasePlanDetailVO;
import com.bonus.canteen.core.ims.domain.vo.PurchasePlanVO;
import com.bonus.canteen.core.ims.service.IImsUnitService;
import com.bonus.canteen.core.ims.service.IPurchasePlanDetailService;
@ -56,9 +61,19 @@ public class PurchasePlanServiceImpl implements IPurchasePlanService {
PurchasePlanDetail purchasePlanDetail = new PurchasePlanDetail();
purchasePlanDetail.setPlanId(purchasePlan.getPlanId());
getSupplierNames(purchasePlan);
purchasePlan.setPurchasePlanDetailList(inspectGoodsDetailService.selectPurchasePlanDetailList(purchasePlanDetail));
List<PurchasePlanDetail> purchasePlanDetails = inspectGoodsDetailService.selectPurchasePlanDetailList(purchasePlanDetail);
purchasePlan.setPurchasePlanDetailList(purchasePlanDetails);
purchasePlanVO = new PurchasePlanVO();
BeanUtils.copyProperties(purchasePlan, purchasePlanVO);
if(CollUtil.isNotEmpty(purchasePlanDetails)) {
List<PurchasePlanDetailVO> purchasePlanDetailVOList = new ArrayList<>();
purchasePlanDetails.forEach(detail -> {
PurchasePlanDetailVO purchasePlanDetailVO = new PurchasePlanDetailVO();
BeanUtils.copyProperties(detail, purchasePlanDetailVO);
purchasePlanDetailVOList.add(purchasePlanDetailVO);
});
purchasePlanVO.setPurchasePlanDetailList(purchasePlanDetailVOList);
}
}
return purchasePlanVO;
}
@ -78,9 +93,9 @@ public class PurchasePlanServiceImpl implements IPurchasePlanService {
getSupplierNames(plan);
PurchasePlanDetail purchasePlanDetail = new PurchasePlanDetail();
purchasePlanDetail.setPlanId(plan.getPlanId());
plan.setPurchasePlanDetailList(inspectGoodsDetailService.selectPurchasePlanDetailList(purchasePlanDetail));
// plan.setPurchasePlanDetailList(inspectGoodsDetailService.selectPurchasePlanDetailList(purchasePlanDetail));
PurchasePlanVO purchasePlanVO = new PurchasePlanVO();
BeanUtils.copyProperties(purchasePlan, purchasePlanVO);
BeanUtils.copyProperties(plan, purchasePlanVO);
purchasePlanVOList.add(purchasePlanVO);
}
}
@ -110,12 +125,14 @@ public class PurchasePlanServiceImpl implements IPurchasePlanService {
/**
* 新增采购计划
*
* @param purchasePlan 采购计划
* @param purchasePlanAdd 采购计划
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int insertPurchasePlan(PurchasePlan purchasePlan) {
public int insertPurchasePlan(PurchasePlanAdd purchasePlanAdd) {
PurchasePlan purchasePlan = new PurchasePlan();
BeanUtils.copyProperties(purchasePlanAdd, purchasePlan);
purchasePlan.setPlanId(null);
purchasePlan.setCreateTime(DateUtils.getNowDate());
purchasePlan.setCreateBy(SecurityUtils.getUsername());
@ -124,9 +141,11 @@ public class PurchasePlanServiceImpl implements IPurchasePlanService {
purchasePlan.setPlanCode(purchasePlanCode);
purchasePlan.setApproveStatus(ApproveStatusEnum.APPROVED.getKey());
int result = purchasePlanMapper.insertPurchasePlan(purchasePlan);
List<PurchasePlanDetail> purchasePlanDetails = purchasePlan.getPurchasePlanDetailList();
if(CollUtil.isNotEmpty(purchasePlanDetails)) {
for(PurchasePlanDetail purchasePlanDetail : purchasePlanDetails) {
List<PurchasePlanDetailAdd> purchasePlanDetailsAdd = purchasePlanAdd.getPurchasePlanDetailList();
if(CollUtil.isNotEmpty(purchasePlanDetailsAdd)) {
for(PurchasePlanDetailAdd purchasePlanDetailAdd : purchasePlanDetailsAdd) {
PurchasePlanDetail purchasePlanDetail = new PurchasePlanDetail();
BeanUtils.copyProperties(purchasePlanDetailAdd, purchasePlanDetail);
purchasePlanDetail.setPlanId(purchasePlan.getPlanId());
purchasePlanDetail.setPlanCode(purchasePlanCode);
inspectGoodsDetailService.insertPurchasePlanDetail(purchasePlanDetail);
@ -141,12 +160,14 @@ public class PurchasePlanServiceImpl implements IPurchasePlanService {
/**
* 修改采购计划
*
* @param purchasePlan 采购计划
* @param purchasePlanUpdate 采购计划
* @return 结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int updatePurchasePlan(PurchasePlan purchasePlan) {
public int updatePurchasePlan(PurchasePlanUpdate purchasePlanUpdate) {
PurchasePlan purchasePlan = new PurchasePlan();
BeanUtils.copyProperties(purchasePlanUpdate, purchasePlan);
if(Objects.isNull(purchasePlan.getPlanId())) {
throw new ServiceException("采购计划ID不能为空");
}
@ -161,9 +182,11 @@ public class PurchasePlanServiceImpl implements IPurchasePlanService {
purchasePlan.setUpdateBy(SecurityUtils.getUsername());
try {
inspectGoodsDetailService.deletePurchasePlanDetailByPlanId(purchasePlan.getPlanId());
List<PurchasePlanDetail> purchasePlanDetails = purchasePlan.getPurchasePlanDetailList();
if(CollUtil.isNotEmpty(purchasePlanDetails)) {
for(PurchasePlanDetail purchasePlanDetail : purchasePlanDetails) {
List<PurchasePlanDetailUpdate> purchasePlanDetailsUpdate = purchasePlanUpdate.getPurchasePlanDetailList();
if(CollUtil.isNotEmpty(purchasePlanDetailsUpdate)) {
for(PurchasePlanDetailUpdate purchasePlanDetailUpdate : purchasePlanDetailsUpdate) {
PurchasePlanDetail purchasePlanDetail = new PurchasePlanDetail();
BeanUtils.copyProperties(purchasePlanDetailUpdate, purchasePlanDetail);
purchasePlanDetail.setPlanId(purchasePlan.getPlanId());
purchasePlanDetail.setPlanCode(purchasePlanVO.getPlanCode());
inspectGoodsDetailService.insertPurchasePlanDetail(purchasePlanDetail);

View File

@ -36,6 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectPurchaseContractDetailVo"/>
<where>
ipcd.del_flag = '0'
<if test="contractId != null"> and ipcd.contract_id = #{contractId}</if>
<if test="contractCode != null and contractCode != ''"> and ipcd.contract_code = #{contractCode}</if>
<if test="materialId != null "> and ipcd.material_id = #{materialId}</if>
<if test="unitId != null "> and ipcd.unit_id = #{unitId}</if>

View File

@ -175,7 +175,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<delete id="deletePurchasePlanByPlanIds" parameterType="String">
update ims_purchase_plan_detail set del_flag = '2' where plan_id in
update ims_purchase_plan set del_flag = '2' where plan_id in
<foreach item="planId" collection="array" open="(" separator="," close=")">
#{planId}
</foreach>