Commit d21215273a5ef9cc0efaeddd2429a8c022b4cb7f

Authored by lst
1 parent a71d305e
Exists in master

组织机构对话框脚本、导出功能带组织权限

backend/bpm-runtime/src/main/java/com/hotent/runtime/script/ScriptImpl.java
... ... @@ -1772,6 +1772,24 @@ public class ScriptImpl implements IScript {
1772 1772 return SubCalcUtils.subFieldNotContain(subArray, field, op, value, dateType);
1773 1773 }
1774 1774  
  1775 + /**
  1776 + * 当前用户组织信息
  1777 + * @param type
  1778 + * @return
  1779 + */
  1780 + public String getOrgIds(String type){
  1781 + StringBuilder sb = new StringBuilder();
  1782 + ArrayList<String> dataPermission = getDataPermission(type);
  1783 + if (dataPermission != null && dataPermission.size() > 0) {
  1784 + for (String orgId : dataPermission) {
  1785 + sb.append(orgId).append(",");
  1786 + }
  1787 + String orgIds = sb.substring(0,sb.length()-1);
  1788 + return orgIds;
  1789 + } else {
  1790 + return "";
  1791 + }
  1792 + }
1775 1793 //当前登陆用户的ID
1776 1794 private static final String LOGIN_USER = "loginUser";
1777 1795 //当前登陆用户所属组织的ID
... ...
backend/chkpower/src/main/java/com/hotent/chkpower/controller/WProjectLibraryInventoryController.java
... ... @@ -10,11 +10,14 @@ import com.hotent.base.model.CommonResult;
10 10 import com.hotent.base.util.StringUtil;
11 11 import com.hotent.chkpower.manager.WProjectLibraryInventoryManager;
12 12 import com.hotent.chkpower.model.WProjectLibraryInventory;
  13 +import com.hotent.chkpower.model.enums.ProjectStateEnum;
  14 +import com.hotent.runtime.script.ScriptImpl;
13 15 import io.swagger.annotations.ApiOperation;
14 16 import io.swagger.annotations.ApiParam;
15 17 import org.apache.poi.ss.usermodel.Workbook;
16 18 import org.springframework.web.bind.annotation.*;
17 19  
  20 +import javax.annotation.Resource;
18 21 import javax.servlet.http.HttpServletResponse;
19 22 import java.io.OutputStream;
20 23 import java.net.URLEncoder;
... ... @@ -35,6 +38,9 @@ import java.util.List;
35 38 @RequestMapping("/wProjectLibraryInventory/v1/")
36 39 public class WProjectLibraryInventoryController extends BaseController<WProjectLibraryInventoryManager, WProjectLibraryInventory> {
37 40  
  41 + @Resource
  42 + private ScriptImpl script;
  43 +
38 44 /**
39 45 * 根据id获取项目库清单数据详情
40 46 *
... ... @@ -67,6 +73,17 @@ public class WProjectLibraryInventoryController extends BaseController&lt;WProjectL
67 73 @GetMapping("/down")
68 74 @ApiOperation(value = "项目库导出", httpMethod = "GET", notes = "项目库导出:根据查询条件导出Excle表格")
69 75 public void down(HttpServletResponse response, WProjectLibraryInventory wProjectLibraryInventory) throws Exception {
  76 + if (ObjectUtils.isEmpty(wProjectLibraryInventory.getExportType())) {
  77 + throw new RuntimeException("请传入参数exportType");
  78 + }
  79 + ArrayList<String> projectState = new ArrayList<>();
  80 + if ("1".equals(wProjectLibraryInventory.getExportType())) {
  81 + projectState.add(ProjectStateEnum.dairuku.getInfo());
  82 + projectState.add(ProjectStateEnum.yizuofei.getInfo());
  83 + } else {
  84 + projectState.add(ProjectStateEnum.yiruku.getInfo());
  85 + projectState.add(ProjectStateEnum.yichuku.getInfo());
  86 + }
70 87 QueryWrapper<WProjectLibraryInventory> queryWrapper = new QueryWrapper<>();
71 88 if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getFProjectNo())) {
72 89 queryWrapper.eq("F_project_no", wProjectLibraryInventory.getFProjectNo());
... ... @@ -79,6 +96,8 @@ public class WProjectLibraryInventoryController extends BaseController&lt;WProjectL
79 96 }
80 97 if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getFProjectState())) {
81 98 queryWrapper.eq("F_project_state", wProjectLibraryInventory.getFProjectState());
  99 + } else {
  100 + queryWrapper.in("F_project_state", projectState);
82 101 }
83 102 if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getCreateTime())) {
84 103 queryWrapper.like("F_create_time", wProjectLibraryInventory.getCreateTime());
... ... @@ -98,6 +117,10 @@ public class WProjectLibraryInventoryController extends BaseController&lt;WProjectL
98 117 if (ObjectUtils.isNotEmpty(wProjectLibraryInventory.getUpdateTime())) {
99 118 queryWrapper.like("F_update_time", wProjectLibraryInventory.getUpdateTime());
100 119 }
  120 + ArrayList<String> orgIds = script.getDataPermission("loginUserAllSubOrgs");
  121 + if (ObjectUtils.isNotEmpty(orgIds)) {
  122 + queryWrapper.in("F_org_id", orgIds);
  123 + }
101 124 List<WProjectLibraryInventory> list = baseService.list(queryWrapper);
102 125 HashMap<String, Object> map = new HashMap<>();
103 126 ArrayList<HashMap> hashMaps = new ArrayList<>();
... ...
backend/chkpower/src/main/java/com/hotent/chkpower/model/WProjectLibraryInventory.java
... ... @@ -247,7 +247,16 @@ public class WProjectLibraryInventory extends BaseModel&lt;WProjectLibraryInventory
247 247 private String createTime;
248 248 @TableField(exist = false)
249 249 private String updateTime;
  250 + @TableField(exist = false)
  251 + private String exportType;// 1=项目填报,2=项目库
  252 +
  253 + public String getExportType() {
  254 + return exportType;
  255 + }
250 256  
  257 + public void setExportType(String exportType) {
  258 + this.exportType = exportType;
  259 + }
251 260  
252 261 public String getId() {
253 262 return id;
... ...
backend/chkpower/src/main/java/com/hotent/chkpower/model/enums/ProjectStateEnum.java 0 → 100644
... ... @@ -0,0 +1,38 @@
  1 +package com.hotent.chkpower.model.enums;
  2 +
  3 +import lombok.AllArgsConstructor;
  4 +import lombok.Getter;
  5 +
  6 +/**
  7 + * 安检类型
  8 + */
  9 +@AllArgsConstructor
  10 +@Getter
  11 +public enum ProjectStateEnum {
  12 +
  13 + /**
  14 + * 待入库
  15 + */
  16 + dairuku("dairuku", "待入库"),
  17 +
  18 + /**
  19 + * 已作废
  20 + */
  21 + yizuofei("yizuofei", "已作废"),
  22 +
  23 + /**
  24 + * 已入库
  25 + */
  26 + yiruku("yiruku", "已入库"),
  27 +
  28 +
  29 + /**
  30 + * 已出库
  31 + */
  32 + yichuku("yichuku", "已出库"),
  33 +
  34 + ;
  35 +
  36 + private final String code;
  37 + private final String info;
  38 +}
... ...