|
@@ -1,6 +1,7 @@
|
|
package com.qunzhixinxi.hnqz.report.service.impl;
|
|
package com.qunzhixinxi.hnqz.report.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
|
+import cn.hutool.core.date.DatePattern;
|
|
import cn.hutool.core.io.FileUtil;
|
|
import cn.hutool.core.io.FileUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.json.JSONArray;
|
|
import cn.hutool.json.JSONArray;
|
|
@@ -16,6 +17,7 @@ import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskContent;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskContentConfig;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskContentConfig;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskType;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmTaskType;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.XlsTask;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.XlsTask;
|
|
|
|
+import com.qunzhixinxi.hnqz.common.core.constant.CommonConstants;
|
|
import com.qunzhixinxi.hnqz.report.config.UpmsConfig;
|
|
import com.qunzhixinxi.hnqz.report.config.UpmsConfig;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmDaDrugEnt;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmDaDrugEnt;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmReport;
|
|
import com.qunzhixinxi.hnqz.admin.api.entity.WmReport;
|
|
@@ -77,7 +79,7 @@ import java.util.stream.Collectors;
|
|
* @since 2018-01-20
|
|
* @since 2018-01-20
|
|
*/
|
|
*/
|
|
@Slf4j
|
|
@Slf4j
|
|
-@Service
|
|
|
|
|
|
+@Service("reportExportService")
|
|
@AllArgsConstructor
|
|
@AllArgsConstructor
|
|
@Primary
|
|
@Primary
|
|
public class ReportExportServiceImpl implements ReportExportService {
|
|
public class ReportExportServiceImpl implements ReportExportService {
|
|
@@ -109,8 +111,8 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
|
|
|
|
|
|
|
|
wmReport = wmReportService.getById(wmReport.getId());
|
|
wmReport = wmReportService.getById(wmReport.getId());
|
|
- List<WmTask> taskList = new ArrayList<>();//该报告关联的所有未提交的任务
|
|
|
|
- //更新任务表审批意见
|
|
|
|
|
|
+ List<WmTask> taskList = new ArrayList<>();// 该报告关联的所有未提交的任务
|
|
|
|
+ // 更新任务表审批意见
|
|
WmScorePackage scorePackage = wmScorePackageService.getById(wmReport.getScoreId());
|
|
WmScorePackage scorePackage = wmScorePackageService.getById(wmReport.getScoreId());
|
|
WmTask wmTask = new WmTask();
|
|
WmTask wmTask = new WmTask();
|
|
wmTask.setDelFlag("0");
|
|
wmTask.setDelFlag("0");
|
|
@@ -120,22 +122,22 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
SysDept sysDept = sysDeptService.getById(scorePackage.getSendPackageDeptId());
|
|
SysDept sysDept = sysDeptService.getById(scorePackage.getSendPackageDeptId());
|
|
|
|
|
|
|
|
|
|
- if ("0".equals(scorePackage.getTypeid())) {//药企
|
|
|
|
|
|
+ if ("0".equals(scorePackage.getTypeid())) {// 药企
|
|
wmTask.setReportDrugId(wmReport.getId());
|
|
wmTask.setReportDrugId(wmReport.getId());
|
|
- wmTask.setReportDrugApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());//审核通过的状态
|
|
|
|
|
|
+ wmTask.setReportDrugApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());// 审核通过的状态
|
|
taskList = wmTaskService.list(Wrappers.query(wmTask));
|
|
taskList = wmTaskService.list(Wrappers.query(wmTask));
|
|
- } else if ("1".equals(scorePackage.getTypeid())) {//一级代理商类型
|
|
|
|
|
|
+ } else if ("1".equals(scorePackage.getTypeid())) {// 一级代理商类型
|
|
wmTask.setReportOneId(wmReport.getId());
|
|
wmTask.setReportOneId(wmReport.getId());
|
|
if (sysDept.getLevel() == 2) {
|
|
if (sysDept.getLevel() == 2) {
|
|
- wmTask.setReportDrugApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());//审核通过的状态
|
|
|
|
|
|
+ wmTask.setReportDrugApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());// 审核通过的状态
|
|
} else {
|
|
} else {
|
|
- wmTask.setReportOneApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());//审核通过的状态
|
|
|
|
|
|
+ wmTask.setReportOneApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());// 审核通过的状态
|
|
}
|
|
}
|
|
|
|
|
|
taskList = wmTaskService.list(Wrappers.query(wmTask));
|
|
taskList = wmTaskService.list(Wrappers.query(wmTask));
|
|
- } else if ("2".equals(scorePackage.getTypeid())) {//二级代理商类型
|
|
|
|
|
|
+ } else if ("2".equals(scorePackage.getTypeid())) {// 二级代理商类型
|
|
wmTask.setReportSecondId(wmReport.getId());
|
|
wmTask.setReportSecondId(wmReport.getId());
|
|
- wmTask.setReportSecondApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());//审核通过的状态
|
|
|
|
|
|
+ wmTask.setReportSecondApprovalOpinion(ReportEnum.APPROVAL_OPINION_YES.getType());// 审核通过的状态
|
|
taskList = wmTaskService.list(Wrappers.query(wmTask));
|
|
taskList = wmTaskService.list(Wrappers.query(wmTask));
|
|
}
|
|
}
|
|
if (null == taskList || taskList.size() <= 0) {
|
|
if (null == taskList || taskList.size() <= 0) {
|
|
@@ -145,7 +147,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
wmTask.setScorePackageId(wmReport.getScoreId().toString());
|
|
wmTask.setScorePackageId(wmReport.getScoreId().toString());
|
|
wmTask.setId(ids);
|
|
wmTask.setId(ids);
|
|
|
|
|
|
- return exportNb(wmTask, wmReport, deptId, username);//报告汇总
|
|
|
|
|
|
+ return exportNb(wmTask, wmReport, deptId, username);// 报告汇总
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -179,30 +181,30 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
|
|
|
|
excelMap.put("totalscorePackageScore", wmScorePackage.getScore());
|
|
excelMap.put("totalscorePackageScore", wmScorePackage.getScore());
|
|
if (wmScorePackage.getPackageType1().equals("2") || wmScorePackage.getPackageType1().equals("3")) {
|
|
if (wmScorePackage.getPackageType1().equals("2") || wmScorePackage.getPackageType1().equals("3")) {
|
|
- excelMap.put("totalscorePackageTaskNum", wmScorePackage.getTaskNum() * wmScorePackage.getUserNum());//积分包值任务个数
|
|
|
|
|
|
+ excelMap.put("totalscorePackageTaskNum", wmScorePackage.getTaskNum() * wmScorePackage.getUserNum());// 积分包值任务个数
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
List<Map<String, Object>> wmTaskList = wmTaskService.getTaskListByIds(wmTask);
|
|
List<Map<String, Object>> wmTaskList = wmTaskService.getTaskListByIds(wmTask);
|
|
|
|
|
|
|
|
|
|
- List<XlsTask> xlsTaskList = new ArrayList<>();//mxTable
|
|
|
|
|
|
+ List<XlsTask> xlsTaskList = new ArrayList<>();// mxTable
|
|
Integer totalMoney = 0;
|
|
Integer totalMoney = 0;
|
|
// wmTask.setScorePackageId(null);
|
|
// wmTask.setScorePackageId(null);
|
|
// wmTask.setScorePackageDrugId(null);
|
|
// wmTask.setScorePackageDrugId(null);
|
|
|
|
|
|
- //当前登陆人的机构
|
|
|
|
|
|
+ // 当前登陆人的机构
|
|
SysDept sysDept = sysDeptService.getById(deptId);
|
|
SysDept sysDept = sysDeptService.getById(deptId);
|
|
|
|
|
|
Map<String, Object> userMap = new HashMap<>();
|
|
Map<String, Object> userMap = new HashMap<>();
|
|
|
|
|
|
- //委托公司(结算企业)
|
|
|
|
|
|
+ // 委托公司(结算企业)
|
|
SysDept drugEnt = sysDeptService.getById(wmReport.getDrugEntId());
|
|
SysDept drugEnt = sysDeptService.getById(wmReport.getDrugEntId());
|
|
- //WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntService.getById(SecurityUtils.getUser().getDrugEntId());
|
|
|
|
|
|
+ // WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntService.getById(SecurityUtils.getUser().getDrugEntId());
|
|
|
|
|
|
- //报告公司(申请结算企业)
|
|
|
|
|
|
+ // 报告公司(申请结算企业)
|
|
SysDept applydrugEnt = sysDeptService.getById(wmReport.getApplyDrugEntId());
|
|
SysDept applydrugEnt = sysDeptService.getById(wmReport.getApplyDrugEntId());
|
|
- //WmDaAgent wmDaAgent = wmDaAgentService.getById(wmScorePackage.getLevel1Id());
|
|
|
|
|
|
+ // WmDaAgent wmDaAgent = wmDaAgentService.getById(wmScorePackage.getLevel1Id());
|
|
|
|
|
|
for (Map<String, Object> wmT : wmTaskList) {
|
|
for (Map<String, Object> wmT : wmTaskList) {
|
|
totalMoney += Integer.parseInt(wmT.get("score") + "");
|
|
totalMoney += Integer.parseInt(wmT.get("score") + "");
|
|
@@ -212,7 +214,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
|
|
|
|
xlsTask.setDeptName(sysDept.getName());
|
|
xlsTask.setDeptName(sysDept.getName());
|
|
|
|
|
|
- //level=2是药企
|
|
|
|
|
|
+ // level=2是药企
|
|
if (sysDept.getLevel() == 2) {
|
|
if (sysDept.getLevel() == 2) {
|
|
xlsTask.setAgentDeptName(applydrugEnt.getName());
|
|
xlsTask.setAgentDeptName(applydrugEnt.getName());
|
|
}
|
|
}
|
|
@@ -228,7 +230,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
xlsTaskList.add(xlsTask);
|
|
xlsTaskList.add(xlsTask);
|
|
|
|
|
|
String buildKey = wmT.get("realname") + "_" + drugEnt.getName() + "_" + sysDept.getName();
|
|
String buildKey = wmT.get("realname") + "_" + drugEnt.getName() + "_" + sysDept.getName();
|
|
- //人员表格
|
|
|
|
|
|
+ // 人员表格
|
|
if (userMap.containsKey(buildKey)) {
|
|
if (userMap.containsKey(buildKey)) {
|
|
try {
|
|
try {
|
|
userMap.put(buildKey, Integer.parseInt(wmT.get("score") + "") + Integer.parseInt(userMap.get(buildKey) + ""));
|
|
userMap.put(buildKey, Integer.parseInt(wmT.get("score") + "") + Integer.parseInt(userMap.get(buildKey) + ""));
|
|
@@ -246,43 +248,43 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
// List<String> list1 = new ArrayList<>();
|
|
// List<String> list1 = new ArrayList<>();
|
|
// list1.add(packageId);
|
|
// list1.add(packageId);
|
|
|
|
|
|
- //学术推广服务任务明细表格
|
|
|
|
|
|
+ // 学术推广服务任务明细表格
|
|
List<WmTask> wmTaskDetialList = wmTaskService.getTaskListByIdsReturnWmtaskInfo(wmTask);
|
|
List<WmTask> wmTaskDetialList = wmTaskService.getTaskListByIdsReturnWmtaskInfo(wmTask);
|
|
List<Map<String, Object>> wmTaskDetialMap = new ArrayList<>();
|
|
List<Map<String, Object>> wmTaskDetialMap = new ArrayList<>();
|
|
|
|
|
|
if (wmTaskDetialList.size() > 0) {
|
|
if (wmTaskDetialList.size() > 0) {
|
|
|
|
|
|
|
|
|
|
- for (WmTask wmTask1 : wmTaskDetialList) {
|
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
|
- WmTaskType wmTaskTypeTemp1 = wmTaskTypeService.getById(wmTask1.getTaskTypeId());
|
|
|
|
- map.put("taskType", wmTaskTypeTemp1.getTaskTypeName());
|
|
|
|
- DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
- String strDate2 = dtf2.format(wmTask1.getCreateTime());
|
|
|
|
- map.put("taskTime", strDate2);
|
|
|
|
- // map.put("taskUser", sysUserService.getById(wmTask1.getTaskUserId()).getRealname());
|
|
|
|
- map.put("taskUser", sysUserService.getByIdIgnore(wmTask1.getTaskUserId()).getRealname());
|
|
|
|
- map.put("taskTypeId", wmTask1.getTaskTypeId());
|
|
|
|
- map.put("score", wmTask1.getScore());
|
|
|
|
- map.put("taskNum", 1);
|
|
|
|
|
|
+ for (WmTask wmTask1 : wmTaskDetialList) {
|
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
|
+ WmTaskType wmTaskTypeTemp1 = wmTaskTypeService.getById(wmTask1.getTaskTypeId());
|
|
|
|
+ map.put("taskType", wmTaskTypeTemp1.getTaskTypeName());
|
|
|
|
+ DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
+ String strDate2 = dtf2.format(wmTask1.getCreateTime());
|
|
|
|
+ map.put("taskTime", strDate2);
|
|
|
|
+ // map.put("taskUser", sysUserService.getById(wmTask1.getTaskUserId()).getRealname());
|
|
|
|
+ map.put("taskUser", sysUserService.getByIdIgnore(wmTask1.getTaskUserId()).getRealname());
|
|
|
|
+ map.put("taskTypeId", wmTask1.getTaskTypeId());
|
|
|
|
+ map.put("score", wmTask1.getScore());
|
|
|
|
+ map.put("taskNum", 1);
|
|
|
|
|
|
- wmTaskDetialMap.add(map);
|
|
|
|
- }
|
|
|
|
|
|
+ wmTaskDetialMap.add(map);
|
|
|
|
+ }
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- excelMap.put("rwmxTable", wmTaskDetialMap);//学术推广服务任务明细表格
|
|
|
|
|
|
+ excelMap.put("rwmxTable", wmTaskDetialMap);// 学术推广服务任务明细表格
|
|
|
|
|
|
if (totalMoney > wmScorePackage.getScore()) {
|
|
if (totalMoney > wmScorePackage.getScore()) {
|
|
totalMoney = wmScorePackage.getScore();
|
|
totalMoney = wmScorePackage.getScore();
|
|
}
|
|
}
|
|
|
|
|
|
- excelMap.put("ryTable", userMap);//人员表格
|
|
|
|
|
|
+ excelMap.put("ryTable", userMap);// 人员表格
|
|
excelMap.put("tMoney", totalMoney);
|
|
excelMap.put("tMoney", totalMoney);
|
|
|
|
|
|
if (xlsTaskList.size() > 0) {
|
|
if (xlsTaskList.size() > 0) {
|
|
- excelMap.put("wt_ent", xlsTaskList.get(0).getDrugEntName());//委托公司
|
|
|
|
- excelMap.put("drugEnt", xlsTaskList.get(0).getDrugEntName());//服务药企
|
|
|
|
|
|
+ excelMap.put("wt_ent", xlsTaskList.get(0).getDrugEntName());// 委托公司
|
|
|
|
+ excelMap.put("drugEnt", xlsTaskList.get(0).getDrugEntName());// 服务药企
|
|
excelMap.put("mxTable", xlsTaskList);
|
|
excelMap.put("mxTable", xlsTaskList);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -312,7 +314,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
excelMap.put("totalSubmitScore", sum);
|
|
excelMap.put("totalSubmitScore", sum);
|
|
excelMap.put("totalSubmitTaskNum", total);
|
|
excelMap.put("totalSubmitTaskNum", total);
|
|
|
|
|
|
- excelMap.put("ztTable", wmTaskCount);//学术推广服务整体概况表格
|
|
|
|
|
|
+ excelMap.put("ztTable", wmTaskCount);// 学术推广服务整体概况表格
|
|
}
|
|
}
|
|
|
|
|
|
// 任务小类及对应的任务个数和积分值
|
|
// 任务小类及对应的任务个数和积分值
|
|
@@ -320,8 +322,8 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
|
|
|
|
// 查询taskType
|
|
// 查询taskType
|
|
List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
|
|
List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
|
|
- .eq(WmTaskType::getTaskTypeLevel, "1")
|
|
|
|
- .eq(WmTaskType::getDelFlag, "0")
|
|
|
|
|
|
+ .eq(WmTaskType::getTaskTypeLevel, "1")
|
|
|
|
+ .eq(WmTaskType::getDelFlag, "0")
|
|
// .eq(WmTaskType::getEnableFlag, "0")
|
|
// .eq(WmTaskType::getEnableFlag, "0")
|
|
);
|
|
);
|
|
// taskType通过id分组(key为parentId,value为taskTypeId的set)
|
|
// taskType通过id分组(key为parentId,value为taskTypeId的set)
|
|
@@ -348,7 +350,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
briefTable1List.add(briefTable1TotalParams);
|
|
briefTable1List.add(briefTable1TotalParams);
|
|
excelMap.put("briefTable", briefTable1List);
|
|
excelMap.put("briefTable", briefTable1List);
|
|
|
|
|
|
- //WmTaskRule wmTaskRule = wmTaskRuleService.getById(wmScorePackage.getTaskRuleId());
|
|
|
|
|
|
+ // WmTaskRule wmTaskRule = wmTaskRuleService.getById(wmScorePackage.getTaskRuleId());
|
|
String entDate = wmScorePackage.getBelongDate() + "-31";
|
|
String entDate = wmScorePackage.getBelongDate() + "-31";
|
|
try {
|
|
try {
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
@@ -356,7 +358,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
} catch (Exception ex) {
|
|
} catch (Exception ex) {
|
|
entDate = wmScorePackage.getBelongDate() + "-30";
|
|
entDate = wmScorePackage.getBelongDate() + "-30";
|
|
}
|
|
}
|
|
- //excelMap.put("service_date", wmTaskRule.getRuleMonth() + "-01 至 " + entDate);
|
|
|
|
|
|
+ // excelMap.put("service_date", wmTaskRule.getRuleMonth() + "-01 至 " + entDate);
|
|
|
|
|
|
List<Map<String, Object>> wmTaskZd = wmTaskService.getTaskListByIdsZd(wmTask);
|
|
List<Map<String, Object>> wmTaskZd = wmTaskService.getTaskListByIdsZd(wmTask);
|
|
String minDateStr = null;
|
|
String minDateStr = null;
|
|
@@ -414,7 +416,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
|
|
|
|
excelMap.put("rule_month", monthStr);
|
|
excelMap.put("rule_month", monthStr);
|
|
|
|
|
|
- //报告日期
|
|
|
|
|
|
+ // 报告日期
|
|
Map<String, Timestamp> maxMaxTime = wmTaskService.getMaxCreateTime(wmTask);
|
|
Map<String, Timestamp> maxMaxTime = wmTaskService.getMaxCreateTime(wmTask);
|
|
System.out.println(maxMaxTime);
|
|
System.out.println(maxMaxTime);
|
|
LocalDateTime MaxTime = maxMaxTime.get("MaxTime").toLocalDateTime();
|
|
LocalDateTime MaxTime = maxMaxTime.get("MaxTime").toLocalDateTime();
|
|
@@ -441,13 +443,13 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
} else {
|
|
} else {
|
|
return R.failed("未查询到审核通过的任务");
|
|
return R.failed("未查询到审核通过的任务");
|
|
}
|
|
}
|
|
- //区分全职兼职学术推广员模版
|
|
|
|
|
|
+ // 区分全职兼职学术推广员模版
|
|
excelMap.put("userType", wmScorePackage.getTypeid());
|
|
excelMap.put("userType", wmScorePackage.getTypeid());
|
|
|
|
|
|
File f = null;
|
|
File f = null;
|
|
- if (wmScorePackage.getPackageType1().equals("1")) {//定额
|
|
|
|
|
|
+ if (wmScorePackage.getPackageType1().equals("1")) {// 定额
|
|
f = ExportReport.main_bulidTemplate1(excelMap, 1, upmsConfig.getBasePath());
|
|
f = ExportReport.main_bulidTemplate1(excelMap, 1, upmsConfig.getBasePath());
|
|
- } else {//定量
|
|
|
|
|
|
+ } else {// 定量
|
|
f = ExportReport.main_bulidTemplate2(excelMap, 1, upmsConfig.getBasePath());
|
|
f = ExportReport.main_bulidTemplate2(excelMap, 1, upmsConfig.getBasePath());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -460,7 +462,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public R newExportNba(WmScorePackage wmScorePackage, Integer deptId, String username) throws IOException {
|
|
|
|
|
|
+ public R<?> newExportNba(WmScorePackage wmScorePackage, Integer deptId, String username) throws IOException {
|
|
|
|
|
|
wmScorePackage = wmScorePackageService.getById(wmScorePackage.getId());
|
|
wmScorePackage = wmScorePackageService.getById(wmScorePackage.getId());
|
|
|
|
|
|
@@ -478,65 +480,63 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
|
|
|
|
List<WmTask> taskList = wmTaskMapper.selectList(Wrappers.<WmTask>lambdaQuery().in(WmTask::getScorePackageId, idSet)
|
|
List<WmTask> taskList = wmTaskMapper.selectList(Wrappers.<WmTask>lambdaQuery().in(WmTask::getScorePackageId, idSet)
|
|
.eq(WmTask::getTaskStatus, 3)
|
|
.eq(WmTask::getTaskStatus, 3)
|
|
- .and(item -> item.in(WmTask::getReportDrugApprovalStatus, Arrays.asList(5,6)).eq(WmTask::getReportDrugApprovalOpinion, 1)
|
|
|
|
- .or(item2 -> item2.in(WmTask::getReportOneApprovalStatus, Arrays.asList(5,6)).eq(WmTask::getReportOneApprovalOpinion,1))));
|
|
|
|
|
|
+ .and(item -> item.in(WmTask::getReportDrugApprovalStatus, Arrays.asList(5, 6)).eq(WmTask::getReportDrugApprovalOpinion, 1)
|
|
|
|
+ .or(item2 -> item2.in(WmTask::getReportOneApprovalStatus, Arrays.asList(5, 6)).eq(WmTask::getReportOneApprovalOpinion, 1))));
|
|
|
|
|
|
- //更新任务表审批意见
|
|
|
|
- WmTask wmTask = new WmTask();
|
|
|
|
- wmTask.setDelFlag("0");
|
|
|
|
- wmTask.setEnableFlag("0");
|
|
|
|
-
|
|
|
|
- if (null == taskList || taskList.size() <= 0) {
|
|
|
|
|
|
+ if (CollUtil.isEmpty(taskList)) {
|
|
return R.failed("ERROR_未查询到该报告关联的审批通过的任务");
|
|
return R.failed("ERROR_未查询到该报告关联的审批通过的任务");
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 更新任务表审批意见
|
|
|
|
+ WmTask wmTask = new WmTask();
|
|
|
|
+ wmTask.setDelFlag(CommonConstants.STATUS_NORMAL);
|
|
|
|
+ wmTask.setEnableFlag(CommonConstants.STATUS_NORMAL);
|
|
String ids = taskList.stream().map(WmTask::getId).collect(Collectors.joining(","));
|
|
String ids = taskList.stream().map(WmTask::getId).collect(Collectors.joining(","));
|
|
wmTask.setScorePackageId(wmScorePackage.getId());
|
|
wmTask.setScorePackageId(wmScorePackage.getId());
|
|
wmTask.setId(ids);
|
|
wmTask.setId(ids);
|
|
-
|
|
|
|
-
|
|
|
|
return exportNba(wmTask, wmScorePackage, deptId, username);
|
|
return exportNba(wmTask, wmScorePackage, deptId, username);
|
|
}
|
|
}
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public R newExportNbaHistory(WmScorePackage wmScorePackage, Integer deptId, String username) throws IOException {
|
|
public R newExportNbaHistory(WmScorePackage wmScorePackage, Integer deptId, String username) throws IOException {
|
|
- wmScorePackage=wmScorePackageService.getById(wmScorePackage.getId());
|
|
|
|
- if(wmScorePackage==null){
|
|
|
|
|
|
+ wmScorePackage = wmScorePackageService.getById(wmScorePackage.getId());
|
|
|
|
+ if (wmScorePackage == null) {
|
|
return R.failed("未查询到积分包信息");
|
|
return R.failed("未查询到积分包信息");
|
|
}
|
|
}
|
|
- LambdaQueryWrapper<WmTask> queryWrapper=new LambdaQueryWrapper();
|
|
|
|
|
|
+ LambdaQueryWrapper<WmTask> queryWrapper = new LambdaQueryWrapper();
|
|
queryWrapper.eq(WmTask::getScorePackageDrugId, wmScorePackage.getId());
|
|
queryWrapper.eq(WmTask::getScorePackageDrugId, wmScorePackage.getId());
|
|
- queryWrapper.eq(WmTask::getTaskStatus,"3");
|
|
|
|
- queryWrapper.eq(WmTask::getDelFlag,"0");
|
|
|
|
- queryWrapper.eq(WmTask::getEnableFlag,"0");
|
|
|
|
- queryWrapper.eq(WmTask::getRealFlag,"0");
|
|
|
|
- List<WmTask> taskList=wmTaskService.list(queryWrapper);
|
|
|
|
- //List<WmTask> taskList = wmTaskMapper.selectListByWmTask(wmScorePackage);
|
|
|
|
- //更新任务表审批意见
|
|
|
|
- WmTask wmTask=new WmTask();
|
|
|
|
|
|
+ queryWrapper.eq(WmTask::getTaskStatus, "3");
|
|
|
|
+ queryWrapper.eq(WmTask::getDelFlag, "0");
|
|
|
|
+ queryWrapper.eq(WmTask::getEnableFlag, "0");
|
|
|
|
+ queryWrapper.eq(WmTask::getRealFlag, "0");
|
|
|
|
+ List<WmTask> taskList = wmTaskService.list(queryWrapper);
|
|
|
|
+ // List<WmTask> taskList = wmTaskMapper.selectListByWmTask(wmScorePackage);
|
|
|
|
+ // 更新任务表审批意见
|
|
|
|
+ WmTask wmTask = new WmTask();
|
|
wmTask.setDelFlag("0");
|
|
wmTask.setDelFlag("0");
|
|
wmTask.setEnableFlag("0");
|
|
wmTask.setEnableFlag("0");
|
|
|
|
|
|
- if(null==taskList||taskList.size()<=0){
|
|
|
|
|
|
+ if (null == taskList || taskList.size() <= 0) {
|
|
return R.failed("ERROR_未查询到该报告关联的审批通过的任务");
|
|
return R.failed("ERROR_未查询到该报告关联的审批通过的任务");
|
|
}
|
|
}
|
|
- String ids = taskList.stream().map(WmTask::getId).collect(Collectors.joining("," ));
|
|
|
|
|
|
+ String ids = taskList.stream().map(WmTask::getId).collect(Collectors.joining(","));
|
|
wmTask.setScorePackageId(wmScorePackage.getId());
|
|
wmTask.setScorePackageId(wmScorePackage.getId());
|
|
- //wmTask.setId(ids);
|
|
|
|
- wmTask.setId("(select id from wm_task where del_flag=0 and real_flag=0 and enable_flag=0 and task_status=3 and score_package_drug_id="+wmScorePackage.getId()+")");
|
|
|
|
|
|
+ // wmTask.setId(ids);
|
|
|
|
+ wmTask.setId("(select id from wm_task where del_flag=0 and real_flag=0 and enable_flag=0 and task_status=3 and score_package_drug_id=" + wmScorePackage.getId() + ")");
|
|
|
|
|
|
- return exportNba(wmTask,wmScorePackage,deptId,username);//报告汇总
|
|
|
|
|
|
+ return exportNba(wmTask, wmScorePackage, deptId, username);// 报告汇总
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 结算报告--导出汇总报告--学术推广服务报告
|
|
* 结算报告--导出汇总报告--学术推广服务报告
|
|
*
|
|
*
|
|
- * @param wmTask
|
|
|
|
- * @param wmScorePackage
|
|
|
|
- * @return
|
|
|
|
- * @throws IOException
|
|
|
|
|
|
+ * @param wmTask 任务
|
|
|
|
+ * @param wmScorePackage 积分包
|
|
|
|
+ * @return 导出信息
|
|
|
|
+ * @throws IOException 异常
|
|
*/
|
|
*/
|
|
- private R exportNba(WmTask wmTask, WmScorePackage wmScorePackage, Integer deptId, String username) throws IOException {
|
|
|
|
|
|
+ private R<?> exportNba(WmTask wmTask, WmScorePackage wmScorePackage, Integer deptId, String username) throws IOException {
|
|
|
|
|
|
WmTask wmTaskparam = wmTask;
|
|
WmTask wmTaskparam = wmTask;
|
|
String packageId = wmTask.getScorePackageId(); // 获取积分包ID
|
|
String packageId = wmTask.getScorePackageId(); // 获取积分包ID
|
|
@@ -558,30 +558,25 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
|
|
|
|
excelMap.put("totalscorePackageScore", wmScorePackage.getScore());
|
|
excelMap.put("totalscorePackageScore", wmScorePackage.getScore());
|
|
if (wmScorePackage.getPackageType1().equals("2") || wmScorePackage.getPackageType1().equals("3")) {
|
|
if (wmScorePackage.getPackageType1().equals("2") || wmScorePackage.getPackageType1().equals("3")) {
|
|
- excelMap.put("totalscorePackageTaskNum", wmScorePackage.getTaskNum() * wmScorePackage.getUserNum());//积分包值任务个数
|
|
|
|
|
|
+ excelMap.put("totalscorePackageTaskNum", wmScorePackage.getTaskNum() * wmScorePackage.getUserNum());// 积分包值任务个数
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
List<Map<String, Object>> wmTaskList = wmTaskService.getTaskListByIdsOld(wmTask);
|
|
List<Map<String, Object>> wmTaskList = wmTaskService.getTaskListByIdsOld(wmTask);
|
|
|
|
|
|
|
|
+ // mxTable
|
|
|
|
+ List<XlsTask> xlsTaskList = new ArrayList<>();
|
|
|
|
+ int totalMoney = 0;
|
|
|
|
|
|
- List<XlsTask> xlsTaskList = new ArrayList<>();//mxTable
|
|
|
|
- Integer totalMoney = 0;
|
|
|
|
-// wmTask.setScorePackageId(null);
|
|
|
|
-// wmTask.setScorePackageDrugId(null);
|
|
|
|
-
|
|
|
|
- //当前登陆人的机构
|
|
|
|
|
|
+ // 当前登陆人的机构
|
|
SysDept sysDept = sysDeptService.getById(deptId);
|
|
SysDept sysDept = sysDeptService.getById(deptId);
|
|
|
|
|
|
Map<String, Object> userMap = new HashMap<>();
|
|
Map<String, Object> userMap = new HashMap<>();
|
|
|
|
|
|
- //委托公司(结算企业)
|
|
|
|
|
|
+ // 委托公司(结算企业)
|
|
SysDept drugEnt = sysDeptService.getById(wmScorePackage.getSendPackageDeptId());
|
|
SysDept drugEnt = sysDeptService.getById(wmScorePackage.getSendPackageDeptId());
|
|
- //WmDaDrugEnt wmDaDrugEnt = wmDaDrugEntService.getById(SecurityUtils.getUser().getDrugEntId());
|
|
|
|
|
|
|
|
- //报告公司(申请结算企业)
|
|
|
|
|
|
+ // 报告公司(申请结算企业)
|
|
SysDept applydrugEnt = sysDeptService.getById(wmScorePackage.getDeptId());
|
|
SysDept applydrugEnt = sysDeptService.getById(wmScorePackage.getDeptId());
|
|
- //WmDaAgent wmDaAgent = wmDaAgentService.getById(wmScorePackage.getLevel1Id());
|
|
|
|
|
|
|
|
for (Map<String, Object> wmT : wmTaskList) {
|
|
for (Map<String, Object> wmT : wmTaskList) {
|
|
totalMoney += Integer.parseInt(wmT.get("score") + "");
|
|
totalMoney += Integer.parseInt(wmT.get("score") + "");
|
|
@@ -591,7 +586,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
|
|
|
|
xlsTask.setDeptName(sysDept.getName());
|
|
xlsTask.setDeptName(sysDept.getName());
|
|
|
|
|
|
- //level=2是药企
|
|
|
|
|
|
+ // level=2是药企
|
|
if (sysDept.getLevel() == 2) {
|
|
if (sysDept.getLevel() == 2) {
|
|
xlsTask.setAgentDeptName(applydrugEnt.getName());
|
|
xlsTask.setAgentDeptName(applydrugEnt.getName());
|
|
}
|
|
}
|
|
@@ -607,14 +602,14 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
xlsTaskList.add(xlsTask);
|
|
xlsTaskList.add(xlsTask);
|
|
|
|
|
|
String buildKey = wmT.get("realname") + "_" + drugEnt.getName() + "_" + sysDept.getName();
|
|
String buildKey = wmT.get("realname") + "_" + drugEnt.getName() + "_" + sysDept.getName();
|
|
- //人员表格
|
|
|
|
|
|
+ // 人员表格
|
|
if (userMap.containsKey(buildKey)) {
|
|
if (userMap.containsKey(buildKey)) {
|
|
try {
|
|
try {
|
|
userMap.put(buildKey, Integer.parseInt(wmT.get("score") + "") + Integer.parseInt(userMap.get(buildKey) + ""));
|
|
userMap.put(buildKey, Integer.parseInt(wmT.get("score") + "") + Integer.parseInt(userMap.get(buildKey) + ""));
|
|
userMap.put(buildKey + "_total", Integer.parseInt(wmT.get("score_count") + "") + Integer.parseInt(userMap
|
|
userMap.put(buildKey + "_total", Integer.parseInt(wmT.get("score_count") + "") + Integer.parseInt(userMap
|
|
.get(buildKey + "_total") + ""));
|
|
.get(buildKey + "_total") + ""));
|
|
|
|
|
|
- } catch (Exception ex) {
|
|
|
|
|
|
+ } catch (Exception ignored) {
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
userMap.put(buildKey, Integer.parseInt(wmT.get("score") + ""));
|
|
userMap.put(buildKey, Integer.parseInt(wmT.get("score") + ""));
|
|
@@ -622,23 +617,18 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-// List<String> list1 = new ArrayList<>();
|
|
|
|
-// list1.add(packageId);
|
|
|
|
-
|
|
|
|
- //学术推广服务任务明细表格
|
|
|
|
|
|
+ // 学术推广服务任务明细表格
|
|
List<WmTask> wmTaskDetialList = wmTaskService.getTaskListByIdsReturnWmtaskInfo(wmTask);
|
|
List<WmTask> wmTaskDetialList = wmTaskService.getTaskListByIdsReturnWmtaskInfo(wmTask);
|
|
List<Map<String, Object>> wmTaskDetialMap = new ArrayList<>();
|
|
List<Map<String, Object>> wmTaskDetialMap = new ArrayList<>();
|
|
|
|
|
|
- if (wmTaskDetialList.size() > 0) {
|
|
|
|
- for (WmTask wmTask1 :
|
|
|
|
- wmTaskDetialList) {
|
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
|
|
|
+ if (CollUtil.isNotEmpty(wmTaskDetialList)) {
|
|
|
|
+ DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
+ for (WmTask wmTask1 : wmTaskDetialList) {
|
|
|
|
+ Map<String, Object> map = new HashMap<>(6);
|
|
WmTaskType wmTaskTypeTemp1 = wmTaskTypeService.getById(wmTask1.getTaskTypeId());
|
|
WmTaskType wmTaskTypeTemp1 = wmTaskTypeService.getById(wmTask1.getTaskTypeId());
|
|
map.put("taskType", wmTaskTypeTemp1.getTaskTypeName());
|
|
map.put("taskType", wmTaskTypeTemp1.getTaskTypeName());
|
|
- DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
String strDate2 = dtf2.format(wmTask1.getCreateTime());
|
|
String strDate2 = dtf2.format(wmTask1.getCreateTime());
|
|
map.put("taskTime", strDate2);
|
|
map.put("taskTime", strDate2);
|
|
-// map.put("taskUser", sysUserService.getById(wmTask1.getTaskUserId()).getRealname());
|
|
|
|
map.put("taskUser", sysUserService.getByIdIgnore(wmTask1.getTaskUserId()).getRealname());
|
|
map.put("taskUser", sysUserService.getByIdIgnore(wmTask1.getTaskUserId()).getRealname());
|
|
map.put("taskTypeId", wmTask1.getTaskTypeId());
|
|
map.put("taskTypeId", wmTask1.getTaskTypeId());
|
|
map.put("score", wmTask1.getScore());
|
|
map.put("score", wmTask1.getScore());
|
|
@@ -649,29 +639,28 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- excelMap.put("rwmxTable", wmTaskDetialMap);//学术推广服务任务明细表格
|
|
|
|
|
|
+ // 学术推广服务任务明细表格
|
|
|
|
+ excelMap.put("rwmxTable", wmTaskDetialMap);
|
|
|
|
|
|
if (totalMoney > wmScorePackage.getScore()) {
|
|
if (totalMoney > wmScorePackage.getScore()) {
|
|
totalMoney = wmScorePackage.getScore();
|
|
totalMoney = wmScorePackage.getScore();
|
|
}
|
|
}
|
|
|
|
|
|
- excelMap.put("ryTable", userMap);//人员表格
|
|
|
|
|
|
+ // 人员表格
|
|
|
|
+ excelMap.put("ryTable", userMap);
|
|
excelMap.put("tMoney", totalMoney);
|
|
excelMap.put("tMoney", totalMoney);
|
|
|
|
|
|
- if (xlsTaskList.size() > 0) {
|
|
|
|
- excelMap.put("wt_ent", xlsTaskList.get(0).getDrugEntName());//委托公司
|
|
|
|
- excelMap.put("drugEnt", xlsTaskList.get(0).getDrugEntName());//服务药企
|
|
|
|
|
|
+ if (CollUtil.isNotEmpty(xlsTaskList)) {
|
|
|
|
+ excelMap.put("wt_ent", xlsTaskList.get(0).getDrugEntName());// 委托公司
|
|
|
|
+ excelMap.put("drugEnt", xlsTaskList.get(0).getDrugEntName());// 服务药企
|
|
excelMap.put("mxTable", xlsTaskList);
|
|
excelMap.put("mxTable", xlsTaskList);
|
|
}
|
|
}
|
|
|
|
|
|
- List<Map<String, String>> ztTableList = new ArrayList<>();
|
|
|
|
- Map<String, String> ztMap = new HashMap<>();
|
|
|
|
List<Map<String, Object>> wmTaskCount = wmTaskService.getTaskListByIdsCount(wmTask);
|
|
List<Map<String, Object>> wmTaskCount = wmTaskService.getTaskListByIdsCount(wmTask);
|
|
- if (wmTaskCount.size() > 0) {
|
|
|
|
- Integer total = 0;
|
|
|
|
- Integer sum = 0;
|
|
|
|
- for (Map<String, Object> map :
|
|
|
|
- wmTaskCount) {
|
|
|
|
|
|
+ if (CollUtil.isNotEmpty(wmTaskCount)) {
|
|
|
|
+ int total = 0;
|
|
|
|
+ int sum = 0;
|
|
|
|
+ for (Map<String, Object> map : wmTaskCount) {
|
|
if (null != map.get("taskCount")) {
|
|
if (null != map.get("taskCount")) {
|
|
total += Integer.parseInt(map.get("taskCount") + "");
|
|
total += Integer.parseInt(map.get("taskCount") + "");
|
|
}
|
|
}
|
|
@@ -690,7 +679,8 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
excelMap.put("totalSubmitScore", sum);
|
|
excelMap.put("totalSubmitScore", sum);
|
|
excelMap.put("totalSubmitTaskNum", total);
|
|
excelMap.put("totalSubmitTaskNum", total);
|
|
|
|
|
|
- excelMap.put("ztTable", wmTaskCount);//学术推广服务整体概况表格
|
|
|
|
|
|
+ // 学术推广服务整体概况表格
|
|
|
|
+ excelMap.put("ztTable", wmTaskCount);
|
|
}
|
|
}
|
|
|
|
|
|
// 任务小类及对应的任务个数和积分值
|
|
// 任务小类及对应的任务个数和积分值
|
|
@@ -699,76 +689,63 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
// 查询taskType
|
|
// 查询taskType
|
|
List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
|
|
List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
|
|
.eq(WmTaskType::getTaskTypeLevel, "1")
|
|
.eq(WmTaskType::getTaskTypeLevel, "1")
|
|
- .eq(WmTaskType::getDelFlag, "0")
|
|
|
|
-// .eq(WmTaskType::getEnableFlag, "0")
|
|
|
|
|
|
+ .eq(WmTaskType::getDelFlag, CommonConstants.STATUS_NORMAL)
|
|
);
|
|
);
|
|
|
|
+
|
|
// taskType通过id分组(key为parentId,value为taskTypeId的set)
|
|
// taskType通过id分组(key为parentId,value为taskTypeId的set)
|
|
- Map<String, String> taskTypeIdMap = taskTypeList.stream()
|
|
|
|
- .collect(Collectors.toMap(WmTaskType::getId, WmTaskType::getTaskTypeName));
|
|
|
|
|
|
+ Map<String, String> taskTypeIdMap = taskTypeList.stream().collect(Collectors.toMap(WmTaskType::getId, WmTaskType::getTaskTypeName));
|
|
|
|
|
|
// task通过taskTypeId分组
|
|
// task通过taskTypeId分组
|
|
- Map<String, List<WmTask>> taskTypeMap = taskList.stream()
|
|
|
|
- .collect(Collectors.groupingBy(WmTask::getTaskTypeId, Collectors.toList()));
|
|
|
|
|
|
+ Map<String, List<WmTask>> taskTypeMap = taskList.stream().collect(Collectors.groupingBy(WmTask::getTaskTypeId, Collectors.toList()));
|
|
|
|
|
|
// 封装brief table1数据(统计每个小类任务的积分、任务数)
|
|
// 封装brief table1数据(统计每个小类任务的积分、任务数)
|
|
- List<Map<String, Object>> briefTable1List = new ArrayList<>();
|
|
|
|
|
|
+ List<Map<String, Object>> briefTable1List = new ArrayList<>(taskTypeMap.size());
|
|
taskTypeMap.forEach((taskTypeId, wmTasks) -> {
|
|
taskTypeMap.forEach((taskTypeId, wmTasks) -> {
|
|
- Map<String, Object> briefTable1Params = new HashMap<>();
|
|
|
|
|
|
+ Map<String, Object> briefTable1Params = new HashMap<>(3);
|
|
briefTable1Params.put("taskTypeName", taskTypeIdMap.get(taskTypeId));
|
|
briefTable1Params.put("taskTypeName", taskTypeIdMap.get(taskTypeId));
|
|
briefTable1Params.put("taskCount", wmTasks.size());
|
|
briefTable1Params.put("taskCount", wmTasks.size());
|
|
briefTable1Params.put("taskSum", wmTasks.stream().map(WmTask::getScore).reduce(0, Integer::sum));
|
|
briefTable1Params.put("taskSum", wmTasks.stream().map(WmTask::getScore).reduce(0, Integer::sum));
|
|
briefTable1List.add(briefTable1Params);
|
|
briefTable1List.add(briefTable1Params);
|
|
});
|
|
});
|
|
- Map<String, Object> briefTable1TotalParams = new HashMap<>();
|
|
|
|
|
|
+
|
|
|
|
+ Map<String, Object> briefTable1TotalParams = new HashMap<>(3);
|
|
briefTable1TotalParams.put("taskTypeName", "合计");
|
|
briefTable1TotalParams.put("taskTypeName", "合计");
|
|
briefTable1TotalParams.put("taskCount", taskList.size());
|
|
briefTable1TotalParams.put("taskCount", taskList.size());
|
|
briefTable1TotalParams.put("taskSum", taskList.stream().map(WmTask::getScore).reduce(0, Integer::sum));
|
|
briefTable1TotalParams.put("taskSum", taskList.stream().map(WmTask::getScore).reduce(0, Integer::sum));
|
|
briefTable1List.add(briefTable1TotalParams);
|
|
briefTable1List.add(briefTable1TotalParams);
|
|
excelMap.put("briefTable", briefTable1List);
|
|
excelMap.put("briefTable", briefTable1List);
|
|
|
|
|
|
- //WmTaskRule wmTaskRule = wmTaskRuleService.getById(wmScorePackage.getTaskRuleId());
|
|
|
|
String entDate = wmScorePackage.getBelongDate() + "-31";
|
|
String entDate = wmScorePackage.getBelongDate() + "-31";
|
|
|
|
+
|
|
try {
|
|
try {
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
|
|
format.parse(entDate);
|
|
format.parse(entDate);
|
|
- } catch (Exception ex) {
|
|
|
|
- entDate = wmScorePackage.getBelongDate() + "-30";
|
|
|
|
|
|
+ } catch (Exception ignored) {
|
|
}
|
|
}
|
|
- //excelMap.put("service_date", wmTaskRule.getRuleMonth() + "-01 至 " + entDate);
|
|
|
|
|
|
|
|
List<Map<String, Object>> wmTaskZd = wmTaskService.getTaskListByIdsZd(wmTask);
|
|
List<Map<String, Object>> wmTaskZd = wmTaskService.getTaskListByIdsZd(wmTask);
|
|
String minDateStr = null;
|
|
String minDateStr = null;
|
|
String maxDateStr = null;
|
|
String maxDateStr = null;
|
|
// 服务周期取 积分包领取审核通过时间~管理员审核积分包时最后审核通过的时间
|
|
// 服务周期取 积分包领取审核通过时间~管理员审核积分包时最后审核通过的时间
|
|
Map<String, String> serviceTimeRangeMap = wmScorePackageStatusService.getServiceTimeRange(wmScorePackage);
|
|
Map<String, String> serviceTimeRangeMap = wmScorePackageStatusService.getServiceTimeRange(wmScorePackage);
|
|
- if (null != wmTaskZd) {
|
|
|
|
- if (wmTaskZd.size() > 0) {
|
|
|
|
- Map<String, Object> stringMap = wmTaskZd.get(0);
|
|
|
|
- if (null == stringMap) {
|
|
|
|
- return R.failed("未找到审核通过的任务");
|
|
|
|
- }
|
|
|
|
- excelMap.put("service_date", serviceTimeRangeMap.get("service_start_date") + "至" + serviceTimeRangeMap.get("service_end_date"));
|
|
|
|
-// excelMap.put("service_date", stringMap.get("mindate") + "至" + stringMap.get("maxdate"));
|
|
|
|
|
|
+ if (CollUtil.isNotEmpty(wmTaskZd)) {
|
|
|
|
+ Map<String, Object> stringMap = wmTaskZd.get(0);
|
|
|
|
+ if (null == stringMap) {
|
|
|
|
+ return R.failed("未找到审核通过的任务");
|
|
|
|
+ }
|
|
|
|
+ excelMap.put("service_date", serviceTimeRangeMap.get("service_start_date") + "至" + serviceTimeRangeMap.get("service_end_date"));
|
|
|
|
|
|
- try {
|
|
|
|
- minDateStr = serviceTimeRangeMap.get("service_start_date").substring(5, 7);
|
|
|
|
- maxDateStr = serviceTimeRangeMap.get("service_end_date").substring(5, 7);
|
|
|
|
|
|
+ try {
|
|
|
|
+ minDateStr = serviceTimeRangeMap.get("service_start_date").substring(5, 7);
|
|
|
|
+ maxDateStr = serviceTimeRangeMap.get("service_end_date").substring(5, 7);
|
|
|
|
|
|
- } catch (Exception ex) {
|
|
|
|
- ex.printStackTrace();
|
|
|
|
- }
|
|
|
|
|
|
+ } catch (Exception ignored) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if (null != applydrugEnt) {
|
|
|
|
- excelMap.put("report_ent", applydrugEnt.getName());
|
|
|
|
- } else {
|
|
|
|
- excelMap.put("report_ent", "");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ excelMap.put("report_ent", null != applydrugEnt ? applydrugEnt.getName() : "");
|
|
|
|
|
|
String ruleDate = wmScorePackage.getBelongDate();
|
|
String ruleDate = wmScorePackage.getBelongDate();
|
|
-
|
|
|
|
excelMap.put("rule_year", ruleDate.substring(0, 4));
|
|
excelMap.put("rule_year", ruleDate.substring(0, 4));
|
|
|
|
|
|
String monthStr = ruleDate.substring(5, 7);
|
|
String monthStr = ruleDate.substring(5, 7);
|
|
@@ -786,69 +763,43 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
}
|
|
}
|
|
} else if (null != minDateStr) {
|
|
} else if (null != minDateStr) {
|
|
monthStr = minDateStr;
|
|
monthStr = minDateStr;
|
|
- } else if (null != maxDateStr) {
|
|
|
|
- monthStr = maxDateStr;
|
|
|
|
}
|
|
}
|
|
|
|
|
|
excelMap.put("rule_month", monthStr);
|
|
excelMap.put("rule_month", monthStr);
|
|
|
|
|
|
- //报告日期
|
|
|
|
|
|
+ // 报告日期
|
|
Map<String, Timestamp> maxMaxTime = wmTaskService.getMaxCreateTime(wmTask);
|
|
Map<String, Timestamp> maxMaxTime = wmTaskService.getMaxCreateTime(wmTask);
|
|
System.out.println(maxMaxTime);
|
|
System.out.println(maxMaxTime);
|
|
LocalDateTime MaxTime = maxMaxTime.get("MaxTime").toLocalDateTime();
|
|
LocalDateTime MaxTime = maxMaxTime.get("MaxTime").toLocalDateTime();
|
|
excelMap.put("year", MaxTime.getYear() + "");
|
|
excelMap.put("year", MaxTime.getYear() + "");
|
|
- Integer month = MaxTime.getMonthValue();
|
|
|
|
- if (month < 10) {
|
|
|
|
- excelMap.put("month", "0" + MaxTime.getMonthValue() + "");
|
|
|
|
- } else {
|
|
|
|
- excelMap.put("month", MaxTime.getMonthValue() + "");
|
|
|
|
- }
|
|
|
|
- Integer day = MaxTime.getDayOfMonth();
|
|
|
|
- if (day < 10) {
|
|
|
|
- excelMap.put("day", "0" + MaxTime.getDayOfMonth() + "");
|
|
|
|
- } else {
|
|
|
|
- excelMap.put("day", MaxTime.getDayOfMonth() + "");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ excelMap.put("month", MaxTime.getMonthValue() < 10 ? "0" + MaxTime.getMonthValue() : MaxTime.getMonthValue() + "");
|
|
|
|
+ excelMap.put("day", MaxTime.getDayOfMonth() < 10 ? "0" + MaxTime.getDayOfMonth() : MaxTime.getDayOfMonth() + "");
|
|
excelMap.put("tMoney", totalMoney);
|
|
excelMap.put("tMoney", totalMoney);
|
|
excelMap.put("scoreId", wmScorePackage.getScorePackageName());
|
|
excelMap.put("scoreId", wmScorePackage.getScorePackageName());
|
|
|
|
|
|
List<Map<String, Object>> infoList = exportZbInfo(wmTaskparam);
|
|
List<Map<String, Object>> infoList = exportZbInfo(wmTaskparam);
|
|
- if (null != infoList && infoList.size() > 0) {
|
|
|
|
- excelMap.put("infoList", infoList);
|
|
|
|
- } else {
|
|
|
|
|
|
+
|
|
|
|
+ if (CollUtil.isEmpty(infoList)) {
|
|
return R.failed("未查询到审核通过的任务");
|
|
return R.failed("未查询到审核通过的任务");
|
|
}
|
|
}
|
|
- //区分全职兼职学术推广员模版
|
|
|
|
- excelMap.put("userType", wmScorePackage.getTypeid());
|
|
|
|
|
|
|
|
- File f = null;
|
|
|
|
- if (wmScorePackage.getPackageType1().equals("1")) {//定额
|
|
|
|
- f = ExportReport.main_bulidTemplate1(excelMap, 1, upmsConfig.getBasePath());
|
|
|
|
- } else {//定量
|
|
|
|
- f = ExportReport.main_bulidTemplate2(excelMap, 1, upmsConfig.getBasePath());
|
|
|
|
- }
|
|
|
|
|
|
+ excelMap.put("infoList", infoList);
|
|
|
|
+ // 区分全职兼职学术推广员模版
|
|
|
|
+ excelMap.put("userType", wmScorePackage.getTypeid());
|
|
|
|
|
|
|
|
+ // 1是定额,否则是定量
|
|
|
|
+ File f = "1".equals(wmScorePackage.getPackageType1()) ? ExportReport.main_bulidTemplate1(excelMap, 1, upmsConfig.getBasePath()) : ExportReport.main_bulidTemplate2(excelMap, 1, upmsConfig.getBasePath());
|
|
FileInputStream input = new FileInputStream(f);
|
|
FileInputStream input = new FileInputStream(f);
|
|
-
|
|
|
|
-// MultipartFile multipartFile = new MockMultipartFile("学术推广服务报告(" + packageId + ")", "学术推广服务报告(" + packageId + ").doc", "text/plain", IOUtils
|
|
|
|
-// .toByteArray(input));
|
|
|
|
-// return sysFileService.uploadFileAllUrlRealName(multipartFile, username);
|
|
|
|
-
|
|
|
|
- SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
|
|
|
|
- String idStr = format.format(new Date());
|
|
|
|
- String fileName = String.format("学术推广服务报告(%s)-%s.%s", packageId, idStr, FileUtil.extName(f.getName()));
|
|
|
|
-
|
|
|
|
- R r = sysFileService.uploadFileAllUrlRealName(fileName, input);
|
|
|
|
-
|
|
|
|
|
|
+ String fileName = String.format("学术推广服务报告(%s)-%s.%s", packageId, DateTimeFormatter.ofPattern(DatePattern.PURE_DATETIME_PATTERN).format(LocalDateTime.now()), FileUtil.extName(f.getName()));
|
|
|
|
+ R<?> r = sysFileService.uploadFileAllUrlRealName(fileName, input);
|
|
input.close();
|
|
input.close();
|
|
-
|
|
|
|
return r;
|
|
return r;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
* 个人承接按积分制
|
|
* 个人承接按积分制
|
|
|
|
+ *
|
|
* @param wmTask
|
|
* @param wmTask
|
|
* @param username
|
|
* @param username
|
|
* @return
|
|
* @return
|
|
@@ -906,7 +857,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
if (null != infoList && infoList.size() > 0) {
|
|
if (null != infoList && infoList.size() > 0) {
|
|
excelMap.put("infoList", infoList);
|
|
excelMap.put("infoList", infoList);
|
|
}
|
|
}
|
|
- //区分全职兼职学术推广员模版
|
|
|
|
|
|
+ // 区分全职兼职学术推广员模版
|
|
excelMap.put("userType", wmScorePackage1.getTypeid());
|
|
excelMap.put("userType", wmScorePackage1.getTypeid());
|
|
List<String> extIds = wmTask.getExtIds();
|
|
List<String> extIds = wmTask.getExtIds();
|
|
List<WmScorePackage> wmScorePackages = wmScorePackageService.listByIds(extIds);
|
|
List<WmScorePackage> wmScorePackages = wmScorePackageService.listByIds(extIds);
|
|
@@ -914,9 +865,9 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
excelMap.put("scoreId", StrUtil.isBlank(scoreIds) ? wmScorePackage1.getScorePackageName() : scoreIds);
|
|
excelMap.put("scoreId", StrUtil.isBlank(scoreIds) ? wmScorePackage1.getScorePackageName() : scoreIds);
|
|
|
|
|
|
File f = null;
|
|
File f = null;
|
|
- if (wmScorePackage1.getPackageType1().equals("1")) {//定额
|
|
|
|
|
|
+ if (wmScorePackage1.getPackageType1().equals("1")) {// 定额
|
|
f = ExportReport.main_bulidTemplate1(excelMap, 2, upmsConfig.getBasePath());
|
|
f = ExportReport.main_bulidTemplate1(excelMap, 2, upmsConfig.getBasePath());
|
|
- } else {//定量
|
|
|
|
|
|
+ } else {// 定量
|
|
f = ExportReport.main_bulidTemplate2(excelMap, 2, upmsConfig.getBasePath());
|
|
f = ExportReport.main_bulidTemplate2(excelMap, 2, upmsConfig.getBasePath());
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1055,7 +1006,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
excelMap.put("totalscorePackageScore", totalScorePackage);
|
|
excelMap.put("totalscorePackageScore", totalScorePackage);
|
|
if (wmScorePackage1.getPackageType1().equals("2") || wmScorePackage1.getPackageType1().equals("3")) {
|
|
if (wmScorePackage1.getPackageType1().equals("2") || wmScorePackage1.getPackageType1().equals("3")) {
|
|
if (!wmScorePackage1.getPackageType2().equals("2")) {
|
|
if (!wmScorePackage1.getPackageType2().equals("2")) {
|
|
- excelMap.put("totalscorePackageTaskNum", wmScorePackage1.getTaskNum() * wmScorePackage1.getUserNum());//积分包值任务个数
|
|
|
|
|
|
+ excelMap.put("totalscorePackageTaskNum", wmScorePackage1.getTaskNum() * wmScorePackage1.getUserNum());// 积分包值任务个数
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1065,7 +1016,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
if (CollUtil.isNotEmpty(tasks)) {
|
|
if (CollUtil.isNotEmpty(tasks)) {
|
|
int sum = tasks.stream()
|
|
int sum = tasks.stream()
|
|
// .filter(t -> "3".equals( t.getTaskStatus()) && WmTask.TaskSettleStatusEnum.SETTLED.getCode().equals(t.getTaskSettleStatus()))
|
|
// .filter(t -> "3".equals( t.getTaskStatus()) && WmTask.TaskSettleStatusEnum.SETTLED.getCode().equals(t.getTaskSettleStatus()))
|
|
- .filter(t -> "3".equals( t.getTaskStatus()))
|
|
|
|
|
|
+ .filter(t -> "3".equals(t.getTaskStatus()))
|
|
.mapToInt(WmTask::getScore).sum();
|
|
.mapToInt(WmTask::getScore).sum();
|
|
excelMap.put("submitAmount", sum);
|
|
excelMap.put("submitAmount", sum);
|
|
}
|
|
}
|
|
@@ -1125,8 +1076,8 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
|
|
|
|
// 查询taskType
|
|
// 查询taskType
|
|
List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
|
|
List<WmTaskType> taskTypeList = wmTaskTypeService.list(Wrappers.<WmTaskType>lambdaQuery()
|
|
- .eq(WmTaskType::getTaskTypeLevel, "1")
|
|
|
|
- .eq(WmTaskType::getDelFlag, "0")
|
|
|
|
|
|
+ .eq(WmTaskType::getTaskTypeLevel, "1")
|
|
|
|
+ .eq(WmTaskType::getDelFlag, "0")
|
|
// .eq(WmTaskType::getEnableFlag, "0")
|
|
// .eq(WmTaskType::getEnableFlag, "0")
|
|
);
|
|
);
|
|
// taskType通过id分组(key为parentId,value为taskTypeId的set)
|
|
// taskType通过id分组(key为parentId,value为taskTypeId的set)
|
|
@@ -1279,9 +1230,9 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
e.printStackTrace();
|
|
e.printStackTrace();
|
|
}
|
|
}
|
|
String taskUrl = upmsConfig.getApiUrl() + "/h5/#/pages/task/task-detail/index?id=" + task.getId();
|
|
String taskUrl = upmsConfig.getApiUrl() + "/h5/#/pages/task/task-detail/index?id=" + task.getId();
|
|
- log.warn("获取任务图片: [{}]:[{}]", task.getId(), taskUrl );
|
|
|
|
- BufferedImage image = Html2ImageByJsWrapper.renderHtml2Image(taskUrl , upmsConfig.getServerUrl());
|
|
|
|
- if (Objects.isNull(image)){
|
|
|
|
|
|
+ log.warn("获取任务图片: [{}]:[{}]", task.getId(), taskUrl);
|
|
|
|
+ BufferedImage image = Html2ImageByJsWrapper.renderHtml2Image(taskUrl, upmsConfig.getServerUrl());
|
|
|
|
+ if (Objects.isNull(image)) {
|
|
log.error("获取图片信息失败");
|
|
log.error("获取图片信息失败");
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
@@ -1292,115 +1243,115 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
|
|
|
|
WmTaskType taskType = wmTaskTypeService.getById(wmTask1.getTaskTypeId());
|
|
WmTaskType taskType = wmTaskTypeService.getById(wmTask1.getTaskTypeId());
|
|
Map<String, Object> map = new HashMap<>();
|
|
Map<String, Object> map = new HashMap<>();
|
|
- map.put("taskIndex", num++);
|
|
|
|
- map.put("taskType", taskType.getTaskTypeName());
|
|
|
|
- DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
- String strDate2 = dtf2.format(wmTask1.getCreateTime());
|
|
|
|
- map.put("taskTime", strDate2);
|
|
|
|
- map.put("taskUser", sysUserService.getByIdIgnore(wmTask1.getTaskUserId()).getRealname());
|
|
|
|
|
|
+ map.put("taskIndex", num++);
|
|
|
|
+ map.put("taskType", taskType.getTaskTypeName());
|
|
|
|
+ DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");
|
|
|
|
+ String strDate2 = dtf2.format(wmTask1.getCreateTime());
|
|
|
|
+ map.put("taskTime", strDate2);
|
|
|
|
+ map.put("taskUser", sysUserService.getByIdIgnore(wmTask1.getTaskUserId()).getRealname());
|
|
// WmTaskType wmTaskTypeTemp1 = wmTaskTypeService.getById(wmTask1.getTaskTypeId());
|
|
// WmTaskType wmTaskTypeTemp1 = wmTaskTypeService.getById(wmTask1.getTaskTypeId());
|
|
- map.put("taskTypeId", wmTask1.getTaskTypeId());
|
|
|
|
- map.put("taskNumber", wmTask1.getTaskNumber());
|
|
|
|
- // 通过配置tasktype的updateUser/createUser来控制截图大小(原有逻辑)
|
|
|
|
- map.put("imgWidth", taskType.getUpdateUser());
|
|
|
|
- map.put("imgHeight", taskType.getCreateUser());
|
|
|
|
|
|
+ map.put("taskTypeId", wmTask1.getTaskTypeId());
|
|
|
|
+ map.put("taskNumber", wmTask1.getTaskNumber());
|
|
|
|
+ // 通过配置tasktype的updateUser/createUser来控制截图大小(原有逻辑)
|
|
|
|
+ map.put("imgWidth", taskType.getUpdateUser());
|
|
|
|
+ map.put("imgHeight", taskType.getCreateUser());
|
|
|
|
|
|
String imgUrl = wmTask1.getTaskInfoImg();
|
|
String imgUrl = wmTask1.getTaskInfoImg();
|
|
map.put("taskBaseImg", StrUtil.isNotBlank(imgUrl) ? imgUrl : imgs.get(wmTask1.getId()));
|
|
map.put("taskBaseImg", StrUtil.isNotBlank(imgUrl) ? imgUrl : imgs.get(wmTask1.getId()));
|
|
|
|
|
|
- if (supportedTaskTypeIds.contains(wmTask1.getTaskTypeId())) {
|
|
|
|
- WmTaskContent wmTaskContent = wmTaskContentService.getById(wmTask1.getTaskContentId());
|
|
|
|
- if (null != wmTaskContent) {
|
|
|
|
- List<String> stringList = new ArrayList<>();
|
|
|
|
- WmTaskContentConfig queryWmTaskContentConfig = new WmTaskContentConfig();
|
|
|
|
- if ("39".equals(wmTask1.getTaskTypeId()) || "40".equals(wmTask1.getTaskTypeId()) || "41".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
- // 39 应收账款回款-A类、40 应收账款回款-B类、41 应收账款回款-C类 这里需要统一设置为39(由于三种类型公用一个页面所以WmTaskContentConfig只保存了39的配置字段)
|
|
|
|
|
|
+ if (supportedTaskTypeIds.contains(wmTask1.getTaskTypeId())) {
|
|
|
|
+ WmTaskContent wmTaskContent = wmTaskContentService.getById(wmTask1.getTaskContentId());
|
|
|
|
+ if (null != wmTaskContent) {
|
|
|
|
+ List<String> stringList = new ArrayList<>();
|
|
|
|
+ WmTaskContentConfig queryWmTaskContentConfig = new WmTaskContentConfig();
|
|
|
|
+ if ("39".equals(wmTask1.getTaskTypeId()) || "40".equals(wmTask1.getTaskTypeId()) || "41".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
+ // 39 应收账款回款-A类、40 应收账款回款-B类、41 应收账款回款-C类 这里需要统一设置为39(由于三种类型公用一个页面所以WmTaskContentConfig只保存了39的配置字段)
|
|
queryWmTaskContentConfig.setTaskTypeId("39");
|
|
queryWmTaskContentConfig.setTaskTypeId("39");
|
|
- } else if ("42".equals(wmTask1.getTaskTypeId()) || "43".equals(wmTask1.getTaskTypeId()) || "44".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
- // 手术跟台-一级/手术跟台-二级/手术跟台-三级任务类型 这里需要统一设置为42(由于三种类型公用一个页面所以WmTaskContentConfig只保存了42的配置字段)
|
|
|
|
- queryWmTaskContentConfig.setTaskTypeId("42");
|
|
|
|
- } else if ("14".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
- // 库存信息收集下的 库存盘点-中药颗粒剂、库存信息收集-首次 需要回显对应的详情字段(对于这几个任务类型这里的wmTask1的taskType实际存的都是14,所以需要转换下)
|
|
|
|
- queryWmTaskContentConfig.setTaskTypeId(wmTaskContent.getTemp30());
|
|
|
|
- } else if ("47".equals(wmTask1.getTaskTypeId()) || "48".equals(wmTask1.getTaskTypeId())
|
|
|
|
- || "49".equals(wmTask1.getTaskTypeId()) || "50".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
- // 库存调研、竞品调研、培训、使用情况调查
|
|
|
|
- queryWmTaskContentConfig.setTaskTypeId("47");
|
|
|
|
- } else if ("51".equals(wmTask1.getTaskTypeId()) || "52".equals(wmTask1.getTaskTypeId())
|
|
|
|
- || "53".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
- // 信用管理A/B/C
|
|
|
|
- queryWmTaskContentConfig.setTaskTypeId("51");
|
|
|
|
- } else if ("56".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
- // 首营管理-诊所/药店
|
|
|
|
- queryWmTaskContentConfig.setTaskTypeId(wmTaskContent.getTemp3());
|
|
|
|
- } else {
|
|
|
|
- queryWmTaskContentConfig.setTaskTypeId(wmTask1.getTaskTypeId());
|
|
|
|
- }
|
|
|
|
- QueryWrapper<WmTaskContentConfig> queryWrapper = Wrappers.query(queryWmTaskContentConfig);
|
|
|
|
- // 图片和签名都要导出
|
|
|
|
- queryWrapper.lambda().in(WmTaskContentConfig::getTaskFiledType, "img", "sign");
|
|
|
|
- List<WmTaskContentConfig> wmTaskContentConfigList = wmTaskContentConfigService.list(queryWrapper);
|
|
|
|
- if (wmTaskContentConfigList.size() > 0) {
|
|
|
|
- for (WmTaskContentConfig wmt : wmTaskContentConfigList) {
|
|
|
|
- String fileName = wmt.getTaskFiledKey();
|
|
|
|
- String imgsStr = getFieldValueByFieldName(fileName, wmTaskContent);
|
|
|
|
- // 图片的数据格式是这样的 /admin/sys-file/wmkj/237ea87e43cc463ba4aaa295e2a28e24.png;1,/admin/sys-file/wmkj/fd7c4cd56d6748dea18ea57c809e464c.jpg
|
|
|
|
- List<String> imgList = StrUtil.splitTrim(imgsStr, ",").stream()
|
|
|
|
- .filter(StrUtil::isNotBlank)
|
|
|
|
- .map(s -> s.split(";")[0]).collect(Collectors.toList());
|
|
|
|
- stringList.addAll(imgList);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (stringList.size() > 0) {
|
|
|
|
- map.put("imgList", stringList);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // 企业任务类型-回显文件地址处理
|
|
|
|
- List<WmTaskContentConfig> fileurlTaskContentConfigList =
|
|
|
|
- wmTaskContentConfigService.list(Wrappers.<WmTaskContentConfig>lambdaQuery()
|
|
|
|
- .eq(WmTaskContentConfig::getTaskTypeId, wmTask1.getTaskTypeId())
|
|
|
|
- .eq(WmTaskContentConfig::getTaskFiledType, "fileurl"));
|
|
|
|
- if (CollUtil.isNotEmpty(fileurlTaskContentConfigList)) {
|
|
|
|
- List<Map<String, String>> fileUrlList = new ArrayList<>();
|
|
|
|
- for (WmTaskContentConfig wmt : fileurlTaskContentConfigList) {
|
|
|
|
- String fileName = wmt.getTaskFiledKey();
|
|
|
|
- String taskFiledValue = wmt.getTaskFiledValue();
|
|
|
|
- String fileUrlStr = getFieldValueByFieldName(fileName, wmTaskContent);
|
|
|
|
-
|
|
|
|
- HashMap<String, String> fileUrlMap = new HashMap<>();
|
|
|
|
- if (JSONUtil.isJsonArray(fileUrlStr)) {
|
|
|
|
- List<String> fileUrls = new ArrayList<>();
|
|
|
|
- JSONArray jsonArray = JSONUtil.parseArray(fileUrlStr);
|
|
|
|
- jsonArray.jsonIter().forEach(jsonObject -> {
|
|
|
|
- String url = jsonObject.getStr("url");
|
|
|
|
- if (!StrUtil.startWith(url, "http")) {
|
|
|
|
- url = upmsConfig.getClientUrl() + url;
|
|
|
|
- }
|
|
|
|
- fileUrls.add(url);
|
|
|
|
- });
|
|
|
|
- fileUrlMap.put("fileUrl",
|
|
|
|
- String.format("%s: %s", taskFiledValue, String.join(",", fileUrls)));
|
|
|
|
- } else {
|
|
|
|
- fileUrlMap.put("fileUrl", String.format("%s: %s", taskFiledValue, fileUrlStr));
|
|
|
|
- }
|
|
|
|
- fileUrlList.add(fileUrlMap);
|
|
|
|
- }
|
|
|
|
- map.put("fileUrlList", fileUrlList);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- // 问卷任务类型-回显答题结果
|
|
|
|
- if ("801".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
- this.taskType801Detail(wmTaskContent, map);
|
|
|
|
- // 不显示截图
|
|
|
|
- map.put("imgList", Collections.emptyList());
|
|
|
|
- map.put("taskBaseImg", null);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- infoList.add(map);
|
|
|
|
- }
|
|
|
|
|
|
+ } else if ("42".equals(wmTask1.getTaskTypeId()) || "43".equals(wmTask1.getTaskTypeId()) || "44".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
+ // 手术跟台-一级/手术跟台-二级/手术跟台-三级任务类型 这里需要统一设置为42(由于三种类型公用一个页面所以WmTaskContentConfig只保存了42的配置字段)
|
|
|
|
+ queryWmTaskContentConfig.setTaskTypeId("42");
|
|
|
|
+ } else if ("14".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
+ // 库存信息收集下的 库存盘点-中药颗粒剂、库存信息收集-首次 需要回显对应的详情字段(对于这几个任务类型这里的wmTask1的taskType实际存的都是14,所以需要转换下)
|
|
|
|
+ queryWmTaskContentConfig.setTaskTypeId(wmTaskContent.getTemp30());
|
|
|
|
+ } else if ("47".equals(wmTask1.getTaskTypeId()) || "48".equals(wmTask1.getTaskTypeId())
|
|
|
|
+ || "49".equals(wmTask1.getTaskTypeId()) || "50".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
+ // 库存调研、竞品调研、培训、使用情况调查
|
|
|
|
+ queryWmTaskContentConfig.setTaskTypeId("47");
|
|
|
|
+ } else if ("51".equals(wmTask1.getTaskTypeId()) || "52".equals(wmTask1.getTaskTypeId())
|
|
|
|
+ || "53".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
+ // 信用管理A/B/C
|
|
|
|
+ queryWmTaskContentConfig.setTaskTypeId("51");
|
|
|
|
+ } else if ("56".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
+ // 首营管理-诊所/药店
|
|
|
|
+ queryWmTaskContentConfig.setTaskTypeId(wmTaskContent.getTemp3());
|
|
|
|
+ } else {
|
|
|
|
+ queryWmTaskContentConfig.setTaskTypeId(wmTask1.getTaskTypeId());
|
|
|
|
+ }
|
|
|
|
+ QueryWrapper<WmTaskContentConfig> queryWrapper = Wrappers.query(queryWmTaskContentConfig);
|
|
|
|
+ // 图片和签名都要导出
|
|
|
|
+ queryWrapper.lambda().in(WmTaskContentConfig::getTaskFiledType, "img", "sign");
|
|
|
|
+ List<WmTaskContentConfig> wmTaskContentConfigList = wmTaskContentConfigService.list(queryWrapper);
|
|
|
|
+ if (wmTaskContentConfigList.size() > 0) {
|
|
|
|
+ for (WmTaskContentConfig wmt : wmTaskContentConfigList) {
|
|
|
|
+ String fileName = wmt.getTaskFiledKey();
|
|
|
|
+ String imgsStr = getFieldValueByFieldName(fileName, wmTaskContent);
|
|
|
|
+ // 图片的数据格式是这样的 /admin/sys-file/wmkj/237ea87e43cc463ba4aaa295e2a28e24.png;1,/admin/sys-file/wmkj/fd7c4cd56d6748dea18ea57c809e464c.jpg
|
|
|
|
+ List<String> imgList = StrUtil.splitTrim(imgsStr, ",").stream()
|
|
|
|
+ .filter(StrUtil::isNotBlank)
|
|
|
|
+ .map(s -> s.split(";")[0]).collect(Collectors.toList());
|
|
|
|
+ stringList.addAll(imgList);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (stringList.size() > 0) {
|
|
|
|
+ map.put("imgList", stringList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 企业任务类型-回显文件地址处理
|
|
|
|
+ List<WmTaskContentConfig> fileurlTaskContentConfigList =
|
|
|
|
+ wmTaskContentConfigService.list(Wrappers.<WmTaskContentConfig>lambdaQuery()
|
|
|
|
+ .eq(WmTaskContentConfig::getTaskTypeId, wmTask1.getTaskTypeId())
|
|
|
|
+ .eq(WmTaskContentConfig::getTaskFiledType, "fileurl"));
|
|
|
|
+ if (CollUtil.isNotEmpty(fileurlTaskContentConfigList)) {
|
|
|
|
+ List<Map<String, String>> fileUrlList = new ArrayList<>();
|
|
|
|
+ for (WmTaskContentConfig wmt : fileurlTaskContentConfigList) {
|
|
|
|
+ String fileName = wmt.getTaskFiledKey();
|
|
|
|
+ String taskFiledValue = wmt.getTaskFiledValue();
|
|
|
|
+ String fileUrlStr = getFieldValueByFieldName(fileName, wmTaskContent);
|
|
|
|
+
|
|
|
|
+ HashMap<String, String> fileUrlMap = new HashMap<>();
|
|
|
|
+ if (JSONUtil.isJsonArray(fileUrlStr)) {
|
|
|
|
+ List<String> fileUrls = new ArrayList<>();
|
|
|
|
+ JSONArray jsonArray = JSONUtil.parseArray(fileUrlStr);
|
|
|
|
+ jsonArray.jsonIter().forEach(jsonObject -> {
|
|
|
|
+ String url = jsonObject.getStr("url");
|
|
|
|
+ if (!StrUtil.startWith(url, "http")) {
|
|
|
|
+ url = upmsConfig.getClientUrl() + url;
|
|
|
|
+ }
|
|
|
|
+ fileUrls.add(url);
|
|
|
|
+ });
|
|
|
|
+ fileUrlMap.put("fileUrl",
|
|
|
|
+ String.format("%s: %s", taskFiledValue, String.join(",", fileUrls)));
|
|
|
|
+ } else {
|
|
|
|
+ fileUrlMap.put("fileUrl", String.format("%s: %s", taskFiledValue, fileUrlStr));
|
|
|
|
+ }
|
|
|
|
+ fileUrlList.add(fileUrlMap);
|
|
|
|
+ }
|
|
|
|
+ map.put("fileUrlList", fileUrlList);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 问卷任务类型-回显答题结果
|
|
|
|
+ if ("801".equals(wmTask1.getTaskTypeId())) {
|
|
|
|
+ this.taskType801Detail(wmTaskContent, map);
|
|
|
|
+ // 不显示截图
|
|
|
|
+ map.put("imgList", Collections.emptyList());
|
|
|
|
+ map.put("taskBaseImg", null);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ infoList.add(map);
|
|
|
|
+ }
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -1460,7 +1411,7 @@ public class ReportExportServiceImpl implements ReportExportService {
|
|
public String getFieldValueByFieldName(String fieldName, Object object) {
|
|
public String getFieldValueByFieldName(String fieldName, Object object) {
|
|
try {
|
|
try {
|
|
Field field = object.getClass().getDeclaredField(fieldName);
|
|
Field field = object.getClass().getDeclaredField(fieldName);
|
|
- //对private的属性的访问
|
|
|
|
|
|
+ // 对private的属性的访问
|
|
field.setAccessible(true);
|
|
field.setAccessible(true);
|
|
return field.get(object) + "";
|
|
return field.get(object) + "";
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|