Commit a7ce3599 by 张祺

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

parent a4958234
......@@ -4,13 +4,17 @@ import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.write.builder.ExcelWriterBuilder;
import com.alibaba.excel.write.merge.OnceAbsoluteMergeStrategy;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.keymobile.indicators.model.entity.dataenter.ExcelIndicator;
import com.keymobile.indicators.model.entity.dataenter.ExcelObj;
import com.keymobile.indicators.model.entity.dataenter.ExcelTemplate;
import com.keymobile.indicators.model.entity.dataenter.Task;
import com.keymobile.indicators.constant.Constants;
import com.keymobile.indicators.model.entity.AuthModel;
import com.keymobile.indicators.model.entity.RoleRefUserModel;
import com.keymobile.indicators.model.entity.dataenter.*;
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.TaskRuleGroupObjService;
import com.keymobile.indicators.service.dataenter.TaskService;
import com.keymobile.indicators.utils.SystemUserUtil;
import io.swagger.annotations.Api;
......@@ -20,14 +24,12 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import scala.collection.immutable.Stream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
@Api(tags={"数据填报-填报excel模板管理"})
@RestController
......@@ -41,6 +43,66 @@ public class ExcelTempCtrl {
@Autowired
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模板")
@GetMapping("findByTaskRule")
public List<ExcelTemplate> findByTaskRule(@ApiParam(name = "ruleId", required = false) @RequestParam("ruleId")Integer ruleId,
......
......@@ -29,4 +29,5 @@ public interface TaskIndicatorMapper extends BaseMapper<TaskIndicator> {
* @return
*/
List<TaskIndicator> getByTaskId(String taskId);
}
......@@ -49,6 +49,14 @@ public interface TaskService {
*/
Task getById(String taskId, boolean needTaskInd, boolean needRuleInd);
/**
* 根据任务id查找关联的数据项
* @param taskId
* @param onlyChild 是否只取子数据项
* @return
*/
List<TaskIndicator> findTaskInds(String taskId, boolean onlyChild);
/**
* 根据规则id和取数时间删除任务(物理删除)
......
......@@ -143,6 +143,22 @@ public class TaskServiceImpl implements TaskService {
}
@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)
public void deleteByRuleIdAndValueTime(Integer ruleId, String 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