diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TGisCjqyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TGisCjqyController.java new file mode 100644 index 0000000..ad8264c --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TGisCjqyController.java @@ -0,0 +1,185 @@ +package com.ruoyi.web.controller.business; + +import com.ruoyi.business.domain.TGisCjqy; +import com.ruoyi.business.service.ITGisCjqyService; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.pdf.PageSet; +import com.ruoyi.common.core.domain.pdf.PdfProperty; +import com.ruoyi.common.core.domain.pdf.ShoulderItem; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.pdf.PdfUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.utils.translation.TranslateUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 村级区域Controller + * + * @author rongxin + * @date 2025-09-04 + */ +@RestController +@RequestMapping("/business/cjqy") +public class TGisCjqyController extends BaseController +{ + @Autowired + private ITGisCjqyService tGisCjqyService; + + /** + * 查询村级区域列表 + */ + @PreAuthorize("@ss.hasPermi('business:cjqy:list')") + @GetMapping("/list") + public TableDataInfo list(TGisCjqy tGisCjqy) + { + startPage(); + List list = tGisCjqyService.selectTGisCjqyList(tGisCjqy); + return getDataTable(list); + } + + + /** + * 导出村级区域列表 + */ + @PreAuthorize("@ss.hasPermi('business:cjqy:export')") + @Log(title = "村级区域", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, TGisCjqy tGisCjqy) + { + List list = tGisCjqyService.selectTGisCjqyList(tGisCjqy); + ExcelUtil util = new ExcelUtil(TGisCjqy.class); + util.exportExcel(response, list, "村级区域数据"); + } + + /** + * 村级区域导入模板 + */ + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) { + ExcelUtil util = new ExcelUtil(TGisCjqy.class); + util.importTemplateExcel(response, "村级区域数据"); + } + + /** + * 村级区域导入 + */ + @Log(title = "村级区域", businessType = BusinessType.IMPORT) + @PreAuthorize("@ss.hasPermi('business:cjqy:import')") + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { + ExcelUtil util = new ExcelUtil(TGisCjqy.class); + List list = util.importExcel(file.getInputStream(), 0); + String message = tGisCjqyService.importTGisCjqy(list, updateSupport, getUsername()); + return AjaxResult.success(message); + } + + /** + * 获取村级区域详细信息 + */ + @PreAuthorize("@ss.hasPermi('business:cjqy:query')") + @GetMapping(value = "/{CJQYDM}") + public AjaxResult getInfo(@PathVariable("CJQYDM") String CJQYDM) + { + TGisCjqy detail = tGisCjqyService.selectTGisCjqyByCJQYDM(CJQYDM); + TranslateUtils.translate(detail, false); + return success(detail); + } + + /** + * 新增村级区域 + */ + @PreAuthorize("@ss.hasPermi('business:cjqy:add')") + @Log(title = "村级区域", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody TGisCjqy tGisCjqy) + { + return toAjax(tGisCjqyService.insertTGisCjqy(tGisCjqy)); + } + + /** + * 修改村级区域 + */ + @PreAuthorize("@ss.hasPermi('business:cjqy:edit')") + @Log(title = "村级区域", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody TGisCjqy tGisCjqy) + { + return toAjax(tGisCjqyService.updateTGisCjqy(tGisCjqy)); + } + + /** + * 删除村级区域 + */ + @PreAuthorize("@ss.hasPermi('business:cjqy:remove')") + @Log(title = "村级区域", businessType = BusinessType.DELETE) + @DeleteMapping("/{CJQYDMs}") + public AjaxResult remove(@PathVariable String[] CJQYDMs) + { + return toAjax(tGisCjqyService.deleteTGisCjqyByCJQYDMs(CJQYDMs)); + } + + /** + * 打印村级区域 + */ + @PreAuthorize("@ss.hasPermi('business:cjqy:print')") + @Log(title = "村级区域", businessType = BusinessType.PRINT) + @GetMapping("/print") + public void printPdf(TGisCjqy tGisCjqy, HttpServletResponse response) throws Exception{ + + List list = tGisCjqyService.selectTGisCjqyList(tGisCjqy); + TranslateUtils.translateList(list, false); + + PdfProperty pdf = new PdfProperty(); + pdf.setTitle("村级区域"); + //pdf.setRowHeight(20f); + + ShoulderItem shoulder = new ShoulderItem(); + shoulder.setLeftItem("编制单位:"); + shoulder.setCenterItem("日期:" ); + shoulder.setRightItem("单位:"); + pdf.setShoulder(shoulder); + + float[] columnWidth = new float[]{20, 40, 10, 10, 10, 10}; + pdf.setColumnWidth(columnWidth); + String[] header = new String[]{"A列", "B列", "C列", "D列", "E列", "F列"}; + pdf.setHeader(header); + int[] aligns = new int[]{0, 0, 1, 1, 2, 2}; + pdf.setAligns(aligns); + + List contentList = Lists.newArrayList(); + list.forEach(a ->{ + String[] str = new String[6]; + str[0] = ""; + str[1] = ""; + str[2] = ""; + str[3] = ""; + str[4] = ""; + str[5] = ""; + contentList.add(str); + }); + pdf.setContentList(contentList); + + PageSet ps = new PageSet(); + ps.setPaperWidth(595.0f); + ps.setPaperHeight(842.0f); + ps.setPrintDirection("1"); + ps.setTableTotalWidth(520); + ps.setMarginLeft(50); + ps.setMarginRight(50); + ps.setMarginTop(50); + ps.setMarginBottom(50); + pdf.setPageSet(ps); + + PdfUtils.initPdf(response, pdf); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TGisXjqyController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TGisXjqyController.java new file mode 100644 index 0000000..2ea4b52 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TGisXjqyController.java @@ -0,0 +1,186 @@ +package com.ruoyi.web.controller.business; + +import com.ruoyi.business.domain.TGisXjqy; +import com.ruoyi.business.service.ITGisXjqyService; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.pdf.PageSet; +import com.ruoyi.common.core.domain.pdf.PdfProperty; +import com.ruoyi.common.core.domain.pdf.ShoulderItem; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.pdf.PdfUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.utils.translation.TranslateUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 乡级区域Controller + * + * @author rongxin + * @date 2025-09-04 + */ +@RestController +@RequestMapping("/business/xjqy") +public class TGisXjqyController extends BaseController +{ + @Autowired + private ITGisXjqyService tGisXjqyService; + + /** + * 查询乡级区域列表 + */ + @PreAuthorize("@ss.hasPermi('business:xjqy:list')") + @GetMapping("/list") + public TableDataInfo list(TGisXjqy tGisXjqy) + { + startPage(); + List list = tGisXjqyService.selectTGisXjqyList(tGisXjqy); + return getDataTable(list); + } + + + /** + * 导出乡级区域列表 + */ + @PreAuthorize("@ss.hasPermi('business:xjqy:export')") + @Log(title = "乡级区域", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, TGisXjqy tGisXjqy) + { + List list = tGisXjqyService.selectTGisXjqyList(tGisXjqy); + ExcelUtil util = new ExcelUtil(TGisXjqy.class); + util.exportExcel(response, list, "乡级区域数据"); + } + + /** + * 乡级区域导入模板 + */ + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) { + ExcelUtil util = new ExcelUtil(TGisXjqy.class); + util.importTemplateExcel(response, "乡级区域数据"); + } + + /** + * 乡级区域导入 + */ + @Log(title = "乡级区域", businessType = BusinessType.IMPORT) + @PreAuthorize("@ss.hasPermi('business:xjqy:import')") + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { + ExcelUtil util = new ExcelUtil(TGisXjqy.class); + List list = util.importExcel(file.getInputStream(), 0); + String message = tGisXjqyService.importTGisXjqy(list, updateSupport, getUsername()); + return AjaxResult.success(message); + } + + /** + * 获取乡级区域详细信息 + */ + @PreAuthorize("@ss.hasPermi('business:xjqy:query')") + @GetMapping(value = "/{XJQYDM}") + public AjaxResult getInfo(@PathVariable("XJQYDM") String XJQYDM) + { + TGisXjqy detail = tGisXjqyService.selectTGisXjqyByXJQYDM(XJQYDM); + TranslateUtils.translate(detail, false); + return success(detail); + } + + /** + * 新增乡级区域 + */ + @PreAuthorize("@ss.hasPermi('business:xjqy:add')") + @Log(title = "乡级区域", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody TGisXjqy tGisXjqy) + { + return toAjax(tGisXjqyService.insertTGisXjqy(tGisXjqy)); + } + + /** + * 修改乡级区域 + */ + @PreAuthorize("@ss.hasPermi('business:xjqy:edit')") + @Log(title = "乡级区域", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody TGisXjqy tGisXjqy) + { + return toAjax(tGisXjqyService.updateTGisXjqy(tGisXjqy)); + } + + /** + * 删除乡级区域 + */ + @PreAuthorize("@ss.hasPermi('business:xjqy:remove')") + @Log(title = "乡级区域", businessType = BusinessType.DELETE) + @DeleteMapping("/{XJQYDMs}") + public AjaxResult remove(@PathVariable String[] XJQYDMs) + { + return toAjax(tGisXjqyService.deleteTGisXjqyByXJQYDMs(XJQYDMs)); + } + + /** + * 打印乡级区域 + */ + @PreAuthorize("@ss.hasPermi('business:xjqy:print')") + @Log(title = "乡级区域", businessType = BusinessType.PRINT) + @GetMapping("/print") + public void printPdf(TGisXjqy tGisXjqy, HttpServletResponse response) throws Exception{ + + List list = tGisXjqyService.selectTGisXjqyList(tGisXjqy); + TranslateUtils.translateList(list, false); + + PdfProperty pdf = new PdfProperty(); + pdf.setTitle("乡级区域"); + //pdf.setRowHeight(20f); + + + ShoulderItem shoulder = new ShoulderItem(); + shoulder.setLeftItem("编制单位:"); + shoulder.setCenterItem("日期:" ); + shoulder.setRightItem("单位:"); + pdf.setShoulder(shoulder); + + float[] columnWidth = new float[]{20, 40, 10, 10, 10, 10}; + pdf.setColumnWidth(columnWidth); + String[] header = new String[]{"A列", "B列", "C列", "D列", "E列", "F列"}; + pdf.setHeader(header); + int[] aligns = new int[]{0, 0, 1, 1, 2, 2}; + pdf.setAligns(aligns); + + List contentList = Lists.newArrayList(); + list.forEach(a ->{ + String[] str = new String[6]; + str[0] = ""; + str[1] = ""; + str[2] = ""; + str[3] = ""; + str[4] = ""; + str[5] = ""; + contentList.add(str); + }); + pdf.setContentList(contentList); + + PageSet ps = new PageSet(); + ps.setPaperWidth(595.0f); + ps.setPaperHeight(842.0f); + ps.setPrintDirection("1"); + ps.setTableTotalWidth(520); + ps.setMarginLeft(50); + ps.setMarginRight(50); + ps.setMarginTop(50); + ps.setMarginBottom(50); + pdf.setPageSet(ps); + + PdfUtils.initPdf(response, pdf); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TGisXjxzqController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TGisXjxzqController.java new file mode 100644 index 0000000..f68c0f5 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TGisXjxzqController.java @@ -0,0 +1,185 @@ +package com.ruoyi.web.controller.business; + +import com.ruoyi.business.domain.TGisXjxzq; +import com.ruoyi.business.service.ITGisXjxzqService; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.pdf.PageSet; +import com.ruoyi.common.core.domain.pdf.PdfProperty; +import com.ruoyi.common.core.domain.pdf.ShoulderItem; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.pdf.PdfUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.utils.translation.TranslateUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 县级区域Controller + * + * @author rongxin + * @date 2025-09-04 + */ +@RestController +@RequestMapping("/business/xjxzq") +public class TGisXjxzqController extends BaseController +{ + @Autowired + private ITGisXjxzqService tGisXjxzqService; + + /** + * 查询县级区域列表 + */ + @PreAuthorize("@ss.hasPermi('business:xjxzq:list')") + @GetMapping("/list") + public TableDataInfo list(TGisXjxzq tGisXjxzq) + { + startPage(); + List list = tGisXjxzqService.selectTGisXjxzqList(tGisXjxzq); + return getDataTable(list); + } + + + /** + * 导出县级区域列表 + */ + @PreAuthorize("@ss.hasPermi('business:xjxzq:export')") + @Log(title = "县级区域", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, TGisXjxzq tGisXjxzq) + { + List list = tGisXjxzqService.selectTGisXjxzqList(tGisXjxzq); + ExcelUtil util = new ExcelUtil(TGisXjxzq.class); + util.exportExcel(response, list, "县级区域数据"); + } + + /** + * 县级区域导入模板 + */ + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) { + ExcelUtil util = new ExcelUtil(TGisXjxzq.class); + util.importTemplateExcel(response, "县级区域数据"); + } + + /** + * 县级区域导入 + */ + @Log(title = "县级区域", businessType = BusinessType.IMPORT) + @PreAuthorize("@ss.hasPermi('business:xjxzq:import')") + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { + ExcelUtil util = new ExcelUtil(TGisXjxzq.class); + List list = util.importExcel(file.getInputStream(), 0); + String message = tGisXjxzqService.importTGisXjxzq(list, updateSupport, getUsername()); + return AjaxResult.success(message); + } + + /** + * 获取县级区域详细信息 + */ + @PreAuthorize("@ss.hasPermi('business:xjxzq:query')") + @GetMapping(value = "/{XZQDM}") + public AjaxResult getInfo(@PathVariable("XZQDM") String XZQDM) + { + TGisXjxzq detail = tGisXjxzqService.selectTGisXjxzqByXZQDM(XZQDM); + TranslateUtils.translate(detail, false); + return success(detail); + } + + /** + * 新增县级区域 + */ + @PreAuthorize("@ss.hasPermi('business:xjxzq:add')") + @Log(title = "县级区域", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody TGisXjxzq tGisXjxzq) + { + return toAjax(tGisXjxzqService.insertTGisXjxzq(tGisXjxzq)); + } + + /** + * 修改县级区域 + */ + @PreAuthorize("@ss.hasPermi('business:xjxzq:edit')") + @Log(title = "县级区域", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody TGisXjxzq tGisXjxzq) + { + return toAjax(tGisXjxzqService.updateTGisXjxzq(tGisXjxzq)); + } + + /** + * 删除县级区域 + */ + @PreAuthorize("@ss.hasPermi('business:xjxzq:remove')") + @Log(title = "县级区域", businessType = BusinessType.DELETE) + @DeleteMapping("/{XZQDMs}") + public AjaxResult remove(@PathVariable String[] XZQDMs) + { + return toAjax(tGisXjxzqService.deleteTGisXjxzqByXZQDMs(XZQDMs)); + } + + /** + * 打印县级区域 + */ + @PreAuthorize("@ss.hasPermi('business:xjxzq:print')") + @Log(title = "县级区域", businessType = BusinessType.PRINT) + @GetMapping("/print") + public void printPdf(TGisXjxzq tGisXjxzq, HttpServletResponse response) throws Exception{ + + List list = tGisXjxzqService.selectTGisXjxzqList(tGisXjxzq); + TranslateUtils.translateList(list, false); + + PdfProperty pdf = new PdfProperty(); + pdf.setTitle("县级区域"); + //pdf.setRowHeight(20f); + + ShoulderItem shoulder = new ShoulderItem(); + shoulder.setLeftItem("编制单位:"); + shoulder.setCenterItem("日期:" ); + shoulder.setRightItem("单位:"); + pdf.setShoulder(shoulder); + + float[] columnWidth = new float[]{20, 40, 10, 10, 10, 10}; + pdf.setColumnWidth(columnWidth); + String[] header = new String[]{"A列", "B列", "C列", "D列", "E列", "F列"}; + pdf.setHeader(header); + int[] aligns = new int[]{0, 0, 1, 1, 2, 2}; + pdf.setAligns(aligns); + + List contentList = Lists.newArrayList(); + list.forEach(a ->{ + String[] str = new String[6]; + str[0] = ""; + str[1] = ""; + str[2] = ""; + str[3] = ""; + str[4] = ""; + str[5] = ""; + contentList.add(str); + }); + pdf.setContentList(contentList); + + PageSet ps = new PageSet(); + ps.setPaperWidth(595.0f); + ps.setPaperHeight(842.0f); + ps.setPrintDirection("1"); + ps.setTableTotalWidth(520); + ps.setMarginLeft(50); + ps.setMarginRight(50); + ps.setMarginTop(50); + ps.setMarginBottom(50); + pdf.setPageSet(ps); + + PdfUtils.initPdf(response, pdf); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TTaskExportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TTaskExportController.java new file mode 100644 index 0000000..2084f90 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TTaskExportController.java @@ -0,0 +1,185 @@ +package com.ruoyi.web.controller.business; + +import com.ruoyi.business.domain.TTaskExport; +import com.ruoyi.business.service.ITTaskExportService; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.pdf.PageSet; +import com.ruoyi.common.core.domain.pdf.PdfProperty; +import com.ruoyi.common.core.domain.pdf.ShoulderItem; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.pdf.PdfUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.utils.translation.TranslateUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 导出任务Controller + * + * @author rongxin + * @date 2025-09-04 + */ +@RestController +@RequestMapping("/business/export") +public class TTaskExportController extends BaseController +{ + @Autowired + private ITTaskExportService tTaskExportService; + + /** + * 查询导出任务列表 + */ + @PreAuthorize("@ss.hasPermi('business:export:list')") + @GetMapping("/list") + public TableDataInfo list(TTaskExport tTaskExport) + { + startPage(); + List list = tTaskExportService.selectTTaskExportList(tTaskExport); + return getDataTable(list); + } + + + /** + * 导出导出任务列表 + */ + @PreAuthorize("@ss.hasPermi('business:export:export')") + @Log(title = "导出任务", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, TTaskExport tTaskExport) + { + List list = tTaskExportService.selectTTaskExportList(tTaskExport); + ExcelUtil util = new ExcelUtil(TTaskExport.class); + util.exportExcel(response, list, "导出任务数据"); + } + + /** + * 导出任务导入模板 + */ + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) { + ExcelUtil util = new ExcelUtil(TTaskExport.class); + util.importTemplateExcel(response, "导出任务数据"); + } + + /** + * 导出任务导入 + */ + @Log(title = "导出任务", businessType = BusinessType.IMPORT) + @PreAuthorize("@ss.hasPermi('business:export:import')") + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { + ExcelUtil util = new ExcelUtil(TTaskExport.class); + List list = util.importExcel(file.getInputStream(), 0); + String message = tTaskExportService.importTTaskExport(list, updateSupport, getUsername()); + return AjaxResult.success(message); + } + + /** + * 获取导出任务详细信息 + */ + @PreAuthorize("@ss.hasPermi('business:export:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + TTaskExport detail = tTaskExportService.selectTTaskExportById(id); + TranslateUtils.translate(detail, false); + return success(detail); + } + + /** + * 新增导出任务 + */ + @PreAuthorize("@ss.hasPermi('business:export:add')") + @Log(title = "导出任务", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody TTaskExport tTaskExport) + { + return toAjax(tTaskExportService.insertTTaskExport(tTaskExport)); + } + + /** + * 修改导出任务 + */ + @PreAuthorize("@ss.hasPermi('business:export:edit')") + @Log(title = "导出任务", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody TTaskExport tTaskExport) + { + return toAjax(tTaskExportService.updateTTaskExport(tTaskExport)); + } + + /** + * 删除导出任务 + */ + @PreAuthorize("@ss.hasPermi('business:export:remove')") + @Log(title = "导出任务", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(tTaskExportService.deleteTTaskExportByIds(ids)); + } + + /** + * 打印导出任务 + */ + @PreAuthorize("@ss.hasPermi('business:export:print')") + @Log(title = "导出任务", businessType = BusinessType.PRINT) + @GetMapping("/print") + public void printPdf(TTaskExport tTaskExport, HttpServletResponse response) throws Exception{ + + List list = tTaskExportService.selectTTaskExportList(tTaskExport); + TranslateUtils.translateList(list, false); + + PdfProperty pdf = new PdfProperty(); + pdf.setTitle("导出任务"); + //pdf.setRowHeight(20f); + + ShoulderItem shoulder = new ShoulderItem(); + shoulder.setLeftItem("编制单位:"); + shoulder.setCenterItem("日期:" ); + shoulder.setRightItem("单位:"); + pdf.setShoulder(shoulder); + + float[] columnWidth = new float[]{20, 40, 10, 10, 10, 10}; + pdf.setColumnWidth(columnWidth); + String[] header = new String[]{"A列", "B列", "C列", "D列", "E列", "F列"}; + pdf.setHeader(header); + int[] aligns = new int[]{0, 0, 1, 1, 2, 2}; + pdf.setAligns(aligns); + + List contentList = Lists.newArrayList(); + list.forEach(a ->{ + String[] str = new String[6]; + str[0] = ""; + str[1] = ""; + str[2] = ""; + str[3] = ""; + str[4] = ""; + str[5] = ""; + contentList.add(str); + }); + pdf.setContentList(contentList); + + PageSet ps = new PageSet(); + ps.setPaperWidth(595.0f); + ps.setPaperHeight(842.0f); + ps.setPrintDirection("1"); + ps.setTableTotalWidth(520); + ps.setMarginLeft(50); + ps.setMarginRight(50); + ps.setMarginTop(50); + ps.setMarginBottom(50); + pdf.setPageSet(ps); + + PdfUtils.initPdf(response, pdf); + } +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TTaskImportController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TTaskImportController.java new file mode 100644 index 0000000..0ff9b5f --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/business/TTaskImportController.java @@ -0,0 +1,185 @@ +package com.ruoyi.web.controller.business; + +import com.ruoyi.business.domain.TTaskImport; +import com.ruoyi.business.service.ITTaskImportService; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.pdf.PageSet; +import com.ruoyi.common.core.domain.pdf.PdfProperty; +import com.ruoyi.common.core.domain.pdf.ShoulderItem; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.pdf.PdfUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.utils.translation.TranslateUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 导入任务Controller + * + * @author rongxin + * @date 2025-09-04 + */ +@RestController +@RequestMapping("/business/import") +public class TTaskImportController extends BaseController +{ + @Autowired + private ITTaskImportService tTaskImportService; + + /** + * 查询导入任务列表 + */ + @PreAuthorize("@ss.hasPermi('business:import:list')") + @GetMapping("/list") + public TableDataInfo list(TTaskImport tTaskImport) + { + startPage(); + List list = tTaskImportService.selectTTaskImportList(tTaskImport); + return getDataTable(list); + } + + + /** + * 导出导入任务列表 + */ + @PreAuthorize("@ss.hasPermi('business:import:export')") + @Log(title = "导入任务", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, TTaskImport tTaskImport) + { + List list = tTaskImportService.selectTTaskImportList(tTaskImport); + ExcelUtil util = new ExcelUtil(TTaskImport.class); + util.exportExcel(response, list, "导入任务数据"); + } + + /** + * 导入任务导入模板 + */ + @PostMapping("/importTemplate") + public void importTemplate(HttpServletResponse response) { + ExcelUtil util = new ExcelUtil(TTaskImport.class); + util.importTemplateExcel(response, "导入任务数据"); + } + + /** + * 导入任务导入 + */ + @Log(title = "导入任务", businessType = BusinessType.IMPORT) + @PreAuthorize("@ss.hasPermi('business:import:import')") + @PostMapping("/importData") + public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { + ExcelUtil util = new ExcelUtil(TTaskImport.class); + List list = util.importExcel(file.getInputStream(), 0); + String message = tTaskImportService.importTTaskImport(list, updateSupport, getUsername()); + return AjaxResult.success(message); + } + + /** + * 获取导入任务详细信息 + */ + @PreAuthorize("@ss.hasPermi('business:import:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + TTaskImport detail = tTaskImportService.selectTTaskImportById(id); + TranslateUtils.translate(detail, false); + return success(detail); + } + + /** + * 新增导入任务 + */ + @PreAuthorize("@ss.hasPermi('business:import:add')") + @Log(title = "导入任务", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody TTaskImport tTaskImport) + { + return toAjax(tTaskImportService.insertTTaskImport(tTaskImport)); + } + + /** + * 修改导入任务 + */ + @PreAuthorize("@ss.hasPermi('business:import:edit')") + @Log(title = "导入任务", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody TTaskImport tTaskImport) + { + return toAjax(tTaskImportService.updateTTaskImport(tTaskImport)); + } + + /** + * 删除导入任务 + */ + @PreAuthorize("@ss.hasPermi('business:import:remove')") + @Log(title = "导入任务", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(tTaskImportService.deleteTTaskImportByIds(ids)); + } + + /** + * 打印导入任务 + */ + @PreAuthorize("@ss.hasPermi('business:import:print')") + @Log(title = "导入任务", businessType = BusinessType.PRINT) + @GetMapping("/print") + public void printPdf(TTaskImport tTaskImport, HttpServletResponse response) throws Exception{ + + List list = tTaskImportService.selectTTaskImportList(tTaskImport); + TranslateUtils.translateList(list, false); + + PdfProperty pdf = new PdfProperty(); + pdf.setTitle("导入任务"); + //pdf.setRowHeight(20f); + + ShoulderItem shoulder = new ShoulderItem(); + shoulder.setLeftItem("编制单位:"); + shoulder.setCenterItem("日期:" ); + shoulder.setRightItem("单位:"); + pdf.setShoulder(shoulder); + + float[] columnWidth = new float[]{20, 40, 10, 10, 10, 10}; + pdf.setColumnWidth(columnWidth); + String[] header = new String[]{"A列", "B列", "C列", "D列", "E列", "F列"}; + pdf.setHeader(header); + int[] aligns = new int[]{0, 0, 1, 1, 2, 2}; + pdf.setAligns(aligns); + + List contentList = Lists.newArrayList(); + list.forEach(a ->{ + String[] str = new String[6]; + str[0] = ""; + str[1] = ""; + str[2] = ""; + str[3] = ""; + str[4] = ""; + str[5] = ""; + contentList.add(str); + }); + pdf.setContentList(contentList); + + PageSet ps = new PageSet(); + ps.setPaperWidth(595.0f); + ps.setPaperHeight(842.0f); + ps.setPrintDirection("1"); + ps.setTableTotalWidth(520); + ps.setMarginLeft(50); + ps.setMarginRight(50); + ps.setMarginTop(50); + ps.setMarginBottom(50); + pdf.setPageSet(ps); + + PdfUtils.initPdf(response, pdf); + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/domain/TGisCjqy.java b/ruoyi-business/src/main/java/com/ruoyi/business/domain/TGisCjqy.java new file mode 100644 index 0000000..d8b1a99 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/domain/TGisCjqy.java @@ -0,0 +1,126 @@ +package com.ruoyi.business.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 村级区域对象 t_gis_cjqy + * + * @author rongxin + * @date 2025-09-04 + */ +public class TGisCjqy extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 区划代码 */ + @Excel(name = "区划代码") + private String CJQYDM; + + /** 区划名称 */ + @Excel(name = "区划名称") + private String CJQYMC; + + /** 空间矢量 */ + private String theGeom; + + /** 标识码 */ + @Excel(name = "标识码") + private Long BSM; + + /** 要素代码 */ + @Excel(name = "要素代码") + private String YSDM; + + /** fid */ + private Long fid; + + /** 部门级联代码 */ + @Excel(name = "部门级联代码") + private String importCode; + + public void setCJQYDM(String CJQYDM) + { + this.CJQYDM = CJQYDM; + } + + public String getCJQYDM() + { + return CJQYDM; + } + + public void setCJQYMC(String CJQYMC) + { + this.CJQYMC = CJQYMC; + } + + public String getCJQYMC() + { + return CJQYMC; + } + + public void setTheGeom(String theGeom) + { + this.theGeom = theGeom; + } + + public String getTheGeom() + { + return theGeom; + } + + public void setBSM(Long BSM) + { + this.BSM = BSM; + } + + public Long getBSM() + { + return BSM; + } + + public void setYSDM(String YSDM) + { + this.YSDM = YSDM; + } + + public String getYSDM() + { + return YSDM; + } + + public void setFid(Long fid) + { + this.fid = fid; + } + + public Long getFid() + { + return fid; + } + + public void setImportCode(String importCode) + { + this.importCode = importCode; + } + + public String getImportCode() + { + return importCode; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("CJQYDM", getCJQYDM()) + .append("CJQYMC", getCJQYMC()) + .append("theGeom", getTheGeom()) + .append("BSM", getBSM()) + .append("YSDM", getYSDM()) + .append("fid", getFid()) + .append("importCode", getImportCode()) + .toString(); + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/domain/TGisXjqy.java b/ruoyi-business/src/main/java/com/ruoyi/business/domain/TGisXjqy.java new file mode 100644 index 0000000..7a10458 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/domain/TGisXjqy.java @@ -0,0 +1,126 @@ +package com.ruoyi.business.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 乡级区域对象 t_gis_xjqy + * + * @author rongxin + * @date 2025-09-04 + */ +public class TGisXjqy extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 区划代码 */ + @Excel(name = "区划代码") + private String XJQYDM; + + /** 区划名称 */ + @Excel(name = "区划名称") + private String XJQYMC; + + /** 空间矢量 */ + private String theGeom; + + /** 标识码 */ + @Excel(name = "标识码") + private Long BSM; + + /** 要素代码 */ + @Excel(name = "要素代码") + private String YSDM; + + /** fid */ + private Long fid; + + /** 部门级联代码 */ + @Excel(name = "部门级联代码") + private String importCode; + + public void setXJQYDM(String XJQYDM) + { + this.XJQYDM = XJQYDM; + } + + public String getXJQYDM() + { + return XJQYDM; + } + + public void setXJQYMC(String XJQYMC) + { + this.XJQYMC = XJQYMC; + } + + public String getXJQYMC() + { + return XJQYMC; + } + + public void setTheGeom(String theGeom) + { + this.theGeom = theGeom; + } + + public String getTheGeom() + { + return theGeom; + } + + public void setBSM(Long BSM) + { + this.BSM = BSM; + } + + public Long getBSM() + { + return BSM; + } + + public void setYSDM(String YSDM) + { + this.YSDM = YSDM; + } + + public String getYSDM() + { + return YSDM; + } + + public void setFid(Long fid) + { + this.fid = fid; + } + + public Long getFid() + { + return fid; + } + + public void setImportCode(String importCode) + { + this.importCode = importCode; + } + + public String getImportCode() + { + return importCode; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("XJQYDM", getXJQYDM()) + .append("XJQYMC", getXJQYMC()) + .append("theGeom", getTheGeom()) + .append("BSM", getBSM()) + .append("YSDM", getYSDM()) + .append("fid", getFid()) + .append("importCode", getImportCode()) + .toString(); + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/domain/TGisXjxzq.java b/ruoyi-business/src/main/java/com/ruoyi/business/domain/TGisXjxzq.java new file mode 100644 index 0000000..ec95842 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/domain/TGisXjxzq.java @@ -0,0 +1,126 @@ +package com.ruoyi.business.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 县级区域对象 t_gis_xjxzq + * + * @author rongxin + * @date 2025-09-04 + */ +public class TGisXjxzq extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 区划代码 */ + @Excel(name = "区划代码") + private String XZQDM; + + /** 区划名称 */ + @Excel(name = "区划名称") + private String XZQMC; + + /** 空间矢量 */ + private String theGeom; + + /** 标识码 */ + @Excel(name = "标识码") + private Long BSM; + + /** 要素代码 */ + @Excel(name = "要素代码") + private String YSDM; + + /** fid */ + private Long fid; + + /** 部门级联代码 */ + @Excel(name = "部门级联代码") + private String importCode; + + public void setXZQDM(String XZQDM) + { + this.XZQDM = XZQDM; + } + + public String getXZQDM() + { + return XZQDM; + } + + public void setXZQMC(String XZQMC) + { + this.XZQMC = XZQMC; + } + + public String getXZQMC() + { + return XZQMC; + } + + public void setTheGeom(String theGeom) + { + this.theGeom = theGeom; + } + + public String getTheGeom() + { + return theGeom; + } + + public void setBSM(Long BSM) + { + this.BSM = BSM; + } + + public Long getBSM() + { + return BSM; + } + + public void setYSDM(String YSDM) + { + this.YSDM = YSDM; + } + + public String getYSDM() + { + return YSDM; + } + + public void setFid(Long fid) + { + this.fid = fid; + } + + public Long getFid() + { + return fid; + } + + public void setImportCode(String importCode) + { + this.importCode = importCode; + } + + public String getImportCode() + { + return importCode; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("XZQDM", getXZQDM()) + .append("XZQMC", getXZQMC()) + .append("theGeom", getTheGeom()) + .append("BSM", getBSM()) + .append("YSDM", getYSDM()) + .append("fid", getFid()) + .append("importCode", getImportCode()) + .toString(); + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/domain/TTaskExport.java b/ruoyi-business/src/main/java/com/ruoyi/business/domain/TTaskExport.java new file mode 100644 index 0000000..5536260 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/domain/TTaskExport.java @@ -0,0 +1,145 @@ +package com.ruoyi.business.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 导出任务对象 t_task_export + * + * @author rongxin + * @date 2025-09-04 + */ +public class TTaskExport extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** id */ + private Long id; + + /** 行政区划id */ + private Long deptId; + + /** 行政区划名称 */ + @Excel(name = "行政区划名称") + private String deptName; + + /** 行政区划代码(不作为查询条件) */ + @Excel(name = "行政区划代码") + private String orgCode; + + /** 文件格式 字典 */ + @Excel(name = "文件格式", dictType = "file_type") + private String fileType; + + /** 坐标系 字典 */ + @Excel(name = "坐标系", dictType = "coordinate_system") + private String coordinateSystem; + + /** 文件路径(这个是生成文件后回写的) */ + @Excel(name = "文件路径") + private String fileUrl; + + /** 任务状态 字典 */ + @Excel(name = "任务状态", dictType = "task_status") + private String taskStatus; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setDeptId(Long deptId) + { + this.deptId = deptId; + } + + public Long getDeptId() + { + return deptId; + } + + public void setDeptName(String deptName) + { + this.deptName = deptName; + } + + public String getDeptName() + { + return deptName; + } + + public void setOrgCode(String orgCode) + { + this.orgCode = orgCode; + } + + public String getOrgCode() + { + return orgCode; + } + + public void setFileType(String fileType) + { + this.fileType = fileType; + } + + public String getFileType() + { + return fileType; + } + + public void setCoordinateSystem(String coordinateSystem) + { + this.coordinateSystem = coordinateSystem; + } + + public String getCoordinateSystem() + { + return coordinateSystem; + } + + public void setFileUrl(String fileUrl) + { + this.fileUrl = fileUrl; + } + + public String getFileUrl() + { + return fileUrl; + } + + public void setTaskStatus(String taskStatus) + { + this.taskStatus = taskStatus; + } + + public String getTaskStatus() + { + return taskStatus; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("deptId", getDeptId()) + .append("deptName", getDeptName()) + .append("orgCode", getOrgCode()) + .append("fileType", getFileType()) + .append("coordinateSystem", getCoordinateSystem()) + .append("fileUrl", getFileUrl()) + .append("taskStatus", getTaskStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/domain/TTaskImport.java b/ruoyi-business/src/main/java/com/ruoyi/business/domain/TTaskImport.java new file mode 100644 index 0000000..4bd8710 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/domain/TTaskImport.java @@ -0,0 +1,160 @@ +package com.ruoyi.business.domain; + +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 导入任务对象 t_task_import + * + * @author rongxin + * @date 2025-09-04 + */ +public class TTaskImport extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** id */ + private Long id; + + /** 行政区划id */ + private Long deptId; + + /** 行政区划名称 */ + @Excel(name = "行政区划名称") + private String deptName; + + /** 行政区划代码(不作为查询条件) */ + @Excel(name = "行政区划代码") + private String orgCode; + + /** 文件格式 字典 */ + @Excel(name = "文件格式", dictType = "file_type") + private String fileType; + + /** 导入方式 字典 */ + @Excel(name = "导入方式", dictType = "import_type") + private String importType; + + /** 坐标系 字典 */ + @Excel(name = "坐标系", dictType = "coordinate_system") + private String coordinateSystem; + + /** 文件路径(这是上传文件的路径) */ + @Excel(name = "文件路径") + private String fileUrl; + + /** 任务状态 字典 */ + @Excel(name = "任务状态", dictType = "task_status") + private String taskStatus; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setDeptId(Long deptId) + { + this.deptId = deptId; + } + + public Long getDeptId() + { + return deptId; + } + + public void setDeptName(String deptName) + { + this.deptName = deptName; + } + + public String getDeptName() + { + return deptName; + } + + public void setOrgCode(String orgCode) + { + this.orgCode = orgCode; + } + + public String getOrgCode() + { + return orgCode; + } + + public void setFileType(String fileType) + { + this.fileType = fileType; + } + + public String getFileType() + { + return fileType; + } + + public void setImportType(String importType) + { + this.importType = importType; + } + + public String getImportType() + { + return importType; + } + + public void setCoordinateSystem(String coordinateSystem) + { + this.coordinateSystem = coordinateSystem; + } + + public String getCoordinateSystem() + { + return coordinateSystem; + } + + public void setFileUrl(String fileUrl) + { + this.fileUrl = fileUrl; + } + + public String getFileUrl() + { + return fileUrl; + } + + public void setTaskStatus(String taskStatus) + { + this.taskStatus = taskStatus; + } + + public String getTaskStatus() + { + return taskStatus; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("deptId", getDeptId()) + .append("deptName", getDeptName()) + .append("orgCode", getOrgCode()) + .append("fileType", getFileType()) + .append("importType", getImportType()) + .append("coordinateSystem", getCoordinateSystem()) + .append("fileUrl", getFileUrl()) + .append("taskStatus", getTaskStatus()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .toString(); + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TGisCjqyMapper.java b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TGisCjqyMapper.java new file mode 100644 index 0000000..f22958a --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TGisCjqyMapper.java @@ -0,0 +1,77 @@ +package com.ruoyi.business.mapper; + +import java.util.List; +import com.ruoyi.business.domain.TGisCjqy; + +/** + * 村级区域Mapper接口 + * + * @author rongxin + * @date 2025-09-04 + */ +public interface TGisCjqyMapper +{ + /** + * 查询村级区域 + * + * @param CJQYDM 村级区域主键 + * @return 村级区域 + */ + public TGisCjqy selectTGisCjqyByCJQYDM(String CJQYDM); + + /** + * 查询村级区域列表 + * + * @param tGisCjqy 村级区域 + * @return 村级区域集合 + */ + public List selectTGisCjqyList(TGisCjqy tGisCjqy); + + /** + * 新增村级区域 + * + * @param tGisCjqy 村级区域 + * @return 结果 + */ + public int insertTGisCjqy(TGisCjqy tGisCjqy); + + /** + * 批量新增村级区域 + * + * @param list 村级区域 + * @return 结果 + */ + public int insertTGisCjqyBatch(List list); + + /** + * 修改村级区域 + * + * @param tGisCjqy 村级区域 + * @return 结果 + */ + public int updateTGisCjqy(TGisCjqy tGisCjqy); + + /** + * 批量修改 村级区域 + * + * @param list 村级区域 + * @return 结果 + */ + public int updateTGisCjqyBatch(List list); + + /** + * 删除村级区域 + * + * @param CJQYDM 村级区域主键 + * @return 结果 + */ + public int deleteTGisCjqyByCJQYDM(String CJQYDM); + + /** + * 批量删除村级区域 + * + * @param CJQYDMs 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteTGisCjqyByCJQYDMs(String[] CJQYDMs); +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TGisXjqyMapper.java b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TGisXjqyMapper.java new file mode 100644 index 0000000..4949ef3 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TGisXjqyMapper.java @@ -0,0 +1,77 @@ +package com.ruoyi.business.mapper; + +import java.util.List; +import com.ruoyi.business.domain.TGisXjqy; + +/** + * 乡级区域Mapper接口 + * + * @author rongxin + * @date 2025-09-04 + */ +public interface TGisXjqyMapper +{ + /** + * 查询乡级区域 + * + * @param XJQYDM 乡级区域主键 + * @return 乡级区域 + */ + public TGisXjqy selectTGisXjqyByXJQYDM(String XJQYDM); + + /** + * 查询乡级区域列表 + * + * @param tGisXjqy 乡级区域 + * @return 乡级区域集合 + */ + public List selectTGisXjqyList(TGisXjqy tGisXjqy); + + /** + * 新增乡级区域 + * + * @param tGisXjqy 乡级区域 + * @return 结果 + */ + public int insertTGisXjqy(TGisXjqy tGisXjqy); + + /** + * 批量新增乡级区域 + * + * @param list 乡级区域 + * @return 结果 + */ + public int insertTGisXjqyBatch(List list); + + /** + * 修改乡级区域 + * + * @param tGisXjqy 乡级区域 + * @return 结果 + */ + public int updateTGisXjqy(TGisXjqy tGisXjqy); + + /** + * 批量修改 乡级区域 + * + * @param list 乡级区域 + * @return 结果 + */ + public int updateTGisXjqyBatch(List list); + + /** + * 删除乡级区域 + * + * @param XJQYDM 乡级区域主键 + * @return 结果 + */ + public int deleteTGisXjqyByXJQYDM(String XJQYDM); + + /** + * 批量删除乡级区域 + * + * @param XJQYDMs 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteTGisXjqyByXJQYDMs(String[] XJQYDMs); +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TGisXjxzqMapper.java b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TGisXjxzqMapper.java new file mode 100644 index 0000000..3114e24 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TGisXjxzqMapper.java @@ -0,0 +1,77 @@ +package com.ruoyi.business.mapper; + +import java.util.List; +import com.ruoyi.business.domain.TGisXjxzq; + +/** + * 县级区域Mapper接口 + * + * @author rongxin + * @date 2025-09-04 + */ +public interface TGisXjxzqMapper +{ + /** + * 查询县级区域 + * + * @param XZQDM 县级区域主键 + * @return 县级区域 + */ + public TGisXjxzq selectTGisXjxzqByXZQDM(String XZQDM); + + /** + * 查询县级区域列表 + * + * @param tGisXjxzq 县级区域 + * @return 县级区域集合 + */ + public List selectTGisXjxzqList(TGisXjxzq tGisXjxzq); + + /** + * 新增县级区域 + * + * @param tGisXjxzq 县级区域 + * @return 结果 + */ + public int insertTGisXjxzq(TGisXjxzq tGisXjxzq); + + /** + * 批量新增县级区域 + * + * @param list 县级区域 + * @return 结果 + */ + public int insertTGisXjxzqBatch(List list); + + /** + * 修改县级区域 + * + * @param tGisXjxzq 县级区域 + * @return 结果 + */ + public int updateTGisXjxzq(TGisXjxzq tGisXjxzq); + + /** + * 批量修改 县级区域 + * + * @param list 县级区域 + * @return 结果 + */ + public int updateTGisXjxzqBatch(List list); + + /** + * 删除县级区域 + * + * @param XZQDM 县级区域主键 + * @return 结果 + */ + public int deleteTGisXjxzqByXZQDM(String XZQDM); + + /** + * 批量删除县级区域 + * + * @param XZQDMs 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteTGisXjxzqByXZQDMs(String[] XZQDMs); +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TTaskExportMapper.java b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TTaskExportMapper.java new file mode 100644 index 0000000..b636110 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TTaskExportMapper.java @@ -0,0 +1,77 @@ +package com.ruoyi.business.mapper; + +import java.util.List; +import com.ruoyi.business.domain.TTaskExport; + +/** + * 导出任务Mapper接口 + * + * @author rongxin + * @date 2025-09-04 + */ +public interface TTaskExportMapper +{ + /** + * 查询导出任务 + * + * @param id 导出任务主键 + * @return 导出任务 + */ + public TTaskExport selectTTaskExportById(Long id); + + /** + * 查询导出任务列表 + * + * @param tTaskExport 导出任务 + * @return 导出任务集合 + */ + public List selectTTaskExportList(TTaskExport tTaskExport); + + /** + * 新增导出任务 + * + * @param tTaskExport 导出任务 + * @return 结果 + */ + public int insertTTaskExport(TTaskExport tTaskExport); + + /** + * 批量新增导出任务 + * + * @param list 导出任务 + * @return 结果 + */ + public int insertTTaskExportBatch(List list); + + /** + * 修改导出任务 + * + * @param tTaskExport 导出任务 + * @return 结果 + */ + public int updateTTaskExport(TTaskExport tTaskExport); + + /** + * 批量修改 导出任务 + * + * @param list 导出任务 + * @return 结果 + */ + public int updateTTaskExportBatch(List list); + + /** + * 删除导出任务 + * + * @param id 导出任务主键 + * @return 结果 + */ + public int deleteTTaskExportById(Long id); + + /** + * 批量删除导出任务 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteTTaskExportByIds(Long[] ids); +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TTaskImportMapper.java b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TTaskImportMapper.java new file mode 100644 index 0000000..74d1869 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/TTaskImportMapper.java @@ -0,0 +1,77 @@ +package com.ruoyi.business.mapper; + +import java.util.List; +import com.ruoyi.business.domain.TTaskImport; + +/** + * 导入任务Mapper接口 + * + * @author rongxin + * @date 2025-09-04 + */ +public interface TTaskImportMapper +{ + /** + * 查询导入任务 + * + * @param id 导入任务主键 + * @return 导入任务 + */ + public TTaskImport selectTTaskImportById(Long id); + + /** + * 查询导入任务列表 + * + * @param tTaskImport 导入任务 + * @return 导入任务集合 + */ + public List selectTTaskImportList(TTaskImport tTaskImport); + + /** + * 新增导入任务 + * + * @param tTaskImport 导入任务 + * @return 结果 + */ + public int insertTTaskImport(TTaskImport tTaskImport); + + /** + * 批量新增导入任务 + * + * @param list 导入任务 + * @return 结果 + */ + public int insertTTaskImportBatch(List list); + + /** + * 修改导入任务 + * + * @param tTaskImport 导入任务 + * @return 结果 + */ + public int updateTTaskImport(TTaskImport tTaskImport); + + /** + * 批量修改 导入任务 + * + * @param list 导入任务 + * @return 结果 + */ + public int updateTTaskImportBatch(List list); + + /** + * 删除导入任务 + * + * @param id 导入任务主键 + * @return 结果 + */ + public int deleteTTaskImportById(Long id); + + /** + * 批量删除导入任务 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteTTaskImportByIds(Long[] ids); +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/ITGisCjqyService.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/ITGisCjqyService.java new file mode 100644 index 0000000..61e92ed --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/ITGisCjqyService.java @@ -0,0 +1,87 @@ +package com.ruoyi.business.service; + +import java.util.List; +import com.ruoyi.business.domain.TGisCjqy; + +/** + * 村级区域Service接口 + * + * @author rongxin + * @date 2025-09-04 + */ +public interface ITGisCjqyService +{ + /** + * 查询村级区域 + * + * @param CJQYDM 村级区域主键 + * @return 村级区域 + */ + public TGisCjqy selectTGisCjqyByCJQYDM(String CJQYDM); + + /** + * 查询村级区域列表 + * + * @param tGisCjqy 村级区域 + * @return 村级区域集合 + */ + public List selectTGisCjqyList(TGisCjqy tGisCjqy); + + /** + * 导入村级区域数据 + * + * @param list 村级区域数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param userName 操作用户 + * @return 结果 + */ + public String importTGisCjqy(List list, Boolean isUpdateSupport, String userName); + + /** + * 新增村级区域 + * + * @param tGisCjqy 村级区域 + * @return 结果 + */ + public int insertTGisCjqy(TGisCjqy tGisCjqy); + + /** + * 批量新增村级区域 + * + * @param list 村级区域 + * @return 结果 + */ + public int insertTGisCjqyBatch(List list); + + /** + * 修改村级区域 + * + * @param tGisCjqy 村级区域 + * @return 结果 + */ + public int updateTGisCjqy(TGisCjqy tGisCjqy); + + /** + * 批量修改 村级区域 + * + * @param list 村级区域 + * @return 结果 + */ + public int updateTGisCjqyBatch(List list); + + /** + * 批量删除村级区域 + * + * @param CJQYDMs 需要删除的村级区域主键集合 + * @return 结果 + */ + public int deleteTGisCjqyByCJQYDMs(String[] CJQYDMs); + + /** + * 删除村级区域信息 + * + * @param CJQYDM 村级区域主键 + * @return 结果 + */ + public int deleteTGisCjqyByCJQYDM(String CJQYDM); +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/ITGisXjqyService.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/ITGisXjqyService.java new file mode 100644 index 0000000..864fc29 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/ITGisXjqyService.java @@ -0,0 +1,87 @@ +package com.ruoyi.business.service; + +import java.util.List; +import com.ruoyi.business.domain.TGisXjqy; + +/** + * 乡级区域Service接口 + * + * @author rongxin + * @date 2025-09-04 + */ +public interface ITGisXjqyService +{ + /** + * 查询乡级区域 + * + * @param XJQYDM 乡级区域主键 + * @return 乡级区域 + */ + public TGisXjqy selectTGisXjqyByXJQYDM(String XJQYDM); + + /** + * 查询乡级区域列表 + * + * @param tGisXjqy 乡级区域 + * @return 乡级区域集合 + */ + public List selectTGisXjqyList(TGisXjqy tGisXjqy); + + /** + * 导入乡级区域数据 + * + * @param list 乡级区域数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param userName 操作用户 + * @return 结果 + */ + public String importTGisXjqy(List list, Boolean isUpdateSupport, String userName); + + /** + * 新增乡级区域 + * + * @param tGisXjqy 乡级区域 + * @return 结果 + */ + public int insertTGisXjqy(TGisXjqy tGisXjqy); + + /** + * 批量新增乡级区域 + * + * @param list 乡级区域 + * @return 结果 + */ + public int insertTGisXjqyBatch(List list); + + /** + * 修改乡级区域 + * + * @param tGisXjqy 乡级区域 + * @return 结果 + */ + public int updateTGisXjqy(TGisXjqy tGisXjqy); + + /** + * 批量修改 乡级区域 + * + * @param list 乡级区域 + * @return 结果 + */ + public int updateTGisXjqyBatch(List list); + + /** + * 批量删除乡级区域 + * + * @param XJQYDMs 需要删除的乡级区域主键集合 + * @return 结果 + */ + public int deleteTGisXjqyByXJQYDMs(String[] XJQYDMs); + + /** + * 删除乡级区域信息 + * + * @param XJQYDM 乡级区域主键 + * @return 结果 + */ + public int deleteTGisXjqyByXJQYDM(String XJQYDM); +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/ITGisXjxzqService.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/ITGisXjxzqService.java new file mode 100644 index 0000000..a7f609e --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/ITGisXjxzqService.java @@ -0,0 +1,87 @@ +package com.ruoyi.business.service; + +import java.util.List; +import com.ruoyi.business.domain.TGisXjxzq; + +/** + * 县级区域Service接口 + * + * @author rongxin + * @date 2025-09-04 + */ +public interface ITGisXjxzqService +{ + /** + * 查询县级区域 + * + * @param XZQDM 县级区域主键 + * @return 县级区域 + */ + public TGisXjxzq selectTGisXjxzqByXZQDM(String XZQDM); + + /** + * 查询县级区域列表 + * + * @param tGisXjxzq 县级区域 + * @return 县级区域集合 + */ + public List selectTGisXjxzqList(TGisXjxzq tGisXjxzq); + + /** + * 导入县级区域数据 + * + * @param list 县级区域数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param userName 操作用户 + * @return 结果 + */ + public String importTGisXjxzq(List list, Boolean isUpdateSupport, String userName); + + /** + * 新增县级区域 + * + * @param tGisXjxzq 县级区域 + * @return 结果 + */ + public int insertTGisXjxzq(TGisXjxzq tGisXjxzq); + + /** + * 批量新增县级区域 + * + * @param list 县级区域 + * @return 结果 + */ + public int insertTGisXjxzqBatch(List list); + + /** + * 修改县级区域 + * + * @param tGisXjxzq 县级区域 + * @return 结果 + */ + public int updateTGisXjxzq(TGisXjxzq tGisXjxzq); + + /** + * 批量修改 县级区域 + * + * @param list 县级区域 + * @return 结果 + */ + public int updateTGisXjxzqBatch(List list); + + /** + * 批量删除县级区域 + * + * @param XZQDMs 需要删除的县级区域主键集合 + * @return 结果 + */ + public int deleteTGisXjxzqByXZQDMs(String[] XZQDMs); + + /** + * 删除县级区域信息 + * + * @param XZQDM 县级区域主键 + * @return 结果 + */ + public int deleteTGisXjxzqByXZQDM(String XZQDM); +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/ITTaskExportService.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/ITTaskExportService.java new file mode 100644 index 0000000..70e77c0 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/ITTaskExportService.java @@ -0,0 +1,87 @@ +package com.ruoyi.business.service; + +import java.util.List; +import com.ruoyi.business.domain.TTaskExport; + +/** + * 导出任务Service接口 + * + * @author rongxin + * @date 2025-09-04 + */ +public interface ITTaskExportService +{ + /** + * 查询导出任务 + * + * @param id 导出任务主键 + * @return 导出任务 + */ + public TTaskExport selectTTaskExportById(Long id); + + /** + * 查询导出任务列表 + * + * @param tTaskExport 导出任务 + * @return 导出任务集合 + */ + public List selectTTaskExportList(TTaskExport tTaskExport); + + /** + * 导入导出任务数据 + * + * @param list 导出任务数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param userName 操作用户 + * @return 结果 + */ + public String importTTaskExport(List list, Boolean isUpdateSupport, String userName); + + /** + * 新增导出任务 + * + * @param tTaskExport 导出任务 + * @return 结果 + */ + public int insertTTaskExport(TTaskExport tTaskExport); + + /** + * 批量新增导出任务 + * + * @param list 导出任务 + * @return 结果 + */ + public int insertTTaskExportBatch(List list); + + /** + * 修改导出任务 + * + * @param tTaskExport 导出任务 + * @return 结果 + */ + public int updateTTaskExport(TTaskExport tTaskExport); + + /** + * 批量修改 导出任务 + * + * @param list 导出任务 + * @return 结果 + */ + public int updateTTaskExportBatch(List list); + + /** + * 批量删除导出任务 + * + * @param ids 需要删除的导出任务主键集合 + * @return 结果 + */ + public int deleteTTaskExportByIds(Long[] ids); + + /** + * 删除导出任务信息 + * + * @param id 导出任务主键 + * @return 结果 + */ + public int deleteTTaskExportById(Long id); +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/ITTaskImportService.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/ITTaskImportService.java new file mode 100644 index 0000000..2d22ee8 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/ITTaskImportService.java @@ -0,0 +1,87 @@ +package com.ruoyi.business.service; + +import java.util.List; +import com.ruoyi.business.domain.TTaskImport; + +/** + * 导入任务Service接口 + * + * @author rongxin + * @date 2025-09-04 + */ +public interface ITTaskImportService +{ + /** + * 查询导入任务 + * + * @param id 导入任务主键 + * @return 导入任务 + */ + public TTaskImport selectTTaskImportById(Long id); + + /** + * 查询导入任务列表 + * + * @param tTaskImport 导入任务 + * @return 导入任务集合 + */ + public List selectTTaskImportList(TTaskImport tTaskImport); + + /** + * 导入导入任务数据 + * + * @param list 导入任务数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param userName 操作用户 + * @return 结果 + */ + public String importTTaskImport(List list, Boolean isUpdateSupport, String userName); + + /** + * 新增导入任务 + * + * @param tTaskImport 导入任务 + * @return 结果 + */ + public int insertTTaskImport(TTaskImport tTaskImport); + + /** + * 批量新增导入任务 + * + * @param list 导入任务 + * @return 结果 + */ + public int insertTTaskImportBatch(List list); + + /** + * 修改导入任务 + * + * @param tTaskImport 导入任务 + * @return 结果 + */ + public int updateTTaskImport(TTaskImport tTaskImport); + + /** + * 批量修改 导入任务 + * + * @param list 导入任务 + * @return 结果 + */ + public int updateTTaskImportBatch(List list); + + /** + * 批量删除导入任务 + * + * @param ids 需要删除的导入任务主键集合 + * @return 结果 + */ + public int deleteTTaskImportByIds(Long[] ids); + + /** + * 删除导入任务信息 + * + * @param id 导入任务主键 + * @return 结果 + */ + public int deleteTTaskImportById(Long id); +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TGisCjqyServiceImpl.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TGisCjqyServiceImpl.java new file mode 100644 index 0000000..89ca08d --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TGisCjqyServiceImpl.java @@ -0,0 +1,207 @@ +package com.ruoyi.business.service.impl; + +import com.ruoyi.business.domain.TGisCjqy; +import com.ruoyi.business.mapper.TGisCjqyMapper; +import com.ruoyi.business.service.ITGisCjqyService; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import org.apache.commons.collections4.ListUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 村级区域Service业务层处理 + * + * @author rongxin + * @date 2025-09-04 + */ +@Service +public class TGisCjqyServiceImpl implements ITGisCjqyService +{ + @Autowired + private TGisCjqyMapper tGisCjqyMapper; + + /** + * 查询村级区域 + * + * @param CJQYDM 村级区域主键 + * @return 村级区域 + */ + @Override + public TGisCjqy selectTGisCjqyByCJQYDM(String CJQYDM) + { + return tGisCjqyMapper.selectTGisCjqyByCJQYDM(CJQYDM); + } + + /** + * 查询村级区域列表 + * + * @param tGisCjqy 村级区域 + * @return 村级区域 + */ + @Override + public List selectTGisCjqyList(TGisCjqy tGisCjqy) + { + return tGisCjqyMapper.selectTGisCjqyList(tGisCjqy); + } + + /** + * 导入村级区域数据 + * + * @param list 村级区域数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param operName 操作用户 + * @return 结果 + */ + @Override + @Transactional + public String importTGisCjqy(List list, Boolean isUpdateSupport, String operName) { + if (StringUtils.isEmpty(list)) { + throw new ServiceException("导入村级区域数据不能为空!"); + } + + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + List insertList = Lists.newArrayList(); + List updateList = Lists.newArrayList(); + + // 检验excel表中 【xxx】 是否存在重复,有重复的终止导入 + List repeatList = list.stream().collect(Collectors.groupingBy(TGisCjqy::getImportCode, Collectors.counting())) + .entrySet().stream().filter(e -> e.getValue() > 1).map(Map.Entry::getKey).collect(Collectors.toList()); + if (StringUtils.isNotEmpty(repeatList)) { + failureMsg.insert(0, "很抱歉,存在重复项,导入失败!共 " + repeatList.size() + " 个重复错错误如下:"); + for (int i = 0; i < repeatList.size(); i++) { + String item = repeatList.get(i); + failureNum++; + failureMsg.append("
" + failureNum + "、项目名 " + item + " 重复"); + } + return failureMsg.toString(); + } + + // 缓存已存在的数据 + TGisCjqy tGisCjqy = new TGisCjqy(); + List tGisCjqyList = tGisCjqyMapper.selectTGisCjqyList(tGisCjqy); + + for (TGisCjqy item : list) { + String code = item.getImportCode(); + List filters = tGisCjqyList.stream().filter(a -> a.getImportCode().equals(code)).collect(Collectors.toList()); + if (StringUtils.isEmpty(filters)) { //不存在时,直接插入 + item.setCreateBy(operName); + item.setCreateTime(DateUtils.getNowDate()); + insertList.add(item); + successNum++; + } else { //存在时 + if(isUpdateSupport){ //勾选则更新 + item.setUpdateBy(operName); + item.setUpdateTime(DateUtils.getNowDate()); + item.setCJQYDM(filters.get(0).getCJQYDM()); + updateList.add(item); + successNum++; + } + } + } + + // 执行更新或者保存 + List> insertSplists = ListUtils.partition(insertList, 50); + insertSplists.forEach(insertSplist ->{ + tGisCjqyMapper.insertTGisCjqyBatch(insertSplist); + }); + List> updateSplists = ListUtils.partition(updateList, 30); + updateSplists.forEach(updateSplist ->{ + tGisCjqyMapper.updateTGisCjqyBatch(updateSplist); + }); + + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条。"); + return successMsg.toString(); + } + + + /** + * 新增村级区域 + * + * @param tGisCjqy 村级区域 + * @return 结果 + */ + @Override + public int insertTGisCjqy(TGisCjqy tGisCjqy) + { + return tGisCjqyMapper.insertTGisCjqy(tGisCjqy); + } + + /** + * 批量新增村级区域 + * + * @param list 村级区域 + * @return 结果 + */ + @Override + @Transactional + public int insertTGisCjqyBatch(List list){ + List> splists = ListUtils.partition(list, 50); + splists.forEach(splist->{ + tGisCjqyMapper.insertTGisCjqyBatch(splist); + }); + return 1; + } + + /** + * 修改村级区域 + * + * @param tGisCjqy 村级区域 + * @return 结果 + */ + @Override + public int updateTGisCjqy(TGisCjqy tGisCjqy) + { + return tGisCjqyMapper.updateTGisCjqy(tGisCjqy); + } + + /** + * 批量修改 村级区域 + * + * @param list 村级区域 + * @return 结果 + */ + @Override + @Transactional + public int updateTGisCjqyBatch(List list) { + List> splists = ListUtils.partition(list, 30); + splists.forEach(splist->{ + tGisCjqyMapper.updateTGisCjqyBatch(splist); + }); + return 1; + } + + /** + * 批量删除村级区域 + * + * @param CJQYDMs 需要删除的村级区域主键 + * @return 结果 + */ + @Override + public int deleteTGisCjqyByCJQYDMs(String[] CJQYDMs) + { + return tGisCjqyMapper.deleteTGisCjqyByCJQYDMs(CJQYDMs); + } + + /** + * 删除村级区域信息 + * + * @param CJQYDM 村级区域主键 + * @return 结果 + */ + @Override + public int deleteTGisCjqyByCJQYDM(String CJQYDM) + { + return tGisCjqyMapper.deleteTGisCjqyByCJQYDM(CJQYDM); + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TGisXjqyServiceImpl.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TGisXjqyServiceImpl.java new file mode 100644 index 0000000..456c711 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TGisXjqyServiceImpl.java @@ -0,0 +1,207 @@ +package com.ruoyi.business.service.impl; + +import com.ruoyi.business.domain.TGisXjqy; +import com.ruoyi.business.mapper.TGisXjqyMapper; +import com.ruoyi.business.service.ITGisXjqyService; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import org.apache.commons.collections4.ListUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 乡级区域Service业务层处理 + * + * @author rongxin + * @date 2025-09-04 + */ +@Service +public class TGisXjqyServiceImpl implements ITGisXjqyService +{ + @Autowired + private TGisXjqyMapper tGisXjqyMapper; + + /** + * 查询乡级区域 + * + * @param XJQYDM 乡级区域主键 + * @return 乡级区域 + */ + @Override + public TGisXjqy selectTGisXjqyByXJQYDM(String XJQYDM) + { + return tGisXjqyMapper.selectTGisXjqyByXJQYDM(XJQYDM); + } + + /** + * 查询乡级区域列表 + * + * @param tGisXjqy 乡级区域 + * @return 乡级区域 + */ + @Override + public List selectTGisXjqyList(TGisXjqy tGisXjqy) + { + return tGisXjqyMapper.selectTGisXjqyList(tGisXjqy); + } + + /** + * 导入乡级区域数据 + * + * @param list 乡级区域数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param operName 操作用户 + * @return 结果 + */ + @Override + @Transactional + public String importTGisXjqy(List list, Boolean isUpdateSupport, String operName) { + if (StringUtils.isEmpty(list)) { + throw new ServiceException("导入乡级区域数据不能为空!"); + } + + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + List insertList = Lists.newArrayList(); + List updateList = Lists.newArrayList(); + + // 检验excel表中 【xxx】 是否存在重复,有重复的终止导入 + List repeatList = list.stream().collect(Collectors.groupingBy(TGisXjqy::getImportCode, Collectors.counting())) + .entrySet().stream().filter(e -> e.getValue() > 1).map(Map.Entry::getKey).collect(Collectors.toList()); + if (StringUtils.isNotEmpty(repeatList)) { + failureMsg.insert(0, "很抱歉,存在重复项,导入失败!共 " + repeatList.size() + " 个重复错错误如下:"); + for (int i = 0; i < repeatList.size(); i++) { + String item = repeatList.get(i); + failureNum++; + failureMsg.append("
" + failureNum + "、项目名 " + item + " 重复"); + } + return failureMsg.toString(); + } + + // 缓存已存在的数据 + TGisXjqy tGisXjqy = new TGisXjqy(); + List tGisXjqyList = tGisXjqyMapper.selectTGisXjqyList(tGisXjqy); + + for (TGisXjqy item : list) { + String code = item.getImportCode(); + List filters = tGisXjqyList.stream().filter(a -> a.getImportCode().equals(code)).collect(Collectors.toList()); + if (StringUtils.isEmpty(filters)) { //不存在时,直接插入 + item.setCreateBy(operName); + item.setCreateTime(DateUtils.getNowDate()); + insertList.add(item); + successNum++; + } else { //存在时 + if(isUpdateSupport){ //勾选则更新 + item.setUpdateBy(operName); + item.setUpdateTime(DateUtils.getNowDate()); + item.setXJQYDM(filters.get(0).getXJQYDM()); + updateList.add(item); + successNum++; + } + } + } + + // 执行更新或者保存 + List> insertSplists = ListUtils.partition(insertList, 50); + insertSplists.forEach(insertSplist ->{ + tGisXjqyMapper.insertTGisXjqyBatch(insertSplist); + }); + List> updateSplists = ListUtils.partition(updateList, 30); + updateSplists.forEach(updateSplist ->{ + tGisXjqyMapper.updateTGisXjqyBatch(updateSplist); + }); + + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条。"); + return successMsg.toString(); + } + + + /** + * 新增乡级区域 + * + * @param tGisXjqy 乡级区域 + * @return 结果 + */ + @Override + public int insertTGisXjqy(TGisXjqy tGisXjqy) + { + return tGisXjqyMapper.insertTGisXjqy(tGisXjqy); + } + + /** + * 批量新增乡级区域 + * + * @param list 乡级区域 + * @return 结果 + */ + @Override + @Transactional + public int insertTGisXjqyBatch(List list){ + List> splists = ListUtils.partition(list, 50); + splists.forEach(splist->{ + tGisXjqyMapper.insertTGisXjqyBatch(splist); + }); + return 1; + } + + /** + * 修改乡级区域 + * + * @param tGisXjqy 乡级区域 + * @return 结果 + */ + @Override + public int updateTGisXjqy(TGisXjqy tGisXjqy) + { + return tGisXjqyMapper.updateTGisXjqy(tGisXjqy); + } + + /** + * 批量修改 乡级区域 + * + * @param list 乡级区域 + * @return 结果 + */ + @Override + @Transactional + public int updateTGisXjqyBatch(List list) { + List> splists = ListUtils.partition(list, 30); + splists.forEach(splist->{ + tGisXjqyMapper.updateTGisXjqyBatch(splist); + }); + return 1; + } + + /** + * 批量删除乡级区域 + * + * @param XJQYDMs 需要删除的乡级区域主键 + * @return 结果 + */ + @Override + public int deleteTGisXjqyByXJQYDMs(String[] XJQYDMs) + { + return tGisXjqyMapper.deleteTGisXjqyByXJQYDMs(XJQYDMs); + } + + /** + * 删除乡级区域信息 + * + * @param XJQYDM 乡级区域主键 + * @return 结果 + */ + @Override + public int deleteTGisXjqyByXJQYDM(String XJQYDM) + { + return tGisXjqyMapper.deleteTGisXjqyByXJQYDM(XJQYDM); + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TGisXjxzqServiceImpl.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TGisXjxzqServiceImpl.java new file mode 100644 index 0000000..7dbad17 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TGisXjxzqServiceImpl.java @@ -0,0 +1,209 @@ +package com.ruoyi.business.service.impl; + +import com.ruoyi.business.domain.TGisXjxzq; +import com.ruoyi.business.mapper.TGisXjxzqMapper; +import com.ruoyi.business.service.ITGisXjxzqService; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import org.apache.commons.collections4.ListUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * 县级区域Service业务层处理 + * + * @author rongxin + * @date 2025-09-04 + */ +@Service +public class TGisXjxzqServiceImpl implements ITGisXjxzqService +{ + @Autowired + private TGisXjxzqMapper tGisXjxzqMapper; + + /** + * 查询县级区域 + * + * @param XZQDM 县级区域主键 + * @return 县级区域 + */ + @Override + public TGisXjxzq selectTGisXjxzqByXZQDM(String XZQDM) + { + return tGisXjxzqMapper.selectTGisXjxzqByXZQDM(XZQDM); + } + + /** + * 查询县级区域列表 + * + * @param tGisXjxzq 县级区域 + * @return 县级区域 + */ + @Override + public List selectTGisXjxzqList(TGisXjxzq tGisXjxzq) + { + return tGisXjxzqMapper.selectTGisXjxzqList(tGisXjxzq); + } + + /** + * 导入县级区域数据 + * + * @param list 县级区域数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param operName 操作用户 + * @return 结果 + */ + @Override + @Transactional + public String importTGisXjxzq(List list, Boolean isUpdateSupport, String operName) { + if (StringUtils.isEmpty(list)) { + throw new ServiceException("导入县级区域数据不能为空!"); + } + + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + List insertList = Lists.newArrayList(); + List updateList = Lists.newArrayList(); + + // 检验excel表中 【xxx】 是否存在重复,有重复的终止导入 + List repeatList = list.stream().collect(Collectors.groupingBy(TGisXjxzq::getImportCode, Collectors.counting())) + .entrySet().stream().filter(e -> e.getValue() > 1).map(Map.Entry::getKey).collect(Collectors.toList()); + if (StringUtils.isNotEmpty(repeatList)) { + failureMsg.insert(0, "很抱歉,存在重复项,导入失败!共 " + repeatList.size() + " 个重复错错误如下:"); + for (int i = 0; i < repeatList.size(); i++) { + String item = repeatList.get(i); + failureNum++; + failureMsg.append("
" + failureNum + "、项目名 " + item + " 重复"); + } + return failureMsg.toString(); + } + + // 缓存已存在的数据 + TGisXjxzq tGisXjxzq = new TGisXjxzq(); + List tGisXjxzqList = tGisXjxzqMapper.selectTGisXjxzqList(tGisXjxzq); + + for (TGisXjxzq item : list) { + + // 验证是否存在这个县级区域信息 + String code = item.getImportCode(); + List filters = tGisXjxzqList.stream().filter(a -> a.getImportCode().equals(code)).collect(Collectors.toList()); + if (StringUtils.isEmpty(filters)) { //不存在时,直接插入 + item.setCreateBy(operName); + item.setCreateTime(DateUtils.getNowDate()); + insertList.add(item); + successNum++; + } else { //存在时 + if(isUpdateSupport){ //勾选则更新 + item.setUpdateBy(operName); + item.setUpdateTime(DateUtils.getNowDate()); + item.setXZQDM(filters.get(0).getXZQDM()); + updateList.add(item); + successNum++; + } + } + } + + // 执行更新或者保存 + List> insertSplists = ListUtils.partition(insertList, 50); + insertSplists.forEach(insertSplist ->{ + tGisXjxzqMapper.insertTGisXjxzqBatch(insertSplist); + }); + List> updateSplists = ListUtils.partition(updateList, 30); + updateSplists.forEach(updateSplist ->{ + tGisXjxzqMapper.updateTGisXjxzqBatch(updateSplist); + }); + + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条。"); + return successMsg.toString(); + } + + + /** + * 新增县级区域 + * + * @param tGisXjxzq 县级区域 + * @return 结果 + */ + @Override + public int insertTGisXjxzq(TGisXjxzq tGisXjxzq) + { + return tGisXjxzqMapper.insertTGisXjxzq(tGisXjxzq); + } + + /** + * 批量新增县级区域 + * + * @param list 县级区域 + * @return 结果 + */ + @Override + @Transactional + public int insertTGisXjxzqBatch(List list){ + List> splists = ListUtils.partition(list, 50); + splists.forEach(splist->{ + tGisXjxzqMapper.insertTGisXjxzqBatch(splist); + }); + return 1; + } + + /** + * 修改县级区域 + * + * @param tGisXjxzq 县级区域 + * @return 结果 + */ + @Override + public int updateTGisXjxzq(TGisXjxzq tGisXjxzq) + { + return tGisXjxzqMapper.updateTGisXjxzq(tGisXjxzq); + } + + /** + * 批量修改 县级区域 + * + * @param list 县级区域 + * @return 结果 + */ + @Override + @Transactional + public int updateTGisXjxzqBatch(List list) { + List> splists = ListUtils.partition(list, 30); + splists.forEach(splist->{ + tGisXjxzqMapper.updateTGisXjxzqBatch(splist); + }); + return 1; + } + + /** + * 批量删除县级区域 + * + * @param XZQDMs 需要删除的县级区域主键 + * @return 结果 + */ + @Override + public int deleteTGisXjxzqByXZQDMs(String[] XZQDMs) + { + return tGisXjxzqMapper.deleteTGisXjxzqByXZQDMs(XZQDMs); + } + + /** + * 删除县级区域信息 + * + * @param XZQDM 县级区域主键 + * @return 结果 + */ + @Override + public int deleteTGisXjxzqByXZQDM(String XZQDM) + { + return tGisXjxzqMapper.deleteTGisXjxzqByXZQDM(XZQDM); + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TTaskExportServiceImpl.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TTaskExportServiceImpl.java new file mode 100644 index 0000000..103d9df --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TTaskExportServiceImpl.java @@ -0,0 +1,197 @@ +package com.ruoyi.business.service.impl; + +import com.ruoyi.business.domain.TTaskExport; +import com.ruoyi.business.mapper.TTaskExportMapper; +import com.ruoyi.business.service.ITTaskExportService; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import org.apache.commons.collections4.ListUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 导出任务Service业务层处理 + * + * @author rongxin + * @date 2025-09-04 + */ +@Service +public class TTaskExportServiceImpl implements ITTaskExportService +{ + @Autowired + private TTaskExportMapper tTaskExportMapper; + + /** + * 查询导出任务 + * + * @param id 导出任务主键 + * @return 导出任务 + */ + @Override + public TTaskExport selectTTaskExportById(Long id) + { + return tTaskExportMapper.selectTTaskExportById(id); + } + + /** + * 查询导出任务列表 + * + * @param tTaskExport 导出任务 + * @return 导出任务 + */ + @Override + public List selectTTaskExportList(TTaskExport tTaskExport) + { + return tTaskExportMapper.selectTTaskExportList(tTaskExport); + } + + /** + * 导入导出任务数据 + * + * @param list 导出任务数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param operName 操作用户 + * @return 结果 + */ + @Override + @Transactional + public String importTTaskExport(List list, Boolean isUpdateSupport, String operName) { + if (StringUtils.isEmpty(list)) { + throw new ServiceException("导入导出任务数据不能为空!"); + } + + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + List insertList = Lists.newArrayList(); + List updateList = Lists.newArrayList(); + + // 缓存已存在的数据 + TTaskExport tTaskExport = new TTaskExport(); + List tTaskExportList = tTaskExportMapper.selectTTaskExportList(tTaskExport); + + for (TTaskExport item : list) { + + // 验证是否存在这个导出任务信息 + Long id = item.getId(); + List filters = tTaskExportList.stream().filter(a -> a.getId().equals(id)).collect(Collectors.toList()); + if (StringUtils.isEmpty(filters)) { //不存在时,直接插入 + item.setCreateBy(operName); + item.setCreateTime(DateUtils.getNowDate()); + insertList.add(item); + successNum++; + } else { //存在时 + if(isUpdateSupport){ //勾选则更新 + item.setUpdateBy(operName); + item.setUpdateTime(DateUtils.getNowDate()); + item.setId(filters.get(0).getId()); + updateList.add(item); + successNum++; + } + } + } + + // 执行更新或者保存 + List> insertSplists = ListUtils.partition(insertList, 50); + insertSplists.forEach(insertSplist ->{ + tTaskExportMapper.insertTTaskExportBatch(insertSplist); + }); + List> updateSplists = ListUtils.partition(updateList, 30); + updateSplists.forEach(updateSplist ->{ + tTaskExportMapper.updateTTaskExportBatch(updateSplist); + }); + + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条。"); + return successMsg.toString(); + } + + + /** + * 新增导出任务 + * + * @param tTaskExport 导出任务 + * @return 结果 + */ + @Override + public int insertTTaskExport(TTaskExport tTaskExport) + { + tTaskExport.setCreateTime(DateUtils.getNowDate()); + return tTaskExportMapper.insertTTaskExport(tTaskExport); + } + + /** + * 批量新增导出任务 + * + * @param list 导出任务 + * @return 结果 + */ + @Override + @Transactional + public int insertTTaskExportBatch(List list){ + List> splists = ListUtils.partition(list, 50); + splists.forEach(splist->{ + tTaskExportMapper.insertTTaskExportBatch(splist); + }); + return 1; + } + + /** + * 修改导出任务 + * + * @param tTaskExport 导出任务 + * @return 结果 + */ + @Override + public int updateTTaskExport(TTaskExport tTaskExport) + { + tTaskExport.setUpdateTime(DateUtils.getNowDate()); + return tTaskExportMapper.updateTTaskExport(tTaskExport); + } + + /** + * 批量修改 导出任务 + * + * @param list 导出任务 + * @return 结果 + */ + @Override + @Transactional + public int updateTTaskExportBatch(List list) { + List> splists = ListUtils.partition(list, 30); + splists.forEach(splist->{ + tTaskExportMapper.updateTTaskExportBatch(splist); + }); + return 1; + } + + /** + * 批量删除导出任务 + * + * @param ids 需要删除的导出任务主键 + * @return 结果 + */ + @Override + public int deleteTTaskExportByIds(Long[] ids) + { + return tTaskExportMapper.deleteTTaskExportByIds(ids); + } + + /** + * 删除导出任务信息 + * + * @param id 导出任务主键 + * @return 结果 + */ + @Override + public int deleteTTaskExportById(Long id) + { + return tTaskExportMapper.deleteTTaskExportById(id); + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TTaskImportServiceImpl.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TTaskImportServiceImpl.java new file mode 100644 index 0000000..8e5433e --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/TTaskImportServiceImpl.java @@ -0,0 +1,198 @@ +package com.ruoyi.business.service.impl; + +import com.ruoyi.business.domain.TTaskImport; +import com.ruoyi.business.mapper.TTaskImportMapper; +import com.ruoyi.business.service.ITTaskImportService; +import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import org.apache.commons.collections4.ListUtils; +import org.apache.commons.compress.utils.Lists; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; +import java.util.stream.Collectors; + +/** + * 导入任务Service业务层处理 + * + * @author rongxin + * @date 2025-09-04 + */ +@Service +public class TTaskImportServiceImpl implements ITTaskImportService +{ + @Autowired + private TTaskImportMapper tTaskImportMapper; + + /** + * 查询导入任务 + * + * @param id 导入任务主键 + * @return 导入任务 + */ + @Override + public TTaskImport selectTTaskImportById(Long id) + { + return tTaskImportMapper.selectTTaskImportById(id); + } + + /** + * 查询导入任务列表 + * + * @param tTaskImport 导入任务 + * @return 导入任务 + */ + @Override + public List selectTTaskImportList(TTaskImport tTaskImport) + { + return tTaskImportMapper.selectTTaskImportList(tTaskImport); + } + + /** + * 导入导入任务数据 + * + * @param list 导入任务数据列表 + * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 + * @param operName 操作用户 + * @return 结果 + */ + @Override + @Transactional + public String importTTaskImport(List list, Boolean isUpdateSupport, String operName) { + if (StringUtils.isEmpty(list)) { + throw new ServiceException("导入导入任务数据不能为空!"); + } + + int successNum = 0; + int failureNum = 0; + StringBuilder successMsg = new StringBuilder(); + StringBuilder failureMsg = new StringBuilder(); + List insertList = Lists.newArrayList(); + List updateList = Lists.newArrayList(); + + + // 缓存已存在的数据 + TTaskImport tTaskImport = new TTaskImport(); + List tTaskImportList = tTaskImportMapper.selectTTaskImportList(tTaskImport); + + for (TTaskImport item : list) { + + // 验证是否存在这个导入任务信息 + Long id = item.getId(); + List filters = tTaskImportList.stream().filter(a -> a.getId().equals(id)).collect(Collectors.toList()); + if (StringUtils.isEmpty(filters)) { //不存在时,直接插入 + item.setCreateBy(operName); + item.setCreateTime(DateUtils.getNowDate()); + insertList.add(item); + successNum++; + } else { //存在时 + if(isUpdateSupport){ //勾选则更新 + item.setUpdateBy(operName); + item.setUpdateTime(DateUtils.getNowDate()); + item.setId(filters.get(0).getId()); + updateList.add(item); + successNum++; + } + } + } + + // 执行更新或者保存 + List> insertSplists = ListUtils.partition(insertList, 50); + insertSplists.forEach(insertSplist ->{ + tTaskImportMapper.insertTTaskImportBatch(insertSplist); + }); + List> updateSplists = ListUtils.partition(updateList, 30); + updateSplists.forEach(updateSplist ->{ + tTaskImportMapper.updateTTaskImportBatch(updateSplist); + }); + + successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条。"); + return successMsg.toString(); + } + + + /** + * 新增导入任务 + * + * @param tTaskImport 导入任务 + * @return 结果 + */ + @Override + public int insertTTaskImport(TTaskImport tTaskImport) + { + tTaskImport.setCreateTime(DateUtils.getNowDate()); + return tTaskImportMapper.insertTTaskImport(tTaskImport); + } + + /** + * 批量新增导入任务 + * + * @param list 导入任务 + * @return 结果 + */ + @Override + @Transactional + public int insertTTaskImportBatch(List list){ + List> splists = ListUtils.partition(list, 50); + splists.forEach(splist->{ + tTaskImportMapper.insertTTaskImportBatch(splist); + }); + return 1; + } + + /** + * 修改导入任务 + * + * @param tTaskImport 导入任务 + * @return 结果 + */ + @Override + public int updateTTaskImport(TTaskImport tTaskImport) + { + tTaskImport.setUpdateTime(DateUtils.getNowDate()); + return tTaskImportMapper.updateTTaskImport(tTaskImport); + } + + /** + * 批量修改 导入任务 + * + * @param list 导入任务 + * @return 结果 + */ + @Override + @Transactional + public int updateTTaskImportBatch(List list) { + List> splists = ListUtils.partition(list, 30); + splists.forEach(splist->{ + tTaskImportMapper.updateTTaskImportBatch(splist); + }); + return 1; + } + + /** + * 批量删除导入任务 + * + * @param ids 需要删除的导入任务主键 + * @return 结果 + */ + @Override + public int deleteTTaskImportByIds(Long[] ids) + { + return tTaskImportMapper.deleteTTaskImportByIds(ids); + } + + /** + * 删除导入任务信息 + * + * @param id 导入任务主键 + * @return 结果 + */ + @Override + public int deleteTTaskImportById(Long id) + { + return tTaskImportMapper.deleteTTaskImportById(id); + } +} diff --git a/ruoyi-business/src/main/resources/mapper/business/TGisCjqyMapper.xml b/ruoyi-business/src/main/resources/mapper/business/TGisCjqyMapper.xml new file mode 100644 index 0000000..adaaafb --- /dev/null +++ b/ruoyi-business/src/main/resources/mapper/business/TGisCjqyMapper.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + select CJQYDM, CJQYMC, the_geom, BSM, YSDM, fid, import_code from t_gis_cjqy + + + + + + + + insert into t_gis_cjqy + + CJQYDM, + CJQYMC, + the_geom, + BSM, + YSDM, + fid, + import_code, + + + #{CJQYDM}, + #{CJQYMC}, + #{theGeom}, + #{BSM}, + #{YSDM}, + #{fid}, + #{importCode}, + + + + + insert into t_gis_cjqy + + CJQYDM, + CJQYMC, + the_geom, + BSM, + YSDM, + fid, + import_code, + + values + + + #{item.CJQYDM}, + #{item.CJQYMC}, + #{item.theGeom}, + #{item.BSM}, + #{item.YSDM}, + #{item.fid}, + #{item.importCode}, + + + + + + update t_gis_cjqy + + CJQYMC = #{CJQYMC}, + the_geom = #{theGeom}, + BSM = #{BSM}, + YSDM = #{YSDM}, + fid = #{fid}, + import_code = #{importCode}, + + where CJQYDM = #{CJQYDM} + + + + + + update t_gis_cjqy + + CJQYMC = #{item.CJQYMC}, + the_geom = #{item.theGeom}, + BSM = #{item.BSM}, + YSDM = #{item.YSDM}, + fid = #{item.fid}, + import_code = #{item.importCode}, + + where CJQYDM = #{item.CJQYDM} + + + + + delete from t_gis_cjqy where CJQYDM = #{CJQYDM} + + + + delete from t_gis_cjqy where CJQYDM in + + #{CJQYDM} + + + diff --git a/ruoyi-business/src/main/resources/mapper/business/TGisXjqyMapper.xml b/ruoyi-business/src/main/resources/mapper/business/TGisXjqyMapper.xml new file mode 100644 index 0000000..d28106c --- /dev/null +++ b/ruoyi-business/src/main/resources/mapper/business/TGisXjqyMapper.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + select XJQYDM, XJQYMC, the_geom, BSM, YSDM, fid, import_code from t_gis_xjqy + + + + + + + + insert into t_gis_xjqy + + XJQYDM, + XJQYMC, + the_geom, + BSM, + YSDM, + fid, + import_code, + + + #{XJQYDM}, + #{XJQYMC}, + #{theGeom}, + #{BSM}, + #{YSDM}, + #{fid}, + #{importCode}, + + + + + insert into t_gis_xjqy + + XJQYDM, + XJQYMC, + the_geom, + BSM, + YSDM, + fid, + import_code, + + values + + + #{item.XJQYDM}, + #{item.XJQYMC}, + #{item.theGeom}, + #{item.BSM}, + #{item.YSDM}, + #{item.fid}, + #{item.importCode}, + + + + + + update t_gis_xjqy + + XJQYMC = #{XJQYMC}, + the_geom = #{theGeom}, + BSM = #{BSM}, + YSDM = #{YSDM}, + fid = #{fid}, + import_code = #{importCode}, + + where XJQYDM = #{XJQYDM} + + + + + + update t_gis_xjqy + + XJQYMC = #{item.XJQYMC}, + the_geom = #{item.theGeom}, + BSM = #{item.BSM}, + YSDM = #{item.YSDM}, + fid = #{item.fid}, + import_code = #{item.importCode}, + + where XJQYDM = #{item.XJQYDM} + + + + + delete from t_gis_xjqy where XJQYDM = #{XJQYDM} + + + + delete from t_gis_xjqy where XJQYDM in + + #{XJQYDM} + + + diff --git a/ruoyi-business/src/main/resources/mapper/business/TGisXjxzqMapper.xml b/ruoyi-business/src/main/resources/mapper/business/TGisXjxzqMapper.xml new file mode 100644 index 0000000..7674e7e --- /dev/null +++ b/ruoyi-business/src/main/resources/mapper/business/TGisXjxzqMapper.xml @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + select XZQDM, XZQMC, the_geom, BSM, YSDM, fid, import_code from t_gis_xjxzq + + + + + + + + insert into t_gis_xjxzq + + XZQDM, + XZQMC, + the_geom, + BSM, + YSDM, + fid, + import_code, + + + #{XZQDM}, + #{XZQMC}, + #{theGeom}, + #{BSM}, + #{YSDM}, + #{fid}, + #{importCode}, + + + + + insert into t_gis_xjxzq + + XZQDM, + XZQMC, + the_geom, + BSM, + YSDM, + fid, + import_code, + + values + + + #{item.XZQDM}, + #{item.XZQMC}, + #{item.theGeom}, + #{item.BSM}, + #{item.YSDM}, + #{item.fid}, + #{item.importCode}, + + + + + + update t_gis_xjxzq + + XZQMC = #{XZQMC}, + the_geom = #{theGeom}, + BSM = #{BSM}, + YSDM = #{YSDM}, + fid = #{fid}, + import_code = #{importCode}, + + where XZQDM = #{XZQDM} + + + + + + update t_gis_xjxzq + + XZQMC = #{item.XZQMC}, + the_geom = #{item.theGeom}, + BSM = #{item.BSM}, + YSDM = #{item.YSDM}, + fid = #{item.fid}, + import_code = #{item.importCode}, + + where XZQDM = #{item.XZQDM} + + + + + delete from t_gis_xjxzq where XZQDM = #{XZQDM} + + + + delete from t_gis_xjxzq where XZQDM in + + #{XZQDM} + + + diff --git a/ruoyi-business/src/main/resources/mapper/business/TTaskExportMapper.xml b/ruoyi-business/src/main/resources/mapper/business/TTaskExportMapper.xml new file mode 100644 index 0000000..5e9b7d3 --- /dev/null +++ b/ruoyi-business/src/main/resources/mapper/business/TTaskExportMapper.xml @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + select id, dept_id, dept_name, org_code, file_type, coordinate_system, file_url, task_status, create_by, create_time, update_by, update_time from t_task_export + + + + + + + + insert into t_task_export + + dept_id, + dept_name, + org_code, + file_type, + coordinate_system, + file_url, + task_status, + create_by, + create_time, + update_by, + update_time, + + + #{deptId}, + #{deptName}, + #{orgCode}, + #{fileType}, + #{coordinateSystem}, + #{fileUrl}, + #{taskStatus}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + insert into t_task_export + + dept_id, + dept_name, + org_code, + file_type, + coordinate_system, + file_url, + task_status, + create_by, + create_time, + update_by, + update_time, + + values + + + #{item.deptId}, + #{item.deptName}, + #{item.orgCode}, + #{item.fileType}, + #{item.coordinateSystem}, + #{item.fileUrl}, + #{item.taskStatus}, + #{item.createBy}, + #{item.createTime}, + #{item.updateBy}, + #{item.updateTime}, + + + + + + update t_task_export + + dept_id = #{deptId}, + dept_name = #{deptName}, + org_code = #{orgCode}, + file_type = #{fileType}, + coordinate_system = #{coordinateSystem}, + file_url = #{fileUrl}, + task_status = #{taskStatus}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + + + update t_task_export + + dept_id = #{item.deptId}, + dept_name = #{item.deptName}, + org_code = #{item.orgCode}, + file_type = #{item.fileType}, + coordinate_system = #{item.coordinateSystem}, + file_url = #{item.fileUrl}, + task_status = #{item.taskStatus}, + create_by = #{item.createBy}, + create_time = #{item.createTime}, + update_by = #{item.updateBy}, + update_time = #{item.updateTime}, + + where id = #{item.id} + + + + + delete from t_task_export where id = #{id} + + + + delete from t_task_export where id in + + #{id} + + + diff --git a/ruoyi-business/src/main/resources/mapper/business/TTaskImportMapper.xml b/ruoyi-business/src/main/resources/mapper/business/TTaskImportMapper.xml new file mode 100644 index 0000000..21e0ba0 --- /dev/null +++ b/ruoyi-business/src/main/resources/mapper/business/TTaskImportMapper.xml @@ -0,0 +1,164 @@ + + + + + + + + + + + + + + + + + + + + + + select id, dept_id, dept_name, org_code, file_type, import_type, coordinate_system, file_url, task_status, create_by, create_time, update_by, update_time from t_task_import + + + + + + + + insert into t_task_import + + dept_id, + dept_name, + org_code, + file_type, + import_type, + coordinate_system, + file_url, + task_status, + create_by, + create_time, + update_by, + update_time, + + + #{deptId}, + #{deptName}, + #{orgCode}, + #{fileType}, + #{importType}, + #{coordinateSystem}, + #{fileUrl}, + #{taskStatus}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + insert into t_task_import + + dept_id, + dept_name, + org_code, + file_type, + import_type, + coordinate_system, + file_url, + task_status, + create_by, + create_time, + update_by, + update_time, + + values + + + #{item.deptId}, + #{item.deptName}, + #{item.orgCode}, + #{item.fileType}, + #{item.importType}, + #{item.coordinateSystem}, + #{item.fileUrl}, + #{item.taskStatus}, + #{item.createBy}, + #{item.createTime}, + #{item.updateBy}, + #{item.updateTime}, + + + + + + update t_task_import + + dept_id = #{deptId}, + dept_name = #{deptName}, + org_code = #{orgCode}, + file_type = #{fileType}, + import_type = #{importType}, + coordinate_system = #{coordinateSystem}, + file_url = #{fileUrl}, + task_status = #{taskStatus}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + + + update t_task_import + + dept_id = #{item.deptId}, + dept_name = #{item.deptName}, + org_code = #{item.orgCode}, + file_type = #{item.fileType}, + import_type = #{item.importType}, + coordinate_system = #{item.coordinateSystem}, + file_url = #{item.fileUrl}, + task_status = #{item.taskStatus}, + create_by = #{item.createBy}, + create_time = #{item.createTime}, + update_by = #{item.updateBy}, + update_time = #{item.updateTime}, + + where id = #{item.id} + + + + + delete from t_task_import where id = #{id} + + + + delete from t_task_import where id in + + #{id} + + + diff --git a/ruoyi-generator/src/main/resources/vm/java/controller.java.vm b/ruoyi-generator/src/main/resources/vm/java/controller.java.vm index 28af0af..1eb07de 100644 --- a/ruoyi-generator/src/main/resources/vm/java/controller.java.vm +++ b/ruoyi-generator/src/main/resources/vm/java/controller.java.vm @@ -153,7 +153,6 @@ public class ${ClassName}Controller extends BaseController pdf.setTitle("${functionName}"); //pdf.setRowHeight(20f); - FinanceBook book = financeBookService.selectFinanceBookById(getSysUser().getLoginBookid()); ShoulderItem shoulder = new ShoulderItem(); shoulder.setLeftItem("编制单位:"); shoulder.setCenterItem("日期:" ); diff --git a/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm b/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm index e6ba310..4886a8f 100644 --- a/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm +++ b/ruoyi-generator/src/main/resources/vm/java/serviceImpl.java.vm @@ -1,6 +1,8 @@ package ${packageName}.service.impl; import java.util.List; +import java.util.Map; +import com.ruoyi.common.utils.StringUtils; #foreach ($column in $columns) #if($column.javaField == 'createTime' || $column.javaField == 'updateTime') import com.ruoyi.common.utils.DateUtils; diff --git a/ruoyi-generator/src/main/resources/vm/sql/sql.vm b/ruoyi-generator/src/main/resources/vm/sql/sql.vm index c46e032..e81f974 100644 --- a/ruoyi-generator/src/main/resources/vm/sql/sql.vm +++ b/ruoyi-generator/src/main/resources/vm/sql/sql.vm @@ -22,9 +22,9 @@ insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame values('导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', sysdate(), '', null, ''); insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('导入', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', sysdate(), '', null, ''); +values('导入', @parentId, '6', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:export', '#', 'admin', sysdate(), '', null, ''); insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) -values('打印', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:import', '#', 'admin', sysdate(), '', null, ''); +values('打印', @parentId, '7', '#', '', 1, 0, 'F', '0', '0', '${permissionPrefix}:import', '#', 'admin', sysdate(), '', null, ''); diff --git a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm index 9a98ca3..797a590 100644 --- a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm +++ b/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm @@ -117,7 +117,7 @@ #set($comment=$column.columnComment) #end #if($column.pk) - + #elseif($column.list && $column.htmlType == "datetime") #elseif($column.list && $column.htmlType == "imageUpload") @@ -146,11 +146,16 @@ #end #end - + @@ -726,7 +731,7 @@ export default { /** 下载模板操作 */ importTemplate() { this.download('${moduleName}/${businessName}/importTemplate', { - }, `${businessName}_template.xlsx`) + }, `${functionName}_template.xlsx`) }, // 文件上传中处理 handleFileUploadProgress(event, file, fileList) {