| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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"); |
| | |
| | | |
| | | //新增派遣记录 |
| | | 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) " + |
| | |
| | | "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); |
| | | } |
| | | |
| | | }); |
| | | if (!errorStatus.get()){ |
| | | String errorAccount = StringUtils.join(errorList, "\\\n"); |
| | | throw new ServiceException("保安员["+ errorAccount +"]派遣失败!派遣到学校,医院,银行的保安员年龄应不超过50周岁!"); |
| | | } |
| | | } |
| | | return R.status(status.get()); |
| | | } |