From 357010e7eedb11186f859feeb7a1299e94421d79 Mon Sep 17 00:00:00 2001 From: chenhao Date: Wed, 3 Dec 2025 09:56:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(inventory):=20=E6=96=B0=E5=A2=9E=E5=BA=93?= =?UTF-8?q?=E5=AD=98=E5=A4=87=E8=B4=A7=E7=8A=B6=E6=80=81=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在库存列表中增加“是否曾经备货”字段展示 - 根据onceInStock字段值显示不同颜色标识 - 后端实体类OmsStockInfo新增onceInStock属性 - 数据库映射文件添加once_in_stock字段插入逻辑 - 新增插入时校验历史备货状态逻辑 - 修改项目订单服务依赖注入接口方式 - 调整用户头像上传接口路径及默认图片格式 - 更新前端用户头像路径拼接逻辑以支持资源下载 --- oms_web/oms_vue/src/api/system/user.js | 2 +- oms_web/oms_vue/src/assets/images/profile.png | Bin 0 -> 9325 bytes .../assets/images/{profile.jpg => profile1.jpg} | Bin oms_web/oms_vue/src/store/modules/user.js | 4 ++-- .../oms_vue/src/views/inventory/stock/index.vue | 5 +++++ .../java/com/ruoyi/sip/domain/OmsStockInfo.java | 1 + .../service/impl/OmsStockInfoServiceImpl.java | 4 ++++ .../impl/ProjectOrderInfoServiceImpl.java | 4 ++-- .../resources/mapper/sip/OmsStockInfoMapper.xml | 6 ++++++ 9 files changed, 21 insertions(+), 5 deletions(-) create mode 100644 oms_web/oms_vue/src/assets/images/profile.png rename oms_web/oms_vue/src/assets/images/{profile.jpg => profile1.jpg} (100%) diff --git a/oms_web/oms_vue/src/api/system/user.js b/oms_web/oms_vue/src/api/system/user.js index 290eaf2c..fcfcdd23 100644 --- a/oms_web/oms_vue/src/api/system/user.js +++ b/oms_web/oms_vue/src/api/system/user.js @@ -106,7 +106,7 @@ export function updateUserPwd(oldPassword, newPassword) { // 用户头像上传 export function uploadAvatar(data) { return request({ - url: '/system/user/profile/avatar', + url: '/system/user/profile/updateAvatar', method: 'post', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, data: data diff --git a/oms_web/oms_vue/src/assets/images/profile.png b/oms_web/oms_vue/src/assets/images/profile.png new file mode 100644 index 0000000000000000000000000000000000000000..56247443ffeac56d7dd6288acae513a25aceb74d GIT binary patch literal 9325 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 + + + diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OmsStockInfo.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OmsStockInfo.java index ea6ee226..b783f7ea 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OmsStockInfo.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OmsStockInfo.java @@ -23,6 +23,7 @@ public class OmsStockInfo { * 备货状态 0:未备货 1:已备货 */ private String stockStatus; + private String onceInStock; /** * 创建时间 */ diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsStockInfoServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsStockInfoServiceImpl.java index dbb3fdbd..ba673879 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsStockInfoServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OmsStockInfoServiceImpl.java @@ -40,6 +40,10 @@ public class OmsStockInfoServiceImpl implements IOmsStockInfoService { @Override public int insert(OmsStockInfo omsStockInfo) { + //需要验证数据 + List omsStockInfos = omsStockInfoMapper.queryAll(omsStockInfo); + boolean b = omsStockInfos.stream().anyMatch(item -> "1".equalsIgnoreCase(item.getStockStatus())); + omsStockInfo.setOnceInStock(b ? "1" : "0"); return omsStockInfoMapper.insert(omsStockInfo); } diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java index 607218c3..cc0343d2 100644 --- a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProjectOrderInfoServiceImpl.java @@ -124,7 +124,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To private static final List REJECT_EMAIL_LIST = Arrays.asList("li.junjie@unisinsight.com", "chen.shenggang@unisinsight.com"); @Autowired - private OmsStockInfoMapper omsStockInfoMapper; + private IOmsStockInfoService omsStockInfoService; @Autowired private IProjectTaxRateTempService projectTaxRateTempService; @Value("${unis.order.endHour:96}") @@ -1218,7 +1218,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To private void addStock(String businessKey) { OmsStockInfo omsStockInfo = new OmsStockInfo(); omsStockInfo.setOrderCode(businessKey); - omsStockInfoMapper.insert(omsStockInfo); + omsStockInfoService.insert(omsStockInfo); } // @Override diff --git a/ruoyi-sip/src/main/resources/mapper/sip/OmsStockInfoMapper.xml b/ruoyi-sip/src/main/resources/mapper/sip/OmsStockInfoMapper.xml index 2a903daa..ec3c5481 100644 --- a/ruoyi-sip/src/main/resources/mapper/sip/OmsStockInfoMapper.xml +++ b/ruoyi-sip/src/main/resources/mapper/sip/OmsStockInfoMapper.xml @@ -98,6 +98,9 @@ stock_status, + + once_in_stock, + create_time, @@ -109,6 +112,9 @@ #{stockStatus}, + + #{onceInStock}, + #{createTime},