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/controller/MesMaterialLoadingController.java | 15 ++++--- src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialLoadingMapper.xml | 2 src/main/java/org/jeecg/modules/mes/service/impl/MesMaterialLoadingServiceImpl.java | 61 +++++++++++++++++++++++++++++- src/main/java/org/jeecg/modules/mes/entity/MesMaterialUnloading.java | 3 + src/main/java/org/jeecg/modules/mes/entity/MesMaterialLoading.java | 4 ++ src/main/java/org/jeecg/modules/mes/service/IMesMaterialLoadingService.java | 8 +++ 6 files changed, 81 insertions(+), 12 deletions(-) diff --git a/src/main/java/org/jeecg/modules/mes/controller/MesMaterialLoadingController.java b/src/main/java/org/jeecg/modules/mes/controller/MesMaterialLoadingController.java index 277a813..5cb522a 100644 --- a/src/main/java/org/jeecg/modules/mes/controller/MesMaterialLoadingController.java +++ b/src/main/java/org/jeecg/modules/mes/controller/MesMaterialLoadingController.java @@ -71,12 +71,15 @@ * @param mesMaterialLoading * @return */ - @AutoLog(value = "涓婃枡-缂栬緫") - @ApiOperation(value = "涓婃枡-缂栬緫", notes = "涓婃枡-缂栬緫") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) - public Result<String> edit(@RequestBody MesMaterialLoading mesMaterialLoading) { - mesMaterialLoadingService.updateById(mesMaterialLoading); - return Result.OK("缂栬緫鎴愬姛!"); + @AutoLog(value = "涓婃枡-涓嬫枡") + @ApiOperation(value = "涓婃枡-涓嬫枡", notes = "涓婃枡-涓嬫枡") + @RequestMapping(value = "/unloading", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<String> unloading(@RequestBody MesMaterialLoading mesMaterialLoading) { + boolean b = mesMaterialLoadingService.unloading(mesMaterialLoading); + if (!b) { + Result.error("涓嬫枡澶辫触锛�"); + } + return Result.OK("涓嬫枡鎴愬姛锛�"); } /** diff --git a/src/main/java/org/jeecg/modules/mes/entity/MesMaterialLoading.java b/src/main/java/org/jeecg/modules/mes/entity/MesMaterialLoading.java index c062cc9..f2ef091 100644 --- a/src/main/java/org/jeecg/modules/mes/entity/MesMaterialLoading.java +++ b/src/main/java/org/jeecg/modules/mes/entity/MesMaterialLoading.java @@ -35,6 +35,7 @@ private String id; /**鍒涘缓浜�*/ @ApiModelProperty(value = "鍒涘缓浜�") + @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") private String createBy; /**鍒涘缓鏃ユ湡*/ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @@ -96,4 +97,7 @@ /** 鍒嗙被 */ @TableField(exist = false) private String category; + /** 涓嬫枡鏁伴噺 */ + @TableField(exist = false) + private BigDecimal unloadingQuantity; } diff --git a/src/main/java/org/jeecg/modules/mes/entity/MesMaterialUnloading.java b/src/main/java/org/jeecg/modules/mes/entity/MesMaterialUnloading.java index df19578..5b0a7f5 100644 --- a/src/main/java/org/jeecg/modules/mes/entity/MesMaterialUnloading.java +++ b/src/main/java/org/jeecg/modules/mes/entity/MesMaterialUnloading.java @@ -14,6 +14,7 @@ import org.springframework.format.annotation.DateTimeFormat; import java.io.Serializable; +import java.math.BigDecimal; import java.util.Date; /** @@ -74,5 +75,5 @@ /**鏁伴噺*/ @Excel(name = "鏁伴噺", width = 15) @ApiModelProperty(value = "鏁伴噺") - private Double quantity; + private BigDecimal quantity; } diff --git a/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialLoadingMapper.xml b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialLoadingMapper.xml index fb86d6e..ade3ec2 100644 --- a/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialLoadingMapper.xml +++ b/src/main/java/org/jeecg/modules/mes/mapper/xml/MesMaterialLoadingMapper.xml @@ -32,7 +32,7 @@ t2.warehouse_id, t2.batch_number, t2.steel_ball_size, - t2.quantity, + t1.quantity, t2.remaining_quantity, t2.unloading_flag, 'UNLOADING' AS category diff --git a/src/main/java/org/jeecg/modules/mes/service/IMesMaterialLoadingService.java b/src/main/java/org/jeecg/modules/mes/service/IMesMaterialLoadingService.java index 53c56f3..2115e03 100644 --- a/src/main/java/org/jeecg/modules/mes/service/IMesMaterialLoadingService.java +++ b/src/main/java/org/jeecg/modules/mes/service/IMesMaterialLoadingService.java @@ -7,7 +7,6 @@ import org.jeecg.modules.mes.entity.MesMaterialUnloading; import java.util.List; -import java.util.Map; /** * @Description: 涓婃枡 @@ -32,4 +31,11 @@ * @return */ boolean loading(MesMaterialLoading mesMaterialLoading); + + /** + * 涓嬫枡 + * @param mesMaterialLoading + * @return + */ + boolean unloading(MesMaterialLoading mesMaterialLoading); } 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