供应链-采购管理

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

View File

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

View File

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

View File

@ -113,6 +113,14 @@ public class InspectGoods extends BaseEntity {
@ApiModelProperty(value = "送货供应商名称") @ApiModelProperty(value = "送货供应商名称")
private String deliverySupplierName; 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; private List<InspectGoodsDetail> inspectGoodsDetails;
} }

View File

@ -168,6 +168,14 @@ public class OrderGoods extends BaseEntity {
@ApiModelProperty(value = "档口名称") @ApiModelProperty(value = "档口名称")
private String stallName; 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; private List<OrderGoodsDetail> orderGoodsDetailList;
} }

View File

@ -140,5 +140,13 @@ public class PurchasePlan extends BaseEntity {
@ApiModelProperty(value = "供应商名称") @ApiModelProperty(value = "供应商名称")
private String supplierNames; 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; private List<PurchasePlanDetail> purchasePlanDetailList;
} }

View File

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

View File

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

View File

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

View File

@ -84,4 +84,6 @@ public class PurchasePlanDetailUpdate implements Serializable {
@ApiModelProperty(value = "材料名称") @ApiModelProperty(value = "材料名称")
private String stallName; 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 java.util.List;
import com.bonus.canteen.core.ims.domain.InspectGoods; 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; import com.bonus.canteen.core.ims.domain.vo.InspectGoodsVO;
/** /**
@ -30,18 +32,18 @@ public interface IInspectGoodsService {
/** /**
* 新增验货单 * 新增验货单
* *
* @param inspectGoods 验货单 * @param inspectGoodsAdd 验货单
* @return 结果 * @return 结果
*/ */
public int insertInspectGoods(InspectGoods inspectGoods); public int insertInspectGoods(InspectGoodsAdd inspectGoodsAdd);
/** /**
* 修改验货单 * 修改验货单
* *
* @param inspectGoods 验货单 * @param inspectGoodsUpdate 验货单
* @return 结果 * @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 java.util.List;
import com.bonus.canteen.core.ims.domain.OrderGoods; 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; import com.bonus.canteen.core.ims.domain.vo.OrderGoodsVO;
/** /**
@ -30,18 +32,18 @@ public interface IOrderGoodsService {
/** /**
* 新增采购订单主 * 新增采购订单主
* *
* @param orderGoods 采购订单主 * @param orderGoodsAdd 采购订单主
* @return 结果 * @return 结果
*/ */
public int insertOrderGoods(OrderGoods orderGoods); public int insertOrderGoods(OrderGoodsAdd orderGoodsAdd);
/** /**
* 修改采购订单主 * 修改采购订单主
* *
* @param orderGoods 采购订单主 * @param orderGoodsUpdate 采购订单主
* @return 结果 * @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 java.util.List;
import com.bonus.canteen.core.ims.domain.PurchasePlan; 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; import com.bonus.canteen.core.ims.domain.vo.PurchasePlanVO;
/** /**
@ -30,18 +32,18 @@ public interface IPurchasePlanService {
/** /**
* 新增采购计划 * 新增采购计划
* *
* @param purchasePlan 采购计划 * @param purchasePlanAdd 采购计划
* @return 结果 * @return 结果
*/ */
public int insertPurchasePlan(PurchasePlan purchasePlan); public int insertPurchasePlan(PurchasePlanAdd purchasePlanAdd);
/** /**
* 修改采购计划 * 修改采购计划
* *
* @param purchasePlan 采购计划 * @param purchasePlanUpdate 采购计划
* @return 结果 * @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 cn.hutool.core.collection.CollUtil;
import com.bonus.canteen.core.ims.domain.InspectGoodsDetail; 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.InspectGoodsVO;
import com.bonus.canteen.core.ims.domain.vo.OrderGoodsDetailVO;
import com.bonus.canteen.core.ims.service.IInspectGoodsDetailService; import com.bonus.canteen.core.ims.service.IInspectGoodsDetailService;
import com.bonus.canteen.core.ims.utils.NoGenerateUtils; import com.bonus.canteen.core.ims.utils.NoGenerateUtils;
import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.exception.ServiceException;
@ -47,9 +54,19 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
if(Objects.nonNull(inspectGoods)) { if(Objects.nonNull(inspectGoods)) {
InspectGoodsDetail inspectGoodsDetail = new InspectGoodsDetail(); InspectGoodsDetail inspectGoodsDetail = new InspectGoodsDetail();
inspectGoodsDetail.setInspectGoodsId(inspectGoodsId); inspectGoodsDetail.setInspectGoodsId(inspectGoodsId);
inspectGoods.setInspectGoodsDetails(inspectGoodsDetailService.selectInspectGoodsDetailList(inspectGoodsDetail)); List<InspectGoodsDetail> inspectGoodsDetails = inspectGoodsDetailService.selectInspectGoodsDetailList(inspectGoodsDetail);
inspectGoods.setInspectGoodsDetails(inspectGoodsDetails);
inspectGoodsVO = new InspectGoodsVO(); inspectGoodsVO = new InspectGoodsVO();
BeanUtils.copyProperties(inspectGoods, 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; return inspectGoodsVO;
} }
@ -68,9 +85,9 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
for(InspectGoods goods : inspectGoodsList) { for(InspectGoods goods : inspectGoodsList) {
InspectGoodsDetail inspectGoodsDetail = new InspectGoodsDetail(); InspectGoodsDetail inspectGoodsDetail = new InspectGoodsDetail();
inspectGoodsDetail.setInspectGoodsId(goods.getInspectGoodsId()); inspectGoodsDetail.setInspectGoodsId(goods.getInspectGoodsId());
goods.setInspectGoodsDetails(inspectGoodsDetailService.selectInspectGoodsDetailList(inspectGoodsDetail)); // goods.setInspectGoodsDetails(inspectGoodsDetailService.selectInspectGoodsDetailList(inspectGoodsDetail));
InspectGoodsVO inspectGoodsVO = new InspectGoodsVO(); InspectGoodsVO inspectGoodsVO = new InspectGoodsVO();
BeanUtils.copyProperties(inspectGoods, inspectGoodsVO); BeanUtils.copyProperties(goods, inspectGoodsVO);
inspectGoodsVOList.add(inspectGoodsVO); inspectGoodsVOList.add(inspectGoodsVO);
} }
} }
@ -80,12 +97,14 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
/** /**
* 新增验货单 * 新增验货单
* *
* @param inspectGoods 验货单 * @param inspectGoodsAdd 验货单
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @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.setInspectGoodsId(null);
inspectGoods.setCreateTime(DateUtils.getNowDate()); inspectGoods.setCreateTime(DateUtils.getNowDate());
inspectGoods.setCreateBy(SecurityUtils.getUsername()); inspectGoods.setCreateBy(SecurityUtils.getUsername());
@ -93,9 +112,11 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
String inspectGoodsCode = NoGenerateUtils.generateInspectGoodsCode(); String inspectGoodsCode = NoGenerateUtils.generateInspectGoodsCode();
inspectGoods.setInspectGoodsCode(inspectGoodsCode); inspectGoods.setInspectGoodsCode(inspectGoodsCode);
int result = inspectGoodsMapper.insertInspectGoods(inspectGoods); int result = inspectGoodsMapper.insertInspectGoods(inspectGoods);
List<InspectGoodsDetail> inspectGoodsDetailList = inspectGoods.getInspectGoodsDetails(); List<InspectGoodsDetailAdd> inspectGoodsDetailListAdd = inspectGoodsAdd.getInspectGoodsDetails();
if(CollUtil.isNotEmpty(inspectGoodsDetailList)) { if(CollUtil.isNotEmpty(inspectGoodsDetailListAdd)) {
for(InspectGoodsDetail inspectGoodsDetail : inspectGoodsDetailList) { for(InspectGoodsDetailAdd inspectGoodsDetailAdd : inspectGoodsDetailListAdd) {
InspectGoodsDetail inspectGoodsDetail = new InspectGoodsDetail();
BeanUtils.copyProperties(inspectGoodsDetailAdd, inspectGoodsDetail);
inspectGoodsDetail.setInspectGoodsId(inspectGoods.getInspectGoodsId()); inspectGoodsDetail.setInspectGoodsId(inspectGoods.getInspectGoodsId());
inspectGoodsDetail.setInspectGoodsCode(inspectGoodsCode); inspectGoodsDetail.setInspectGoodsCode(inspectGoodsCode);
inspectGoodsDetailService.insertInspectGoodsDetail(inspectGoodsDetail); inspectGoodsDetailService.insertInspectGoodsDetail(inspectGoodsDetail);
@ -110,12 +131,14 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
/** /**
* 修改验货单 * 修改验货单
* *
* @param inspectGoods 验货单 * @param inspectGoodsUpdate 验货单
* @return 结果 * @return 结果
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @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())) { if(Objects.isNull(inspectGoods.getInspectGoodsId())) {
throw new ServiceException("验货单ID不能为空"); throw new ServiceException("验货单ID不能为空");
} }
@ -130,9 +153,11 @@ public class InspectGoodsServiceImpl implements IInspectGoodsService {
inspectGoods.setUpdateBy(SecurityUtils.getUsername()); inspectGoods.setUpdateBy(SecurityUtils.getUsername());
try { try {
inspectGoodsDetailService.deleteInspectGoodsDetailByInspectGoodsId(inspectGoods.getInspectGoodsId()); inspectGoodsDetailService.deleteInspectGoodsDetailByInspectGoodsId(inspectGoods.getInspectGoodsId());
List<InspectGoodsDetail> inspectGoodsDetailList = inspectGoods.getInspectGoodsDetails(); List<InspectGoodsDetailUpdate> inspectGoodsDetailListUpdate = inspectGoodsUpdate.getInspectGoodsDetails();
if(CollUtil.isNotEmpty(inspectGoodsDetailList)) { if(CollUtil.isNotEmpty(inspectGoodsDetailListUpdate)) {
for(InspectGoodsDetail inspectGoodsDetail : inspectGoodsDetailList) { for(InspectGoodsDetailUpdate inspectGoodsDetailUpdate : inspectGoodsDetailListUpdate) {
InspectGoodsDetail inspectGoodsDetail = new InspectGoodsDetail();
BeanUtils.copyProperties(inspectGoodsDetailUpdate, inspectGoodsDetail);
inspectGoodsDetail.setInspectGoodsId(inspectGoods.getInspectGoodsId()); inspectGoodsDetail.setInspectGoodsId(inspectGoods.getInspectGoodsId());
inspectGoodsDetail.setInspectGoodsCode(inspectGoodsVO.getInspectGoodsCode()); inspectGoodsDetail.setInspectGoodsCode(inspectGoodsVO.getInspectGoodsCode());
inspectGoodsDetailService.insertInspectGoodsDetail(inspectGoodsDetail); inspectGoodsDetailService.insertInspectGoodsDetail(inspectGoodsDetail);

View File

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

View File

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

View File

@ -36,6 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<include refid="selectPurchaseContractDetailVo"/> <include refid="selectPurchaseContractDetailVo"/>
<where> <where>
ipcd.del_flag = '0' 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="contractCode != null and contractCode != ''"> and ipcd.contract_code = #{contractCode}</if>
<if test="materialId != null "> and ipcd.material_id = #{materialId}</if> <if test="materialId != null "> and ipcd.material_id = #{materialId}</if>
<if test="unitId != null "> and ipcd.unit_id = #{unitId}</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>
<delete id="deletePurchasePlanByPlanIds" parameterType="String"> <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=")"> <foreach item="planId" collection="array" open="(" separator="," close=")">
#{planId} #{planId}
</foreach> </foreach>