Commit d21215273a5ef9cc0efaeddd2429a8c022b4cb7f
1 parent
a71d305e
Exists in
master
组织机构对话框脚本、导出功能带组织权限
Showing
4 changed files
with
88 additions
and
0 deletions
Show diff stats
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<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<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<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<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 | +} | ... | ... |