From 8853292babb2ad94de4a3207966f1e83b767cd2d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Sun, 17 Sep 2023 16:38:34 +0800
Subject: [PATCH] 新增流程节点进程查询接口

---
 src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java |  545 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 391 insertions(+), 154 deletions(-)

diff --git a/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java b/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java
index 3eb9aae..44d8ec0 100644
--- a/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java
+++ b/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java
@@ -22,15 +22,18 @@
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 import javax.validation.Valid;
-
+import org.apache.commons.lang3.StringUtils;
+import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
-import org.springblade.modules.FTP.FtpUtil;
+import org.springblade.modules.dispatcher.entity.DispatcherUnit;
 import org.springblade.modules.dispatcher.service.IDispatcherUnitService;
 import org.springblade.modules.system.entity.User;
 import org.springblade.modules.system.service.IUserService;
+import org.springblade.modules.system.service.MyAsyncService;
+import org.springblade.modules.system.vo.UserVO;
 import org.springframework.web.bind.annotation.*;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.modules.dispatcher.entity.Dispatcher;
@@ -39,13 +42,14 @@
 import org.springblade.core.boot.ctrl.BladeController;
 
 import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
- *  控制器
+ * 控制器
  *
  * @author BladeX
  * @since 2021-07-07
@@ -61,6 +65,7 @@
 	private final IDispatcherUnitService dispatcherUnitService;
 
 	private final IUserService userService;
+	private final MyAsyncService myAsyncService;
 
 	/**
 	 * 详情
@@ -123,6 +128,7 @@
 
 	/**
 	 * 结束派遣
+	 *
 	 * @param dispatcher
 	 */
 	@PostMapping("/over-dispatcher")
@@ -137,10 +143,10 @@
 		List<Dispatcher> dispatcherList = dispatcherService.list(Condition.getQueryWrapper(dispatcher1));
 
 		User user = new User();
-		if (dispatcherList.size()<1){
+		if (dispatcherList.size() < 1) {
 			//用户状态改变
 			user.setDispatch("1");
-		}else {
+		} else {
 			//用户状态改变
 			user.setDispatch("0");
 		}
@@ -148,15 +154,15 @@
 		userService.updateById(user);
 
 
-
 		//内网同步
 		String s1 =
 			"update sys_dispatcher set status = " + "'" + dispatcher.getStatus() + "'" +
 				",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + "'" +
-				" " +"where id = " + "'" + dispatcher.getId() + "';"+
+				" " + "where id = " + "'" + dispatcher.getId() + "';" +
 				"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
-				" " +"where id = " + "'" + user.getId() + "'";
-		FtpUtil.sqlFileUpload(s1);
+				" " + "where id = " + "'" + user.getId() + "'";
+		//FtpUtil.sqlFileUpload(s1);
+		myAsyncService.dataSync(s1);
 		return R.status(status);
 	}
 
@@ -180,23 +186,24 @@
 
 			//新增派遣记录
 			status = dispatcherService.save(dispatcher);
-
-			//数据同步
-			String s1 =
-				"insert into sys_dispatcher(id,dispatcherTime,dispatcherAddress,dispatcher_unit_id,user_ids,end_time,dept_id,jurisdiction,create_time,status) " +
-					"values(" + "'" + dispatcher.getId() + "'" + "," +
-					"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" + "," +
-					"'" + dispatcher.getDispatcheraddress() + "'" + "," +
-					"'" + dispatcher.getDispatcherUnitId() + "'" + "," +
-					"'" + dispatcher.getUserIds() + "'" + "," +
-					"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" + "," +
-					"'" + dispatcher.getDeptId() + "'" + "," +
-					"'" + dispatcher.getJurisdiction() + "'" + "," +
-					"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getCreateTime()) + "'" + "," +
-					"'" + dispatcher.getStatus() + "'" + ");" +
-					"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
-					" " + "where id = " + "'" + user.getId() + "'";
-			FtpUtil.sqlFileUpload(s1);
+			if (status) {
+				//数据同步
+				String s1 =
+					"insert into sys_dispatcher(id,dispatcherTime,dispatcherAddress,dispatcher_unit_id,user_ids,end_time,dept_id,jurisdiction,create_time,status) " +
+						"values(" + "'" + dispatcher.getId() + "'" + "," +
+						"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" + "," +
+						"'" + dispatcher.getDispatcheraddress() + "'" + "," +
+						"'" + dispatcher.getDispatcherUnitId() + "'" + "," +
+						"'" + dispatcher.getUserIds() + "'" + "," +
+						"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" + "," +
+						"'" + dispatcher.getDeptId() + "'" + "," +
+						"'" + dispatcher.getJurisdiction() + "'" + "," +
+						"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getCreateTime()) + "'" + "," +
+						"'" + dispatcher.getStatus() + "'" + ");" +
+						"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
+						" " + "where id = " + "'" + user.getId() + "'";
+				myAsyncService.dataSync(s1);
+			}
 		} else {
 			dispatcher.setUpdateTime(new Date());
 			//查询当前派遣记录
@@ -227,12 +234,311 @@
 
 				//修改
 				status = dispatcherService.updateById(dispatcher);
+				if (status) {
+					//内网同步
+					String s1 =
+						"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
+							" " + "where id = " + "'" + user.getId() + "';" +
+							"update sys_dispatcher set dispatcherTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" +
+							",dispatcherAddress = " + "'" + dispatcher.getDispatcheraddress() + "'" +
+							",dispatcher_unit_id = " + "'" + dispatcher.getDispatcherUnitId() + "'" +
+							",user_ids = " + "'" + dispatcher.getUserIds() + "'" +
+							",end_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" +
+							",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getUpdateTime()) + "'" +
+							",dept_id = " + "'" + dispatcher.getDeptId() + "'" +
+							",jurisdiction = " + "'" + dispatcher.getJurisdiction() + "'" +
+							" " + "where id = " + "'" + dispatcher.getId() + "';" +
+							"update blade_user set dispatch = " + "'" + user1.getDispatch() + "'" +
+							" " + "where id = " + "'" + user1.getId() + "'";
+					//FtpUtil.sqlFileUpload(s1);
+					myAsyncService.dataSync(s1);
+				}
+			} else {
+				//没有修改保安员,只修改了派遣时间等信息
+				//修改
+				status = dispatcherService.updateById(dispatcher);
+				if (status) {
+					//内网同步
+					String s1 =
+						"update sys_dispatcher set dispatcherTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" +
+							",dispatcherAddress = " + "'" + dispatcher.getDispatcheraddress() + "'" +
+							",dispatcher_unit_id = " + "'" + dispatcher.getDispatcherUnitId() + "'" +
+							",user_ids = " + "'" + dispatcher.getUserIds() + "'" +
+							",end_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" +
+							",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getUpdateTime()) + "'" +
+							",dept_id = " + "'" + dispatcher.getDeptId() + "'" +
+							",jurisdiction = " + "'" + dispatcher.getJurisdiction() + "'" +
+							" " + "where id = " + "'" + dispatcher.getId() + "'";
+					//FtpUtil.sqlFileUpload(s1);
+					myAsyncService.dataSync(s1);
+				}
+			}
+		}
+		return R.status(status);
+	}
+
+
+	/**
+	 * 新增派遣(批量)
+	 */
+	@PostMapping("/saveDispatcher")
+	public R saveDispatcher(@RequestBody DispatcherVO dispatcher) {
+		List<String> list = Arrays.asList(dispatcher.getIds().split(","));
+		//修改状态
+		AtomicBoolean status = new AtomicBoolean(false);
+		AtomicBoolean errorStatus = new AtomicBoolean(true);
+		//将不能导入的保安员账号存起来
+		List<String> errorList = new ArrayList<>();
+		if (list.size() > 0) {
+			//遍历
+			list.forEach(id -> {
+				dispatcher.setCreateTime(new Date());
+				dispatcher.setStatus(0);
+				dispatcher.setUserIds(id);
+				//判断派遣单位类型,如果是医院,学校,银行等单位,则派遣人员年龄不应大于50岁
+				DispatcherUnit dispatcherUnit = dispatcherUnitService.getById(dispatcher.getDispatcherUnitId());
+				if (null != dispatcherUnit.getDistrict() && !dispatcherUnit.getDistrict().equals("") && !dispatcherUnit.getDistrict().equals(-1)) {
+					//判断
+					if (dispatcherUnit.getDistrict().equals(1) ||
+						dispatcherUnit.getDistrict().equals(2) ||
+						dispatcherUnit.getDistrict().equals(3)) {
+						//查询保安员年龄
+						UserVO user1 = userService.getUserAgeById(Long.parseLong(dispatcher.getUserIds()));
+						if (user1.getAge() > 50) {
+							errorStatus.set(false);
+							errorList.add(user1.getCardid());
+							//跳出本次循环
+							return;
+						} else {
+							User user = new User();
+							user.setId(Long.parseLong(id));
+							user.setDispatch("0");
+							userService.updateById(user);
+
+							//新增派遣记录
+							status.set(dispatcherService.save(dispatcher));
+							//数据同步
+							String s1 =
+								"insert into sys_dispatcher(id,dispatcherTime,dispatcherAddress,dispatcher_unit_id,user_ids,end_time,dept_id,jurisdiction,create_time,status) " +
+									"values(" + "'" + dispatcher.getId() + "'" + "," +
+									"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" + "," +
+									"'" + dispatcher.getDispatcheraddress() + "'" + "," +
+									"'" + dispatcher.getDispatcherUnitId() + "'" + "," +
+									"'" + dispatcher.getUserIds() + "'" + "," +
+									"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" + "," +
+									"'" + dispatcher.getDeptId() + "'" + "," +
+									"'" + dispatcher.getJurisdiction() + "'" + "," +
+									"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getCreateTime()) + "'" + "," +
+									"'" + dispatcher.getStatus() + "'" + ");" +
+									"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
+									" " + "where id = " + "'" + user.getId() + "'";
+							myAsyncService.dataSync(s1);
+						}
+					} else {
+						User user = new User();
+						user.setId(Long.parseLong(id));
+						user.setDispatch("0");
+						userService.updateById(user);
+
+						//新增派遣记录
+						status.set(dispatcherService.save(dispatcher));
+						//数据同步
+						String s1 =
+							"insert into sys_dispatcher(id,dispatcherTime,dispatcherAddress,dispatcher_unit_id,user_ids,end_time,dept_id,jurisdiction,create_time,status) " +
+								"values(" + "'" + dispatcher.getId() + "'" + "," +
+								"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" + "," +
+								"'" + dispatcher.getDispatcheraddress() + "'" + "," +
+								"'" + dispatcher.getDispatcherUnitId() + "'" + "," +
+								"'" + dispatcher.getUserIds() + "'" + "," +
+								"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" + "," +
+								"'" + dispatcher.getDeptId() + "'" + "," +
+								"'" + dispatcher.getJurisdiction() + "'" + "," +
+								"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getCreateTime()) + "'" + "," +
+								"'" + dispatcher.getStatus() + "'" + ");" +
+								"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
+								" " + "where id = " + "'" + user.getId() + "'";
+						//FtpUtil.sqlFileUpload(s1);
+						myAsyncService.dataSync(s1);
+					}
+				} else {
+					User user = new User();
+					user.setId(Long.parseLong(id));
+					user.setDispatch("0");
+					userService.updateById(user);
+
+					//新增派遣记录
+					status.set(dispatcherService.save(dispatcher));
+					//数据同步
+					String s1 =
+						"insert into sys_dispatcher(id,dispatcherTime,dispatcherAddress,dispatcher_unit_id,user_ids,end_time,dept_id,jurisdiction,create_time,status) " +
+							"values(" + "'" + dispatcher.getId() + "'" + "," +
+							"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" + "," +
+							"'" + dispatcher.getDispatcheraddress() + "'" + "," +
+							"'" + dispatcher.getDispatcherUnitId() + "'" + "," +
+							"'" + dispatcher.getUserIds() + "'" + "," +
+							"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" + "," +
+							"'" + dispatcher.getDeptId() + "'" + "," +
+							"'" + dispatcher.getJurisdiction() + "'" + "," +
+							"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getCreateTime()) + "'" + "," +
+							"'" + dispatcher.getStatus() + "'" + ");" +
+							"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
+							" " + "where id = " + "'" + user.getId() + "'";
+					myAsyncService.dataSync(s1);
+				}
+
+			});
+			if (!errorStatus.get()) {
+				String errorAccount = StringUtils.join(errorList, "\\\n");
+				throw new ServiceException("保安员[" + errorAccount + "]派遣失败!派遣到学校,医院,银行的保安员年龄应不超过50周岁!");
+			}
+		}
+		return R.status(status.get());
+	}
+
+
+	/**
+	 * 派遣记录修改
+	 */
+	@PostMapping("/updateDispatcher")
+	public R updateDispatcher(@RequestBody DispatcherVO dispatcher) {
+		boolean status = false;
+		dispatcher.setUpdateTime(new Date());
+		//查询当前派遣记录
+		Dispatcher dispatcher1 = dispatcherService.getById(dispatcher.getId());
+		//判断派遣单位类型,如果是医院,学校,银行等单位,则派遣人员年龄不应大于50岁
+		DispatcherUnit dispatcherUnit = dispatcherUnitService.getById(dispatcher.getDispatcherUnitId());
+		if (!dispatcher1.getUserIds().equals(dispatcher.getUserIds())) {
+			if (null != dispatcherUnit.getDistrict() && !dispatcherUnit.getDistrict().equals("") && !dispatcherUnit.getDistrict().equals(-1)) {
+				//判断
+				if (dispatcherUnit.getDistrict().equals(1) ||
+					dispatcherUnit.getDistrict().equals(2) ||
+					dispatcherUnit.getDistrict().equals(3)) {
+					//查询保安员年龄
+					UserVO userVO = userService.getUserAgeById(Long.parseLong(dispatcher.getUserIds()));
+					if (userVO.getAge() > 50) {
+						throw new ServiceException("保安员[" + userVO.getCardid() + "]变更派遣失败!派遣到学校,医院,银行的保安员年龄应不超过50周岁!");
+					} else {
+						//修改原保安人员的派遣状态
+						//查询原保安人员的派遣记录,是否存在多条未结束派遣的
+						Dispatcher dispatcher2 = new Dispatcher();
+						dispatcher2.setUserIds(dispatcher1.getUserIds());
+						dispatcher2.setStatus(0);
+						List<Dispatcher> dispatcherList = dispatcherService.list(Condition.getQueryWrapper(dispatcher2));
+						User user = new User();
+						user.setId(Long.parseLong(dispatcher1.getUserIds()));
+						if (dispatcherList.size() == 1) {
+							//用户状态改变
+							user.setDispatch("1");
+						} else {
+							user.setDispatch("0");
+						}
+						//修改原保安人员用户信息
+						userService.updateById(user);
+
+						//修改当前保安人员的派遣状态
+						User user1 = new User();
+						user1.setId(Long.parseLong(dispatcher.getUserIds()));
+						user1.setDispatch("0");
+						userService.updateById(user1);
+
+						//修改派遣记录信息
+						status = dispatcherService.updateById(dispatcher);
+
+						//内网同步
+						String s1 =
+							"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
+								" " + "where id = " + "'" + user.getId() + "';" +
+								"update sys_dispatcher set dispatcherTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" +
+								",dispatcherAddress = " + "'" + dispatcher.getDispatcheraddress() + "'" +
+								",dispatcher_unit_id = " + "'" + dispatcher.getDispatcherUnitId() + "'" +
+								",user_ids = " + "'" + dispatcher.getUserIds() + "'" +
+								",end_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" +
+								",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getUpdateTime()) + "'" +
+								",dept_id = " + "'" + dispatcher.getDeptId() + "'" +
+								",jurisdiction = " + "'" + dispatcher.getJurisdiction() + "'" +
+								" " + "where id = " + "'" + dispatcher.getId() + "';" +
+								"update blade_user set dispatch = " + "'" + user1.getDispatch() + "'" +
+								" " + "where id = " + "'" + user1.getId() + "'";
+						//FtpUtil.sqlFileUpload(s1);
+						myAsyncService.dataSync(s1);
+					}
+				} else {
+					//修改原保安人员的派遣状态
+					//查询原保安人员的派遣记录,是否存在多条未结束派遣的
+					Dispatcher dispatcher2 = new Dispatcher();
+					dispatcher2.setUserIds(dispatcher1.getUserIds());
+					dispatcher2.setStatus(0);
+					List<Dispatcher> dispatcherList = dispatcherService.list(Condition.getQueryWrapper(dispatcher2));
+					User user = new User();
+					user.setId(Long.parseLong(dispatcher1.getUserIds()));
+					if (dispatcherList.size() == 1) {
+						//用户状态改变
+						user.setDispatch("1");
+					} else {
+						user.setDispatch("0");
+					}
+					//修改原保安人员用户信息
+					userService.updateById(user);
+
+					//修改当前保安人员的派遣状态
+					User user1 = new User();
+					user1.setId(Long.parseLong(dispatcher.getUserIds()));
+					user1.setDispatch("0");
+					userService.updateById(user1);
+
+					//修改派遣记录信息
+					status = dispatcherService.updateById(dispatcher);
+
+					//内网同步
+					String s1 =
+						"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
+							" " + "where id = " + "'" + user.getId() + "';" +
+							"update sys_dispatcher set dispatcherTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" +
+							",dispatcherAddress = " + "'" + dispatcher.getDispatcheraddress() + "'" +
+							",dispatcher_unit_id = " + "'" + dispatcher.getDispatcherUnitId() + "'" +
+							",user_ids = " + "'" + dispatcher.getUserIds() + "'" +
+							",end_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" +
+							",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getUpdateTime()) + "'" +
+							",dept_id = " + "'" + dispatcher.getDeptId() + "'" +
+							",jurisdiction = " + "'" + dispatcher.getJurisdiction() + "'" +
+							" " + "where id = " + "'" + dispatcher.getId() + "';" +
+							"update blade_user set dispatch = " + "'" + user1.getDispatch() + "'" +
+							" " + "where id = " + "'" + user1.getId() + "'";
+					//FtpUtil.sqlFileUpload(s1);
+					myAsyncService.dataSync(s1);
+				}
+			} else {
+				//修改原保安人员的派遣状态
+				//查询原保安人员的派遣记录,是否存在多条未结束派遣的
+				Dispatcher dispatcher2 = new Dispatcher();
+				dispatcher2.setUserIds(dispatcher1.getUserIds());
+				dispatcher2.setStatus(0);
+				List<Dispatcher> dispatcherList = dispatcherService.list(Condition.getQueryWrapper(dispatcher2));
+				User user = new User();
+				user.setId(Long.parseLong(dispatcher1.getUserIds()));
+				if (dispatcherList.size() == 1) {
+					//用户状态改变
+					user.setDispatch("1");
+				} else {
+					user.setDispatch("0");
+				}
+				//修改原保安人员用户信息
+				userService.updateById(user);
+
+				//修改当前保安人员的派遣状态
+				User user1 = new User();
+				user1.setId(Long.parseLong(dispatcher.getUserIds()));
+				user1.setDispatch("0");
+				userService.updateById(user1);
+
+				//修改派遣记录信息
+				status = dispatcherService.updateById(dispatcher);
 
 				//内网同步
 				String s1 =
 					"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
 						" " + "where id = " + "'" + user.getId() + "';" +
-					"update sys_dispatcher set dispatcherTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" +
+						"update sys_dispatcher set dispatcherTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" +
 						",dispatcherAddress = " + "'" + dispatcher.getDispatcheraddress() + "'" +
 						",dispatcher_unit_id = " + "'" + dispatcher.getDispatcherUnitId() + "'" +
 						",user_ids = " + "'" + dispatcher.getUserIds() + "'" +
@@ -241,10 +547,60 @@
 						",dept_id = " + "'" + dispatcher.getDeptId() + "'" +
 						",jurisdiction = " + "'" + dispatcher.getJurisdiction() + "'" +
 						" " + "where id = " + "'" + dispatcher.getId() + "';" +
-					"update blade_user set dispatch = " + "'" + user1.getDispatch() + "'" +
+						"update blade_user set dispatch = " + "'" + user1.getDispatch() + "'" +
 						" " + "where id = " + "'" + user1.getId() + "'";
-				FtpUtil.sqlFileUpload(s1);
-			}else {
+				//FtpUtil.sqlFileUpload(s1);
+				myAsyncService.dataSync(s1);
+			}
+		} else {
+			if (null != dispatcherUnit.getDistrict() && !dispatcherUnit.getDistrict().equals("") && !dispatcherUnit.getDistrict().equals(-1)) {
+				//判断
+				if (dispatcherUnit.getDistrict().equals(1) ||
+					dispatcherUnit.getDistrict().equals(2) ||
+					dispatcherUnit.getDistrict().equals(3)) {
+					//查询保安员年龄
+					UserVO userVO = userService.getUserAgeById(Long.parseLong(dispatcher.getUserIds()));
+					if (userVO.getAge() > 50) {
+						throw new ServiceException("保安员[" + userVO.getCardid() + "]变更派遣失败!派遣到学校,医院,银行的保安员年龄应不超过50周岁!");
+					} else {
+						//没有修改保安员,只修改了派遣时间等信息
+						//修改
+						status = dispatcherService.updateById(dispatcher);
+
+						//内网同步
+						String s1 =
+							"update sys_dispatcher set dispatcherTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" +
+								",dispatcherAddress = " + "'" + dispatcher.getDispatcheraddress() + "'" +
+								",dispatcher_unit_id = " + "'" + dispatcher.getDispatcherUnitId() + "'" +
+								",user_ids = " + "'" + dispatcher.getUserIds() + "'" +
+								",end_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" +
+								",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getUpdateTime()) + "'" +
+								",dept_id = " + "'" + dispatcher.getDeptId() + "'" +
+								",jurisdiction = " + "'" + dispatcher.getJurisdiction() + "'" +
+								" " + "where id = " + "'" + dispatcher.getId() + "'";
+						//FtpUtil.sqlFileUpload(s1);
+						myAsyncService.dataSync(s1);
+					}
+				} else {
+					//没有修改保安员,只修改了派遣时间等信息
+					//修改
+					status = dispatcherService.updateById(dispatcher);
+
+					//内网同步
+					String s1 =
+						"update sys_dispatcher set dispatcherTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" +
+							",dispatcherAddress = " + "'" + dispatcher.getDispatcheraddress() + "'" +
+							",dispatcher_unit_id = " + "'" + dispatcher.getDispatcherUnitId() + "'" +
+							",user_ids = " + "'" + dispatcher.getUserIds() + "'" +
+							",end_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" +
+							",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getUpdateTime()) + "'" +
+							",dept_id = " + "'" + dispatcher.getDeptId() + "'" +
+							",jurisdiction = " + "'" + dispatcher.getJurisdiction() + "'" +
+							" " + "where id = " + "'" + dispatcher.getId() + "'";
+					//FtpUtil.sqlFileUpload(s1);
+					myAsyncService.dataSync(s1);
+				}
+			} else {
 				//没有修改保安员,只修改了派遣时间等信息
 				//修改
 				status = dispatcherService.updateById(dispatcher);
@@ -260,129 +616,9 @@
 						",dept_id = " + "'" + dispatcher.getDeptId() + "'" +
 						",jurisdiction = " + "'" + dispatcher.getJurisdiction() + "'" +
 						" " + "where id = " + "'" + dispatcher.getId() + "'";
-				FtpUtil.sqlFileUpload(s1);
+				//FtpUtil.sqlFileUpload(s1);
+				myAsyncService.dataSync(s1);
 			}
-		}
-		return R.status(status);
-	}
-
-
-
-	/**
-	 * 新增派遣(批量)
-	 */
-	@PostMapping("/saveDispatcher")
-	public R saveDispatcher(@RequestBody DispatcherVO dispatcher) {
-		List<String> list = Arrays.asList(dispatcher.getIds().split(","));
-		//修改状态
-		AtomicBoolean status = new AtomicBoolean(false);
-		if (list.size()>0) {
-			//遍历
-			list.forEach(id -> {
-				dispatcher.setCreateTime(new Date());
-				dispatcher.setStatus(0);
-				dispatcher.setUserIds(id);
-
-				User user = new User();
-				user.setId(Long.parseLong(id));
-				user.setDispatch("0");
-				userService.updateById(user);
-
-				//新增派遣记录
-				status.set(dispatcherService.save(dispatcher));
-
-				//数据同步
-				String s1 =
-					"insert into sys_dispatcher(id,dispatcherTime,dispatcherAddress,dispatcher_unit_id,user_ids,end_time,dept_id,jurisdiction,create_time,status) " +
-						"values(" + "'" + dispatcher.getId() + "'" + "," +
-						"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" + "," +
-						"'" + dispatcher.getDispatcheraddress() + "'" + "," +
-						"'" + dispatcher.getDispatcherUnitId() + "'" + "," +
-						"'" + dispatcher.getUserIds() + "'" + "," +
-						"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" + "," +
-						"'" + dispatcher.getDeptId() + "'" + "," +
-						"'" + dispatcher.getJurisdiction() + "'" + "," +
-						"'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getCreateTime()) + "'" + "," +
-						"'" + dispatcher.getStatus() + "'" + ");" +
-					"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
-						" " + "where id = " + "'" + user.getId() + "'";
-				FtpUtil.sqlFileUpload(s1);
-
-			});
-		}
-		return R.status(status.get());
-	}
-
-
-	/**
-	 * 派遣记录修改
-	 */
-	@PostMapping("/updateDispatcher")
-	public R updateDispatcher(@RequestBody DispatcherVO dispatcher) {
-		boolean status = false;
-		dispatcher.setUpdateTime(new Date());
-		//查询当前派遣记录
-		Dispatcher dispatcher1 = dispatcherService.getById(dispatcher.getId());
-		if (!dispatcher1.getUserIds().equals(dispatcher.getUserIds())) {
-			//修改原保安人员的派遣状态
-			//查询原保安人员的派遣记录,是否存在多条未结束派遣的
-			Dispatcher dispatcher2 = new Dispatcher();
-			dispatcher2.setUserIds(dispatcher1.getUserIds());
-			dispatcher2.setStatus(0);
-			List<Dispatcher> dispatcherList = dispatcherService.list(Condition.getQueryWrapper(dispatcher2));
-			User user = new User();
-			user.setId(Long.parseLong(dispatcher1.getUserIds()));
-			if (dispatcherList.size() == 1) {
-				//用户状态改变
-				user.setDispatch("1");
-			} else {
-				user.setDispatch("0");
-			}
-			//修改原保安人员用户信息
-			userService.updateById(user);
-
-			//修改当前保安人员的派遣状态
-			User user1 = new User();
-			user1.setId(Long.parseLong(dispatcher.getUserIds()));
-			user1.setDispatch("0");
-			userService.updateById(user1);
-
-			//修改派遣记录信息
-			status = dispatcherService.updateById(dispatcher);
-
-			//内网同步
-			String s1 =
-				"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
-					" " + "where id = " + "'" + user.getId() + "';" +
-					"update sys_dispatcher set dispatcherTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" +
-					",dispatcherAddress = " + "'" + dispatcher.getDispatcheraddress() + "'" +
-					",dispatcher_unit_id = " + "'" + dispatcher.getDispatcherUnitId() + "'" +
-					",user_ids = " + "'" + dispatcher.getUserIds() + "'" +
-					",end_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" +
-					",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getUpdateTime()) + "'" +
-					",dept_id = " + "'" + dispatcher.getDeptId() + "'" +
-					",jurisdiction = " + "'" + dispatcher.getJurisdiction() + "'" +
-					" " + "where id = " + "'" + dispatcher.getId() + "';" +
-					"update blade_user set dispatch = " + "'" + user1.getDispatch() + "'" +
-					" " + "where id = " + "'" + user1.getId() + "'";
-			FtpUtil.sqlFileUpload(s1);
-		}else {
-			//没有修改保安员,只修改了派遣时间等信息
-			//修改
-			status = dispatcherService.updateById(dispatcher);
-
-			//内网同步
-			String s1 =
-				"update sys_dispatcher set dispatcherTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" +
-					",dispatcherAddress = " + "'" + dispatcher.getDispatcheraddress() + "'" +
-					",dispatcher_unit_id = " + "'" + dispatcher.getDispatcherUnitId() + "'" +
-					",user_ids = " + "'" + dispatcher.getUserIds() + "'" +
-					",end_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" +
-					",update_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcher.getUpdateTime()) + "'" +
-					",dept_id = " + "'" + dispatcher.getDeptId() + "'" +
-					",jurisdiction = " + "'" + dispatcher.getJurisdiction() + "'" +
-					" " + "where id = " + "'" + dispatcher.getId() + "'";
-			FtpUtil.sqlFileUpload(s1);
 		}
 		return R.status(status);
 	}
@@ -397,10 +633,11 @@
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		//内网删除
 		List<Long> list = Func.toLongList(ids);
-		list.forEach(id ->{
+		list.forEach(id -> {
 			//内网同步
 			String s1 = "delete from sys_dispatcher where id = " + "'" + id + "'";
-			FtpUtil.sqlFileUpload(s1);
+			//FtpUtil.sqlFileUpload(s1);
+			myAsyncService.dataSync(s1);
 		});
 		return R.status(dispatcherService.removeByIds(Func.toLongList(ids)));
 	}

--
Gitblit v1.9.3