Commit 3a23461b authored by suhuiguang's avatar suhuiguang

1.增加接收机构树接口

parent 06d54e81
......@@ -15,7 +15,6 @@ import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import org.typroject.tyboot.core.restful.utils.ResponseHelper;
import org.typroject.tyboot.core.restful.utils.ResponseModel;
......@@ -65,6 +64,21 @@ public class CommonController extends BaseController {
/**
* 工作台接收机构树
* @param bizType 业务类型:notice-告知类, register-登记类
* @return 树
*/
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{bizType}/receive-unit/tree")
@ApiOperation(httpMethod = "GET", value = "接收机构树", notes = "接收机构树")
public ResponseModel<Object> getNoticeReceiveTree(@PathVariable String bizType) {
return ResponseHelper.buildResponse(commonService.getReceiveUnitTree(bizType));
}
/**
* 获取行政审批局树
*
* @return
......
......@@ -55,4 +55,11 @@ public interface ICommonService {
List<LinkedHashMap> getCreatTreeByInstallation();
List<LinkedHashMap> getCreatTreeByInstallationTree();
/**
* 接收机构树
* @return List<Map>
* @param bizType 业务类型: notice-告知类, register-登记类
*/
List<LinkedHashMap> getReceiveUnitTree(String bizType);
}
......@@ -59,6 +59,7 @@ import org.springframework.web.multipart.MultipartFile;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import org.typroject.tyboot.core.restful.exception.instance.BadRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.lang.reflect.Field;
......@@ -115,6 +116,11 @@ public class CommonServiceImpl implements ICommonService {
//管辖机构redis缓存key
private static final String REGULATOR_UNIT_TREE = "REGULATOR_UNIT_TREE";
/**
* 接收机构redis缓存key前置
*/
private static final String PREFIX_NOTICE_RECEIVE_UNIT_TREE = "NOTICE_RECEIVE_UNIT_TREE";
//管辖机构redis缓存key
private static final String REGULATOR_UNIT_TREE_ALL = "REGULATOR_UNIT_TREE_ALL";
......@@ -309,6 +315,13 @@ public class CommonServiceImpl implements ICommonService {
return resultTree;
}
@Override
public List<LinkedHashMap> getReceiveUnitTree(String bizType) {
List<LinkedHashMap> result = (List<LinkedHashMap>) redisUtils.get(genRedisKey(bizType));
//判断redis是否存在接收机构树
return !ObjectUtils.isEmpty(result) ? result : creatReceiveUnitTree(bizType);
}
@Override
public List<LinkedHashMap> getTree(ReginParams reginParams) {
......@@ -334,6 +347,23 @@ public class CommonServiceImpl implements ICommonService {
return resultTree;
}
private List<LinkedHashMap> creatReceiveUnitTree(String bizType) {
FeignClientResult tree = privilegeFeginService.tree(RequestContext.getToken(), RequestContext.getAppKey(), RequestContext.getProduct());
List<LinkedHashMap> result = (List<LinkedHashMap>) tree.getResult();
// 删除非监管机构的单位
deleteData(result, REGULATOR_UNIT);
// 过滤符合指定业务的监管单位
filterTreeDataByType(result, bizType);
List<LinkedHashMap> supervisionTree = result.stream().filter(e -> code.equals(e.get("orgCode"))).collect(Collectors.toList());
List<LinkedHashMap> resultTree = updateNullChildren(supervisionTree);
redisUtils.set(genRedisKey(bizType), resultTree, 60 * 60 * 2);
return resultTree;
}
private String genRedisKey(String bizType) {
return PREFIX_NOTICE_RECEIVE_UNIT_TREE + "_" + bizType;
}
@Override
public List<LinkedHashMap> getApproveTree(ReginParams reginParams) {
// 企业逻辑
......@@ -354,7 +384,7 @@ public class CommonServiceImpl implements ICommonService {
FeignClientResult tree = privilegeFeginService.queryAgencyTreeForCache(RequestContext.getToken(), RequestContext.getAppKey(), RequestContext.getProduct());
List<LinkedHashMap> result = (List<LinkedHashMap>) tree.getResult();
List<LinkedHashMap> children = (List<LinkedHashMap>) result.get(0).get("children");
List<LinkedHashMap> treeData = deleteTreeData(children,REGULATOR_UNIT);
List<LinkedHashMap> treeData = deleteTreeData(children, REGULATOR_UNIT);
List<LinkedHashMap> resultTree = updateNullChildren(treeData);
redisUtils.set(ADMINISTRATION_UNIT_TREE, resultTree);
return resultTree;
......@@ -366,7 +396,7 @@ public class CommonServiceImpl implements ICommonService {
return resourceJson.get(type);
}
private List<LinkedHashMap> deleteTreeData(List<LinkedHashMap> result,String companyType) {
private List<LinkedHashMap> deleteTreeData(List<LinkedHashMap> result, String companyType) {
Iterator it = result.iterator();
while (it.hasNext()) {
LinkedHashMap e = (LinkedHashMap) it.next();
......@@ -379,22 +409,44 @@ public class CommonServiceImpl implements ICommonService {
it.remove();
}
if (!ObjectUtils.isEmpty(e.get("children"))) {
deleteTreeData((List<LinkedHashMap>) e.get("children"),companyType);
deleteTreeData((List<LinkedHashMap>) e.get("children"), companyType);
}
}
return result;
}
private List<LinkedHashMap> filterTreeDataByType(List<LinkedHashMap> result, String type) {
Iterator<LinkedHashMap> it = result.iterator();
while (it.hasNext()) {
LinkedHashMap e = it.next();
if (!(e.get("description") != null && (e.get("description").toString().contains(type) || e.get("description").toString().contains("all")))) {
// 过滤非全部(all)公共及指定类型外的
it.remove();
}
// disabled的节点设置下不可编辑属性
if (e.get("description") != null && e.get("description").toString().contains(type + "-disabled")) {
// 过滤非全部(all)公共及指定类型外的
e.put("disabled",true);
}
if (!ObjectUtils.isEmpty(e.get("children"))) {
filterTreeDataByType((List<LinkedHashMap>) e.get("children"), type);
}
}
return result;
}
private List<LinkedHashMap> deleteData(List<LinkedHashMap> result,String companyType) {
private List<LinkedHashMap> deleteData(List<LinkedHashMap> result, String companyType) {
Iterator it = result.iterator();
while (it.hasNext()) {
LinkedHashMap e = (LinkedHashMap) it.next();
// 删除非行政审批局
// 删除非指定的单位类型
if (!e.get("companyType").toString().contains(companyType)) {
it.remove();
}
if (!ObjectUtils.isEmpty(e.get("children"))) {
deleteData((List<LinkedHashMap>) e.get("children"),companyType);
deleteData((List<LinkedHashMap>) e.get("children"), companyType);
}
}
return result;
......@@ -563,6 +615,7 @@ public class CommonServiceImpl implements ICommonService {
/**
* 返回附件
*
* @param map 参数
* @param response 响应
*/
......@@ -603,11 +656,11 @@ public class CommonServiceImpl implements ICommonService {
for (Map.Entry<String, Object> param : map.entrySet()) {
// 设置文本域的字体为中文字体
acroFields.setFieldProperty(param.getKey(), "textfont", font,null);
acroFields.setFieldProperty(param.getKey(), "textfont", font, null);
// 设置字体大小
acroFields.setFieldProperty(param.getKey(), "textsize", 12.0f, null);
// 将 map 中的值写到 pdf 模板对应的文本域中
acroFields.setField(param.getKey(), param.getValue()+"");
acroFields.setField(param.getKey(), param.getValue() + "");
}
......@@ -776,6 +829,7 @@ public class CommonServiceImpl implements ICommonService {
}
return null;
}
@Override
public Object transfer(Map<String, Object> map) {
if (ObjectUtils.isEmpty(map.get("nextTaskId")) || map.get("nextTaskId") == null) {
......@@ -825,7 +879,7 @@ public class CommonServiceImpl implements ICommonService {
String id = commonMapper.selectBusinessData(tableName, instanceId);
id = ObjectUtils.isEmpty(id) ? assignee : id + "," + assignee;
//修改业务数据
commonMapper.updateBusinessData(tableName, assignee, id, instanceId,nextTaskId);
commonMapper.updateBusinessData(tableName, assignee, id, instanceId, nextTaskId);
return Boolean.TRUE;
}
......@@ -1228,6 +1282,7 @@ public class CommonServiceImpl implements ICommonService {
});
return workflowResultDtoList;
}
public List<LinkedHashMap> getCompanyUser(Long companyId) {
FeignClientResult result = privilegeFeginService.getCompanyUser(companyId);
List<LinkedHashMap> list = (List<LinkedHashMap>) result.getResult();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment