Commit a7ce3599 by 张祺

增加Excel配置获取配置数据项的方法

parent a4958234
...@@ -4,13 +4,17 @@ import com.alibaba.excel.EasyExcel; ...@@ -4,13 +4,17 @@ import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.support.ExcelTypeEnum; import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.write.builder.ExcelWriterBuilder; import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.alibaba.excel.write.merge.OnceAbsoluteMergeStrategy; import com.alibaba.excel.write.merge.OnceAbsoluteMergeStrategy;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.keymobile.indicators.model.entity.dataenter.ExcelIndicator; import com.keymobile.indicators.constant.Constants;
import com.keymobile.indicators.model.entity.dataenter.ExcelObj; import com.keymobile.indicators.model.entity.AuthModel;
import com.keymobile.indicators.model.entity.dataenter.ExcelTemplate; import com.keymobile.indicators.model.entity.RoleRefUserModel;
import com.keymobile.indicators.model.entity.dataenter.Task; import com.keymobile.indicators.model.entity.dataenter.*;
import com.keymobile.indicators.result.Result; import com.keymobile.indicators.result.Result;
import com.keymobile.indicators.service.SystemAuthService;
import com.keymobile.indicators.service.dataenter.ExcelTemplateService; import com.keymobile.indicators.service.dataenter.ExcelTemplateService;
import com.keymobile.indicators.service.dataenter.TaskRuleGroupObjService;
import com.keymobile.indicators.service.dataenter.TaskService; import com.keymobile.indicators.service.dataenter.TaskService;
import com.keymobile.indicators.utils.SystemUserUtil; import com.keymobile.indicators.utils.SystemUserUtil;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -20,14 +24,12 @@ import lombok.extern.slf4j.Slf4j; ...@@ -20,14 +24,12 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import scala.collection.immutable.Stream;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Api(tags={"数据填报-填报excel模板管理"}) @Api(tags={"数据填报-填报excel模板管理"})
@RestController @RestController
...@@ -41,6 +43,66 @@ public class ExcelTempCtrl { ...@@ -41,6 +43,66 @@ public class ExcelTempCtrl {
@Autowired @Autowired
private TaskService taskService; private TaskService taskService;
@Autowired
private SystemAuthService systemAuthService;
@Autowired
private TaskRuleGroupObjService taskRuleGroupObjService;
@ApiOperation("根据任务id获取需要填报的数据项(配置excel模板用)")
@GetMapping("findTaskDataInds")
public List<TaskIndicator> findTaskDataInds(@ApiParam("任务id")
@RequestParam(value = "taskId") String taskId
) {
return taskService.findTaskInds(taskId, true);
}
@ApiOperation("根据任务id或者填报单位id获取单位明细(配置excel模板用)")
@GetMapping("findTaskObjs")
public List<AuthModel> findTaskObjs(@ApiParam("任务id,(填报单位id和任务id必填一个)")
@RequestParam(value = "taskId", required = false) String taskId,
@ApiParam("单位id,(填报单位id和任务id必填一个)")
@RequestParam(value = "objId", required = false)Integer objId) {
List<AuthModel> list = new ArrayList<>();
TaskRuleGroupObj obj = null;
List<String> objIds = new ArrayList<>();
if (objId == null || objId == 0 ) {
Task task = taskService.getById(taskId, false, false);
objId = task.getGroupId();
}
obj = taskRuleGroupObjService.getById(objId);
int objType = obj.getObjType();
if (obj != null && obj.getDetail() != null) {
objIds = Arrays.asList(StringUtils.split(obj.getDetail(), Constants.SEP_COMMA));
switch (objType) {
case 1:
//组织
List<RoleRefUserModel> users = new ArrayList<>();
List<JSONObject> orgs =
systemAuthService.getOrgByNos(objIds);
for (JSONObject jo : orgs) {
AuthModel authModel = new AuthModel();
authModel.setName(jo.getString("name"));
authModel.setId(jo.getString("no"));
list.add(authModel);
}
break;
case 2:
//人员
break;
case 3:
//角色
break;
default:
break;
}
}
return list;
}
@ApiOperation("根据规则id任务id获取excel模板") @ApiOperation("根据规则id任务id获取excel模板")
@GetMapping("findByTaskRule") @GetMapping("findByTaskRule")
public List<ExcelTemplate> findByTaskRule(@ApiParam(name = "ruleId", required = false) @RequestParam("ruleId")Integer ruleId, public List<ExcelTemplate> findByTaskRule(@ApiParam(name = "ruleId", required = false) @RequestParam("ruleId")Integer ruleId,
......
...@@ -29,4 +29,5 @@ public interface TaskIndicatorMapper extends BaseMapper<TaskIndicator> { ...@@ -29,4 +29,5 @@ public interface TaskIndicatorMapper extends BaseMapper<TaskIndicator> {
* @return * @return
*/ */
List<TaskIndicator> getByTaskId(String taskId); List<TaskIndicator> getByTaskId(String taskId);
} }
...@@ -49,6 +49,14 @@ public interface TaskService { ...@@ -49,6 +49,14 @@ public interface TaskService {
*/ */
Task getById(String taskId, boolean needTaskInd, boolean needRuleInd); Task getById(String taskId, boolean needTaskInd, boolean needRuleInd);
/**
* 根据任务id查找关联的数据项
* @param taskId
* @param onlyChild 是否只取子数据项
* @return
*/
List<TaskIndicator> findTaskInds(String taskId, boolean onlyChild);
/** /**
* 根据规则id和取数时间删除任务(物理删除) * 根据规则id和取数时间删除任务(物理删除)
......
...@@ -143,6 +143,22 @@ public class TaskServiceImpl implements TaskService { ...@@ -143,6 +143,22 @@ public class TaskServiceImpl implements TaskService {
} }
@Override @Override
public List<TaskIndicator> findTaskInds(String taskId, boolean onlyChild) {
List<TaskIndicator> list = taskIndicatorMapper.getByTaskId(taskId);
List<TaskIndicator> result = new ArrayList<>();
if (onlyChild) {
for (TaskIndicator ind : list) {
if (ind.getHasChildren() != null && !ind.getHasChildren()) {
result.add(ind);
}
}
} else {
result = list;
}
return result;
}
@Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void deleteByRuleIdAndValueTime(Integer ruleId, String valueTime) { public void deleteByRuleIdAndValueTime(Integer ruleId, String valueTime) {
taskMapper.deleteByRuleIdAndValueTime(ruleId, valueTime); taskMapper.deleteByRuleIdAndValueTime(ruleId, valueTime);
......
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