From 7931656b17def59e738843eebb13411051e29a39 Mon Sep 17 00:00:00 2001
From: zhangnaisong <2434969829@qq.com>
Date: 星期五, 26 一月 2024 15:13:43 +0800
Subject: [PATCH] 单兵端查看已通过的申请提交
---
ard-work/src/main/java/com/ruoyi/app/application/service/impl/ArdAppApplicationServiceImpl.java | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 158 insertions(+), 13 deletions(-)
diff --git a/ard-work/src/main/java/com/ruoyi/app/application/service/impl/ArdAppApplicationServiceImpl.java b/ard-work/src/main/java/com/ruoyi/app/application/service/impl/ArdAppApplicationServiceImpl.java
index 562aa77..f259cdf 100644
--- a/ard-work/src/main/java/com/ruoyi/app/application/service/impl/ArdAppApplicationServiceImpl.java
+++ b/ard-work/src/main/java/com/ruoyi/app/application/service/impl/ArdAppApplicationServiceImpl.java
@@ -2,8 +2,6 @@
import java.util.*;
-import com.alibaba.fastjson2.JSON;
-import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.uuid.IdUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -14,13 +12,14 @@
import com.ruoyi.app.application.domain.ArdAppApplication;
import com.ruoyi.app.application.service.IArdAppApplicationService;
+import javax.annotation.PostConstruct;
import javax.annotation.Resource;
/**
* 鍗曞叺绔敵璇锋煡鐪嬫寚鎸ョ浣嶇疆鎴栦笁涓�杞﹁締浣嶇疆Service涓氬姟灞傚鐞�
*
* @author ard
- * @date 2024-01-23
+ * @date 2024-01-25
*/
@Service
public class ArdAppApplicationServiceImpl implements IArdAppApplicationService {
@@ -29,15 +28,57 @@
private Map<String,Thread> threadMap = new HashMap();
+ @PostConstruct
+ public void init(){
+ ArdAppApplication para = new ArdAppApplication();
+ para.setState("1");//鏌ヨ鍚屾剰鐨勭敵璇�
+ List<ArdAppApplication> ardAppApplicationList = ardAppApplicationMapper.selectArdAppApplicationList(para);
+ Date date = new Date();
+ Long now = date.getTime();
+ for(ArdAppApplication ardAppApplication : ardAppApplicationList){
+ Long begin = Long.parseLong(ardAppApplication.getBegin());
+ //鍒ゆ柇鏄惁瓒呮椂
+ if(now - begin <= 24*60*60*1000){//鏈秴鏃朵粠鏂板垱寤虹嚎绋�
+ String key = ardAppApplication.getCommanderId() + "," + ardAppApplication.getSoilderId() + "," + ardAppApplication.getApplicationType();
+ Thread thread = new Thread(key){//鍒涘缓绾跨▼璁℃椂鍓╀綑鏃堕暱
+ @Override
+ public void run() {
+ try {
+ Thread.sleep(24*60*60*1000 - (now - begin));//鍓╀綑鏃堕暱
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ return;
+ }
+ Thread currentThread = Thread.currentThread();
+ String state = "000";//state涓�000锛屽嵆瓒呮椂
+ String commanderId = currentThread.getName().split(",")[0];
+ String soilderId = currentThread.getName().split(",")[1];
+ String applicationType = currentThread.getName().split(",")[2];
+ int result = ardAppApplicationMapper.updateArdAppApplicationBeginByCommanderIdAndSoilderIdAndType(commanderId,soilderId,applicationType,"",state);
+ threadMap.remove(currentThread.getName());
+ }
+ };
+ thread.start();
+ this.threadMap.put(key,thread);
+ }else{//瓒呮椂鏇存敼鐘舵��
+ String state = "000";//state涓�000锛屽嵆瓒呮椂
+ String commanderId = ardAppApplication.getCommanderId();
+ String soilderId = ardAppApplication.getSoilderId();
+ String applicationType = ardAppApplication.getApplicationType();
+ int result = ardAppApplicationMapper.updateArdAppApplicationBeginByCommanderIdAndSoilderIdAndType(commanderId,soilderId,applicationType,"",state);
+ }
+ }
+ }
+
/**
* 鏌ヨ鍗曞叺绔敵璇锋煡鐪嬫寚鎸ョ浣嶇疆鎴栦笁涓�杞﹁締浣嶇疆
*
- * @param applicationId 鍗曞叺绔敵璇锋煡鐪嬫寚鎸ョ浣嶇疆鎴栦笁涓�杞﹁締浣嶇疆涓婚敭
+ * @param soilderId 鍗曞叺绔敵璇锋煡鐪嬫寚鎸ョ浣嶇疆鎴栦笁涓�杞﹁締浣嶇疆涓婚敭
* @return 鍗曞叺绔敵璇锋煡鐪嬫寚鎸ョ浣嶇疆鎴栦笁涓�杞﹁締浣嶇疆
*/
@Override
- public ArdAppApplication selectArdAppApplicationByApplicationId(String applicationId) {
- return ardAppApplicationMapper.selectArdAppApplicationByApplicationId(applicationId);
+ public ArdAppApplication selectArdAppApplicationBySoilderId(String soilderId) {
+ return ardAppApplicationMapper.selectArdAppApplicationBySoilderId(soilderId);
}
/**
@@ -76,23 +117,23 @@
/**
* 鎵归噺鍒犻櫎鍗曞叺绔敵璇锋煡鐪嬫寚鎸ョ浣嶇疆鎴栦笁涓�杞﹁締浣嶇疆
*
- * @param applicationIds 闇�瑕佸垹闄ょ殑鍗曞叺绔敵璇锋煡鐪嬫寚鎸ョ浣嶇疆鎴栦笁涓�杞﹁締浣嶇疆涓婚敭
+ * @param soilderIds 闇�瑕佸垹闄ょ殑鍗曞叺绔敵璇锋煡鐪嬫寚鎸ョ浣嶇疆鎴栦笁涓�杞﹁締浣嶇疆涓婚敭
* @return 缁撴灉
*/
@Override
- public int deleteArdAppApplicationByApplicationIds(String[] applicationIds) {
- return ardAppApplicationMapper.deleteArdAppApplicationByApplicationIds(applicationIds);
+ public int deleteArdAppApplicationBySoilderIds(String[] soilderIds) {
+ return ardAppApplicationMapper.deleteArdAppApplicationBySoilderIds(soilderIds);
}
/**
* 鍒犻櫎鍗曞叺绔敵璇锋煡鐪嬫寚鎸ョ浣嶇疆鎴栦笁涓�杞﹁締浣嶇疆淇℃伅
*
- * @param applicationId 鍗曞叺绔敵璇锋煡鐪嬫寚鎸ョ浣嶇疆鎴栦笁涓�杞﹁締浣嶇疆涓婚敭
+ * @param soilderId 鍗曞叺绔敵璇锋煡鐪嬫寚鎸ョ浣嶇疆鎴栦笁涓�杞﹁締浣嶇疆涓婚敭
* @return 缁撴灉
*/
@Override
- public int deleteArdAppApplicationByApplicationId(String applicationId) {
- return ardAppApplicationMapper.deleteArdAppApplicationByApplicationId(applicationId);
+ public int deleteArdAppApplicationBySoilderId(String soilderId) {
+ return ardAppApplicationMapper.deleteArdAppApplicationBySoilderId(soilderId);
}
@Override
@@ -108,6 +149,7 @@
ardAppApplication.setApplicationType("Commander");
ardAppApplication.setBegin("");
ardAppApplication.setState("0");
+ ardAppApplication.setSoilderCheck("true");//鎸囨尌绔湭瀹℃壒涔熻涓簍rue,涓嶉渶瑕佸崟鍏电鏌ョ湅
int resultSingle = ardAppApplicationMapper.updateArdAppApplicationByCommanderIdAndSoilderIdAndType(ardAppApplication);
result = result + resultSingle;
if(resultSingle == 0){
@@ -132,6 +174,7 @@
ardAppApplication.setApplicationType("SYCar");
ardAppApplication.setBegin("");
ardAppApplication.setState("0");
+ ardAppApplication.setSoilderCheck("true");//鎸囨尌绔湭瀹℃壒涔熻涓簍rue,涓嶉渶瑕佸崟鍏电鏌ョ湅
int resultSingle = ardAppApplicationMapper.updateArdAppApplicationByCommanderIdAndSoilderIdAndType(ardAppApplication);
result = result + resultSingle;
if(resultSingle == 0){
@@ -146,8 +189,8 @@
@Override
public Map<String, List<Map<String, Object>>> getCheckPosition(String usersId) {
Map<String, List<Map<String, Object>>> result = new HashMap();
- //鏌ョ湅鎸囨尌绔綅缃敵璇�
List<Map<String,Object>> ardAppApplicationList = ardAppApplicationMapper.selectArdAppApplicationByCommanderId(usersId);
+ //鏌ョ湅鎸囨尌绔綅缃敵璇�
List<Map<String, Object>> resultCommanderPosition = new ArrayList();
for(Map<String, Object> map : ardAppApplicationList){
if(((String)map.get("applicationType")).equals("Commander")){
@@ -214,4 +257,106 @@
}
return 0;
}
+
+ @Override
+ public Map<String, List<Map<String, Object>>> getCheckPositionTrue(String commanderId) {
+ Map<String, List<Map<String, Object>>> result = new HashMap();
+ List<Map<String,Object>> ardAppApplicationList = ardAppApplicationMapper.selectArdAppApplicationByCommanderIdTrue(commanderId);
+ Date date = new Date();
+ //鏌ョ湅鎸囨尌绔綅缃敵璇�
+ List<Map<String, Object>> resultCommanderPosition = new ArrayList();
+ //鏌ョ湅杞﹁締浣嶇疆鐢宠
+ List<Map<String, Object>> resultSYCarsPosition = new ArrayList();
+ for(Map<String, Object> map : ardAppApplicationList){
+ Long interval = date.getTime() - Long.parseLong((String)map.get("begin"));
+ interval = 24 * 60 * 60 * 1000 - interval;
+ Long hour = interval / (60 * 60 * 1000);
+ Long min = (interval - hour * 60 * 60 * 1000) / (60 * 1000);
+ Long second = (interval - hour * 60 * 60 * 1000 - min * 60 * 1000) / 1000;
+ map.put("time",hour + "鏃�" + min + "鍒�" + second + "绉�");
+ if(((String)map.get("applicationType")).equals("Commander")){
+ resultCommanderPosition.add(map);
+ }else if(((String)map.get("applicationType")).equals("SYCar")){
+ resultSYCarsPosition.add(map);
+ }
+ }
+ result.put("commander",resultCommanderPosition);
+ result.put("SYCars",resultSYCarsPosition);
+ return result;
+ }
+
+ @Override
+ public Map<String, List<Map<String, Object>>> getSendPositionTrue(String soilderId) {
+ Map<String, List<Map<String, Object>>> result = new HashMap();
+ List<Map<String,Object>> ardAppApplicationList = ardAppApplicationMapper.selectArdAppApplicationBySoilderIdTrue(soilderId);
+ Date date = new Date();
+ //鏌ョ湅鎸囨尌绔綅缃敵璇�
+ List<Map<String, Object>> resultCommanderPosition = new ArrayList();
+ //鏌ョ湅杞﹁締浣嶇疆鐢宠
+ List<Map<String, Object>> resultSYCarsPosition = new ArrayList();
+ for(Map<String, Object> map : ardAppApplicationList){
+ Long interval = date.getTime() - Long.parseLong((String)map.get("begin"));
+ interval = 24 * 60 * 60 * 1000 - interval;
+ Long hour = interval / (60 * 60 * 1000);
+ Long min = (interval - hour * 60 * 60 * 1000) / (60 * 1000);
+ Long second = (interval - hour * 60 * 60 * 1000 - min * 60 * 1000) / 1000;
+ map.put("time",hour + "鏃�" + min + "鍒�" + second + "绉�");
+ if(((String)map.get("applicationType")).equals("Commander")){
+ resultCommanderPosition.add(map);
+ }else if(((String)map.get("applicationType")).equals("SYCar")){
+ resultSYCarsPosition.add(map);
+ }
+ }
+ result.put("commander",resultCommanderPosition);
+ result.put("SYCars",resultSYCarsPosition);
+ return result;
+ }
+
+ @Override
+ public Map<String, List<Map<String, Object>>> getCheckPositionOwn(String soilderId) {
+ Map<String, List<Map<String, Object>>> result = new HashMap();
+ List<Map<String,Object>> ardAppApplicationList = ardAppApplicationMapper.selectArdAppApplicationBySoilderIdFalse(soilderId);
+ Date date = new Date();
+ //鏌ョ湅鎸囨尌绔綅缃敵璇�
+ List<Map<String, Object>> resultCommanderPosition = new ArrayList();
+ //鏌ョ湅杞﹁締浣嶇疆鐢宠
+ List<Map<String, Object>> resultSYCarsPosition = new ArrayList();
+ for(Map<String, Object> map : ardAppApplicationList){
+ /*if(((String)map.get("state")).equals("1")){
+ Long interval = date.getTime() - Long.parseLong((String)map.get("begin"));
+ interval = 24 * 60 * 60 * 1000 - interval;
+ Long hour = interval / (60 * 60 * 1000);
+ Long min = (interval - hour * 60 * 60 * 1000) / (60 * 1000);
+ map.put("time",hour + "鏃�" + min + "鍒�");
+ if(((String)map.get("applicationType")).equals("Commander")){
+ resultCommanderPosition.add(map);
+ }else if(((String)map.get("applicationType")).equals("SYCar")){
+ resultSYCarsPosition.add(map);
+ }
+ }else{
+ map.put("time","");
+ if(((String)map.get("applicationType")).equals("Commander")){
+ resultCommanderPosition.add(map);
+ }else if(((String)map.get("applicationType")).equals("SYCar")){
+ resultSYCarsPosition.add(map);
+ }
+ }*/
+ if(((String)map.get("applicationType")).equals("Commander")){
+ resultCommanderPosition.add(map);
+ }else if(((String)map.get("applicationType")).equals("SYCar")){
+ resultSYCarsPosition.add(map);
+ }
+ }
+ result.put("commander",resultCommanderPosition);
+ result.put("SYCars",resultSYCarsPosition);
+ return result;
+ }
+
+ @Override
+ public int approvalCheckPositionOwn(String soilderId, Map<String, String> para) {
+ String applicationType = para.get("applicationType");
+ String commanderId = para.get("commanderId");
+ int result = ardAppApplicationMapper.updateSoilderCheckByCommanderIdAndSoilderIdAndType(soilderId,commanderId,applicationType);
+ return result;
+ }
}
--
Gitblit v1.9.3