智慧保安后台管理-外网项目备份
Administrator
2022-01-04 bad78734354305e4f4b7ee207185204bb8892d89
派遣记录新增逻辑修改,派遣到学校,医院,银行的保安员不能超过50岁
3 files modified
105 ■■■■ changed files
src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java 98 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/entity/DispatcherUnit.java 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
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());
    }
src/main/java/org/springblade/modules/dispatcher/entity/DispatcherUnit.java
@@ -60,7 +60,7 @@
    private Integer city;
    /**
     * 区
     * 区 (暂时用作派遣单位类型使用,学校,医院等)
     */
    private Integer district;
src/main/java/org/springblade/modules/system/service/impl/UserServiceImpl.java
@@ -20,10 +20,8 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.zxing.WriterException;
import lombok.AllArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springblade.common.cache.SysCache;
import org.springblade.common.constant.AgeUtil;
import org.springblade.common.constant.CommonConstant;
@@ -63,12 +61,9 @@
import org.springblade.modules.system.wrapper.UserWrapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.atomic.AtomicBoolean;