From f99e7de6d1ed98913398fc5a725ba83b1c5a007d Mon Sep 17 00:00:00 2001 From: lixiangyu <lixiangyu@xalxzn.com> Date: 星期一, 15 九月 2025 18:06:46 +0800 Subject: [PATCH] feat(cms): 更新刀具库存状态管理 --- src/main/java/org/jeecg/modules/cms/service/impl/CuttingInventoryServiceImpl.java | 70 ++++++++++++++++++++++++++++++++++ 1 files changed, 69 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..7816739 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,60 @@ */ @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()); + //FIXME:鍦ㄦ姤搴熷墠鏈夊涓姸鎬侊紝濡傛灉鎶ュ簾浣滃簾锛屽垁鍏峰簱瀛樼姸鎬佸浣曢��鍥炲師鏉ョ殑鐘舵�併�� + if (!toRestoreIds.isEmpty()) { + UpdateWrapper<CuttingInventory> updateWrapper = new UpdateWrapper<>(); + updateWrapper.in("id", toRestoreIds); + updateWrapper.set("inventory_status", "姝e父"); + updateWrapper.set("update_time", new Date()); + updateWrapper.set("update_by", username); + this.update(updateWrapper); + } + } + } + + } -- Gitblit v1.9.3