| | |
| | | import cn.iocoder.yudao.module.mes.controller.admin.wm.returnvendor.vo.detail.MesWmReturnVendorDetailSaveReqVO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnvendor.MesWmReturnVendorDetailDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnvendor.MesWmReturnVendorLineDO; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.wm.returnvendor.MesWmReturnVendorDO; |
| | | import cn.iocoder.yudao.module.mes.dal.mysql.wm.returnvendor.MesWmReturnVendorDetailMapper; |
| | | import cn.iocoder.yudao.module.mes.enums.wm.MesWmReturnVendorStatusEnum; |
| | | import cn.iocoder.yudao.module.mes.service.mdm.MesMdmItemService; |
| | | import cn.iocoder.yudao.module.mes.service.wm.materialstock.MesWmMaterialStockService; |
| | | import cn.iocoder.yudao.module.mes.service.wm.warehouse.MesWmWarehouseAreaService; |
| | |
| | | @Lazy |
| | | private MesWmReturnVendorLineService returnVendorLineService; |
| | | @Resource |
| | | @Lazy |
| | | private MesWmReturnVendorService returnVendorService; |
| | | @Resource |
| | | private MesMdmItemService mdmItemService; |
| | | @Resource |
| | | private MesWmMaterialStockService materialStockService; |
| | |
| | | |
| | | @Override |
| | | public void updateReturnVendorDetail(MesWmReturnVendorDetailSaveReqVO updateReqVO) { |
| | | // 校验存在 |
| | | validateReturnVendorDetailExists(updateReqVO.getId()); |
| | | MesWmReturnVendorDetailDO oldDetail = validateReturnVendorDetailExists(updateReqVO.getId()); |
| | | if (ObjUtil.notEqual(oldDetail.getReturnId(), updateReqVO.getReturnId()) |
| | | || ObjUtil.notEqual(oldDetail.getLineId(), updateReqVO.getLineId())) { |
| | | throw exception(WM_RETURN_VENDOR_DETAIL_PARENT_IMMUTABLE); |
| | | } |
| | | // 校验数据 |
| | | validateDetailSaveData(updateReqVO); |
| | | |
| | |
| | | if (ObjUtil.notEqual(line.getReturnId(), reqVO.getReturnId())) { |
| | | throw exception(WM_RETURN_VENDOR_DETAIL_LINE_NOT_MATCH); |
| | | } |
| | | validateDetailEditable(reqVO.getReturnId()); |
| | | // 校验物料存在 |
| | | mdmItemService.validateItemExistsAndEnable(reqVO.getItemId()); |
| | | // 校验物料与行物料一致 |
| | |
| | | |
| | | @Override |
| | | public void deleteReturnVendorDetail(Long id) { |
| | | // 校验存在 |
| | | validateReturnVendorDetailExists(id); |
| | | MesWmReturnVendorDetailDO detail = validateReturnVendorDetailExists(id); |
| | | validateDetailEditable(detail.getReturnId()); |
| | | // 删除 |
| | | returnVendorDetailMapper.deleteById(id); |
| | | } |
| | |
| | | returnVendorDetailMapper.deleteByLineId(lineId); |
| | | } |
| | | |
| | | private void validateReturnVendorDetailExists(Long id) { |
| | | if (returnVendorDetailMapper.selectById(id) == null) { |
| | | private MesWmReturnVendorDetailDO validateReturnVendorDetailExists(Long id) { |
| | | MesWmReturnVendorDetailDO detail = returnVendorDetailMapper.selectById(id); |
| | | if (detail == null) { |
| | | throw exception(WM_RETURN_VENDOR_DETAIL_NOT_EXISTS); |
| | | } |
| | | return detail; |
| | | } |
| | | |
| | | private void validateDetailEditable(Long returnId) { |
| | | MesWmReturnVendorDO returnVendor = returnVendorService.validateReturnVendorExists(returnId); |
| | | if (!ObjUtil.equal(returnVendor.getStatus(), MesWmReturnVendorStatusEnum.PREPARE.getStatus()) |
| | | && !ObjUtil.equal(returnVendor.getStatus(), MesWmReturnVendorStatusEnum.APPROVING.getStatus())) { |
| | | throw exception(WM_RETURN_VENDOR_DETAIL_STATUS_INVALID, returnVendor.getCode()); |
| | | } |
| | | } |
| | | |
| | | /** |