Browse Source

2024年10月9日09:57:47 中电 客户合同,仓库协议到期提醒

纪新园 9 tháng trước cách đây
mục cha
commit
aa63d4b4ee

+ 11 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TEnclosureController.java

@@ -13,6 +13,7 @@ import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 附件Controller
@@ -105,4 +106,14 @@ public class TEnclosureController extends BaseController {
         tEnclosureService.deleteTEnclosureById(fId);
         return AjaxResult.success("操作成功");
     }
+
+
+    /**
+     * 到期提醒
+     */
+    @GetMapping("/expirationReminder")
+    public AjaxResult expirationReminder() {
+        List<Map<String,Object>> list = tEnclosureService.expirationReminder();
+        return AjaxResult.success(list);
+    }
 }

+ 1 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/mapper/TCorpsMapper.java

@@ -208,4 +208,5 @@ public interface TCorpsMapper extends BaseMapper<TCorps> {
 
     TCorps getOne(TCorps tCorps);
 
+    List<TCorps> selectTCorpsListByIds(@Param("ids")String ids);
 }

+ 2 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/basicData/mapper/TWarehouseMapper.java

@@ -323,5 +323,7 @@ public interface TWarehouseMapper {
     TWarehouse getOne(TWarehouse tWarehouse);
 
     TWarehouse getWarehouseByFNo(String positionCode);
+
+    List<TWarehouse> selectTWarehouseListByIds(@Param("ids")String ids);
 }
 

+ 1 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/mapper/TEnclosureMapper.java

@@ -100,4 +100,5 @@ public interface TEnclosureMapper extends BaseMapper<TEnclosure> {
      */
     public List<TEnclosure> selectTEnclosureListBySrcId(Long srcId);
 
+    List<TEnclosure> expirationReminder();
 }

+ 3 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/ITEnclosureService.java

@@ -5,6 +5,7 @@ import com.ruoyi.common.core.domain.AjaxResult;
 import com.ruoyi.warehouseBusiness.domain.TEnclosure;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 附件Service接口
@@ -68,4 +69,6 @@ public interface ITEnclosureService {
      * @return
      */
     AjaxResult selectInfoByPid(Long fPid);
+
+    List<Map<String,Object>> expirationReminder();
 }

+ 55 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TEnclosureServiceImpl.java

@@ -1,7 +1,11 @@
 package com.ruoyi.warehouseBusiness.service.impl;
 
 
+import com.ruoyi.basicData.domain.TCorps;
+import com.ruoyi.basicData.mapper.TCorpsMapper;
+import com.ruoyi.basicData.mapper.TWarehouseMapper;
 import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.core.domain.entity.TWarehouse;
 import com.ruoyi.common.utils.DateUtils;
 import com.ruoyi.warehouseBusiness.domain.TEnclosure;
 import com.ruoyi.warehouseBusiness.mapper.TEnclosureMapper;
@@ -9,7 +13,10 @@ import com.ruoyi.warehouseBusiness.service.ITEnclosureService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 附件Service业务层处理
@@ -22,6 +29,12 @@ public class TEnclosureServiceImpl implements ITEnclosureService {
     @Autowired
     private TEnclosureMapper tEnclosureMapper;
 
+    @Autowired
+    private TCorpsMapper tCorpsMapper;
+
+    @Autowired
+    private TWarehouseMapper tWarehouseMapper;
+
     /**
      * 查询附件
      *
@@ -101,4 +114,46 @@ public class TEnclosureServiceImpl implements ITEnclosureService {
         return AjaxResult.success(tEnclosureMapper.selectTEnclosureByPId(fPid));
     }
 
+    @Override
+    public List<Map<String, Object>> expirationReminder() {
+        List<Map<String, Object>> mapList = new ArrayList<>();
+        List<TEnclosure> tEnclosureList = tEnclosureMapper.expirationReminder();
+        if (!tEnclosureList.isEmpty()) {
+            StringBuilder ids = new StringBuilder();
+            for (TEnclosure item : tEnclosureList) {
+                ids.append(item.getfPid()).append(",");
+            }
+            List<TCorps> tCorpsList = tCorpsMapper.selectTCorpsListByIds(ids.toString());
+            List<TWarehouse> tWarehouseList = tWarehouseMapper.selectTWarehouseListByIds(ids.toString());
+            for (TEnclosure item : tEnclosureList) {
+                Map<String, Object> map = new HashMap<>();
+                if ("合同".equals(item.getfType())){
+                    if (!tCorpsList.isEmpty()){
+                        TCorps corps = tCorpsList.stream().filter(e-> e.getfId().equals(item.getfPid())).findFirst().orElse(null);
+                        if (corps != null){
+                            map.put("name",corps.getfCname());
+                            map.put("type","客户合同");
+                            map.put("startDate",item.getEffectiveDateStare());
+                            map.put("endDate",item.getEffectiveDateEnd());
+                            mapList.add(map);
+                        }
+                    }
+                } else if ("协议".equals(item.getfType())){
+                    if (!tWarehouseList.isEmpty()){
+                        TWarehouse warehouse = tWarehouseList.stream().filter(e-> e.getfId().equals(item.getfPid())).findFirst().orElse(null);
+                        if (warehouse != null){
+                            map.put("name",warehouse.getfCname());
+                            map.put("type","仓库协议");
+                            map.put("startDate",item.getEffectiveDateStare());
+                            map.put("endDate",item.getEffectiveDateEnd());
+                            mapList.add(map);
+                        }
+                    }
+                }
+
+            }
+        }
+        return mapList;
+    }
+
 }

+ 5 - 0
ruoyi-warehouse/src/main/resources/mapper/basicData/TCorpsMapper.xml

@@ -557,4 +557,9 @@
         <if test="fNo != null and fNo != ''">and f_no = #{fNo}</if>
         limit 1
     </select>
+    <select id="selectTCorpsListByIds" resultMap="TCorpsResult">
+        <include refid="selectTCorpsVo"/>
+        where del_flag = '0'
+        and find_in_set(f_id,#{ids})
+    </select>
 </mapper>

+ 5 - 0
ruoyi-warehouse/src/main/resources/mapper/basicData/TWarehouseMapper.xml

@@ -1080,4 +1080,9 @@
             f_no = #{fNo} and del_flag = '0' limit 1
         </where>
     </select>
+    <select id="selectTWarehouseListByIds" resultMap="TWarehouseResult">
+        <include refid="selectTWarehouseVo"/>
+        where del_flag = '0'
+        and find_in_set(f_id,#{ids})
+    </select>
 </mapper>

+ 4 - 0
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TEnclosureMapper.xml

@@ -160,5 +160,9 @@
         <include refid="selectTEnclosureVo"/>
         where src_id = #{srcId}
     </select>
+    <select id="expirationReminder" resultMap="TEnclosureResult">
+        <include refid="selectTEnclosureVo"/>
+        where del_flag = 0 and find_in_set(f_type,'合同,协议') and NOW() > effective_date_end
+    </select>
 
 </mapper>