| | |
| | | */ |
| | | 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; |
| | |
| | | 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; |
| | |
| | | |
| | | //修改 |
| | | 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); |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | } |