diff --git a/src/main/java/com/bonus/aqgqj/basis/controller/ExamineController.java b/src/main/java/com/bonus/aqgqj/basis/controller/ExamineController.java index 541cc67..8522062 100644 --- a/src/main/java/com/bonus/aqgqj/basis/controller/ExamineController.java +++ b/src/main/java/com/bonus/aqgqj/basis/controller/ExamineController.java @@ -1,11 +1,21 @@ package com.bonus.aqgqj.basis.controller; +import com.bonus.aqgqj.annotation.DecryptAndVerify; +import com.bonus.aqgqj.annotation.LogAnnotation; +import com.bonus.aqgqj.basis.entity.dto.ParamsDto; +import com.bonus.aqgqj.basis.entity.vo.ExperimentalVo; import com.bonus.aqgqj.basis.service.ExamineService; +import com.bonus.aqgqj.system.vo.EncryptedReq; +import com.bonus.aqgqj.utils.ServerResponse; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; +import java.util.List; /** * @className:ExamineController @@ -21,4 +31,15 @@ public class ExamineController { @Resource(name = "ExamineService") private ExamineService service; + + @PostMapping(value = "getList") + @DecryptAndVerify(decryptedClass = ParamsDto.class)//加解密统一管理 + @LogAnnotation(operModul = "审查管理", operation = "查询列表", operDesc = "系统级事件", operType = "查询") +// @PreAuthorize("@pms.hasPermission('sys:examine:query')" ) + public ServerResponse getList(EncryptedReq data) { + PageHelper.startPage(data.getData().getPage(), data.getData().getLimit()); + List list = service.getList(data.getData()); + PageInfo pageInfo = new PageInfo<>(list); + return ServerResponse.createSuccessPage(pageInfo, data.getData().getPage(), data.getData().getLimit()); + } } diff --git a/src/main/java/com/bonus/aqgqj/basis/dao/ExamineMapper.java b/src/main/java/com/bonus/aqgqj/basis/dao/ExamineMapper.java index e6fda0f..514a837 100644 --- a/src/main/java/com/bonus/aqgqj/basis/dao/ExamineMapper.java +++ b/src/main/java/com/bonus/aqgqj/basis/dao/ExamineMapper.java @@ -1,7 +1,11 @@ package com.bonus.aqgqj.basis.dao; +import com.bonus.aqgqj.basis.entity.dto.ParamsDto; +import com.bonus.aqgqj.basis.entity.vo.ExperimentalVo; import org.springframework.stereotype.Repository; +import java.util.List; + /** * @className:ExamineMapper * @author:cwchen @@ -11,4 +15,12 @@ import org.springframework.stereotype.Repository; */ @Repository(value = "ExamineMapper") public interface ExamineMapper { + /** + * 试验审查列表 + * @param dto + * @return List + * @author cwchen + * @date 2024/7/23 10:15 + */ + List getList(ParamsDto dto); } diff --git a/src/main/java/com/bonus/aqgqj/basis/entity/dto/ParamsDto.java b/src/main/java/com/bonus/aqgqj/basis/entity/dto/ParamsDto.java index 6b69e90..42da916 100644 --- a/src/main/java/com/bonus/aqgqj/basis/entity/dto/ParamsDto.java +++ b/src/main/java/com/bonus/aqgqj/basis/entity/dto/ParamsDto.java @@ -45,6 +45,16 @@ public class ParamsDto extends PageEntity { */ private Long[] ids; + /** + * 开始时间 + */ + private String startTime; + + /** + * 结束时间 + */ + private String endTime; + /** * 角色编码 */ diff --git a/src/main/java/com/bonus/aqgqj/basis/service/ExamineService.java b/src/main/java/com/bonus/aqgqj/basis/service/ExamineService.java index f5d0e8a..5f5beef 100644 --- a/src/main/java/com/bonus/aqgqj/basis/service/ExamineService.java +++ b/src/main/java/com/bonus/aqgqj/basis/service/ExamineService.java @@ -1,5 +1,10 @@ package com.bonus.aqgqj.basis.service; +import com.bonus.aqgqj.basis.entity.dto.ParamsDto; +import com.bonus.aqgqj.basis.entity.vo.ExperimentalVo; + +import java.util.List; + /** * @className:ExamineService * @author:cwchen @@ -8,4 +13,12 @@ package com.bonus.aqgqj.basis.service; * @description:审查-service */ public interface ExamineService { + /** + * 试验审查列表 + * @param data + * @return List + * @author cwchen + * @date 2024/7/23 10:14 + */ + List getList(ParamsDto data); } diff --git a/src/main/java/com/bonus/aqgqj/basis/service/impl/ExamineServiceImpl.java b/src/main/java/com/bonus/aqgqj/basis/service/impl/ExamineServiceImpl.java index 285d948..4e43dc9 100644 --- a/src/main/java/com/bonus/aqgqj/basis/service/impl/ExamineServiceImpl.java +++ b/src/main/java/com/bonus/aqgqj/basis/service/impl/ExamineServiceImpl.java @@ -1,11 +1,15 @@ package com.bonus.aqgqj.basis.service.impl; import com.bonus.aqgqj.basis.dao.ExamineMapper; +import com.bonus.aqgqj.basis.entity.dto.ParamsDto; +import com.bonus.aqgqj.basis.entity.vo.ExperimentalVo; import com.bonus.aqgqj.basis.service.ExamineService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; /** * @className:ExamineServiceImpl @@ -20,4 +24,15 @@ public class ExamineServiceImpl implements ExamineService { @Resource(name = "ExamineMapper") private ExamineMapper mapper; + + @Override + public List getList(ParamsDto dto) { + List list = new ArrayList<>(); + try { + list = mapper.getList(dto); + } catch (Exception e) { + log.error(e.toString(), e); + } + return list; + } } diff --git a/src/main/resources/mappers/basis/ExamineMapper.xml b/src/main/resources/mappers/basis/ExamineMapper.xml index 507dca2..6350e57 100644 --- a/src/main/resources/mappers/basis/ExamineMapper.xml +++ b/src/main/resources/mappers/basis/ExamineMapper.xml @@ -3,4 +3,93 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + + diff --git a/src/main/resources/mappers/basis/ExperimentalMapper.xml b/src/main/resources/mappers/basis/ExperimentalMapper.xml index 3ccb0e7..9ef0d0c 100644 --- a/src/main/resources/mappers/basis/ExperimentalMapper.xml +++ b/src/main/resources/mappers/basis/ExperimentalMapper.xml @@ -262,7 +262,7 @@ WHEN process_status = 2 AND audti_status = 2 THEN '审核不通过' WHEN process_status = 3 AND audti_status = 0 THEN '待审批' WHEN process_status = 3 AND audti_status = 2 THEN '审批不通过' - WHEN process_status = 4 AND audti_status = 1 THEN '试验结束' + WHEN process_status = 4 AND audti_status = 1 THEN '试验完成' ELSE '待试验' END AS audtiStatus, ts.remarks diff --git a/src/main/resources/static/js/basis/examine.js b/src/main/resources/static/js/basis/examine.js new file mode 100644 index 0000000..b1ee0f8 --- /dev/null +++ b/src/main/resources/static/js/basis/examine.js @@ -0,0 +1,205 @@ +let form, layer, table, tableIns,laydate; +let pageNum = 1, limitSize = 10; // 默认第一页,分页数量为10 +let deviceTypeList = []; +layui.use(['form', 'layer', 'table','laydate'], function () { + form = layui.form; + layer = layui.layer; + table = layui.table; + laydate = layui.laydate; + layui.form.render(); + deviceTypeList = getDictsSelect("dev_code"); + setDictSelectValue(deviceTypeList,'devTypeCode'); + laydate.render({ + elem: '#ID-laydate-rangeLinked', + range: ['#startTime', '#endTime'], + rangeLinked: true // 开启日期范围选择时的区间联动标注模式 --- 2.8+ 新增 + }); + pages(1, 10, 1); +}) + +function pages(pageNum, pageSize, typeNum) { + let params = getReqParams(pageNum, pageSize, typeNum); + $.ajax({ + url: dataUrl + "/examine/getList", + headers: { + "token": tokens + }, + data: params, + type: 'POST', + async: false, + success: 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}) + } + }, error: 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-140", + data: dataList, + limit: limit, + cols: [ + [ + //表头 + { + title: "序号", width: 80, unresize: true, align: "center", + templet: function (d) { + return (page - 1) * limit + d.LAY_NUM; + } + }, + {field: "customName", title: "送样单位", unresize: true, align: "center"}, + {field: "sampleTime", title: "送样时间", unresize: true, align: "center"}, + {field: "sampleDev", title: "送样设备", unresize: true, align: "center"}, + {field: "customNum", title: "送样数量", unresize: true, align: "center"}, + {field: "sampleUserName", title: "收样人", unresize: true, align: "center"}, + {field: "sampleDate", title: "收样时间", unresize: true, align: "center"}, + {field: "teamName", title: "试验班组", unresize: true, align: "center"}, + {field: "audtiStatus", title: "状态", unresize: true, align: "center"}, + { + title: "操作", unresize: true, width: 180, align: "center", + templet: function (d) { + let html = ''; + html += "" + + ""; + return html; + } + }, + ], + ], + 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) { + obj = { + page: page + "", + limit: limit + "", + keyWord: $('#keyWord').val(), + startTime: $('#startTime').val(), + endTime: $('#endTime').val(), + devTypeCode : $('#devTypeCode').val(), + }; + } else { + obj = { + page: '1', + limit: '10', + keyWord: '', + accessType: '', + startTime: '', + endTime: '', + devTypeCode : '' + }; + } + obj = { + encryptedData: encryptCBC(JSON.stringify(obj)) + } + return obj; +} + +// 查询/重置 +function query() { + let pattern = new RegExp("[%_<>]"); + if (pattern.test($("#ip").val())) { + $("#ip").val(''); + return layer.msg('ip查询包含特殊字符,请重新输入', { + icon: 2, + time: 2000 //2秒关闭(如果不配置,默认是3秒) + }); + } + pageNum = 1; + pages(1, limitSize); +} + +function reloadData() { + pages(pageNum, limitSize); +} + +// 新增/修改平台用户 +function addData(id) { + let title = '新增白名单' + if (id) { + title = '修改白名单'; + } + let param = { + 'id': id + } + openIframe2("addOrEditWhite", title, "child/whiteForm.html", '875px', '625px', param); +} + +function addPwdData(id) { + let param = { + 'id': id + } + openIframe2("addOrEditWhite", '密码规则配置', "child/pwdRuleForm.html", '875px', '625px', param); +} + +/*删除白名单*/ +function delData(id) { + layer.confirm("确定删除吗?", { + move: false + }, function () { + let loadingMsg = layer.msg('数据删除中,请稍候...', {icon: 16, scrollbar: false, time: 0}); + let url = dataUrl + "/sys/white/delWhite" + let obj = {'id': id} + let params = { + encryptedData: encryptCBC(JSON.stringify(obj)) + } + ajaxRequest(url, "POST", params, true, function () { + }, function (result) { + layer.close(loadingMsg); // 关闭提示层 + if (result.status === 200) { + parent.layer.msg(result.msg, {icon: 1}) + query() + } else if (result.status === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + layer.close(loadingMsg); // 关闭提示层 + error(xhr) + }); + }) +} + diff --git a/src/main/resources/static/js/select.js b/src/main/resources/static/js/select.js index 64bca91..3dfd43f 100644 --- a/src/main/resources/static/js/select.js +++ b/src/main/resources/static/js/select.js @@ -213,4 +213,35 @@ function setFormSelects2(selName,list) { arr: keys }); layui.form.render(); +} + +/**字典表下拉选*/ +function getDictsSelect(value) { + let data = []; + let url = dataUrl + "/sys/select/getDicts" + let obj = {"code":value} + let params = { + encryptedData: encryptCBC(JSON.stringify(obj)) + } + ajaxRequest(url, "POST", params, false, function () { + }, function (result) { + if (result.status === 200) { + data = result.data; + } else if (result.status === 500) { + layer.alert(result.msg, {icon: 2}) + } + }, function (xhr) { + error(xhr) + }); + return data; +} + +/**字典表下拉选赋值*/ +function setDictSelectValue(list, selectName) { + let html = ''; + $.each(list, function (index, item) { + html += ''; + }) + $('#' + selectName).empty().append(html); + layui.form.render(); } \ No newline at end of file diff --git a/src/main/resources/static/pages/basis/examine.html b/src/main/resources/static/pages/basis/examine.html new file mode 100644 index 0000000..a3924de --- /dev/null +++ b/src/main/resources/static/pages/basis/examine.html @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + 试验数据-审查 + + +
+ +
+
+
+
+
+ + + + + \ No newline at end of file