diff --git a/ruoyi-ui/public/index.html b/ruoyi-ui/public/index.html index 4d44fb26..c473236b 100644 --- a/ruoyi-ui/public/index.html +++ b/ruoyi-ui/public/index.html @@ -9,8 +9,7 @@ - + src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=6zAD8CIavtzWnkGg0a7roush5maGMIPn"> <%= webpackConfig.name %> diff --git a/ruoyi-ui/src/App.vue b/ruoyi-ui/src/App.vue index 294d63c3..da43eed1 100644 --- a/ruoyi-ui/src/App.vue +++ b/ruoyi-ui/src/App.vue @@ -27,6 +27,14 @@ export default { } \ No newline at end of file + padding: 8px 16px; + background-color: #f0f9eb; + border-radius: 4px; + border-left: 5px solid #67c23a; + margin: 20px 0; + font-size: 13px; + margin-top: 10px; +} + diff --git a/ruoyi-ui/src/views/system/user/profile/index.vue b/ruoyi-ui/src/views/system/user/profile/index.vue index a9da4fa5..82364b55 100644 --- a/ruoyi-ui/src/views/system/user/profile/index.vue +++ b/ruoyi-ui/src/views/system/user/profile/index.vue @@ -44,7 +44,7 @@
基本资料
- + diff --git a/ruoyi-ui/src/views/tool/build/RightPanel.vue b/ruoyi-ui/src/views/tool/build/RightPanel.vue index 418876ce..efcbc3a7 100644 --- a/ruoyi-ui/src/views/tool/build/RightPanel.vue +++ b/ruoyi-ui/src/views/tool/build/RightPanel.vue @@ -1,6 +1,6 @@ -
{{ drawerTitle + " 【应急演练管理】" }}
-
{{ drawerTitle + " 【阅读详情】" }}
- - + diff --git a/ruoyi-ui/src/views/work/workTrain/workTrainDrawer.vue b/ruoyi-ui/src/views/work/workTrain/workTrainDrawer.vue index a8bb3456..b3f652d5 100644 --- a/ruoyi-ui/src/views/work/workTrain/workTrainDrawer.vue +++ b/ruoyi-ui/src/views/work/workTrain/workTrainDrawer.vue @@ -10,7 +10,7 @@ - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- 确 定 提 交 投 诉 +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ 确 定 提 交 投 诉 +
+
+
+ +
+ + + +
+
+ +
+ + + +
+
+ +
+ + + + + + + +
+ {{ buttonText }} +
+
+
+
+
+
+
+
+
+
+ {{ index < 9 ? "0" + (index + 1) : index + 1 }} +
+
+ 投诉时间:{{ item.createTime }} +
+
+
+
+
+
+
+ 项目名称:{{ item.projectName }} +
+
+ 总包单位:{{ item.deptName }} +
+
+ 分包单位:{{ item.subDeptName }} +
+
+ 欠薪人数:{{ item.laborNumber }} +
+
+ 欠薪金额:{{ item.laborAmount }} +
+
+ +
+
+
+
+ 原因说明:{{ item.laborReason }} +
+
+ + + {{ nav == index ? "收起" : "展开" }}流程详细信息 + + +
+
+ + + {{ + node.flowNode == "0" + ? node.createBy + " 提交投诉" + : node.flowNodeName + }} + +

{{ node.flowComment }}

+

+ +

+
+
+
+
+
+
+
+
+
+
+ +
暂 无 投 诉 信 息
+
+
+ diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/controller/FlowLabourAuditNodeController.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/controller/FlowLabourAuditNodeController.java new file mode 100644 index 00000000..2c92e426 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/controller/FlowLabourAuditNodeController.java @@ -0,0 +1,123 @@ +package com.yanzhu.jh.flow.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.common.annotation.Anonymous; +import com.ruoyi.common.annotation.RateLimiter; +import com.ruoyi.common.enums.LimitType; +import com.yanzhu.jh.flow.domain.FlowLabourInfo; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.yanzhu.jh.flow.domain.FlowLabourAuditNode; +import com.yanzhu.jh.flow.service.IFlowLabourAuditNodeService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 劳资投诉审批节点Controller + * + * @author JiangYuQi + * @date 2024-04-20 + */ +@RestController +@RequestMapping("/flow/flowLabourAuditNode") +public class FlowLabourAuditNodeController extends BaseController +{ + @Autowired + private IFlowLabourAuditNodeService flowLabourAuditNodeService; + + /** + * 查询劳资投诉审批节点列表 + */ + @PreAuthorize("@ss.hasPermi('flow:flowLabourAuditNode:list')") + @GetMapping("/list") + public TableDataInfo list(FlowLabourAuditNode flowLabourAuditNode) + { + startPage(); + List list = flowLabourAuditNodeService.selectFlowLabourAuditNodeList(flowLabourAuditNode); + return getDataTable(list); + } + + /** + * 导出劳资投诉审批节点列表 + */ + @PreAuthorize("@ss.hasPermi('flow:flowLabourAuditNode:export')") + @Log(title = "劳资投诉审批节点", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, FlowLabourAuditNode flowLabourAuditNode) + { + List list = flowLabourAuditNodeService.selectFlowLabourAuditNodeList(flowLabourAuditNode); + ExcelUtil util = new ExcelUtil(FlowLabourAuditNode.class); + util.exportExcel(response, list, "劳资投诉审批节点数据"); + } + + /** + * 获取劳资投诉审批节点详细信息 + */ + @PreAuthorize("@ss.hasPermi('flow:flowLabourAuditNode:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(flowLabourAuditNodeService.selectFlowLabourAuditNodeById(id)); + } + + /** + * 新增劳资投诉审批节点 + */ + @PreAuthorize("@ss.hasPermi('flow:flowLabourAuditNode:add')") + @Log(title = "劳资投诉审批节点", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FlowLabourAuditNode flowLabourAuditNode) + { + return toAjax(flowLabourAuditNodeService.insertFlowLabourAuditNode(flowLabourAuditNode)); + } + + /** + * 修改劳资投诉审批节点 + */ + @PreAuthorize("@ss.hasPermi('flow:flowLabourAuditNode:edit')") + @Log(title = "劳资投诉审批节点", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FlowLabourAuditNode flowLabourAuditNode) + { + return toAjax(flowLabourAuditNodeService.updateFlowLabourAuditNode(flowLabourAuditNode)); + } + + /** + * 删除劳资投诉审批节点 + */ + @PreAuthorize("@ss.hasPermi('flow:flowLabourAuditNode:remove')") + @Log(title = "劳资投诉审批节点", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(flowLabourAuditNodeService.deleteFlowLabourAuditNodeByIds(ids)); + } + + /** + * 新增劳资投诉 + */ + @Anonymous + @GetMapping("/findMyFlowLabourNodes/{flowId}") + @RateLimiter(count = 10, limitType = LimitType.IP) + public AjaxResult findMyFlowLabours(@PathVariable("flowId") Long flowId) + { + FlowLabourAuditNode flowLabourAuditNode = new FlowLabourAuditNode(); + flowLabourAuditNode.setFlowId(flowId); + List list = flowLabourAuditNodeService.selectFlowLabourAuditNodeList(flowLabourAuditNode); + return success(list); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/controller/FlowLabourInfoController.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/controller/FlowLabourInfoController.java new file mode 100644 index 00000000..1c8d487a --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/controller/FlowLabourInfoController.java @@ -0,0 +1,122 @@ +package com.yanzhu.jh.flow.controller; + +import java.util.List; +import javax.servlet.http.HttpServletResponse; + +import com.ruoyi.common.annotation.Anonymous; +import com.ruoyi.common.annotation.RateLimiter; +import com.ruoyi.common.enums.LimitType; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.yanzhu.jh.flow.domain.FlowLabourInfo; +import com.yanzhu.jh.flow.service.IFlowLabourInfoService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 劳资投诉Controller + * + * @author JiangYuQi + * @date 2024-04-19 + */ +@RestController +@RequestMapping("/flow/flowLabourInfo") +public class FlowLabourInfoController extends BaseController +{ + @Autowired + private IFlowLabourInfoService flowLabourInfoService; + + /** + * 查询劳资投诉列表 + */ + @PreAuthorize("@ss.hasPermi('flow:flowLabourInfo:list')") + @GetMapping("/list") + public TableDataInfo list(FlowLabourInfo flowLabourInfo) + { + startPage(); + List list = flowLabourInfoService.selectFlowLabourInfoList(flowLabourInfo); + return getDataTable(list); + } + + /** + * 导出劳资投诉列表 + */ + @PreAuthorize("@ss.hasPermi('flow:flowLabourInfo:export')") + @Log(title = "劳资投诉", businessType = BusinessType.EXPORT) + @PostMapping("/export") + public void export(HttpServletResponse response, FlowLabourInfo flowLabourInfo) + { + List list = flowLabourInfoService.selectFlowLabourInfoList(flowLabourInfo); + ExcelUtil util = new ExcelUtil(FlowLabourInfo.class); + util.exportExcel(response, list, "劳资投诉数据"); + } + + /** + * 获取劳资投诉详细信息 + */ + @PreAuthorize("@ss.hasPermi('flow:flowLabourInfo:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) + { + return success(flowLabourInfoService.selectFlowLabourInfoById(id)); + } + + /** + * 新增劳资投诉 + */ + @Anonymous + @PostMapping + @RateLimiter(count = 10, limitType = LimitType.IP) + public AjaxResult add(@RequestBody FlowLabourInfo flowLabourInfo) + { + return flowLabourInfoService.insertFlowLabourInfo(flowLabourInfo); + } + + /** + * 新增劳资投诉 + */ + @Anonymous + @GetMapping("/findMyFlowLabours/{cardId}") + @RateLimiter(count = 10, limitType = LimitType.IP) + public AjaxResult findMyFlowLabours(@PathVariable("cardId") String cardId) + { + FlowLabourInfo flowLabourInfo = new FlowLabourInfo(); + flowLabourInfo.setLaborCardId(cardId); + List list = flowLabourInfoService.selectFlowLabourInfoList(flowLabourInfo); + return success(list); + } + + /** + * 修改劳资投诉 + */ + @PreAuthorize("@ss.hasPermi('flow:flowLabourInfo:edit')") + @Log(title = "劳资投诉", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FlowLabourInfo flowLabourInfo) + { + return toAjax(flowLabourInfoService.updateFlowLabourInfo(flowLabourInfo)); + } + + /** + * 删除劳资投诉 + */ + @PreAuthorize("@ss.hasPermi('flow:flowLabourInfo:remove')") + @Log(title = "劳资投诉", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) + { + return toAjax(flowLabourInfoService.deleteFlowLabourInfoByIds(ids)); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/domain/FlowLabourAuditNode.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/domain/FlowLabourAuditNode.java new file mode 100644 index 00000000..9a735d8e --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/domain/FlowLabourAuditNode.java @@ -0,0 +1,142 @@ +package com.yanzhu.jh.flow.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; + +/** + * 劳资投诉审批节点对象 flow_labour_audit_node + * + * @author JiangYuQi + * @date 2024-04-20 + */ +public class FlowLabourAuditNode extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 审批流id */ + @Excel(name = "审批流id") + private Long flowId; + + /** 审批节点 */ + @Excel(name = "审批节点") + private String flowNode; + + /** 审批结果 */ + @Excel(name = "审批结果") + private String flowResult; + + /** 审批意见 */ + @Excel(name = "审批意见") + private String flowComment; + + /** 凭证附件 */ + @Excel(name = "凭证附件") + private String files; + + /** 是否有效 */ + @Excel(name = "是否有效") + private String isDel; + + private String flowNodeName; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setFlowId(Long flowId) + { + this.flowId = flowId; + } + + public Long getFlowId() + { + return flowId; + } + public void setFlowNode(String flowNode) + { + this.flowNode = flowNode; + } + + public String getFlowNode() + { + return flowNode; + } + public void setFlowResult(String flowResult) + { + this.flowResult = flowResult; + } + + public String getFlowResult() + { + return flowResult; + } + public void setFlowComment(String flowComment) + { + this.flowComment = flowComment; + } + + public String getFlowComment() + { + return flowComment; + } + public void setFiles(String files) + { + this.files = files; + } + + public String getFiles() + { + return files; + } + public void setIsDel(String isDel) + { + this.isDel = isDel; + } + + public String getIsDel() + { + return isDel; + } + + public String getFlowNodeName() { + return flowNodeName; + } + + public void setFlowNodeName(String flowNodeName) { + if(flowNodeName.startsWith("待")){ + flowNodeName = flowNodeName.replace("待",""); + flowNodeName = flowNodeName + "通过"; + this.flowNodeName = flowNodeName; + }else{ + this.flowNodeName = flowNodeName; + } + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("flowId", getFlowId()) + .append("flowNode", getFlowNode()) + .append("flowResult", getFlowResult()) + .append("flowComment", getFlowComment()) + .append("files", getFiles()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/domain/FlowLabourInfo.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/domain/FlowLabourInfo.java new file mode 100644 index 00000000..6235305c --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/domain/FlowLabourInfo.java @@ -0,0 +1,252 @@ +package com.yanzhu.jh.flow.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; + +/** + * 劳资投诉对象 flow_labour_info + * + * @author JiangYuQi + * @date 2024-04-19 + */ +public class FlowLabourInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 所属项目 */ + @Excel(name = "所属项目") + private Long projectId; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String projectName; + + /** 总包单位 */ + @Excel(name = "总包单位") + private Long deptId; + + /** 总包单位名称 */ + @Excel(name = "总包单位名称") + private String deptName; + + /** 分包单位 */ + @Excel(name = "分包单位") + private Long subDeptId; + + /** 分包单位名称 */ + @Excel(name = "分包单位名称") + private String subDeptName; + + /** 劳工名称 */ + @Excel(name = "劳工名称") + private String laborName; + + /** 身份证号 */ + @Excel(name = "身份证号") + private String laborCardId; + + /** 联系电话 */ + @Excel(name = "联系电话") + private String laborPhone; + + /** 欠薪人数 */ + @Excel(name = "欠薪人数") + private Long laborNumber; + + /** 欠薪金额 */ + @Excel(name = "欠薪金额") + private Long laborAmount; + + /** 欠薪原因说明 */ + @Excel(name = "欠薪原因说明") + private String laborReason; + + /** 附件凭证 */ + @Excel(name = "附件凭证") + private String files; + + /** 审核状态 */ + @Excel(name = "审核状态") + private String approveStatus; + + /** 是否有效 */ + @Excel(name = "是否有效") + private Long isDel; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setProjectId(Long projectId) + { + this.projectId = projectId; + } + + public Long getProjectId() + { + return projectId; + } + public void setProjectName(String projectName) + { + this.projectName = projectName; + } + + public String getProjectName() + { + return projectName; + } + 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 setSubDeptId(Long subDeptId) + { + this.subDeptId = subDeptId; + } + + public Long getSubDeptId() + { + return subDeptId; + } + public void setSubDeptName(String subDeptName) + { + this.subDeptName = subDeptName; + } + + public String getSubDeptName() + { + return subDeptName; + } + public void setLaborName(String laborName) + { + this.laborName = laborName; + } + + public String getLaborName() + { + return laborName; + } + public void setLaborCardId(String laborCardId) + { + this.laborCardId = laborCardId; + } + + public String getLaborCardId() + { + return laborCardId; + } + public void setLaborPhone(String laborPhone) + { + this.laborPhone = laborPhone; + } + + public String getLaborPhone() + { + return laborPhone; + } + public void setLaborNumber(Long laborNumber) + { + this.laborNumber = laborNumber; + } + + public Long getLaborNumber() + { + return laborNumber; + } + public void setLaborAmount(Long laborAmount) + { + this.laborAmount = laborAmount; + } + + public Long getLaborAmount() + { + return laborAmount; + } + public void setLaborReason(String laborReason) + { + this.laborReason = laborReason; + } + + public String getLaborReason() + { + return laborReason; + } + public void setFiles(String files) + { + this.files = files; + } + + public String getFiles() + { + return files; + } + public void setApproveStatus(String approveStatus) + { + this.approveStatus = approveStatus; + } + + public String getApproveStatus() + { + return approveStatus; + } + public void setIsDel(Long isDel) + { + this.isDel = isDel; + } + + public Long getIsDel() + { + return isDel; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("projectId", getProjectId()) + .append("projectName", getProjectName()) + .append("deptId", getDeptId()) + .append("deptName", getDeptName()) + .append("subDeptId", getSubDeptId()) + .append("subDeptName", getSubDeptName()) + .append("laborName", getLaborName()) + .append("laborCardid", getLaborCardId()) + .append("laborPhone", getLaborPhone()) + .append("laborNumber", getLaborNumber()) + .append("laborAmount", getLaborAmount()) + .append("laborReason", getLaborReason()) + .append("files", getFiles()) + .append("approveStatus", getApproveStatus()) + .append("isDel", getIsDel()) + .append("createBy", getCreateBy()) + .append("createTime", getCreateTime()) + .append("updateBy", getUpdateBy()) + .append("updateTime", getUpdateTime()) + .append("remark", getRemark()) + .toString(); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/mapper/FlowLabourAuditNodeMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/mapper/FlowLabourAuditNodeMapper.java new file mode 100644 index 00000000..743add37 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/mapper/FlowLabourAuditNodeMapper.java @@ -0,0 +1,61 @@ +package com.yanzhu.jh.flow.mapper; + +import java.util.List; +import com.yanzhu.jh.flow.domain.FlowLabourAuditNode; + +/** + * 劳资投诉审批节点Mapper接口 + * + * @author JiangYuQi + * @date 2024-04-20 + */ +public interface FlowLabourAuditNodeMapper +{ + /** + * 查询劳资投诉审批节点 + * + * @param id 劳资投诉审批节点主键 + * @return 劳资投诉审批节点 + */ + public FlowLabourAuditNode selectFlowLabourAuditNodeById(Long id); + + /** + * 查询劳资投诉审批节点列表 + * + * @param flowLabourAuditNode 劳资投诉审批节点 + * @return 劳资投诉审批节点集合 + */ + public List selectFlowLabourAuditNodeList(FlowLabourAuditNode flowLabourAuditNode); + + /** + * 新增劳资投诉审批节点 + * + * @param flowLabourAuditNode 劳资投诉审批节点 + * @return 结果 + */ + public int insertFlowLabourAuditNode(FlowLabourAuditNode flowLabourAuditNode); + + /** + * 修改劳资投诉审批节点 + * + * @param flowLabourAuditNode 劳资投诉审批节点 + * @return 结果 + */ + public int updateFlowLabourAuditNode(FlowLabourAuditNode flowLabourAuditNode); + + /** + * 删除劳资投诉审批节点 + * + * @param id 劳资投诉审批节点主键 + * @return 结果 + */ + public int deleteFlowLabourAuditNodeById(Long id); + + /** + * 批量删除劳资投诉审批节点 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteFlowLabourAuditNodeByIds(Long[] ids); +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/mapper/FlowLabourInfoMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/mapper/FlowLabourInfoMapper.java new file mode 100644 index 00000000..d904ce04 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/mapper/FlowLabourInfoMapper.java @@ -0,0 +1,61 @@ +package com.yanzhu.jh.flow.mapper; + +import java.util.List; +import com.yanzhu.jh.flow.domain.FlowLabourInfo; + +/** + * 劳资投诉Mapper接口 + * + * @author JiangYuQi + * @date 2024-04-19 + */ +public interface FlowLabourInfoMapper +{ + /** + * 查询劳资投诉 + * + * @param id 劳资投诉主键 + * @return 劳资投诉 + */ + public FlowLabourInfo selectFlowLabourInfoById(Long id); + + /** + * 查询劳资投诉列表 + * + * @param flowLabourInfo 劳资投诉 + * @return 劳资投诉集合 + */ + public List selectFlowLabourInfoList(FlowLabourInfo flowLabourInfo); + + /** + * 新增劳资投诉 + * + * @param flowLabourInfo 劳资投诉 + * @return 结果 + */ + public int insertFlowLabourInfo(FlowLabourInfo flowLabourInfo); + + /** + * 修改劳资投诉 + * + * @param flowLabourInfo 劳资投诉 + * @return 结果 + */ + public int updateFlowLabourInfo(FlowLabourInfo flowLabourInfo); + + /** + * 删除劳资投诉 + * + * @param id 劳资投诉主键 + * @return 结果 + */ + public int deleteFlowLabourInfoById(Long id); + + /** + * 批量删除劳资投诉 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteFlowLabourInfoByIds(Long[] ids); +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/service/IFlowLabourAuditNodeService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/service/IFlowLabourAuditNodeService.java new file mode 100644 index 00000000..93a11f45 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/service/IFlowLabourAuditNodeService.java @@ -0,0 +1,61 @@ +package com.yanzhu.jh.flow.service; + +import java.util.List; +import com.yanzhu.jh.flow.domain.FlowLabourAuditNode; + +/** + * 劳资投诉审批节点Service接口 + * + * @author JiangYuQi + * @date 2024-04-20 + */ +public interface IFlowLabourAuditNodeService +{ + /** + * 查询劳资投诉审批节点 + * + * @param id 劳资投诉审批节点主键 + * @return 劳资投诉审批节点 + */ + public FlowLabourAuditNode selectFlowLabourAuditNodeById(Long id); + + /** + * 查询劳资投诉审批节点列表 + * + * @param flowLabourAuditNode 劳资投诉审批节点 + * @return 劳资投诉审批节点集合 + */ + public List selectFlowLabourAuditNodeList(FlowLabourAuditNode flowLabourAuditNode); + + /** + * 新增劳资投诉审批节点 + * + * @param flowLabourAuditNode 劳资投诉审批节点 + * @return 结果 + */ + public int insertFlowLabourAuditNode(FlowLabourAuditNode flowLabourAuditNode); + + /** + * 修改劳资投诉审批节点 + * + * @param flowLabourAuditNode 劳资投诉审批节点 + * @return 结果 + */ + public int updateFlowLabourAuditNode(FlowLabourAuditNode flowLabourAuditNode); + + /** + * 批量删除劳资投诉审批节点 + * + * @param ids 需要删除的劳资投诉审批节点主键集合 + * @return 结果 + */ + public int deleteFlowLabourAuditNodeByIds(Long[] ids); + + /** + * 删除劳资投诉审批节点信息 + * + * @param id 劳资投诉审批节点主键 + * @return 结果 + */ + public int deleteFlowLabourAuditNodeById(Long id); +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/service/IFlowLabourInfoService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/service/IFlowLabourInfoService.java new file mode 100644 index 00000000..4fb6c998 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/service/IFlowLabourInfoService.java @@ -0,0 +1,63 @@ +package com.yanzhu.jh.flow.service; + +import java.util.List; + +import com.ruoyi.common.core.domain.AjaxResult; +import com.yanzhu.jh.flow.domain.FlowLabourInfo; + +/** + * 劳资投诉Service接口 + * + * @author JiangYuQi + * @date 2024-04-19 + */ +public interface IFlowLabourInfoService +{ + /** + * 查询劳资投诉 + * + * @param id 劳资投诉主键 + * @return 劳资投诉 + */ + public FlowLabourInfo selectFlowLabourInfoById(Long id); + + /** + * 查询劳资投诉列表 + * + * @param flowLabourInfo 劳资投诉 + * @return 劳资投诉集合 + */ + public List selectFlowLabourInfoList(FlowLabourInfo flowLabourInfo); + + /** + * 新增劳资投诉 + * + * @param flowLabourInfo 劳资投诉 + * @return 结果 + */ + public AjaxResult insertFlowLabourInfo(FlowLabourInfo flowLabourInfo); + + /** + * 修改劳资投诉 + * + * @param flowLabourInfo 劳资投诉 + * @return 结果 + */ + public int updateFlowLabourInfo(FlowLabourInfo flowLabourInfo); + + /** + * 批量删除劳资投诉 + * + * @param ids 需要删除的劳资投诉主键集合 + * @return 结果 + */ + public int deleteFlowLabourInfoByIds(Long[] ids); + + /** + * 删除劳资投诉信息 + * + * @param id 劳资投诉主键 + * @return 结果 + */ + public int deleteFlowLabourInfoById(Long id); +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/service/impl/FlowLabourAuditNodeServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/service/impl/FlowLabourAuditNodeServiceImpl.java new file mode 100644 index 00000000..7c0e23b4 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/service/impl/FlowLabourAuditNodeServiceImpl.java @@ -0,0 +1,97 @@ +package com.yanzhu.jh.flow.service.impl; + +import java.util.List; +import com.ruoyi.common.utils.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.yanzhu.jh.flow.mapper.FlowLabourAuditNodeMapper; +import com.yanzhu.jh.flow.domain.FlowLabourAuditNode; +import com.yanzhu.jh.flow.service.IFlowLabourAuditNodeService; +import com.ruoyi.common.utils.SecurityUtils; +/** + * 劳资投诉审批节点Service业务层处理 + * + * @author JiangYuQi + * @date 2024-04-20 + */ +@Service +public class FlowLabourAuditNodeServiceImpl implements IFlowLabourAuditNodeService +{ + @Autowired + private FlowLabourAuditNodeMapper flowLabourAuditNodeMapper; + + /** + * 查询劳资投诉审批节点 + * + * @param id 劳资投诉审批节点主键 + * @return 劳资投诉审批节点 + */ + @Override + public FlowLabourAuditNode selectFlowLabourAuditNodeById(Long id) + { + return flowLabourAuditNodeMapper.selectFlowLabourAuditNodeById(id); + } + + /** + * 查询劳资投诉审批节点列表 + * + * @param flowLabourAuditNode 劳资投诉审批节点 + * @return 劳资投诉审批节点 + */ + @Override + public List selectFlowLabourAuditNodeList(FlowLabourAuditNode flowLabourAuditNode) + { + return flowLabourAuditNodeMapper.selectFlowLabourAuditNodeList(flowLabourAuditNode); + } + + /** + * 新增劳资投诉审批节点 + * + * @param flowLabourAuditNode 劳资投诉审批节点 + * @return 结果 + */ + @Override + public int insertFlowLabourAuditNode(FlowLabourAuditNode flowLabourAuditNode) + { + flowLabourAuditNode.setCreateTime(DateUtils.getNowDate()); + return flowLabourAuditNodeMapper.insertFlowLabourAuditNode(flowLabourAuditNode); + } + + /** + * 修改劳资投诉审批节点 + * + * @param flowLabourAuditNode 劳资投诉审批节点 + * @return 结果 + */ + @Override + public int updateFlowLabourAuditNode(FlowLabourAuditNode flowLabourAuditNode) + { + flowLabourAuditNode.setUpdateBy(SecurityUtils.getUsername()); + flowLabourAuditNode.setUpdateTime(DateUtils.getNowDate()); + return flowLabourAuditNodeMapper.updateFlowLabourAuditNode(flowLabourAuditNode); + } + + /** + * 批量删除劳资投诉审批节点 + * + * @param ids 需要删除的劳资投诉审批节点主键 + * @return 结果 + */ + @Override + public int deleteFlowLabourAuditNodeByIds(Long[] ids) + { + return flowLabourAuditNodeMapper.deleteFlowLabourAuditNodeByIds(ids); + } + + /** + * 删除劳资投诉审批节点信息 + * + * @param id 劳资投诉审批节点主键 + * @return 结果 + */ + @Override + public int deleteFlowLabourAuditNodeById(Long id) + { + return flowLabourAuditNodeMapper.deleteFlowLabourAuditNodeById(id); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/service/impl/FlowLabourInfoServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/service/impl/FlowLabourInfoServiceImpl.java new file mode 100644 index 00000000..1271f4d1 --- /dev/null +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/flow/service/impl/FlowLabourInfoServiceImpl.java @@ -0,0 +1,124 @@ +package com.yanzhu.jh.flow.service.impl; + +import java.util.Date; +import java.util.List; + +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import com.yanzhu.jh.flow.domain.FlowLabourAuditNode; +import com.yanzhu.jh.flow.mapper.FlowLabourAuditNodeMapper; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.yanzhu.jh.flow.mapper.FlowLabourInfoMapper; +import com.yanzhu.jh.flow.domain.FlowLabourInfo; +import com.yanzhu.jh.flow.service.IFlowLabourInfoService; +import com.ruoyi.common.utils.SecurityUtils; +/** + * 劳资投诉Service业务层处理 + * + * @author JiangYuQi + * @date 2024-04-19 + */ +@Service +public class FlowLabourInfoServiceImpl implements IFlowLabourInfoService +{ + @Autowired + private FlowLabourInfoMapper flowLabourInfoMapper; + + @Autowired + private FlowLabourAuditNodeMapper flowLabourAuditNodeMapper; + + /** + * 查询劳资投诉 + * + * @param id 劳资投诉主键 + * @return 劳资投诉 + */ + @Override + public FlowLabourInfo selectFlowLabourInfoById(Long id) + { + return flowLabourInfoMapper.selectFlowLabourInfoById(id); + } + + /** + * 查询劳资投诉列表 + * + * @param flowLabourInfo 劳资投诉 + * @return 劳资投诉 + */ + @Override + public List selectFlowLabourInfoList(FlowLabourInfo flowLabourInfo) + { + return flowLabourInfoMapper.selectFlowLabourInfoList(flowLabourInfo); + } + + /** + * 新增劳资投诉 + * + * @param flowLabourInfo 劳资投诉 + * @return 结果 + */ + @Override + public AjaxResult insertFlowLabourInfo(FlowLabourInfo flowLabourInfo) + { + //查询是否已有投诉中的问题 + FlowLabourInfo searchModel = new FlowLabourInfo(); + searchModel.setLaborCardId(flowLabourInfo.getLaborCardId()); + searchModel.setActiveName("MyAwait"); + List list = flowLabourInfoMapper.selectFlowLabourInfoList(searchModel); + if(StringUtils.isNotEmpty(list)){ + flowLabourInfo.setId(0L); + return AjaxResult.success(flowLabourInfo); + }else{ + flowLabourInfo.setCreateTime(DateUtils.getNowDate()); + flowLabourInfoMapper.insertFlowLabourInfo(flowLabourInfo); + //保存流程节点信息 + FlowLabourAuditNode flowLabourAuditNode = new FlowLabourAuditNode(); + flowLabourAuditNode.setFlowId(flowLabourInfo.getId()); + flowLabourAuditNode.setFlowNode("10"); + flowLabourAuditNode.setCreateBy(flowLabourInfo.getLaborName()); + flowLabourAuditNode.setCreateTime(new Date()); + flowLabourAuditNodeMapper.insertFlowLabourAuditNode(flowLabourAuditNode); + return AjaxResult.success(flowLabourInfo); + } + } + + /** + * 修改劳资投诉 + * + * @param flowLabourInfo 劳资投诉 + * @return 结果 + */ + @Override + public int updateFlowLabourInfo(FlowLabourInfo flowLabourInfo) + { + flowLabourInfo.setUpdateBy(SecurityUtils.getUsername()); + flowLabourInfo.setUpdateTime(DateUtils.getNowDate()); + return flowLabourInfoMapper.updateFlowLabourInfo(flowLabourInfo); + } + + /** + * 批量删除劳资投诉 + * + * @param ids 需要删除的劳资投诉主键 + * @return 结果 + */ + @Override + public int deleteFlowLabourInfoByIds(Long[] ids) + { + return flowLabourInfoMapper.deleteFlowLabourInfoByIds(ids); + } + + /** + * 删除劳资投诉信息 + * + * @param id 劳资投诉主键 + * @return 结果 + */ + @Override + public int deleteFlowLabourInfoById(Long id) + { + return flowLabourInfoMapper.deleteFlowLabourInfoById(id); + } +} diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectMapper.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectMapper.java index 1130e914..14d456ba 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectMapper.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/mapper/SurProjectMapper.java @@ -27,6 +27,13 @@ public interface SurProjectMapper */ public List selectSurProjectList(SurProject surProject); + /** + * 查询项目管理列表 + * + * @return 项目管理集合 + */ + public List selectAllProjectList(); + /** * 新增项目管理 * diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectService.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectService.java index 34119f5f..deb62086 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectService.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/ISurProjectService.java @@ -27,6 +27,13 @@ public interface ISurProjectService */ public List selectSurProjectList(SurProject surProject); + /** + * 查询项目管理列表 + * + * @return 项目管理集合 + */ + public List selectAllProjectList(); + /** * 新增项目管理 * diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectServiceImpl.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectServiceImpl.java index 121781e8..a84e699e 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectServiceImpl.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/project/service/impl/SurProjectServiceImpl.java @@ -46,6 +46,16 @@ public class SurProjectServiceImpl implements ISurProjectService return surProjectMapper.selectSurProjectList(surProject); } + /** + * 查询项目管理列表 + * + * @return 项目管理集合 + */ + @Override + public List selectAllProjectList() { + return surProjectMapper.selectAllProjectList(); + } + /** * 新增项目管理 * diff --git a/yanzhu-jh/src/main/java/com/yanzhu/jh/publics/PublicsController.java b/yanzhu-jh/src/main/java/com/yanzhu/jh/publics/PublicsController.java index a4de8b8d..fe8cefe3 100644 --- a/yanzhu-jh/src/main/java/com/yanzhu/jh/publics/PublicsController.java +++ b/yanzhu-jh/src/main/java/com/yanzhu/jh/publics/PublicsController.java @@ -20,6 +20,7 @@ import com.yanzhu.jh.project.domain.*; import com.yanzhu.jh.project.service.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -98,6 +99,23 @@ PublicsController extends BaseController { return getDataTable(list); } + /** + * 查询项目列表 + */ + @GetMapping("/projectAllList") + public AjaxResult projectAllList() + { + String key="publics_projectAllList"; + Object obj=redisCache.getCacheObject(key); + if(obj!=null){ + return success(obj); + } + SurProject surProject = new SurProject(); + List list = surProjectService.selectAllProjectList(); + redisCache.setCacheObject(key, list, 5, TimeUnit.MINUTES); + return success(list); + } + /** * 查询我的项目列表 */ @@ -156,7 +174,35 @@ PublicsController extends BaseController { if(surProjectUnitInfo.getUnitType()!=null && surProjectUnitInfo.getUnitType().equals("2") && (surProjectUnitInfo.getNowRole().equals(SysRoleEnum.ZBDW.getCode()) || surProjectUnitInfo.getNowRole().equals(SysRoleEnum.ZBDWGR.getCode()))){ surProjectUnitInfo.setUnitId(getDeptId()); } - return getDataTable(surProjectUnitInfoService.selectSurProjectUnitInfoList(surProjectUnitInfo)); + String key="publics_queryUnitList_"+surProjectUnitInfo.getProjectId()+"_"+surProjectUnitInfo.getNowRole()+"_"+surProjectUnitInfo.getUnitId()+"_"+surProjectUnitInfo.getUnitType()+"_"+surProjectUnitInfo.getUnitTypes(); + List list = redisCache.getCacheObject(key); + if(list!=null){ + return getDataTable(list); + } + //缓存数据2分钟 + list = surProjectUnitInfoService.selectSurProjectUnitInfoList(surProjectUnitInfo); + redisCache.setCacheObject(key, list, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES); + return getDataTable(list); + } + + /** + * 查询项目部门列表 + */ + @GetMapping("/queryAllUnitList/{projId}/{unitType}") + public AjaxResult queryAllUnitList(@PathVariable("projId") Long projId,@PathVariable("unitType") Long unitType) + { + String key="publics_queryAllUnitList_"+projId+unitType; + List list = redisCache.getCacheObject(key); + if(list!=null){ + return success(list); + } + SurProjectUnitInfo surProjectUnitInfo = new SurProjectUnitInfo(); + surProjectUnitInfo.setProjectId(projId); + surProjectUnitInfo.setUnitType(unitType); + //缓存数据2分钟 + list = surProjectUnitInfoService.selectSurProjectUnitInfoList(surProjectUnitInfo); + redisCache.setCacheObject(key, list, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES); + return success(list); } /** diff --git a/yanzhu-jh/src/main/resources/mapper/flow/FlowLabourAuditNodeMapper.xml b/yanzhu-jh/src/main/resources/mapper/flow/FlowLabourAuditNodeMapper.xml new file mode 100644 index 00000000..8853068e --- /dev/null +++ b/yanzhu-jh/src/main/resources/mapper/flow/FlowLabourAuditNodeMapper.xml @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + SELECT + flan.id, + flan.flow_id, + flan.flow_node, + flan.flow_result, + flan.flow_comment, + flan.files, + flan.is_del, + flan.create_by, + flan.create_time, + flan.update_by, + flan.update_time, + flan.remark, + node.dict_label as flowNodeName + FROM + flow_labour_audit_node flan + left join sys_dict_data node on node.dict_type='flow_labou_appstatus' and node.dict_value = flan.flow_node + + + + + + + + insert into flow_labour_audit_node + + flow_id, + flow_node, + flow_result, + flow_comment, + files, + is_del, + create_by, + create_time, + update_by, + update_time, + remark, + + + #{flowId}, + #{flowNode}, + #{flowResult}, + #{flowComment}, + #{files}, + #{isDel}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + + update flow_labour_audit_node + + flow_id = #{flowId}, + flow_node = #{flowNode}, + flow_result = #{flowResult}, + flow_comment = #{flowComment}, + files = #{files}, + is_del = #{isDel}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + + delete from flow_labour_audit_node where id = #{id} + + + + delete from flow_labour_audit_node where id in + + #{id} + + + \ No newline at end of file diff --git a/yanzhu-jh/src/main/resources/mapper/flow/FlowLabourInfoMapper.xml b/yanzhu-jh/src/main/resources/mapper/flow/FlowLabourInfoMapper.xml new file mode 100644 index 00000000..27c7eb63 --- /dev/null +++ b/yanzhu-jh/src/main/resources/mapper/flow/FlowLabourInfoMapper.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, project_id, project_name, dept_id, dept_name, sub_dept_id, sub_dept_name, labor_name, labor_cardId, labor_phone, labor_number, labor_amount, labor_reason, files, approve_status, is_del, create_by, create_time, update_by, update_time, remark from flow_labour_info + + + + + + + + insert into flow_labour_info + + project_id, + project_name, + dept_id, + dept_name, + sub_dept_id, + sub_dept_name, + labor_name, + labor_cardId, + labor_phone, + labor_number, + labor_amount, + labor_reason, + files, + approve_status, + is_del, + create_by, + create_time, + update_by, + update_time, + remark, + + + #{projectId}, + #{projectName}, + #{deptId}, + #{deptName}, + #{subDeptId}, + #{subDeptName}, + #{laborName}, + #{laborCardId}, + #{laborPhone}, + #{laborNumber}, + #{laborAmount}, + #{laborReason}, + #{files}, + #{approveStatus}, + #{isDel}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + + update flow_labour_info + + project_id = #{projectId}, + project_name = #{projectName}, + dept_id = #{deptId}, + dept_name = #{deptName}, + sub_dept_id = #{subDeptId}, + sub_dept_name = #{subDeptName}, + labor_name = #{laborName}, + labor_cardId = #{laborCardId}, + labor_phone = #{laborPhone}, + labor_number = #{laborNumber}, + labor_amount = #{laborAmount}, + labor_reason = #{laborReason}, + files = #{files}, + approve_status = #{approveStatus}, + is_del = #{isDel}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where id = #{id} + + + + delete from flow_labour_info where id = #{id} + + + + delete from flow_labour_info where id in + + #{id} + + + \ No newline at end of file diff --git a/yanzhu-jh/src/main/resources/mapper/project/SurProjectMapper.xml b/yanzhu-jh/src/main/resources/mapper/project/SurProjectMapper.xml index 293e6c93..9fdec63d 100644 --- a/yanzhu-jh/src/main/resources/mapper/project/SurProjectMapper.xml +++ b/yanzhu-jh/src/main/resources/mapper/project/SurProjectMapper.xml @@ -118,6 +118,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by sp.projectSort ASC,sp.projectName + +