From cc057177b2fb17aee9a173a6adbabdc578fd74c7 Mon Sep 17 00:00:00 2001
From: tangzy <tangzy123456>
Date: Mon, 06 Dec 2021 10:30:44 +0800
Subject: [PATCH] 1.许可

---
 src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java |   81 ++++++++++++++++++++++++++++++++++++++--
 1 files changed, 76 insertions(+), 5 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 35d5456..bcd4cb9 100644
--- a/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java
+++ b/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java
@@ -41,6 +41,7 @@
 
 import java.text.SimpleDateFormat;
 import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -95,6 +96,17 @@
 	}
 
 	/**
+	 * APP-从业单位查询(派遣单位)
+	 */
+	@GetMapping("/queryDispatcher")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入dispatcher")
+	public R<IPage<DispatcherVO>> queryDispatcher(DispatcherVO dispatcher, Query query) {
+		IPage<DispatcherVO> pages = dispatcherService.queryDispatcher(Condition.getPage(query), dispatcher);
+		return R.data(pages);
+	}
+
+	/**
 	 * 新增
 	 */
 	@PostMapping("/save")
@@ -119,6 +131,43 @@
 		return R.status(dispatcherService.updateById(dispatcher));
 	}
 
+
+	/**
+	 * 结束派遣
+	 * @param dispatcher
+	 */
+	@PostMapping("/over-dispatcher")
+	public R overDispatcher(@Valid @RequestBody Dispatcher dispatcher) {
+		dispatcher.setStatus(1);
+		Boolean status = dispatcherService.updateById(dispatcher);
+
+		//查询当前用户的派遣记录,是否存在多条未结束派遣的
+		Dispatcher dispatcher1 = new Dispatcher();
+		dispatcher1.setUserIds(dispatcher.getUserIds());
+		List<Dispatcher> dispatcherList = dispatcherService.list(Condition.getQueryWrapper(dispatcher1));
+
+		User user = new User();
+		if (dispatcherList.size()<1){
+			//用户状态改变
+			user.setDispatch("1");
+		}else {
+			//用户状态改变
+			user.setDispatch("0");
+		}
+		user.setId(Long.parseLong(dispatcher.getUserIds()));
+		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() + "';"+
+				"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
+				" " +"where id = " + "'" + user.getId() + "'";
+		FtpUtil.sqlFileUpload(s1);
+		return R.status(status);
+	}
+
 	/**
 	 * 新增或修改
 	 */
@@ -129,8 +178,12 @@
 		//List<String> list = Arrays.asList(dispatcher.getUserIds().split(","));
 		//计算派遣人数
 		//dispatcher.setNum(list.size());
+
 		boolean status = false;
 		if (dispatcher.getId()==null){
+			dispatcher.setCreateTime(new Date());
+			dispatcher.setStatus(0);
+
 			User user = new User();
 			user.setId(Long.parseLong(dispatcher.getUserIds()));
 			user.setDispatch("0");
@@ -141,25 +194,40 @@
 
 			//数据同步
 			String s1 =
-				"insert into sys_dispatcher(id,dispatcherTime,dispatcher_unit_id,user_ids,end_time,dept_id,jurisdiction) " +
+				"insert into sys_dispatcher(id,dispatcherTime,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.getDispatcherUnitId() + "'" + "," +
 					"'" + dispatcher.getUserIds() + "'" + "," +
 					"'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getEndTime()) + "'" + "," +
 					"'" + dispatcher.getDeptId() + "'" + "," +
-					"'" +dispatcher.getJurisdiction() + "'" + ");" +
+					"'" + 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);
 		}else {
+				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()));
-					user.setDispatch("1");
+					if (dispatcherList.size()<1){
+						//用户状态改变
+						user.setDispatch("1");
+					}else {
+						user.setDispatch("0");
+					}
+					//修改原保安人员用户信息
 					userService.updateById(user);
 
 					//修改当前保安人员的派遣状态
@@ -174,19 +242,22 @@
 					//内网同步
 					String s1 =
 						"update blade_user set dispatch = " + "'" + user.getDispatch() + "'" +
-							" " +"where id = " + "'" + user.getId() + "';"+
+							" " +"where id = " + "'" + user.getId() + "';" +
 						"update sys_dispatcher set dispatcherTime = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcher.getDispatchertime()) + "'" +
 							",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 = " + "'" + user.getId() + "';"+
 						"update blade_user set dispatch = " + "'" + user1.getDispatch() + "'" +
 							" " +"where id = " + "'" + user1.getId() + "'";
 					FtpUtil.sqlFileUpload(s1);
+				}else {
+					//修改
+					status = dispatcherService.updateById(dispatcher);
 				}
-
 		}
 		return R.status(status);
 	}

--
Gitblit v1.9.3