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/controller/DispatcherUnitController.java |  122 +++++++++++++++++++++++++++++++++++++++-
 1 files changed, 119 insertions(+), 3 deletions(-)

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 c39ac60..1a23c6c 100644
--- a/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherUnitController.java
+++ b/src/main/java/org/springblade/modules/dispatcher/controller/DispatcherUnitController.java
@@ -22,24 +22,39 @@
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.AllArgsConstructor;
+import org.springblade.common.utils.arg;
 import org.springblade.core.boot.ctrl.BladeController;
+import org.springblade.core.excel.util.ExcelUtil;
 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.FTP.FtpUtil;
 import org.springblade.modules.dispatcher.entity.Dispatcher;
 import org.springblade.modules.dispatcher.entity.DispatcherUnit;
+import org.springblade.modules.dispatcher.excel.DispatcherUnitExcel;
+import org.springblade.modules.dispatcher.excel.DispatcherUnitImporter;
 import org.springblade.modules.dispatcher.service.IDispatcherService;
 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.exam.excel.ExamScoreExcel;
+import org.springblade.modules.exam.excel.ExamScoreImporter;
+import org.springblade.modules.system.service.MyAsyncService;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.servlet.http.HttpServletResponse;
 import javax.validation.Valid;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 /**
- *  控制器
+ * 控制器
  *
  * @author zhongrj
  * @since 2021-07-07
@@ -51,6 +66,8 @@
 public class DispatcherUnitController extends BladeController {
 
 	private final IDispatcherUnitService dispatcherUnitService;
+	private final IDispatcherService dispatcherService;
+	private final MyAsyncService myAsyncService;
 
 	/**
 	 * 详情
@@ -80,6 +97,19 @@
 		return R.data(pages);
 	}
 
+
+	/**
+	 * 自定义树
+	 *
+	 * @param dispatcher
+	 * @return
+	 */
+	@GetMapping("/page-tree")
+	public R pageTree(DispatcherUnitVO dispatcher) {
+		List<DispatcherUnitVO> pages = dispatcherUnitService.selectDispatcherUnitPageTree(dispatcher);
+		return R.data(pages);
+	}
+
 	/**
 	 * 新增
 	 */
@@ -101,10 +131,23 @@
 	 */
 	@PostMapping("/submit")
 	public R submit(@Valid @RequestBody DispatcherUnit dispatcherUnit) {
-		if (null==dispatcherUnit.getId()){
+		boolean status = false;
+		if (null == dispatcherUnit.getId()) {
 			dispatcherUnit.setCreateTime(new Date());
+			//新增
+			status = dispatcherUnitService.save(dispatcherUnit);
+		} else {
+			//修改
+			status = dispatcherUnitService.updateById(dispatcherUnit);
+			//派遣记录修改合同时间
+			Long id = dispatcherUnit.getId();
+			String ids = String.valueOf(id);
+			Date date = dispatcherUnit.getEndTime();
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+			String endTime = sdf.format(date);
+			dispatcherService.updateEndtime(endTime, ids);
 		}
-		return R.status(dispatcherUnitService.saveOrUpdate(dispatcherUnit));
+		return R.status(status);
 	}
 
 
@@ -114,8 +157,81 @@
 	@PostMapping("/remove")
 	@ApiOperation(value = "删除", notes = "传入ids")
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		//内网删除
+		List<Long> list = Func.toLongList(ids);
+		list.forEach(id -> {
+			//内网同步
+			String s1 = "delete from sys_dispatcher_unit where id = " + "'" + id + "'";
+			//FtpUtil.sqlFileUpload(s1);
+			myAsyncService.dataSync(s1);
+		});
 		return R.status(dispatcherUnitService.removeByIds(Func.toLongList(ids)));
 	}
 
+	/**
+	 * 导入派遣单位数据
+	 *
+	 * @param isCovered 1 覆盖  0不覆盖
+	 * @return
+	 */
+	@PostMapping("import-dispatcherUnit")
+	public R importDispatcherUnit(MultipartFile file, Integer isCovered) {
+		DispatcherUnitImporter dispatcherImporter = new DispatcherUnitImporter(dispatcherUnitService, false);
+		ExcelUtil.save(file, dispatcherImporter, DispatcherUnitExcel.class);
+		return R.success("操作成功");
+	}
+
+	/**
+	 * 导出模板
+	 */
+	@GetMapping("export-template")
+	@ApiOperation(value = "导出模板")
+	public void exportUser(HttpServletResponse response) throws ParseException {
+		List<DispatcherUnitExcel> list = new ArrayList<>();
+		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"));
+		unitExcel.setEndTime(new SimpleDateFormat("yyyy/MM/dd").parse("2021/5/1"));
+		unitExcel.setServeType("***");
+		unitExcel.setSecurityLinkman("王老五");
+		unitExcel.setCell("13112341234");
+		unitExcel.setNum(10);
+		list.add(unitExcel);
+
+		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"));
+		unitExcel1.setEndTime(new SimpleDateFormat("yyyy/MM/dd").parse("2021/10/10"));
+		unitExcel1.setServeType("***");
+		unitExcel1.setSecurityLinkman("钱小七");
+		unitExcel1.setCell("13112341234");
+		unitExcel1.setNum(100);
+		list.add(unitExcel1);
+
+		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);
+	}
 
 }

--
Gitblit v1.9.3