From 9e97ded95f71e4c736bf11464ea2c25860d2aab8 Mon Sep 17 00:00:00 2001 From: zhangherong <571457620@qq.com> Date: 星期三, 10 九月 2025 11:47:27 +0800 Subject: [PATCH] art: 下料接口,上下料查询接口修改 --- src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialLoadingServiceImpl.java | 61 +++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialLoadingServiceImpl.java b/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialLoadingServiceImpl.java index 317f986..69ffb6b 100644 --- a/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialLoadingServiceImpl.java +++ b/src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialLoadingServiceImpl.java @@ -3,7 +3,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.StringUtils; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.shiro.SecurityUtils; @@ -13,10 +12,13 @@ import org.jeecg.modules.base.entity.LineSideWarehouse; import org.jeecg.modules.base.service.ILineSideWarehouseService; import org.jeecg.modules.lsw.entity.LswMaterial; +import org.jeecg.modules.lsw.entity.LswMaterialInbound; import org.jeecg.modules.lsw.entity.LswMaterialInventory; import org.jeecg.modules.lsw.entity.LswMaterialOutbound; import org.jeecg.modules.lsw.enums.MaterialCategoryEnum; +import org.jeecg.modules.lsw.enums.MaterialInboundCategory; import org.jeecg.modules.lsw.enums.MaterialOutboundCategory; +import org.jeecg.modules.lsw.service.ILswMaterialInboundService; import org.jeecg.modules.lsw.service.ILswMaterialInventoryService; import org.jeecg.modules.lsw.service.ILswMaterialOutboundService; import org.jeecg.modules.lsw.service.ILswMaterialService; @@ -24,13 +26,12 @@ import org.jeecg.modules.mes.entity.MesMaterialUnloading; import org.jeecg.modules.mes.mapper.MesMaterialLoadingMapper; import org.jeecg.modules.mes.service.IMesMaterialLoadingService; +import org.jeecg.modules.mes.service.IMesMaterialUnloadingService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.math.BigDecimal; import java.util.List; -import java.util.Map; /** * @Description: 涓婃枡 @@ -49,6 +50,10 @@ private ILswMaterialInventoryService materialInventoryService; @Autowired private ILswMaterialService materialService; + @Autowired + private IMesMaterialUnloadingService mesMaterialUnloadingService; + @Autowired + private ILswMaterialInboundService materialInboundService; @Override public List<MesMaterialUnloading> queryUnloadingByLoadingId(String loadingId) { @@ -138,4 +143,54 @@ this.save(mesMaterialLoading); return true; } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean unloading(MesMaterialLoading mesMaterialLoading) { + if (mesMaterialLoading == null) { + throw new JeecgBootException("鍙傛暟閿欒锛�"); + } + if (StringUtils.isBlank(mesMaterialLoading.getId()) + || mesMaterialLoading.getUnloadingQuantity() == null + || mesMaterialLoading.getUnloadingQuantity().intValue() < 1) { + throw new JeecgBootException("鍙傛暟閿欒锛�"); + } + //鏌ヨ涓婃枡鏁版嵁 + MesMaterialLoading loading = super.getById(mesMaterialLoading.getId()); + if (loading == null) { + throw new JeecgBootException("鏈煡璇㈠埌涓婃枡鏁版嵁锛�"); + } + if (loading.getRemainingQuantity().compareTo(mesMaterialLoading.getUnloadingQuantity()) < 0) { + throw new JeecgBootException("涓嬫枡鏁伴噺涓嶈兘澶т簬褰撳墠鍓╀綑鏁伴噺锛�"); + } + //绾胯竟搴撲俊鎭� + LineSideWarehouse warehouse = lineSideWarehouseService.getById(loading.getWarehouseId()); + if(warehouse == null) { + throw new JeecgBootException("鏈煡璇㈠埌绾胯竟搴擄紒"); + } + loading.setUnloadingFlag(CommonConstant.STATUS_1); + loading.setRemainingQuantity(loading.getRemainingQuantity().subtract(mesMaterialLoading.getUnloadingQuantity())); + super.updateById(loading); + //淇濆瓨涓嬫枡淇℃伅 + MesMaterialUnloading unloading = new MesMaterialUnloading(); + unloading.setLoadingId(loading.getId()); + unloading.setMaterialNumber(loading.getMaterialNumber()); + unloading.setMaterialName(loading.getMaterialName()); + unloading.setBatchNumber(loading.getBatchNumber()); + unloading.setQuantity(mesMaterialLoading.getUnloadingQuantity()); + mesMaterialUnloadingService.save(unloading); + //淇濆瓨鍏ュ簱淇℃伅 + LswMaterialInbound materialInbound = new LswMaterialInbound() + .setFactoryId(loading.getFactoryId()) + .setWarehouseId(loading.getWarehouseId()) + .setMaterialNumber(loading.getMaterialNumber()) + .setMaterialName(loading.getMaterialName()) + .setBatchNumber(loading.getBatchNumber()) + .setQuantity(unloading.getQuantity()) + .setInboundCategory(MaterialInboundCategory.PRODUCTION_UNLOADING.name())//涓嬫枡 + .setOriginalCode(warehouse.getWarehouseCode()) + .setOriginalName(warehouse.getWarehouseName()); + materialInboundService.inboundMaterial(materialInbound); + return true; + } } -- Gitblit v1.9.3