From 548c15acd182735a75fa8aa447e28645b6a36970 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Wed, 05 Jan 2022 09:25:47 +0800
Subject: [PATCH] 变更派遣修改,保安员年龄计算修改

---
 src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java |  200 ++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 144 insertions(+), 56 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 4f10ae0..36fba20 100644
--- a/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java
+++ b/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java
@@ -375,66 +375,154 @@
 		dispatcher.setUpdateTime(new Date());
 		//查询当前派遣记录
 		Dispatcher dispatcher1 = dispatcherService.getById(dispatcher.getId());
+		//判断派遣单位类型,如果是医院,学校,银行等单位,则派遣人员年龄不应大于50岁
+		DispatcherUnit dispatcherUnit = dispatcherUnitService.getById(dispatcher.getDispatcherUnitId());
 		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");
+			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);
+					}
+				}
+			}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);
 			}
-			//修改原保安人员用户信息
-			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);
+			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);
+						//内网同步
+						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);
+					}
+				}
+			}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);
 	}

--
Gitblit v1.9.3