智慧保安后台管理-外网项目备份
guoshilong
2024-01-16 6f201b8d3743e246a71f00a9ba98d10b128fae38
派遣记录导入
17 files modified
2 files added
550 ■■■■ changed files
src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java 110 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/controller/DispatcherUnitController.java 59 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/entity/DispatcherUnit.java 9 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/excel/DispatcherExcel.java 50 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/excel/DispatcherImporter.java 42 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/excel/DispatcherUnitExcel.java 52 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml 6 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.xml 76 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/service/IDispatcherUnitService.java 4 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java 64 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java 49 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/jurisdiction/mapper/JurisdictionMapper.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/jurisdiction/mapper/JurisdictionMapper.xml 3 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/jurisdiction/service/JurisdictionService.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/jurisdiction/service/impl/JurisdictionServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml 2 ●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java
@@ -16,22 +16,35 @@
 */
package org.springblade.modules.dispatcher.controller;
import com.alibaba.excel.EasyExcel;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import org.apache.commons.codec.Charsets;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.excel.RowWriteHandler;
import org.springblade.core.excel.util.ExcelUtil;
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.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.dispatcher.entity.DispatcherUnit;
import org.springblade.modules.dispatcher.excel.DispatcherExcel;
import org.springblade.modules.dispatcher.excel.DispatcherImporter;
import org.springblade.modules.dispatcher.excel.DispatcherUnitExcel;
import org.springblade.modules.dispatcher.excel.DispatcherUnitImporter;
import org.springblade.modules.dispatcher.service.IDispatcherUnitService;
import org.springblade.modules.dispatcher.vo.DispatcherStatistics;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.excel.UserCertificateExcel;
import org.springblade.modules.system.service.IUserService;
import org.springblade.modules.system.service.MyAsyncService;
import org.springblade.modules.system.vo.UserVO;
@@ -41,7 +54,11 @@
import org.springblade.modules.dispatcher.vo.DispatcherVO;
import org.springblade.modules.dispatcher.service.IDispatcherService;
import org.springblade.core.boot.ctrl.BladeController;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
@@ -235,44 +252,10 @@
                //修改
                status = dispatcherService.updateById(dispatcher);
                if (status) {
                    //内网同步
                    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);
                    myAsyncService.dataSync(s1);
                }
            } else {
                //没有修改保安员,只修改了派遣时间等信息
                //修改
                status = dispatcherService.updateById(dispatcher);
                if (status) {
                    //内网同步
                    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);
                    myAsyncService.dataSync(s1);
                }
            }
        }
        return R.status(status);
@@ -653,5 +636,64 @@
        return R.data(list);
    }
    /**
     * 导入派遣数据
     *
     * @param isCovered 1 覆盖  0不覆盖
     * @return
     */
    @PostMapping("import-dispatcher")
    public R importDispatcherUnit(MultipartFile file, Integer isCovered) {
        DispatcherImporter dispatcherImporter = new DispatcherImporter(dispatcherService, false);
        ExcelUtil.save(file, dispatcherImporter, DispatcherExcel.class);
        return R.success("操作成功");
    }
    /**
     * 导出模板
     */
    @GetMapping("export-template")
    @ApiOperation(value = "导出模板")
    public void exportUser(HttpServletResponse response) throws ParseException, IOException {
        List<DispatcherExcel> list = new ArrayList<>();
        DispatcherExcel dispatcher = new DispatcherExcel();
        dispatcher.setDispatcherUnitId("****公司");
        dispatcher.setDeptId("****保安服务公司");
        dispatcher.setUserIds("张三");
        dispatcher.setCardid("360XXX19XXXXXX****");
        dispatcher.setDispatcherTime(new SimpleDateFormat("yyyy/MM/dd").parse("2024/10/10"));
        dispatcher.setEndTime(new SimpleDateFormat("yyyy/MM/dd").parse("2025/10/10"));
        dispatcher.setDispatcherAddress("*****");
        list.add(dispatcher);
        DispatcherExcel dispatcher2 = new DispatcherExcel();
        dispatcher2.setDispatcherUnitId("****公司");
        dispatcher2.setDeptId("****保安服务公司");
        dispatcher2.setUserIds("张三");
        dispatcher2.setCardid("360XXX19XXXXXX****");
        dispatcher2.setDispatcherTime(new SimpleDateFormat("yyyy/MM/dd").parse("2024/10/10"));
        dispatcher2.setEndTime(new SimpleDateFormat("yyyy/MM/dd").parse("2025/10/10"));
        dispatcher2.setDispatcherAddress("*****");
        list.add(dispatcher2);
//        ExcelUtil.export(response, "派遣数据导入模板" + DateUtil.time(), "派遣单位数据表", list, DispatcherExcel.class);
        String fileName = null;
        try {
            response.setContentType("application/vnd.ms-excel");
            response.setCharacterEncoding(org.apache.commons.codec.Charsets.UTF_8.name());
            fileName = URLEncoder.encode("派遣数据导入模板" + DateUtil.time(), Charsets.UTF_8.name());
            response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx");
            //修改单元格格式为文本格式
            EasyExcel.write(response.getOutputStream(), DispatcherExcel.class).sheet("派遣数据表").registerWriteHandler(new RowWriteHandler()).doWrite(list);
        } catch (Throwable var6) {
            throw var6;
        }
    }
}
src/main/java/org/springblade/modules/dispatcher/controller/DispatcherUnitController.java
@@ -136,27 +136,6 @@
            dispatcherUnit.setCreateTime(new Date());
            //新增
            status = dispatcherUnitService.save(dispatcherUnit);
            if (status) {
                //数据同步
                String s1 =
                    "insert into sys_dispatcher_unit(id,name,dept_id,linkman,phone,jurisdiction,create_time,start_time,end_time," +
                        "serve_type,security_linkman,cell,num,district) " +
                        "values(" + "'" + dispatcherUnit.getId() + "'" + "," +
                        "'" + dispatcherUnit.getName() + "'" + "," +
                        "'" + dispatcherUnit.getDeptId() + "'" + "," +
                        "'" + dispatcherUnit.getLinkman() + "'" + "," +
                        "'" + dispatcherUnit.getPhone() + "'" + "," +
                        "'" + dispatcherUnit.getJurisdiction() + "'" + "," +
                        "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcherUnit.getCreateTime()) + "'" + "," +
                        "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcherUnit.getStartTime()) + "'" + "," +
                        "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcherUnit.getEndTime()) + "'" + "," +
                        "'" + dispatcherUnit.getServeType() + "'" + "," +
                        "'" + dispatcherUnit.getSecurityLinkman() + "'" + "," +
                        "'" + dispatcherUnit.getCell() + "'" + "," +
                        "'" + dispatcherUnit.getNum() + "'" + "," +
                        "'" + dispatcherUnit.getDistrict() + "'" + ")";
                myAsyncService.dataSync(s1);
            }
        } else {
            //修改
            status = dispatcherUnitService.updateById(dispatcherUnit);
@@ -167,28 +146,6 @@
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            String endTime = sdf.format(date);
            dispatcherService.updateEndtime(endTime, ids);
            if (status) {
                //内网同步
                String s1 =
                    "update sys_dispatcher_unit set name = " + "'" + dispatcherUnit.getName() + "'" +
                        ",dept_id = " + "'" + dispatcherUnit.getDeptId() + "'" +
                        ",linkman = " + "'" + dispatcherUnit.getLinkman() + "'" +
                        ",phone = " + "'" + dispatcherUnit.getPhone() + "'" +
                        ",jurisdiction = " + "'" + dispatcherUnit.getJurisdiction() + "'" +
                        ",start_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcherUnit.getStartTime()) + "'" +
                        ",end_time = " + "'" + new SimpleDateFormat("yyyy-MM-dd").format(dispatcherUnit.getEndTime()) + "'" +
                        ",serve_type = " + "'" + dispatcherUnit.getServeType() + "'" +
                        ",security_linkman = " + "'" + dispatcherUnit.getSecurityLinkman() + "'" +
                        ",cell = " + "'" + dispatcherUnit.getCell() + "'" +
                        ",num = " + "'" + dispatcherUnit.getNum() + "'" +
                        ",district = " + "'" + dispatcherUnit.getDistrict() + "'" +
                        " " + "where id = " + "'" + dispatcherUnit.getId() + "'";
                myAsyncService.dataSync(s1);
                //内网同步派遣记录修改合同时间
                String s2 =
                    "update sys_dispatcher set end_time = " + "'" + endTime + "'" + " " + "where dispatcher_unit_id = " + "'" + ids + "'";
                myAsyncService.dataSync(s2);
            }
        }
        return R.status(status);
    }
@@ -234,6 +191,9 @@
        DispatcherUnitExcel unitExcel = new DispatcherUnitExcel();
        unitExcel.setDeptName("****保安服务公司");
        unitExcel.setName("****公司");
        unitExcel.setAddress("*********");
        unitExcel.setLongitude("112.85857823133");
        unitExcel.setLatitude("35.496284586473");
        unitExcel.setLinkman("张三");
        unitExcel.setPhone("13112341234");
        unitExcel.setStartTime(new SimpleDateFormat("yyyy/MM/dd").parse("2020/5/1"));
@@ -247,6 +207,9 @@
        DispatcherUnitExcel unitExcel1 = new DispatcherUnitExcel();
        unitExcel1.setDeptName("****保安服务公司");
        unitExcel1.setName("****公司");
        unitExcel1.setAddress("*********");
        unitExcel1.setLongitude("112.85857823133");
        unitExcel1.setLatitude("35.496284586473");
        unitExcel1.setLinkman("李四");
        unitExcel1.setPhone("13112341234");
        unitExcel1.setStartTime(new SimpleDateFormat("yyyy/MM/dd").parse("2020/10/10"));
@@ -260,5 +223,15 @@
        ExcelUtil.export(response, "派遣单位数据导入模板" + DateUtil.time(), "派遣单位数据表", list, DispatcherUnitExcel.class);
    }
    /**
     * 获取所有派遣单位
     * @param dispatcherUnit
     * @return
     */
    @GetMapping("getAll")
    public R getAll(DispatcherUnit dispatcherUnit){
        List<DispatcherUnitVO> list = dispatcherUnitService.getAll(dispatcherUnit);
        return R.data(list);
    }
}
src/main/java/org/springblade/modules/dispatcher/entity/DispatcherUnit.java
@@ -62,7 +62,7 @@
    /**
     * 区 (暂时用作派遣单位类型使用,学校,医院等)
     */
    private Integer district;
    private String district;
    /**
     * 详细地址
@@ -122,5 +122,12 @@
     */
    private Integer num;
    //经度
    private String longitude;
    //纬度
    private String latitude;
    //行业
    private String profession;
}
src/main/java/org/springblade/modules/dispatcher/excel/DispatcherExcel.java
New file
@@ -0,0 +1,50 @@
package org.springblade.modules.dispatcher.excel;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
@ColumnWidth(25)
@HeadRowHeight(20)
@ContentRowHeight(18)
public class DispatcherExcel implements Serializable {
    private static final long serialVersionUID = 1L;
    //派遣单位名称
    @ExcelProperty("派遣单位名称*")
    private String dispatcherUnitId;
    //派遣单位名称
    @ExcelProperty("企业名称*")
    private String deptId;
    //派遣单位名称
    @ExcelProperty("保安员*")
    private String userIds;
    //派遣单位名称
    @ExcelProperty("身份证号*")
    private String cardid;
    //派遣单位名称
    @ExcelProperty("开始时间*")
    @DateTimeFormat("yyyy/MM/dd")
    private Date dispatcherTime;
    //派遣单位名称
    @ExcelProperty("结束时间*")
    @DateTimeFormat("yyyy/MM/dd")
    private Date endTime;
    //派遣单位名称
    @ExcelProperty("派遣地址*")
    private String dispatcherAddress;
}
src/main/java/org/springblade/modules/dispatcher/excel/DispatcherImporter.java
New file
@@ -0,0 +1,42 @@
/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.dispatcher.excel;
import lombok.RequiredArgsConstructor;
import org.springblade.core.excel.support.ExcelImporter;
import org.springblade.modules.dispatcher.service.IDispatcherService;
import org.springblade.modules.dispatcher.service.IDispatcherUnitService;
import java.util.List;
/**
 * 派遣单位导入类
 *
 * @author zhongrj
 * @since 2021-08-23
 */
@RequiredArgsConstructor
public class DispatcherImporter implements ExcelImporter<DispatcherExcel> {
    private final IDispatcherService service;
    private final Boolean isCovered;
    @Override
    public void save(List<DispatcherExcel> data) {
        service.importDispatcherUnit(data, isCovered);
    }
}
src/main/java/org/springblade/modules/dispatcher/excel/DispatcherUnitExcel.java
@@ -22,6 +22,9 @@
import com.alibaba.excel.annotation.write.style.ContentRowHeight;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import lombok.Data;
import org.springblade.common.excel.ExcelDictConverter;
import org.springblade.common.excel.ExcelDictItem;
import org.springblade.common.excel.ExcelDictItemLabel;
import java.io.Serializable;
import java.util.Date;
@@ -38,50 +41,73 @@
    private static final long serialVersionUID = 1L;
    @ColumnWidth(25)
//    @ColumnWidth(25)
    @ExcelProperty("企业名称*")
    private String deptName;
    @ColumnWidth(25)
    @ExcelProperty("服务对象名称*")
//    @ColumnWidth(25)
    @ExcelProperty("派遣单位名称*")
    private String name;
    @ExcelProperty("派遣单位地址*")
    private String address;
    @ColumnWidth(20)
    @ExcelProperty("服务对象联系人*")
    @ExcelProperty("经度")
    private String longitude;
    @ExcelProperty("纬度")
    private String latitude;
    @ExcelProperty("派遣单位所属辖区")
    private String jurisdiction;
    @ExcelProperty(value = "派遣单位类型*",converter = ExcelDictConverter.class)
    @ExcelDictItemLabel(type = "dispatcherUnitType")
    @ExcelDictItem(type = "dispatcherUnitType")
    private String district;
    @ExcelProperty(value = "派遣单位行业*",converter = ExcelDictConverter.class)
    @ExcelDictItemLabel(type = "dispatchProfession")
    @ExcelDictItem(type = "dispatchProfession")
    private String profession;
//    @ColumnWidth(20)
    @ExcelProperty("派遣单位联系人*")
    private String linkman;
    @ColumnWidth(20)
    @ExcelProperty("服务对象联系电话*")
//    @ColumnWidth(20)
    @ExcelProperty("派遣单位联系电话*")
    private String phone;
    @ColumnWidth(20)
//    @ColumnWidth(20)
    @ExcelProperty("合同开始时间*")
    @DateTimeFormat("yyyy/MM/dd")
    private Date startTime;
    @ColumnWidth(20)
//    @ColumnWidth(20)
    @ExcelProperty("合同结束时间*")
    @DateTimeFormat("yyyy/MM/dd")
    private Date endTime;
    @ColumnWidth(20)
//    @ColumnWidth(20)
    @ExcelProperty("保安服务类型")
    private String serveType;
    @ColumnWidth(20)
//    @ColumnWidth(20)
    @ExcelProperty("负责人*")
    private String securityLinkman;
    @ColumnWidth(20)
//    @ColumnWidth(20)
    @ExcelProperty("负责人联系电话*")
    private String cell;
    @ColumnWidth(20)
//    @ColumnWidth(20)
    @ExcelProperty("派遣保安员数*")
    private Integer num;
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java
@@ -19,6 +19,7 @@
import com.baomidou.mybatisplus.annotation.SqlParser;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.dispatcher.entity.Dispatcher;
import org.springblade.modules.dispatcher.entity.DispatcherUnit;
import org.springblade.modules.dispatcher.vo.DispatcherStatistics;
import org.springblade.modules.dispatcher.vo.DispatcherUnitVO;
import org.springblade.modules.dispatcher.vo.DispatcherVO;
@@ -68,4 +69,11 @@
    void updateEndtime(String endTime,String disId);
    List<DispatcherStatistics> getDispatcherStatisticsList(@Param("statistics") DispatcherStatistics dispatcherStatistics);
    /**
     * 派遣单位名称
     * @param dispatchUnitName
     * @return
     */
    DispatcherUnit selectDispatcherUnitExist(@Param("dispatchUnitName") String dispatchUnitName);
}
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
@@ -179,5 +179,11 @@
        sdu.name
    </select>
    <select id="selectDispatcherUnitExist"
            resultType="org.springblade.modules.dispatcher.entity.DispatcherUnit">
    SELECT * FROM sys_dispatcher_unit WHERE  name = #{dispatchUnitName} limit 1
    </select>
</mapper>
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.java
@@ -44,6 +44,9 @@
     */
    List<DispatcherUnitVO> selectDispatcherUnitPage(IPage page, @Param("dispatcherUnit") DispatcherUnitVO dispatcherUnit);
    List<DispatcherUnitVO> getAll( @Param("dispatcherUnit")DispatcherUnit dispatcherUnit);
    /**
     * 派遣公司信息详情
     * @param dispatcherUnit 派遣信息对象
@@ -57,4 +60,5 @@
     * @return
     */
    List<DispatcherUnitVO> selectDispatcherUnitPageTree(@Param("dispatcherUnit")DispatcherUnitVO dispatcher);
}
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.xml
@@ -78,6 +78,82 @@
        </if>
    </select>
    <select id="getAll" resultType="org.springblade.modules.dispatcher.vo.DispatcherUnitVO">
        select
        sdu.*,bt.dept_name deptName,sj.dept_name jurisdictionName
        from
        sys_dispatcher_unit sdu
        LEFT JOIN
        blade_dept bt
        ON
        sdu.dept_id = bt.id
        left join
        sys_jurisdiction sj
        on
        sj.id = sdu.jurisdiction
        WHERE
        1=1
        <if test="dispatcherUnit.deptName!=null and  dispatcherUnit.deptName!=''">
            and bt.dept_name like concat('%', #{dispatcherUnit.deptName},'%')
        </if>
        <if test="dispatcherUnit.name!=null and  dispatcherUnit.name!=''">
            and sdu.name like concat('%', #{dispatcherUnit.name},'%')
        </if>
        <if test="dispatcherUnit.linkman!=null and  dispatcherUnit.linkman!=''">
            and sdu.linkman like concat('%', #{dispatcherUnit.linkman},'%')
        </if>
        <if test="dispatcherUnit.phone!=null and  dispatcherUnit.phone!=''">
            and sdu.phone like concat('%', #{dispatcherUnit.phone},'%')
        </if>
        <if test="dispatcherUnit.province!=null">
            and sdu.province = #{dispatcherUnit.province}
        </if>
        <if test="dispatcherUnit.city!=null">
            and sdu.city = #{dispatcherUnit.city}
        </if>
        <if test="dispatcherUnit.jurisdiction!=null and dispatcherUnit.jurisdiction!='' and dispatcherUnit.jurisdiction!='1372091709474910209'">
            and (sj.id = #{dispatcherUnit.jurisdiction} or sj.parent_id = #{dispatcherUnit.jurisdiction})
        </if>
        <if test="dispatcherUnit.deptId!=null and dispatcherUnit.deptId!=''">
            and sdu.dept_id in
            (
            select id from blade_dept where id = #{dispatcherUnit.deptId}
            union
            SELECT
            id
            FROM
            (
            SELECT
            t1.id,t1.parent_id,t1.dept_name,
            IF
            ( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild
            FROM
            ( SELECT id, parent_id,dept_name FROM blade_dept t ORDER BY parent_id, id ) t1,
            ( SELECT @pids := #{dispatcherUnit.deptId} ) t2
            ) t3
            WHERE
            ischild != 0
            )
        </if>
        <if test="dispatcherUnit.district!=null">
            and sdu.district = #{dispatcherUnit.district}
        </if>
        <if test="dispatcherUnit.beginTime!=null or dispatcherUnit.overTime!=null">
            <if test="dispatcherUnit.beginTime!='' or dispatcherUnit.overTime!=''">
                and sdu.end_time &lt;= #{dispatcherUnit.overTime} and sdu.end_time &gt;= #{dispatcherUnit.beginTime}
                or ( sdu.start_time &lt;= #{dispatcherUnit.overTime} and sdu.start_time &gt;= #{dispatcherUnit.beginTime})
            </if>
        </if>
        <if test="dispatcherUnit.isExpire==1">
            and sdu.start_time &lt;= now()
            and sdu.end_time &gt; now()
        </if>
        <if test="dispatcherUnit.isExpire==2">
            and sdu.end_time &lt;= now()
        </if>
    </select>
    <!--自定义树-->
    <select id="selectDispatcherUnitPageTree" resultType="org.springblade.modules.dispatcher.vo.DispatcherUnitVO">
        select
src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java
@@ -17,6 +17,7 @@
package org.springblade.modules.dispatcher.service;
import org.springblade.modules.dispatcher.entity.Dispatcher;
import org.springblade.modules.dispatcher.excel.DispatcherExcel;
import org.springblade.modules.dispatcher.vo.DispatcherStatistics;
import org.springblade.modules.dispatcher.vo.DispatcherUnitVO;
import org.springblade.modules.dispatcher.vo.DispatcherVO;
@@ -65,4 +66,6 @@
    void updateEndtime(String endTime,String disId);
    List<DispatcherStatistics> getDispatcherStatisticsList(DispatcherStatistics dispatcherStatistics);
    void importDispatcherUnit(List<DispatcherExcel> data, Boolean isCovered);
}
src/main/java/org/springblade/modules/dispatcher/service/IDispatcherUnitService.java
@@ -43,6 +43,9 @@
     */
    IPage<DispatcherUnitVO> selectDispatcherUnitPage(IPage<DispatcherUnitVO> page, DispatcherUnitVO dispatcher);
    List<DispatcherUnitVO> getAll(DispatcherUnit dispatcherUnit);
    /**
     * 派遣公司信息详情
     * @param dispatcherUnit 派遣信息对象
@@ -63,4 +66,5 @@
     * @param isCovered
     */
    void importDispatcherUnit(List<DispatcherUnitExcel> data, Boolean isCovered);
}
src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java
@@ -18,6 +18,8 @@
import lombok.AllArgsConstructor;
import org.springblade.modules.dispatcher.entity.Dispatcher;
import org.springblade.modules.dispatcher.entity.DispatcherUnit;
import org.springblade.modules.dispatcher.excel.DispatcherExcel;
import org.springblade.modules.dispatcher.vo.DispatcherStatistics;
import org.springblade.modules.dispatcher.vo.DispatcherUnitVO;
import org.springblade.modules.dispatcher.vo.DispatcherVO;
@@ -25,10 +27,13 @@
import org.springblade.modules.dispatcher.service.IDispatcherService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserDeptService;
import org.springblade.modules.system.service.IUserService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
@@ -42,6 +47,7 @@
public class DispatcherServiceImpl extends ServiceImpl<DispatcherMapper, Dispatcher> implements IDispatcherService {
    private final IUserService userService;
    private final IUserDeptService userDeptService;
    @Override
    public IPage<DispatcherVO> selectDispatcherPage(IPage<DispatcherVO> page, DispatcherVO dispatcher) {
@@ -108,4 +114,62 @@
    public List<DispatcherStatistics> getDispatcherStatisticsList(DispatcherStatistics dispatcherStatistics) {
        return baseMapper.getDispatcherStatisticsList(dispatcherStatistics);
    }
    @Override
    @Transactional
    public void importDispatcherUnit(List<DispatcherExcel> data, Boolean isCovered) {
        //派遣数据导入
        data.forEach(dispatcherExcel -> {
            Dispatcher dispatcher = new Dispatcher();
            //派遣单位
            if (dispatcherExcel.getDispatcherUnitId() != null && dispatcherExcel.getDispatcherUnitId() != ""){
                //在派遣表中查是否有这个派遣单位
                DispatcherUnit dispatcherUnit =  baseMapper.selectDispatcherUnitExist(dispatcherExcel.getDispatcherUnitId());
                if (dispatcherUnit != null){
                    dispatcher.setDispatcherUnitId(dispatcherUnit.getId().toString());
                }else{
                    return;
                }
            }
            //企业名称
            if (dispatcherExcel.getDeptId() != null && dispatcherExcel.getDeptId() != "") {
                String deptId = userDeptService.selectIn(dispatcherExcel.getDeptId());
                dispatcher.setDeptId(Long.parseLong(deptId));
            }
            //保安员(根据身份证号获取userId,存入表中)
            if (dispatcherExcel.getCardid() != null && dispatcherExcel.getCardid() != "" && dispatcherExcel.getUserIds() != null && dispatcherExcel.getUserIds() != ""){
                User userInfoByIdCardNo = userService.getUserInfoByIdCardNo(dispatcherExcel.getCardid());
                if (userInfoByIdCardNo!=null){
                    //0派遣,1未派遣
                    if (userInfoByIdCardNo.getDispatch().equals("1")){
                        dispatcher.setUserIds(userInfoByIdCardNo.getId().toString());
                    }else{
                        return;
                    }
                }else{
                    return;
                }
            }
            dispatcher.setDispatchertime(dispatcherExcel.getDispatcherTime());
            dispatcher.setEndTime(dispatcherExcel.getEndTime());
            dispatcher.setDispatcheraddress(dispatcherExcel.getDispatcherAddress());
            dispatcher.setCreateTime(new Date());
            dispatcher.setStatus(0);
            save(dispatcher);
            //更新用户表
            User user = new User();
            user.setId(Long.parseLong(dispatcher.getUserIds()));
            user.setDispatch("0");
            userService.updateById(user);
        });
    }
}
src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java
@@ -29,6 +29,7 @@
import org.springblade.modules.dispatcher.service.IDispatcherUnitService;
import org.springblade.modules.dispatcher.vo.DispatcherUnitVO;
import org.springblade.modules.dispatcher.vo.DispatcherVO;
import org.springblade.modules.jurisdiction.service.JurisdictionService;
import org.springblade.modules.system.service.IUserDeptService;
import org.springblade.modules.system.service.MyAsyncService;
import org.springframework.stereotype.Service;
@@ -54,7 +55,7 @@
    private final IDispatcherService dispatcherService;
    private final IUserDeptService userDeptService;
    private final MyAsyncService myAsyncService;
    private final JurisdictionService jurisdictionService;
    @Override
    public IPage<DispatcherUnitVO> selectDispatcherUnitPage(IPage<DispatcherUnitVO> page, DispatcherUnitVO dispatcherUnitVO) {
@@ -64,6 +65,16 @@
            dispatcherUnitVO1.setSnum(dispatcherService.getDispatcherCount(dispatcherUnitVO1));
        });
        return page.setRecords(dispatcherUnitVOS);
    }
    @Override
    public List<DispatcherUnitVO> getAll(DispatcherUnit dispatcherUnit) {
        List<DispatcherUnitVO> dispatcherUnitVOS = baseMapper.getAll(dispatcherUnit);
        dispatcherUnitVOS.forEach(dispatcherUnitVO1 -> {
            //查询派遣记录条数
            dispatcherUnitVO1.setSnum(dispatcherService.getDispatcherCount(dispatcherUnitVO1));
        });
        return dispatcherUnitVOS;
    }
    /**
@@ -106,6 +117,11 @@
                dispatcherUnit.setDeptId(Long.parseLong(deptId));
            }
            if (dispatcherUnitExcel.getJurisdiction() != null && dispatcherUnitExcel.getJurisdiction() != ""){
                String jurisdiction = jurisdictionService.selectIn(dispatcherUnitExcel.getJurisdiction());
                dispatcherUnit.setJurisdiction(jurisdiction);
            }
            if (dispatcherUnitExcel.getName() != null && dispatcherUnitExcel.getName() != "") {
                //仅中文
//                String chinese = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$";
@@ -137,6 +153,18 @@
            if (dispatcherUnitExcel.getNum() != null) {
                dispatcherUnit.setNum(dispatcherUnitExcel.getNum());
            }
            if (dispatcherUnitExcel.getProfession() != null && dispatcherUnitExcel.getProfession() != ""){
                dispatcherUnit.setProfession(dispatcherUnitExcel.getProfession());
            }
            if (dispatcherUnitExcel.getDistrict() != null && dispatcherUnitExcel.getDistrict() != ""){
                dispatcherUnit.setDistrict(dispatcherUnitExcel.getDistrict());
            }
            dispatcherUnit.setLongitude(dispatcherUnitExcel.getLongitude());
            dispatcherUnit.setLatitude(dispatcherUnitExcel.getLatitude());
            dispatcherUnit.setAddress(dispatcherUnitExcel.getAddress());
            dispatcherUnit.setStartTime(dispatcherUnitExcel.getStartTime());
            dispatcherUnit.setEndTime(dispatcherUnitExcel.getEndTime());
@@ -171,25 +199,6 @@
            //新增
            this.save(dispatcherUnit);
            //数据同步
            String s1 =
                "insert into sys_dispatcher_unit(id,name,dept_id,linkman,phone,create_time,start_time,end_time," +
                    "serve_type,security_linkman,cell,num,district) " +
                    "values(" + "'" + dispatcherUnit.getId() + "'" + "," +
                    "'" + dispatcherUnit.getName() + "'" + "," +
                    "'" + dispatcherUnit.getDeptId() + "'" + "," +
                    "'" + dispatcherUnit.getLinkman() + "'" + "," +
                    "'" + dispatcherUnit.getPhone() + "'" + "," +
                    "'" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(dispatcherUnit.getCreateTime()) + "'" + "," +
                    "'" + new SimpleDateFormat("yyyy/MM/dd").format(dispatcherUnit.getStartTime()) + "'" + "," +
                    "'" + new SimpleDateFormat("yyyy/MM/dd").format(dispatcherUnit.getEndTime()) + "'" + "," +
                    "'" + dispatcherUnit.getServeType() + "'" + "," +
                    "'" + dispatcherUnit.getSecurityLinkman() + "'" + "," +
                    "'" + dispatcherUnit.getCell() + "'" + "," +
                    "'" + dispatcherUnit.getNum() + "'" + "," +
                    "'" + dispatcherUnit.getDistrict() + "'" + ")";
            myAsyncService.dataSync(s1);
        });
    }
}
src/main/java/org/springblade/modules/jurisdiction/mapper/JurisdictionMapper.java
@@ -84,4 +84,6 @@
    @MapKey(value = "id")
    @SqlParser(filter=true)
    Map<Long, TreeNode> jurisdictionLazyTree();
    String selectIn(String jurisdiction);
}
src/main/java/org/springblade/modules/jurisdiction/mapper/JurisdictionMapper.xml
@@ -136,4 +136,7 @@
    <select id="selJur" resultType="java.lang.String">
        SELECT id FROM sys_jurisdiction WHERE dept_name=#{deptname}
    </select>
    <select id="selectIn" resultType="java.lang.String">
        SELECT id FROM sys_jurisdiction WHERE dept_name=#{deptname} and is_deleted =0
    </select>
</mapper>
src/main/java/org/springblade/modules/jurisdiction/service/JurisdictionService.java
@@ -87,4 +87,6 @@
     * @return
     */
    List<TreeNode> jurisdictionLazyTree();
    String selectIn(String jurisdiction);
}
src/main/java/org/springblade/modules/jurisdiction/service/impl/JurisdictionServiceImpl.java
@@ -131,4 +131,9 @@
        });
        return tree;
    }
    @Override
    public String selectIn(String jurisdiction) {
        return baseMapper.selectIn(jurisdiction);
    }
}
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
@@ -438,7 +438,7 @@
    <!--通过 身份证号查询用户信息-->
    <select id="getUserInfoByIdCardNo" resultType="org.springblade.modules.system.entity.User">
        SELECT id, name, real_name RealName,securitynumber,dept_id
        SELECT id, name, real_name RealName,securitynumber,dept_id,dispatch
        FROM blade_user
        where 1=1
        and is_deleted = 0