diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpBomMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpBomMapper.java index 07d0cb54..914ff698 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpBomMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpBomMapper.java @@ -153,4 +153,10 @@ public interface ErpBomMapper * @return bom集合 */ public List selectErpBomListByBomNos(String[] bomNos); + + + /** + * 检查bom是否引用了物料 + * */ + int checkMaterialIsReferencedByBom(String materialNo); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderDetailMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderDetailMapper.java index 72f64320..993dbd51 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderDetailMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/mapper/ErpDevelopModifyorderDetailMapper.java @@ -84,4 +84,9 @@ public interface ErpDevelopModifyorderDetailMapper * 根据bomId和开发修改单查询开发修改单详情物料信息 * */ ErpDevelopModifyorderDetail selectModifyorderDetailByCodeAndId(ErpDevelopModifyorderDetail modifyorderDetail); + + /** + * 检查开发修改单子表是否引用了物料 + * */ + int checkMaterialIsReferencedByDevelopModifyorderDetail(String materialNo); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java index 5226092b..958f655c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/erp/service/impl/ErpMaterialServiceImpl.java @@ -14,6 +14,8 @@ import com.ruoyi.erp.domain.ErpMaterial; import com.ruoyi.erp.domain.ErpMaterialVo; import com.ruoyi.erp.domain.vo.ErpMaterialPurchaseHistoryVo; import com.ruoyi.erp.domain.vo.ErpMaterialSalesHistoryVo; +import com.ruoyi.erp.mapper.ErpBomMapper; +import com.ruoyi.erp.mapper.ErpDevelopModifyorderDetailMapper; import com.ruoyi.erp.mapper.ErpMaterialMapper; import com.ruoyi.erp.service.IErpMaterialService; import com.ruoyi.process.general.service.IProcessService; @@ -23,12 +25,10 @@ import com.ruoyi.purchase.domain.PurchaseOrderChild; import com.ruoyi.purchase.mapper.PurchaseOrderChildMapper; import com.ruoyi.purchase.mapper.PurchaseOrderMapper; import com.ruoyi.purchase.mapper.PurchasePlanChildMapper; +import com.ruoyi.sales.mapper.SalesEstimateDetailMapper; import com.ruoyi.system.domain.*; import com.ruoyi.system.domain.Vo.ExportCustomerQuoteChildVo; -import com.ruoyi.system.mapper.OutsourceMaterialMapper; -import com.ruoyi.system.mapper.SysSalesOrderChildMapper; -import com.ruoyi.system.mapper.SysSalesOrderMapper; -import com.ruoyi.system.mapper.SysUserMapper; +import com.ruoyi.system.mapper.*; import com.ruoyi.system.service.*; import com.ruoyi.warehouse.domain.WarehouseInventoryInquiry; import com.ruoyi.warehouse.mapper.WarehouseInventoryInquiryMapper; @@ -58,6 +58,14 @@ public class ErpMaterialServiceImpl implements IErpMaterialService { @Autowired private ErpMaterialMapper erpMaterialMapper; + + @Autowired + private ErpBomMapper erpBomMapper; + + @Autowired + private ErpDevelopModifyorderDetailMapper developModifyorderDetailMapper; + + @Autowired private WarehouseInventoryInquiryMapper inventoryInquiryMapper; @@ -106,6 +114,13 @@ public class ErpMaterialServiceImpl implements IErpMaterialService @Autowired private OutsourceMaterialMapper outsourceMaterialMapper; + @Autowired + private SysCustomerQuoteChildMapper customerQuoteChildMapper; + + @Autowired + private SalesEstimateDetailMapper estimateDetailMapper; + + private final static String RMB = "1"; //RMB /** @@ -473,6 +488,37 @@ public class ErpMaterialServiceImpl implements IErpMaterialService ErpMaterialVo erpMaterialVo = erpMaterialMapper.selectErpMaterialById(erpMaterial.getId()); + //作废前判断该物料是否被其他模块引用 + //是否被bom引用 + int countBom = erpBomMapper.checkMaterialIsReferencedByBom(erpMaterialVo.getMaterialNo()); + if(countBom>0){ + throw new BusinessException("该物料信息被bom引用,无法作废!"); + } + + //是否被销售订单引用 + int countSalesOrderChild = sysSalesOrderChildMapper.checkMaterialIsReferencedBySalesOrderChild(erpMaterialVo.getMaterialNo()); + if(countSalesOrderChild>0){ + throw new BusinessException("该物料信息被销售订单引用,无法作废!"); + } + + //是否被客户报价引用 + int countCustomerQuoteChild = customerQuoteChildMapper.checkMaterialIsReferencedByCustomerQuoteChild(erpMaterialVo.getMaterialNo()); + if(countCustomerQuoteChild>0){ + throw new BusinessException("该物料信息被客户报价引用,无法作废!"); + } + + //是否被销售估价引用 + int countEstimateDetail = estimateDetailMapper.checkMaterialIsReferencedByEstimateDetail(erpMaterialVo.getMaterialNo()); + if(countEstimateDetail>0){ + throw new BusinessException("该物料信息被销售估价引用,无法作废!"); + } + + //是否被开发修改单引用 + int countDevelopModifyorderDetail = developModifyorderDetailMapper.checkMaterialIsReferencedByDevelopModifyorderDetail(erpMaterialVo.getMaterialNo()); + if(countDevelopModifyorderDetail>0){ + throw new BusinessException("该物料信息被开发修改单引用,无法作废!"); + } + SysUser sysUser = ShiroUtils.getSysUser(); List sysPostsList = sysPostService.selectPostsByUserId(sysUser.getUserId()); String operPeople = sysUser.getDept().getDeptName() + "/" + sysPostsList.get(0).getPostName()+"/" + sysUser.getUserName(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/sales/mapper/SalesEstimateDetailMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/sales/mapper/SalesEstimateDetailMapper.java index 59019b64..ee9dc946 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/sales/mapper/SalesEstimateDetailMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/sales/mapper/SalesEstimateDetailMapper.java @@ -90,4 +90,9 @@ public interface SalesEstimateDetailMapper * @return */ List selectEstimateDetailListByCode(String salesEstimateCode); + + /** + * 检查销售估价子表是否引用了物料 + * */ + int checkMaterialIsReferencedByEstimateDetail(String materialNo); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysCustomerQuoteChildMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysCustomerQuoteChildMapper.java index cba34ea8..ef6969b7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysCustomerQuoteChildMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysCustomerQuoteChildMapper.java @@ -20,4 +20,8 @@ public interface SysCustomerQuoteChildMapper { /*删除ids中的quoteId的所有子项*/ int deleteSysCustomerQuoteChildByQuoteIds(String[] ids); + /** + * 检查客户报价子表是否引用了物料 + * */ + int checkMaterialIsReferencedByCustomerQuoteChild(String materialNo); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysSalesOrderChildMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysSalesOrderChildMapper.java index 262a4d0d..67bb853f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysSalesOrderChildMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/system/mapper/SysSalesOrderChildMapper.java @@ -52,4 +52,9 @@ public interface SysSalesOrderChildMapper { * 根据物料号查询销售订单子表 * */ List selectOrderChildListByMaterialNo(String materialNo); + + /** + * 检查销售订单子表是否引用了物料 + * */ + int checkMaterialIsReferencedBySalesOrderChild(String materialNo); } diff --git a/ruoyi-admin/src/main/resources/mapper/erp/ErpBomMapper.xml b/ruoyi-admin/src/main/resources/mapper/erp/ErpBomMapper.xml index 2c1d85da..eb32c50b 100644 --- a/ruoyi-admin/src/main/resources/mapper/erp/ErpBomMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/erp/ErpBomMapper.xml @@ -594,4 +594,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{bomNo} + + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderDetailMapper.xml index 3cc7ad24..a9a64801 100644 --- a/ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/erp/ErpDevelopModifyorderDetailMapper.xml @@ -53,6 +53,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bom_id = #{bomId} + + insert into erp_develop_modifyorder_detail diff --git a/ruoyi-admin/src/main/resources/mapper/sales/SalesEstimateDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/sales/SalesEstimateDetailMapper.xml index 733c7f1e..02554362 100644 --- a/ruoyi-admin/src/main/resources/mapper/sales/SalesEstimateDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/sales/SalesEstimateDetailMapper.xml @@ -64,6 +64,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where sales_estimate_code = #{salesEstimateCode} + + insert into sales_estimate_detail diff --git a/ruoyi-admin/src/main/resources/mapper/system/SysCustomerQuoteChildMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/SysCustomerQuoteChildMapper.xml index e415c9ce..805c30ca 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/SysCustomerQuoteChildMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/SysCustomerQuoteChildMapper.xml @@ -59,6 +59,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where quoteId = #{quoteId} + + + + insert into sys_customer_quotechild diff --git a/ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderChildMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderChildMapper.xml index d3db5a17..45bc8c2b 100644 --- a/ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderChildMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/system/SysSalesOrderChildMapper.xml @@ -120,6 +120,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where a.materialCode = #{materialCode} + + insert into sys_sales_order_child