From 6f201b8d3743e246a71f00a9ba98d10b128fae38 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Tue, 16 Jan 2024 08:59:52 +0800
Subject: [PATCH] 派遣记录导入
---
src/main/java/org/springblade/modules/dispatcher/excel/DispatcherUnitExcel.java | 52 +++-
src/main/java/org/springblade/modules/jurisdiction/mapper/JurisdictionMapper.java | 2
src/main/java/org/springblade/modules/system/mapper/UserMapper.xml | 2
src/main/java/org/springblade/modules/dispatcher/service/IDispatcherUnitService.java | 4
src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java | 3
src/main/java/org/springblade/modules/jurisdiction/mapper/JurisdictionMapper.xml | 3
src/main/java/org/springblade/modules/dispatcher/excel/DispatcherImporter.java | 42 ++++
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.xml | 76 +++++++
src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java | 64 ++++++
src/main/java/org/springblade/modules/jurisdiction/service/impl/JurisdictionServiceImpl.java | 5
src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java | 110 +++++++---
src/main/java/org/springblade/modules/dispatcher/entity/DispatcherUnit.java | 9
src/main/java/org/springblade/modules/dispatcher/excel/DispatcherExcel.java | 50 +++++
src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java | 49 ++--
src/main/java/org/springblade/modules/jurisdiction/service/JurisdictionService.java | 2
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java | 8
src/main/java/org/springblade/modules/dispatcher/controller/DispatcherUnitController.java | 59 +----
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.java | 4
src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml | 6
19 files changed, 438 insertions(+), 112 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 02c434d..5521f38 100644
--- a/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherController.java
+++ b/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;
+ }
+
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherUnitController.java b/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherUnitController.java
index ef84069..1a23c6c 100644
--- a/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherUnitController.java
+++ b/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);
+ }
}
diff --git a/src/main/java/org/springblade/modules/dispatcher/entity/DispatcherUnit.java b/src/main/java/org/springblade/modules/dispatcher/entity/DispatcherUnit.java
index 2b62422..3177f41 100644
--- a/src/main/java/org/springblade/modules/dispatcher/entity/DispatcherUnit.java
+++ b/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;
}
diff --git a/src/main/java/org/springblade/modules/dispatcher/excel/DispatcherExcel.java b/src/main/java/org/springblade/modules/dispatcher/excel/DispatcherExcel.java
new file mode 100644
index 0000000..6197d8d
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dispatcher/excel/DispatcherExcel.java
@@ -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;
+
+}
diff --git a/src/main/java/org/springblade/modules/dispatcher/excel/DispatcherImporter.java b/src/main/java/org/springblade/modules/dispatcher/excel/DispatcherImporter.java
new file mode 100644
index 0000000..7e0a239
--- /dev/null
+++ b/src/main/java/org/springblade/modules/dispatcher/excel/DispatcherImporter.java
@@ -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);
+ }
+}
diff --git a/src/main/java/org/springblade/modules/dispatcher/excel/DispatcherUnitExcel.java b/src/main/java/org/springblade/modules/dispatcher/excel/DispatcherUnitExcel.java
index 9798b8a..5f22979 100644
--- a/src/main/java/org/springblade/modules/dispatcher/excel/DispatcherUnitExcel.java
+++ b/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;
diff --git a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java b/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java
index 00d11c5..37d291c 100644
--- a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.java
+++ b/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);
}
diff --git a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml b/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
index 8cd886f..f61546f 100644
--- a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherMapper.xml
+++ b/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>
diff --git a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.java b/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.java
index 350b9aa..732f584 100644
--- a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.java
+++ b/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);
+
}
diff --git a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.xml b/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.xml
index d39ef92..dc7a03e 100644
--- a/src/main/java/org/springblade/modules/dispatcher/mapper/DispatcherUnitMapper.xml
+++ b/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 <= #{dispatcherUnit.overTime} and sdu.end_time >= #{dispatcherUnit.beginTime}
+ or ( sdu.start_time <= #{dispatcherUnit.overTime} and sdu.start_time >= #{dispatcherUnit.beginTime})
+ </if>
+ </if>
+ <if test="dispatcherUnit.isExpire==1">
+ and sdu.start_time <= now()
+ and sdu.end_time > now()
+ </if>
+ <if test="dispatcherUnit.isExpire==2">
+ and sdu.end_time <= now()
+ </if>
+ </select>
+
+
<!--自定义树-->
<select id="selectDispatcherUnitPageTree" resultType="org.springblade.modules.dispatcher.vo.DispatcherUnitVO">
select
diff --git a/src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java b/src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java
index 7a7f5c1..1ceaa5f 100644
--- a/src/main/java/org/springblade/modules/dispatcher/service/IDispatcherService.java
+++ b/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);
}
diff --git a/src/main/java/org/springblade/modules/dispatcher/service/IDispatcherUnitService.java b/src/main/java/org/springblade/modules/dispatcher/service/IDispatcherUnitService.java
index 71e86cd..080bfcc 100644
--- a/src/main/java/org/springblade/modules/dispatcher/service/IDispatcherUnitService.java
+++ b/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);
+
}
diff --git a/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java b/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java
index 1d27bef..e3c7cd2 100644
--- a/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherServiceImpl.java
+++ b/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);
+ });
+ }
}
diff --git a/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java b/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java
index a858a58..a52e4e0 100644
--- a/src/main/java/org/springblade/modules/dispatcher/service/impl/DispatcherUnitServiceImpl.java
+++ b/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);
});
}
}
diff --git a/src/main/java/org/springblade/modules/jurisdiction/mapper/JurisdictionMapper.java b/src/main/java/org/springblade/modules/jurisdiction/mapper/JurisdictionMapper.java
index fd26e7a..a302a72 100644
--- a/src/main/java/org/springblade/modules/jurisdiction/mapper/JurisdictionMapper.java
+++ b/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);
}
diff --git a/src/main/java/org/springblade/modules/jurisdiction/mapper/JurisdictionMapper.xml b/src/main/java/org/springblade/modules/jurisdiction/mapper/JurisdictionMapper.xml
index b7eb9d0..3606524 100644
--- a/src/main/java/org/springblade/modules/jurisdiction/mapper/JurisdictionMapper.xml
+++ b/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>
diff --git a/src/main/java/org/springblade/modules/jurisdiction/service/JurisdictionService.java b/src/main/java/org/springblade/modules/jurisdiction/service/JurisdictionService.java
index 7d90e03..554d0bf 100644
--- a/src/main/java/org/springblade/modules/jurisdiction/service/JurisdictionService.java
+++ b/src/main/java/org/springblade/modules/jurisdiction/service/JurisdictionService.java
@@ -87,4 +87,6 @@
* @return
*/
List<TreeNode> jurisdictionLazyTree();
+
+ String selectIn(String jurisdiction);
}
diff --git a/src/main/java/org/springblade/modules/jurisdiction/service/impl/JurisdictionServiceImpl.java b/src/main/java/org/springblade/modules/jurisdiction/service/impl/JurisdictionServiceImpl.java
index 5f721a2..2b3fa58 100644
--- a/src/main/java/org/springblade/modules/jurisdiction/service/impl/JurisdictionServiceImpl.java
+++ b/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);
+ }
}
diff --git a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml b/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
index 3297ad7..9fc16c7 100644
--- a/src/main/java/org/springblade/modules/system/mapper/UserMapper.xml
+++ b/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
--
Gitblit v1.9.3