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 + "'}";
|
}
|
|
}
|