|
@@ -17,6 +17,8 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
import org.thingsboard.server.common.data.yunteng.dto.FileUploadResponse;
|
|
|
import org.thingsboard.server.domain.*;
|
|
|
import org.thingsboard.server.domain.vo.NxEventManagementVO;
|
|
|
+import org.thingsboard.server.domain.vo.NxReservePlanVO;
|
|
|
+import org.thingsboard.server.domain.vo.NxWarningContactVO;
|
|
|
import org.thingsboard.server.glossary.enums.YuntiTypeEnums;
|
|
|
import org.thingsboard.server.service.nanxi.*;
|
|
|
import org.thingsboard.server.utils.ImageUtil;
|
|
@@ -31,6 +33,8 @@ import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
import java.util.*;
|
|
|
|
|
|
+import static org.thingsboard.server.glossary.constants.ThreadLocalConstant.BASIC_PAGE_DATA_CACHE;
|
|
|
+
|
|
|
@Slf4j
|
|
|
@RestController
|
|
|
@RequestMapping("/api/yt/bridge")
|
|
@@ -185,6 +189,254 @@ public class BridgeController {
|
|
|
WordUtils.generateWord(data, templateName, "/demo1.docx");
|
|
|
}
|
|
|
|
|
|
+ @RequestMapping("/eventReport2/{id}")
|
|
|
+ public void eventReport2(@PathVariable("id") Long id) throws Exception {
|
|
|
+ if (null == BASIC_PAGE_DATA_CACHE.get()) {
|
|
|
+ synchronized (BASIC_PAGE_DATA_CACHE) {
|
|
|
+ if (null == BASIC_PAGE_DATA_CACHE.get()) {
|
|
|
+ BASIC_PAGE_DATA_CACHE.set(new HashMap<>());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ NxEventManagementVO byId = eventManagementService.getNxEventManagementById(id, null);
|
|
|
+ basicDataConvertService.pageDataConvert(byId);
|
|
|
+ SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
+ Map<String, Object> data = new HashMap<>();
|
|
|
+ data.put("pushTime", byId.getPushTime() == null ? "--" : simpleDateFormat.format(byId.getPushTime()));
|
|
|
+
|
|
|
+ data.put("areaName", byId.getAreaName());
|
|
|
+ data.put("eventTypeName", byId.getEventTypeName());
|
|
|
+ data.put("eventLevelName", byId.getEventLevelName());
|
|
|
+ data.put("domainName", byId.getDomainName());
|
|
|
+ data.put("industryName", byId.getIndustryName());
|
|
|
+ data.put("eventName", byId.getEventName());
|
|
|
+ data.put("eventAddress", byId.getEventAddress());
|
|
|
+ data.put("longitude", byId.getLongitude());
|
|
|
+ data.put("latitude", byId.getLatitude());
|
|
|
+ data.put("remark", byId.getRemark());
|
|
|
+ data.put("fileCompanyName", byId.getFileCompanyName());
|
|
|
+ data.put("filePersonName", byId.getFilePersonName());
|
|
|
+ data.put("filePersonPhone", byId.getFilePersonPhone());
|
|
|
+ data.put("fileTime", byId.getFileTime() == null ? "--" : simpleDateFormat.format(byId.getFileTime()));
|
|
|
+ data.put("summary", byId.getSummary());
|
|
|
+ data.put("disposalRequirements", byId.getDisposalRequirements());
|
|
|
+
|
|
|
+ List<Map<String, Object>> attentionTargets = new ArrayList<>();
|
|
|
+ List<NxWarningContactVO> warningContacts = byId.getWarningContacts();
|
|
|
+ for (int i = 0; i < warningContacts.size(); i++) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("name", warningContacts.get(i).getName());
|
|
|
+ map.put("type", warningContacts.get(i).getType());
|
|
|
+ map.put("areaName", warningContacts.get(i).getAreaName());
|
|
|
+ map.put("contactName", warningContacts.get(i).getContactName());
|
|
|
+ map.put("contactPhone", warningContacts.get(i).getContactPhone());
|
|
|
+ map.put("contactPosition", warningContacts.get(i).getContactPosition());
|
|
|
+ map.put("distance", warningContacts.get(i).getDistance());
|
|
|
+ attentionTargets.add(map);
|
|
|
+ mapValueNullToFormat(map, "--");
|
|
|
+ }
|
|
|
+ data.put("attentionTargets", attentionTargets);
|
|
|
+
|
|
|
+ List<Map<String, Object>> reservePlans = new ArrayList<>();
|
|
|
+ List<NxReservePlanVO> rps = byId.getReservePlans();
|
|
|
+ for (int i = 0; i < rps.size(); i++) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("name", rps.get(i).getName());
|
|
|
+ map.put("responseLevelName", rps.get(i).getResponses().get(0).getResponseLevelName());
|
|
|
+ map.put("dataSource", rps.get(i).getDataSource());
|
|
|
+ reservePlans.add(map);
|
|
|
+ mapValueNullToFormat(map, "--");
|
|
|
+ }
|
|
|
+ data.put("reservePlans", reservePlans);
|
|
|
+
|
|
|
+ List<Map<String, Object>> knowledges = new ArrayList<>();
|
|
|
+ List<NxKnowledgeDatabase> kds = byId.getKnowledges();
|
|
|
+ for (int i = 0; i < kds.size(); i++) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("knowledgeBaseName", kds.get(i).getKnowledgeBaseName());
|
|
|
+ map.put("disposalMeasures", kds.get(i).getDisposalMeasures());
|
|
|
+ map.put("disposalPoints", kds.get(i).getDisposalPoints());
|
|
|
+ map.put("dataSource", "--");
|
|
|
+ knowledges.add(map);
|
|
|
+ mapValueNullToFormat(map, "--");
|
|
|
+ }
|
|
|
+ data.put("knowledges", knowledges);
|
|
|
+
|
|
|
+ List<Map<String, Object>> experts = new ArrayList<>();
|
|
|
+ List<NxExpertDatabase> eps = byId.getExperts();
|
|
|
+ for (int i = 0; i < eps.size(); i++) {
|
|
|
+ NxExpertDatabase ep = eps.get(i);
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("expertName", ep.getExpertName());
|
|
|
+ map.put("expertGenderText", ep.getExpertGenderText());
|
|
|
+ map.put("expertAge", ep.getExpertAge());
|
|
|
+ map.put("expertDuties", ep.getExpertDuties());
|
|
|
+ map.put("expertTitleText", ep.getExpertTitleText());
|
|
|
+ map.put("contactPhone", ep.getContactPhone());
|
|
|
+ map.put("highestEducationText", ep.getHighestEducationText());
|
|
|
+ map.put("academicDegreeText", ep.getAcademicDegreeText());
|
|
|
+ map.put("companyName", ep.getCompanyName());
|
|
|
+ map.put("workState", ep.getWorkStateText());
|
|
|
+ map.put("email", ep.getEmail());
|
|
|
+ map.put("remark", ep.getRemark());
|
|
|
+ map.put("dataSource", "--");
|
|
|
+ experts.add(map);
|
|
|
+ mapValueNullToFormat(map, "--");
|
|
|
+ }
|
|
|
+ data.put("experts", experts);
|
|
|
+
|
|
|
+ List<Map<String, Object>> leaders = new ArrayList<>();
|
|
|
+ List<NxEventPush> lds = byId.getLeaders();
|
|
|
+ for (int i = 0; i < lds.size(); i++) {
|
|
|
+ NxEventPush ld = lds.get(i);
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("companyName", ld.getCompanyName());
|
|
|
+ map.put("personName", ld.getPersonName());
|
|
|
+ map.put("expertDuties", ld.getExpertDuties());
|
|
|
+ map.put("contactPhone", ld.getContactPhone());
|
|
|
+ map.put("dataSource", ld.getDataSource());
|
|
|
+ map.put("remark", ld.getRemark());
|
|
|
+ leaders.add(map);
|
|
|
+ mapValueNullToFormat(map, "--");
|
|
|
+ }
|
|
|
+ data.put("leaders", leaders);
|
|
|
+
|
|
|
+ List<Map<String, Object>> cooperates = new ArrayList<>();
|
|
|
+ List<NxEventPush> cps = byId.getCooperates();
|
|
|
+ for (int i = 0; i < cps.size(); i++) {
|
|
|
+ NxEventPush cp = cps.get(i);
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("companyName", cp.getCompanyName());
|
|
|
+ map.put("personName", cp.getPersonName());
|
|
|
+ map.put("expertDuties", cp.getExpertDuties());
|
|
|
+ map.put("contactPhone", cp.getContactPhone());
|
|
|
+ map.put("dataSource", cp.getDataSource());
|
|
|
+ map.put("remark", cp.getRemark());
|
|
|
+ cooperates.add(map);
|
|
|
+ mapValueNullToFormat(map, "--");
|
|
|
+ }
|
|
|
+ data.put("cooperates", cooperates);
|
|
|
+
|
|
|
+ List<NxDisposeFeedback> disposeFeedbacks = new ArrayList<>();
|
|
|
+ List<NxDisposeFeedback> ids = new ArrayList<>();
|
|
|
+ byId.getLeaders().stream().forEach(item -> {
|
|
|
+ List<NxDisposeFeedback> nxDisposeFeedback = item.getNxDisposeFeedback();
|
|
|
+ if(!CollectionUtils.isEmpty(nxDisposeFeedback)){
|
|
|
+ for (NxDisposeFeedback disposeFeedback : nxDisposeFeedback) {
|
|
|
+ if(disposeFeedback.getReportTime() != null){
|
|
|
+ ids.add(disposeFeedback);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ disposeFeedbacks.addAll(nxDisposeFeedback);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ byId.getCooperates().stream().forEach(item -> {
|
|
|
+ List<NxDisposeFeedback> nxDisposeFeedback = item.getNxDisposeFeedback();
|
|
|
+ if(!CollectionUtils.isEmpty(nxDisposeFeedback)){
|
|
|
+ for (NxDisposeFeedback disposeFeedback : nxDisposeFeedback) {
|
|
|
+ if(disposeFeedback.getReportTime() != null){
|
|
|
+ ids.add(disposeFeedback);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ disposeFeedbacks.addAll(nxDisposeFeedback);
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ List<Map<String, Object>> isDisasters = new ArrayList<>();
|
|
|
+ for (int i = 0; i < ids.size(); i++) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ NxDisposeFeedback df = ids.get(i);
|
|
|
+ map.put("reportTime", df.getReportTime());
|
|
|
+ map.put("reportCompanyName", df.getReportCompanyName());
|
|
|
+ map.put("reportPersonName", df.getReportPersonName());
|
|
|
+ map.put("reportPhone", df.getReportPhone());
|
|
|
+ map.put("injuredPeople", df.getInjuredPeople());
|
|
|
+ map.put("badInjuredPeople", df.getBadInjuredPeople());
|
|
|
+ map.put("deadPeople", df.getDeadPeople());
|
|
|
+ map.put("missingPeople", df.getMissingPeople());
|
|
|
+ map.put("economicLoss", df.getEconomicLoss());
|
|
|
+ isDisasters.add(map);
|
|
|
+ mapValueNullToFormat(map, "--");
|
|
|
+ }
|
|
|
+ data.put("isDisasters", isDisasters);
|
|
|
+
|
|
|
+ List<Map<String, Object>> nxDisposeFeedback = new ArrayList<>();
|
|
|
+ List<String> pics = null;
|
|
|
+ for (int i = 0; i < disposeFeedbacks.size(); i++) {
|
|
|
+ NxDisposeFeedback df = disposeFeedbacks.get(i);
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("disposeTime", df.getDisposeTime() == null ? "--" : simpleDateFormat.format(df.getDisposeTime()));
|
|
|
+ map.put("companyName", df.getCompanyName());
|
|
|
+ map.put("disposeName", df.getDisposeName());
|
|
|
+ map.put("disposePhone", df.getDisposePhone());
|
|
|
+ map.put("result", df.getResult());
|
|
|
+ List<NxAnnex> annex = df.getAnnex();
|
|
|
+ pics = new ArrayList<>();
|
|
|
+
|
|
|
+ pics.add(ImageUtil.getImageBase64String("D:\\222.png"));
|
|
|
+ }
|
|
|
+ map.put("pics", pics);*/
|
|
|
+ nxDisposeFeedback.add(map);
|
|
|
+ mapValueNullToFormat(map, "--");
|
|
|
+ }
|
|
|
+ data.put("nxDisposeFeedback", nxDisposeFeedback);
|
|
|
+
|
|
|
+ List<Map<String, Object>> materials = new ArrayList<>();
|
|
|
+ List<NxEventMaterials> mts = byId.getMaterials();
|
|
|
+ for (int i = 0; i < mts.size(); i++) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ NxEventMaterials mt = mts.get(i);
|
|
|
+ map.put("number", mt.getMaterialsManagement().getNumber());
|
|
|
+ map.put("materialsName", mt.getMaterialsManagement().getName());
|
|
|
+ map.put("useAmount", mt.getUseAmount());
|
|
|
+ map.put("name", mt.getMaterialsManagement().getNxStorehouseManagement().getName());
|
|
|
+ map.put("companyName", mt.getCompanyName());
|
|
|
+ map.put("expirationDate", mt.getMaterialsManagement().getExpirationDate());
|
|
|
+ materials.add(map);
|
|
|
+ mapValueNullToFormat(map, "--");
|
|
|
+ }
|
|
|
+ data.put("materials", materials);
|
|
|
+
|
|
|
+ List<Map<String, Object>> rescues = new ArrayList<>();
|
|
|
+ List<NxEventRescue> rss = byId.getRescues();
|
|
|
+ for (int i = 0; i < rss.size(); i++) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ NxEventRescue er = rss.get(i);
|
|
|
+ map.put("companyName", er.getCompanyName());
|
|
|
+ map.put("rescueTeamName", er.getRescueTeamName());
|
|
|
+ map.put("rescuePersonAmount", er.getRescuePersonAmount());
|
|
|
+ map.put("contactName", er.getRescueTeam().getContactName());
|
|
|
+ map.put("contactPhone", er.getRescueTeam().getContactPhone());
|
|
|
+ rescues.add(map);
|
|
|
+ mapValueNullToFormat(map, "--");
|
|
|
+ }
|
|
|
+ data.put("rescues", rescues);
|
|
|
+
|
|
|
+
|
|
|
+ data.put("amount1", 111);
|
|
|
+ data.put("amount2", 222);
|
|
|
+ data.put("amount3", 333);
|
|
|
+ data.put("pic", ImageUtil.getImageBase64String("D:\\222.png"));
|
|
|
+ mapValueNullToFormat(data, "--");
|
|
|
+
|
|
|
+
|
|
|
+ String templateName = "EventReport.ftl";
|
|
|
+ WordUtils.generateWord(data, templateName, "/demo1.docx");
|
|
|
+ }
|
|
|
+
|
|
|
+ private void mapValueNullToFormat(Map<String, Object> data, String format){
|
|
|
+ if(data == null){
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ for (Map.Entry<String, Object> d : data.entrySet()) {
|
|
|
+ if (!(d instanceof List) && d.getValue() == null) {
|
|
|
+ d.setValue(format);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@RequestMapping("/eventReport1")
|
|
|
public void eventReport1() throws Exception {
|
|
|
Map<String, Object> data = new HashMap<>();
|
|
@@ -315,10 +567,10 @@ public class BridgeController {
|
|
|
map.put("disposePhone", "mmmmmmmmmm" + i);
|
|
|
map.put("result", "mmmmmmmmmm" + i);
|
|
|
pics = new ArrayList<>();
|
|
|
- for (int j = 0; j < 5; j++) {
|
|
|
+
|
|
|
pics.add(ImageUtil.getImageBase64String("D:\\222.png"));
|
|
|
}
|
|
|
- map.put("pics", pics);
|
|
|
+ map.put("pics", pics);*/
|
|
|
nxDisposeFeedback.add(map);
|
|
|
}
|
|
|
data.put("nxDisposeFeedback", nxDisposeFeedback);
|
|
@@ -352,10 +604,11 @@ public class BridgeController {
|
|
|
data.put("amount1", 111);
|
|
|
data.put("amount2", 222);
|
|
|
data.put("amount3", 333);
|
|
|
+ data.put("pic", ImageUtil.getImageBase64String("D:\\222.png"));
|
|
|
|
|
|
|
|
|
- String templateName = "EventReport.ftl";
|
|
|
- WordUtils.generateWord(data, templateName, "/demo1.docx");
|
|
|
+ String templateName = "事件处置报告_bak.ftl";
|
|
|
+ WordUtils.generateWord(data, templateName, "/demo1.doc");
|
|
|
}
|
|
|
|
|
|
}
|