From 8f2ef810f112b43a38ce1c0f9608dfb3f88c192c Mon Sep 17 00:00:00 2001 From: fl <3098731433@qq.com> Date: Tue, 1 Apr 2025 19:35:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E7=A8=8B=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/controller/ProController.java | 61 ++++++++ .../com/bonus/imgTool/basic/dao/ProDao.java | 14 ++ .../imgTool/basic/service/ProService.java | 16 ++ .../basic/service/impl/ProServiceImpl.java | 44 ++++++ .../bonus/imgTool/basic/vo/dto/ProDto.java | 3 +- .../resources/mappers/basic/ProMapper.xml | 36 +++++ src/main/resources/static/js/pro/pro.js | 137 ++++++++++++++++++ src/main/resources/static/pages/pro/pro.html | 72 +++++++++ 8 files changed, 382 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/bonus/imgTool/basic/controller/ProController.java create mode 100644 src/main/java/com/bonus/imgTool/basic/dao/ProDao.java create mode 100644 src/main/java/com/bonus/imgTool/basic/service/ProService.java create mode 100644 src/main/java/com/bonus/imgTool/basic/service/impl/ProServiceImpl.java create mode 100644 src/main/resources/mappers/basic/ProMapper.xml create mode 100644 src/main/resources/static/js/pro/pro.js create mode 100644 src/main/resources/static/pages/pro/pro.html diff --git a/src/main/java/com/bonus/imgTool/basic/controller/ProController.java b/src/main/java/com/bonus/imgTool/basic/controller/ProController.java new file mode 100644 index 0000000..80d7f22 --- /dev/null +++ b/src/main/java/com/bonus/imgTool/basic/controller/ProController.java @@ -0,0 +1,61 @@ +package com.bonus.imgTool.basic.controller; + +import com.bonus.imgTool.annotation.DecryptAndVerify; +import com.bonus.imgTool.annotation.LogAnnotation; +import com.bonus.imgTool.basic.service.ProService; +import com.bonus.imgTool.basic.service.ProcessService; +import com.bonus.imgTool.basic.vo.ProcessVo; +import com.bonus.imgTool.basic.vo.dto.ProDto; +import com.bonus.imgTool.basic.vo.dto.ProcessDto; +import com.bonus.imgTool.system.vo.EncryptedReq; +import com.bonus.imgTool.utils.ServerResponse; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import java.util.List; + +/** + * @author fly + */ +@RestController +@RequestMapping("/basic/pro/") +@Slf4j +public class ProController { + + @Resource + private ProService service; + + @GetMapping(value = "getProList") + @DecryptAndVerify(decryptedClass = ProDto.class)//加解密统一管理 + @LogAnnotation(operModul = "工程管理", operation = "查询列表", operDesc = "系统级事件",operType="查询") +// @PreAuthorize("@pms.hasPermission('sys:pro:query')" ) + public ServerResponse getProList(EncryptedReq data) { + PageHelper.startPage(data.getData().getPage(), data.getData().getLimit()); + try { + List list = service.getProList(data.getData()); + PageInfo pageInfo = new PageInfo<>(list); + return ServerResponse.createSuccessPage(pageInfo,data.getData().getPage(),data.getData().getLimit()); + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErrorPage(data.getData().getPage(),data.getData().getLimit()); + } + + @GetMapping(value = "updateProList") + @LogAnnotation(operModul = "工程管理", operation = "更新数据", operDesc = "系统级事件",operType="更新") +// @PreAuthorize("@pms.hasPermission('sys:pro:query')" ) + public ServerResponse updateProList() { + try { + service.updateProList(); + return ServerResponse.createSuccess("更新成功"); + }catch (Exception e){ + log.error(e.toString(),e); + } + return ServerResponse.createErroe("更新数据失败"); + } + + +} diff --git a/src/main/java/com/bonus/imgTool/basic/dao/ProDao.java b/src/main/java/com/bonus/imgTool/basic/dao/ProDao.java new file mode 100644 index 0000000..0e33395 --- /dev/null +++ b/src/main/java/com/bonus/imgTool/basic/dao/ProDao.java @@ -0,0 +1,14 @@ +package com.bonus.imgTool.basic.dao; + +import com.bonus.imgTool.basic.vo.ProcessVo; +import com.bonus.imgTool.basic.vo.dto.ProDto; +import com.bonus.imgTool.basic.vo.dto.ProcessDto; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +@Mapper +public interface ProDao { + List getProList(ProDto data); + +} diff --git a/src/main/java/com/bonus/imgTool/basic/service/ProService.java b/src/main/java/com/bonus/imgTool/basic/service/ProService.java new file mode 100644 index 0000000..ec904c0 --- /dev/null +++ b/src/main/java/com/bonus/imgTool/basic/service/ProService.java @@ -0,0 +1,16 @@ +package com.bonus.imgTool.basic.service; + + +import com.bonus.imgTool.basic.vo.ProcessVo; +import com.bonus.imgTool.basic.vo.dto.ProDto; +import com.bonus.imgTool.basic.vo.dto.ProcessDto; +import com.bonus.imgTool.utils.ServerResponse; + +import java.util.List; + +public interface ProService { + + List getProList(ProDto data); + + void updateProList(); +} diff --git a/src/main/java/com/bonus/imgTool/basic/service/impl/ProServiceImpl.java b/src/main/java/com/bonus/imgTool/basic/service/impl/ProServiceImpl.java new file mode 100644 index 0000000..b8af9db --- /dev/null +++ b/src/main/java/com/bonus/imgTool/basic/service/impl/ProServiceImpl.java @@ -0,0 +1,44 @@ +package com.bonus.imgTool.basic.service.impl; + +import com.bonus.imgTool.basic.dao.ProDao; +import com.bonus.imgTool.basic.dao.ProcessDao; +import com.bonus.imgTool.basic.service.ProService; +import com.bonus.imgTool.basic.service.ProcessService; +import com.bonus.imgTool.basic.vo.ProcessVo; +import com.bonus.imgTool.basic.vo.dto.ProDto; +import com.bonus.imgTool.basic.vo.dto.ProcessDto; +import com.bonus.imgTool.system.vo.LoginUser; +import com.bonus.imgTool.task.job.ProPullTask; +import com.bonus.imgTool.utils.ServerResponse; +import com.bonus.imgTool.utils.UserUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + + +@Service +public class ProServiceImpl implements ProService { + + private static final Logger log = LoggerFactory.getLogger("SelectServiceImpl"); + + @Resource + private ProDao dao; + + @Resource + private ProPullTask proPullTask; + + + @Override + public List getProList(ProDto data) { + return dao.getProList(data); + } + + @Override + public void updateProList() { + proPullTask.getAttTempDataTask(); + } + +} diff --git a/src/main/java/com/bonus/imgTool/basic/vo/dto/ProDto.java b/src/main/java/com/bonus/imgTool/basic/vo/dto/ProDto.java index d314e0f..8095315 100644 --- a/src/main/java/com/bonus/imgTool/basic/vo/dto/ProDto.java +++ b/src/main/java/com/bonus/imgTool/basic/vo/dto/ProDto.java @@ -1,5 +1,6 @@ package com.bonus.imgTool.basic.vo.dto; +import com.bonus.imgTool.base.entity.PageEntity; import lombok.Data; /** @@ -10,7 +11,7 @@ import lombok.Data; * @description:下拉选-dto */ @Data -public class ProDto { +public class ProDto extends PageEntity { /** diff --git a/src/main/resources/mappers/basic/ProMapper.xml b/src/main/resources/mappers/basic/ProMapper.xml new file mode 100644 index 0000000..87eead2 --- /dev/null +++ b/src/main/resources/mappers/basic/ProMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + diff --git a/src/main/resources/static/js/pro/pro.js b/src/main/resources/static/js/pro/pro.js new file mode 100644 index 0000000..d6c992c --- /dev/null +++ b/src/main/resources/static/js/pro/pro.js @@ -0,0 +1,137 @@ +let form, layer, dtree, table, tableIns; +let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 +let orgData,selectOrgId=""; + +layui.config({ + base: "../../js/layui-v2.6.8/dtree/", //此处路径请自行处理, 可以使用绝对路径 +}).extend({ + dtree: 'dtree' +}).use(['form', 'layer', 'table','dtree', 'laydate'], function () { + form = layui.form; + layer = layui.layer; + table = layui.table; + dtree = layui.dtree; + layui.form.render(); + pages(1, 10, 1); +}) + +function pages(pageNum, pageSize, typeNum) { + let params = getReqParams(pageNum, pageSize, typeNum); + let url = dataUrl + "/basic/pro/getProList" + ajaxRequest(url, "GET", params, true, function () { + }, function (result) { + console.log(result); + if (result.code === 200) { + if (result.data) { + initTable(result.data, result.limit, result.curr) + laypages(result.count, result.curr, result.limit) + } + } else if (result.code === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); + +} + +function laypages(total, page, limit) { + layui.use(['laypage'], function () { + let laypage = layui.laypage; + laypage.render({ + elem: 'voi-page', + count: total, + curr: page, + limit: limit, + limits: [10, 20, 50, 100, 200, 500], + layout: ['prev', 'page', 'next', 'skip', 'count', 'limit'], + groups: 5, + jump: function (obj, first) { + if (!first) { + pageNum = obj.curr, limitSize = obj.limit; + pages(obj.curr, obj.limit, null); + } + } + }); + }) +} + +/*初始化表格*/ +function initTable(dataList, limit, page) { + let loadingMsg = layer.msg("数据加载中,请稍候...", {icon: 16, scrollbar: false, time: 0,}); + tableIns = table.render({ + elem: "#table_data", + height: "full-130", + data: dataList, + limit: limit, + cols: [ + [ + //表头 + {title: "序号", width: 80, unresize: true, align: "center", + templet: function (d) { + return (page - 1) * limit + d.LAY_INDEX; + } + }, + {field: "companyName", title: "分公司/组织", unresize: true, align: "center"}, + {field: "proName", title: "项目名称", unresize: true, align: "center"}, + {field: "proType", title: "工程类型", align: "center",templet: 'center'}, + {field: "voltageLevel", title: "电压等级", align: "center",templet: 'center'}, + {field: "origin", title: "工程地址", align: "center",templet: 'center'}, + {field: "status", title: "工程状态", align: "center",templet: 'center'}, + ], + ], + done: function (res, curr, count) { + layer.close(loadingMsg); + table.resize("table_data"); + count || this.elem.next(".layui-table-view").find(".layui-table-header").css("display", "inline-block"); + count || this.elem.next(".layui-table-view").find(".layui-table-box").css("overflow", "auto"); + }, + }); +} + + +// 获取参数 +function getReqParams(page, limit, type) { + let obj = {}; + if (type === 2) { + $('#companyName').val('') + $('#proName').val('') + $('#status').val('') + layui.form.render(); + } + obj = { + page: page + "", + limit: limit + "", + companyName: $('#companyName').val(), + proName: $('#proName').val(), + status: $('#status').val(), + }; + obj={ + encryptedData:encryptCBC(JSON.stringify(obj)) + } + return obj; +} + +// 查询/重置 +function query(type) { + pageNum = 1; + pages(1, limitSize,type); +} + + +// 查询/重置 +function updatePro() { + let url = dataUrl + "/basic/pro/updateProList" + ajaxRequest(url, "GET", "", true, function () { + }, function (result) { + layer.msg(result.data, { + time: 1000 // 显示时间,单位为毫秒,默认为3秒,这里设置为2秒 + }, function(){ + query(1); // 在消息关闭后执行查询操作 + }); + }, function (xhr) { + error(xhr) + }); +} + + diff --git a/src/main/resources/static/pages/pro/pro.html b/src/main/resources/static/pages/pro/pro.html new file mode 100644 index 0000000..ffdde48 --- /dev/null +++ b/src/main/resources/static/pages/pro/pro.html @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + 工序管理 + + +
+ +
+
+
+
+
+ + + + + \ No newline at end of file