From 1d6f916b5254a31a086f897acb0d4a5913a3e332 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期四, 11 九月 2025 14:59:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpMaintenanceReminderServiceImpl.java |  105 +++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 103 insertions(+), 2 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpMaintenanceReminderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpMaintenanceReminderServiceImpl.java
index fd0e316..a9ec2a7 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpMaintenanceReminderServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpMaintenanceReminderServiceImpl.java
@@ -1,10 +1,21 @@
 package com.ruoyi.system.service.impl;
 
-import com.ruoyi.system.model.TErpMaintenanceReminder;
-import com.ruoyi.system.mapper.TErpMaintenanceReminderMapper;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.lkl.laop.sdk.LKLSDK;
+import com.ruoyi.common.basic.PageInfo;
+import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.system.mapper.*;
+import com.ruoyi.system.model.*;
+import com.ruoyi.system.query.TErpMaintenanceReminderQuery;
 import com.ruoyi.system.service.TErpMaintenanceReminderService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.system.vo.TErpMaintenanceReminderDetailVo;
+import com.ruoyi.system.vo.TErpMaintenanceReminderListVo;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -17,4 +28,94 @@
 @Service
 public class TErpMaintenanceReminderServiceImpl extends ServiceImpl<TErpMaintenanceReminderMapper, TErpMaintenanceReminder> implements TErpMaintenanceReminderService {
 
+    @Resource
+    private TErpGoodsTypeMapper erpGoodsTypeMapper;
+
+    @Resource
+    private SysUserMapper sysUserMapper;
+
+    @Resource
+    private TErpGoodsMapper erpGoodsMapper;
+
+    @Resource
+    private TErpGoodsUnitMapper erpGoodsUnitMapper;
+
+    @Resource
+    private TErpSupplierWarehousingBatchMapper erpSupplierWarehousingBatchMapper;
+
+    @Resource
+    private TErpSupplierWarehousingMapper erpSupplierWarehousingMapper;
+
+    @Resource
+    private TErpSupplierOutboundGoodsMapper erpSupplierOutboundGoodsMapper;
+
+    @Override
+    public PageInfo<TErpMaintenanceReminderListVo> pageList(TErpMaintenanceReminderQuery query, SysUser user) {
+        PageInfo<TErpMaintenanceReminderListVo> page = new PageInfo<>(query.getPageNum(), query.getPageSize());
+        List<TErpMaintenanceReminderListVo> list = baseMapper.pageList(page, query, user);
+        if(list.isEmpty()){
+            return page;
+        }
+        List<String> typeIds = list.stream().map(TErpMaintenanceReminderListVo::getTypeId).collect(Collectors.toList());
+        if(!typeIds.isEmpty()){
+            List<TErpGoodsType> typeList = erpGoodsTypeMapper.selectBatchIds(typeIds);
+            for (TErpMaintenanceReminderListVo tErpMaintenanceReminderListVo : list) {
+                typeList.stream().filter(t -> t.getId().equals(tErpMaintenanceReminderListVo.getTypeId())).findFirst().ifPresent(t -> tErpMaintenanceReminderListVo.setTypeName(t.getTypeName()));
+            }
+        }
+        List<Integer> personIds = list.stream().map(TErpMaintenanceReminderListVo::getMaintenancePersonId).collect(Collectors.toList());
+        if(!personIds.isEmpty()){
+            List<SysUser> userList = sysUserMapper.selectBatchIds(personIds);
+            for (TErpMaintenanceReminderListVo tErpMaintenanceReminderListVo : list) {
+                userList.stream().filter(t ->tErpMaintenanceReminderListVo.getMaintenancePersonId()!=null &&  t.getUserId().toString().equals(tErpMaintenanceReminderListVo.getMaintenancePersonId().toString())).findFirst().ifPresent(t -> tErpMaintenanceReminderListVo.setMaintenancePersonName(t.getUserName()));
+            }
+        }
+        page.setRecords( list);
+        return page;
+    }
+
+    @Override
+    public TErpMaintenanceReminderDetailVo detail(String id, SysUser user) {
+
+
+        TErpMaintenanceReminderDetailVo tErpMaintenanceReminderDetailVo = new TErpMaintenanceReminderDetailVo();
+        TErpMaintenanceReminder tErpMaintenanceReminder = baseMapper.selectById(id);
+        if(tErpMaintenanceReminder == null || tErpMaintenanceReminder.getMaintenanceType()!=1 || !tErpMaintenanceReminder.getClinicSupplierId().equals(user.getUserId().toString())){
+            return tErpMaintenanceReminderDetailVo;
+        }
+        tErpMaintenanceReminderDetailVo.setId(tErpMaintenanceReminder.getId());
+        tErpMaintenanceReminderDetailVo.setMaintenanceTime(tErpMaintenanceReminder.getMaintenanceTime());
+        tErpMaintenanceReminderDetailVo.setMaintenanceRecord(tErpMaintenanceReminder.getMaintenanceRecord());
+        tErpMaintenanceReminderDetailVo.setMaintenancePersonId(tErpMaintenanceReminder.getMaintenancePersonId());
+        if(tErpMaintenanceReminder.getMaintenancePersonId()!=null){
+            tErpMaintenanceReminderDetailVo.setMaintenancePersonName(sysUserMapper.selectUserById(Long.valueOf(tErpMaintenanceReminder.getMaintenancePersonId())).getUserName());
+        }
+        tErpMaintenanceReminderDetailVo.setStatus(tErpMaintenanceReminder.getStatus());
+
+        String warehousingBatchId = tErpMaintenanceReminder.getWarehousingBatchId();
+        if(warehousingBatchId != null){
+            TErpSupplierWarehousingBatch tErpSupplierWarehousingBatch = erpSupplierWarehousingBatchMapper.selectById(warehousingBatchId);
+            tErpMaintenanceReminderDetailVo.setBatchNumber(tErpSupplierWarehousingBatch.getBatchNumber());
+            TErpSupplierWarehousing tErpSupplierWarehousing = erpSupplierWarehousingMapper.selectById(tErpSupplierWarehousingBatch.getWarehousingId());
+            if(tErpSupplierWarehousing!=null){
+                String goodsId = tErpSupplierWarehousing.getGoodsId();
+                if(goodsId != null){
+                    TErpGoods goods = erpGoodsMapper.selectById(goodsId);
+                    tErpMaintenanceReminderDetailVo.setGoodsName(goods.getGoodsName());
+                    tErpMaintenanceReminderDetailVo.setQuasiNumber(goods.getQuasiNumber());
+                    tErpMaintenanceReminderDetailVo.setGoodsIdCode(goods.getGoodsIdCode());
+                    String packingUnitId = goods.getPackingUnitId();
+                    if(packingUnitId != null){
+                        TErpGoodsUnit tErpGoodsUnit = erpGoodsUnitMapper.selectById(packingUnitId);
+                        tErpMaintenanceReminderDetailVo.setUnitName(tErpGoodsUnit.getUnitName());
+                    }
+                }
+            }
+            List<TErpSupplierOutboundGoods> tErpSupplierOutboundGoods = erpSupplierOutboundGoodsMapper.selectList(new LambdaQueryWrapper<TErpSupplierOutboundGoods>().eq(TErpSupplierOutboundGoods::getWarehousingBatchId, warehousingBatchId));
+            int sum = tErpSupplierOutboundGoods.stream().mapToInt(TErpSupplierOutboundGoods::getOutboundCount).sum();
+            tErpMaintenanceReminderDetailVo.setNumber(tErpSupplierWarehousingBatch.getWarehousingNumber()-sum);
+
+        }
+        return tErpMaintenanceReminderDetailVo;
+    }
 }

--
Gitblit v1.7.1