2
13693261870
2022-09-16 653761a31dfeb50dd3d007e892d69c90bf0cdafc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
package com.landtool.lanbase.modules.res.controller;
 
 
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Set;
 
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
 
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.landtool.lanbase.common.annotation.LogAction;
import com.landtool.lanbase.common.utils.Result;
import com.landtool.lanbase.config.SysTemPropertyConfig;
import com.landtool.lanbase.modules.api.utils.PageBean;
import com.landtool.lanbase.modules.log.service.LogActionService;
import com.landtool.lanbase.modules.org.service.OrgUnitService;
import com.landtool.lanbase.modules.org.service.OrgUserService;
import com.landtool.lanbase.modules.res.entity.Res_Audit;
import com.landtool.lanbase.modules.res.entity.Res_MainInfo;
import com.landtool.lanbase.modules.res.entity.UserDefined.MainInfoJoinAudit;
import com.landtool.lanbase.modules.res.service.ResAuditService;
import com.landtool.lanbase.modules.res.service.ResMainInfoService;
import com.landtool.lanbase.modules.sys.controller.AbstractController;
import com.landtool.lanbase.modules.sys.service.SysFieldvalueService;
 
/**
 * 资源审核
 */
@Controller
public class ResAuditController extends AbstractController {
    @Autowired
    private ResAuditService resAuditService;
 
    @Autowired
    private ResMainInfoService resMainInfoService;
 
    @Autowired
    private SysTemPropertyConfig sysConfig;
 
    @Autowired
    private SysFieldvalueService FieldUtils;
 
    @Autowired
    private OrgUnitService orgUnitService;
 
    @Autowired
    private OrgUserService orgUserService;
 
    @Autowired
    private LogActionService logActionService;
 
    /**
     * 列表查询
     */
    @RequestMapping("/res/manage/audit/index")
    public String index(Model model) {
        // 获取下拉框目录
        LinkedHashMap<String, String> resourceTypeList = FieldUtils.getFieldListByKey("ResourceType");// 获取资源类型列表
        model.addAttribute("resourceTypeList", resourceTypeList);
        model.addAttribute("pubzyWebRoot", sysConfig.getPubzyWebRoot());
        model.addAttribute("systemName", sysConfig.getAppFullName());
        String flag = "false";
        Set<String> permissions = orgUserService.getUserPermissions(getUserId());
        if(permissions != null) {
            if(permissions.contains("res:resource:audit")) {
                flag = "true";
            }
        }
        model.addAttribute("permissions",flag);
        return "manage/audit/index";
    }
 
    /**
     * 获取列表
     */
    @ResponseBody
    @RequestMapping("/res/manage/audit/getlist")
    @LogAction("资源管理,资源审核,资源审核列表查询,查询")
    public Result getList(Res_MainInfo resMainInfo, PageBean pageBean) {
        PageHelper.startPage(pageBean.getPage(), pageBean.getLimit());
        List<MainInfoJoinAudit> mainInfoJoinAuditList = resMainInfoService.selectResMainInfojoinAudit(resMainInfo);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        int countNums = (int) ((Page) mainInfoJoinAuditList).getTotal();
        PageBean<MainInfoJoinAudit> pageData = new PageBean<>(pageBean.getPage(), pageBean.getLimit(), countNums);
        pageData.setItems(mainInfoJoinAuditList);
        LinkedHashMap<String, String> ResourceTypeList = FieldUtils.getFieldListByKey("ResourceType");// 获取资源类型列表
        List<Map<String, Object>> maps = new LinkedList<>();
        for (int i = 0; i < mainInfoJoinAuditList.size(); i++) {
            String resourceclass = ResourceTypeList.get(mainInfoJoinAuditList.get(i).getResourceclass());
            if (resourceclass == null) resourceclass = "";
            String unitname = orgUnitService.getUnitName((long) mainInfoJoinAuditList.get(i).getPubunitid());
            String chinesename = orgUserService.getChinesename(mainInfoJoinAuditList.get(i).getAudituserid());
 
            Map<String, Object> map = new HashMap<>();
            map.put("resourceid", mainInfoJoinAuditList.get(i).getResourceid());
            map.put("title", mainInfoJoinAuditList.get(i).getTitle());
            map.put("resourceclass", resourceclass);
            map.put("pubunitid", unitname);
            map.put("pubdate", sdf.format(mainInfoJoinAuditList.get(i).getPubdate()));
            map.put("audituserid", chinesename);
            map.put("auditstatus", mainInfoJoinAuditList.get(i).getAuditstatus());
            maps.add(map);
        }
        return Result.ok().put("totalCount",countNums).put("topics",maps);
    }
 
    /**
     * 保存审核状态
     */
    @ResponseBody
    @RequiresPermissions("res:resource:audit")
    @RequestMapping("/res/manage/audit/save")
    public String save(Res_MainInfo resMainInfo, String auditOpinion) {
        int result = 0;
        Integer ziYuanId = resMainInfo.getResourceid();
        Integer status = resMainInfo.getAuditstatus();
        Timestamp audittime = new Timestamp(new Date().getTime());
        int isagreed = 0;
        if (status == 2) {
            logActionService.saveLogAction("资源管理,资源审核,资源审核(同意),修改");//添加系统操作日志
            isagreed = 1; // 0:不同意,1:同意
        } else if (status == 3) {
            logActionService.saveLogAction("资源管理,资源审核,资源审核(不同意),修改");//添加系统操作日志
            isagreed = 0;
        }
        String auditlev = "I";
        int actiontype = 0; // 0发布1注销2变更
        Res_Audit resAudit = new Res_Audit();
        resAudit.setResourceid(ziYuanId);
        resAudit.setAudituserid(getUserId().toString());
        resAudit.setAudittime(audittime);
        resAudit.setAuditopinion(auditOpinion);
        resAudit.setIsagreed(isagreed);
        resAudit.setActiontype(actiontype);
        resAudit.setAuditlev(auditlev);
        int auditResult = resAuditService.insertSelective(resAudit);
        int finalResult = 0;
        if (auditResult == 1) {
            if (resMainInfo.getAuditstatus() == 2) { // 如果审核状态为审核通过,设置资源状态为正常
                resMainInfo.setResourcestatus(0);
            }
            result = resMainInfoService.updateByPrimaryKeySelective(resMainInfo);
        }
        if (result != 1) {
            resAuditService.deleteByPrimaryKey(ziYuanId);
        }
        if (result == 1 && auditResult == 1) {
            finalResult = 1;
        }
        return "{'result':'" + finalResult + "'}";
    }
 
    /**
     * 修改审核状态
     */
    @ResponseBody
    @RequestMapping("/res/manage/audit/modify")
    @LogAction("资源管理,资源审核,资源审核状态修改,修改")//添加系统操作日志
    public String modify(String resourceid, String auditstatus) {
        int result = 0;
        Res_MainInfo mainInfo = resMainInfoService.selectByPrimaryKey(Integer.parseInt(resourceid));
        if (mainInfo != null) {
            mainInfo.setAuditstatus(Integer.parseInt(auditstatus));
            if (auditstatus.equals("0")) { // 如果变更为注销,则审核状态为0:未提交
                mainInfo.setResourcestatus(3);
            }
            result = resMainInfoService.updateByPrimaryKeySelective(mainInfo);
        }
        return "{'result':'" + result + "'}";
    }
 
}