From 7df0337148d9d6d6158ad93564aa2a3c827265cc Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期三, 22 十月 2025 15:17:15 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/haizhentong
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TErpMaintenanceReminderServiceImpl.java | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 163 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..3037abb 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,23 @@
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.baomidou.mybatisplus.core.toolkit.Wrappers;
+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.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* <p>
@@ -17,4 +30,152 @@
@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 TErpClinicWarehousingBatchMapper erpClinicWarehousingBatchMapper;
+
+ @Resource
+ private TErpSupplierWarehousingMapper erpSupplierWarehousingMapper;
+
+ @Resource
+ private TErpClinicOutboundGoodsMapper erpClinicOutboundGoodsMapper;
+
+ @Resource
+ private TErpSupplierOutboundGoodsMapper erpSupplierOutboundGoodsMapper;
+
+
+
+ @Resource
+ private TCrmClinicMapper crmClinicMapper;
+
+ @Resource
+ private TCrmSupplierMapper crmSupplierMapper;
+
+ @Override
+ public PageInfo<TErpMaintenanceReminderListVo> pageList(TErpMaintenanceReminderQuery query, SysUser user) {
+ Integer roleType = user.getRoleType();
+ String supplierClinicId = null;
+ if(roleType == 4){
+ // 供应商
+ TCrmSupplier crmSupplier = crmSupplierMapper.selectOne(Wrappers.lambdaQuery(TCrmSupplier.class)
+ .eq(TCrmSupplier::getUserId, user.getUserId())
+ .last("LIMIT 1"));
+ supplierClinicId =crmSupplier.getId();
+ }
+ if(roleType == 5){
+ // 诊所
+ TCrmClinic crmClinic = crmClinicMapper.selectOne(Wrappers.lambdaQuery(TCrmClinic.class)
+ .eq(TCrmClinic::getUserId, user.getUserId())
+ .last("LIMIT 1"));
+ supplierClinicId =crmClinic.getId();
+ }
+ PageInfo<TErpMaintenanceReminderListVo> page = new PageInfo<>(query.getPageNum(), query.getPageSize());
+
+ // 获取明天的时间
+ LocalDateTime tomorrow = LocalDateTime.now().plusDays(1);
+
+ List<TErpMaintenanceReminderListVo> list=new ArrayList<>();
+ if(roleType==4){
+ list = baseMapper.pageList(page, query, user,supplierClinicId,tomorrow);
+ }else {
+ list = baseMapper.pageList1(page, query, user,supplierClinicId,tomorrow);
+ }
+
+ 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.getNickName()));
+ }
+ }
+ page.setRecords( list);
+ return page;
+ }
+
+ @Override
+ public TErpMaintenanceReminderDetailVo detail(String id, SysUser user) {
+
+
+ TErpMaintenanceReminderDetailVo tErpMaintenanceReminderDetailVo = new TErpMaintenanceReminderDetailVo();
+ TErpMaintenanceReminder tErpMaintenanceReminder = baseMapper.selectById(id);
+ 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())).getNickName());
+ }
+ tErpMaintenanceReminderDetailVo.setStatus(tErpMaintenanceReminder.getStatus());
+
+ String warehousingBatchId = tErpMaintenanceReminder.getWarehousingBatchId();
+ if(warehousingBatchId != null){
+ if(tErpMaintenanceReminder.getMaintenanceType()==2){
+ TErpClinicWarehousingBatch tErpSupplierWarehousingBatch = erpClinicWarehousingBatchMapper.selectById(warehousingBatchId);
+ tErpMaintenanceReminderDetailVo.setBatchNumber(tErpSupplierWarehousingBatch.getBatchNumber());
+ String goodsId = tErpSupplierWarehousingBatch.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<TErpClinicOutboundGoods> tErpSupplierOutboundGoods = erpClinicOutboundGoodsMapper.selectList(new LambdaQueryWrapper<TErpClinicOutboundGoods>().eq(TErpClinicOutboundGoods::getWarehousingBatchId, warehousingBatchId));
+ int sum = tErpSupplierOutboundGoods.stream().mapToInt(TErpClinicOutboundGoods::getOutboundCount).sum();
+ tErpMaintenanceReminderDetailVo.setNumber(tErpSupplierWarehousingBatch.getWarehousingNumber()-sum);
+ }else {
+ 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