From bad78734354305e4f4b7ee207185204bb8892d89 Mon Sep 17 00:00:00 2001
From: Administrator <admin>
Date: Tue, 04 Jan 2022 21:08:11 +0800
Subject: [PATCH] 派遣记录新增逻辑修改,派遣到学校,医院,银行的保安员不能超过50岁
---
src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java | 98 +++++++++++++++++++++++++++++++++++++-----------
1 files changed, 75 insertions(+), 23 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..4f10ae0 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());
}
--
Gitblit v1.9.3