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 | 298 +++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 219 insertions(+), 79 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..36fba20 100644
--- a/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java
+++ b/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java
@@ -23,14 +23,18 @@
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.vo.UserVO;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.modules.dispatcher.entity.Dispatcher;
@@ -39,6 +43,7 @@
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;
@@ -276,39 +281,86 @@
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);
- 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);
+ }
+ }
+ }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);
+ //新增派遣记录
+ 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);
+ }
});
+ if (!errorStatus.get()){
+ String errorAccount = StringUtils.join(errorList, "\\\n");
+ throw new ServiceException("保安员["+ errorAccount +"]派遣失败!派遣到学校,医院,银行的保安员年龄应不超过50周岁!");
+ }
}
return R.status(status.get());
}
@@ -323,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