From 4f38e5827b848298de8e95f59e0ba9b24951e615 Mon Sep 17 00:00:00 2001 From: lixiangyu <lixiangyu@xalxzn.com> Date: 星期二, 16 九月 2025 18:01:18 +0800 Subject: [PATCH] refactor(cms): 优化刀具管理功能和性能 刀具报废功能 - 新增 提交(/subumit)接口 刀具报废功能 - 修改完善其删除功能,同时删除报废单和报废明细 刀具报废功能 - (/add)接口中增加逻辑判断禁制同一个刀具重复申请报废 刀具领用功能 - 完善刀具寿命计算 刀具领用功能 - 完善其删除功能,同时删除领用单和领用明细 刀具入库功能 - 完善其删除功能,同时删除入库单和入库明细 把刀具库存中的库存状态,从“正常”改为“在库”。 --- src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java | 69 ++++++++++++++++++++++++++++++++++ 1 files changed, 68 insertions(+), 1 deletions(-) diff --git a/src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java b/src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java index 2e3fcd1..e4ca00f 100644 --- a/src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java +++ b/src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java @@ -1,11 +1,24 @@ package org.jeecg.modules.cms.service.impl; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.StringUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.cms.entity.CuttingInventory; import org.jeecg.modules.cms.mapper.CuttingInventoryMapper; import org.jeecg.modules.cms.service.ICuttingInventoryService; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import java.util.Collections; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Description: 鍒�鍏峰簱瀛� @@ -15,5 +28,59 @@ */ @Service public class CuttingInventoryServiceImpl extends ServiceImpl<CuttingInventoryMapper, CuttingInventory> implements ICuttingInventoryService { + @Override + public IPage<Map<String, Object>> statisticsByCuttingIdAndStatus(Page<Map<String, Object>> page) { // 鎵ц鍒嗛〉缁熻鏌ヨ + IPage<Map<String, Object>> result = baseMapper.statisticsByCuttingIdAndStatus(page); + return result; + } + @Override + @Transactional(rollbackFor = Exception.class) + public void updateStatus(List<String> ids, String status) { + if (ids != null && !ids.isEmpty() && StringUtils.isNotBlank(status)) { +// UpdateWrapper<CuttingInventory> updateWrapper = new UpdateWrapper<>(); +// updateWrapper.in("id", ids); +// updateWrapper.set("inventory_status", status); // 鏍规嵁瀹為檯鏁版嵁搴撳瓧娈靛悕璋冩暣 + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String username = "System"; // 榛樿鐢ㄦ埛鍚� + if (user != null) { + username = oConvertUtils.getString(user.getUsername(), "System"); + } + UpdateWrapper<CuttingInventory> updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", ids); + updateWrapper.set("inventory_status", status); + updateWrapper.set("update_time", new Date()); + updateWrapper.set("update_by", username); + this.update(updateWrapper); + } + } + + @Override + public void restoreStatus(List<String> ids) { + if (ids != null && !ids.isEmpty()) { + // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛淇℃伅 + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String username = "System"; // 榛樿鐢ㄦ埛鍚� + if (user != null) { + username = oConvertUtils.getString(user.getUsername(), "System"); + } + + // 鏂瑰紡1: 鏌ヨ褰撳墠鐘舵�佸苟鏍规嵁鐘舵�佸喅瀹氭仮澶嶅埌鍝釜鐘舵�� + List<CuttingInventory> inventoryList = this.listByIds(ids); + List<String> toRestoreIds = inventoryList.stream() + .filter(inv -> "寰呭嚭搴�".equals(inv.getInventoryStatus())) // 鍑哄簱鍗曚綔搴熺殑鎯呭喌涓嬶紝鍙細鏈夊緟鍑哄簱閫�鍥炴甯哥姸鎬佺殑鎯呭喌銆� + .map(CuttingInventory::getId) + .collect(Collectors.toList()); + if (!toRestoreIds.isEmpty()) { + UpdateWrapper<CuttingInventory> updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", toRestoreIds); + updateWrapper.set("inventory_status", "鍦ㄥ簱"); + updateWrapper.set("update_time", new Date()); + updateWrapper.set("update_by", username); + this.update(updateWrapper); + } + } + } + + } -- Gitblit v1.9.3