mirror of
https://github.com/chatopera/cosin.git
synced 2025-08-01 16:38:02 +08:00
Fix PublishedReportRepository related class
This commit is contained in:
parent
5837db1bfd
commit
66e16dceba
@ -27,16 +27,19 @@ import com.chatopera.cc.util.dsdata.DSData;
|
||||
import com.chatopera.cc.util.dsdata.DSDataEvent;
|
||||
import com.chatopera.cc.util.dsdata.ExcelImportProecess;
|
||||
import com.chatopera.cc.util.dsdata.export.ExcelExporterProcess;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.lang.NonNull;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.server.ResponseStatusException;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@ -48,30 +51,23 @@ import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
@Controller
|
||||
@RequiredArgsConstructor
|
||||
@RequestMapping("/apps/report")
|
||||
public class ReportController extends Handler {
|
||||
|
||||
@NonNull
|
||||
private final DataDicRepository dataDicRes;
|
||||
@NonNull
|
||||
private final ReportRepository reportRes;
|
||||
@NonNull
|
||||
private final PublishedReportRepository publishedReportRes;
|
||||
@NonNull
|
||||
private final MetadataRepository metadataRes;
|
||||
@NonNull
|
||||
private final ReportCubeService reportCubeService;
|
||||
@Value("${web.upload-path}")
|
||||
private String path;
|
||||
|
||||
@Value("${uk.im.server.port}")
|
||||
private Integer port;
|
||||
|
||||
@Autowired
|
||||
private DataDicRepository dataDicRes;
|
||||
|
||||
@Autowired
|
||||
private ReportRepository reportRes;
|
||||
|
||||
@Autowired
|
||||
private PublishedReportRepository publishedReportRes;
|
||||
|
||||
@Autowired
|
||||
private MetadataRepository metadataRes ;
|
||||
|
||||
@Autowired
|
||||
private ReportCubeService reportCubeService;
|
||||
|
||||
@RequestMapping("/index")
|
||||
@Menu(type = "setting", subtype = "report", admin = true)
|
||||
public ModelAndView index(ModelMap map, HttpServletRequest request, @Valid String dicid) {
|
||||
@ -97,7 +93,7 @@ public class ReportController extends Handler {
|
||||
|
||||
@RequestMapping("/save")
|
||||
@Menu(type = "setting", subtype = "report", admin = true)
|
||||
public ModelAndView quickreplysave(ModelMap map , HttpServletRequest request , @Valid Report report) {
|
||||
public ModelAndView quickreplysave(HttpServletRequest request, @Valid Report report) {
|
||||
ModelAndView view = request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid=" + report.getDicid()));
|
||||
if (!StringUtils.isBlank(report.getName())) {
|
||||
int count = reportRes.countByOrgiAndName(super.getOrgi(request), report.getName());
|
||||
@ -116,17 +112,17 @@ public class ReportController extends Handler {
|
||||
|
||||
@RequestMapping("/delete")
|
||||
@Menu(type = "setting", subtype = "report", admin = true)
|
||||
public ModelAndView quickreplydelete(ModelMap map , HttpServletRequest request , @Valid String id) {
|
||||
Report report = reportRes.findOne(id) ;
|
||||
if(report!=null){
|
||||
public ModelAndView quickreplydelete(@Valid String id) {
|
||||
Report report = reportRes.findById(id)
|
||||
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Report %s not found", id)));
|
||||
reportRes.delete(report);
|
||||
}
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid=" + report.getDicid()));
|
||||
}
|
||||
|
||||
@RequestMapping("/edit")
|
||||
@Menu(type = "setting", subtype = "report", admin = true)
|
||||
public ModelAndView quickreplyedit(ModelMap map, HttpServletRequest request, @Valid String id) {
|
||||
Report report = reportRes.findOne(id);
|
||||
Report report = reportRes.findById(id).orElse(null);
|
||||
map.put("report", report);
|
||||
if (report != null) {
|
||||
map.put("dataDic", dataDicRes.findByIdAndOrgi(report.getDicid(), super.getOrgi(request)));
|
||||
@ -137,17 +133,16 @@ public class ReportController extends Handler {
|
||||
|
||||
@RequestMapping("/update")
|
||||
@Menu(type = "setting", subtype = "report", admin = true)
|
||||
public ModelAndView quickreplyupdate(ModelMap map , HttpServletRequest request , @Valid Report report) {
|
||||
public ModelAndView quickreplyupdate(@Valid Report report) {
|
||||
if (!StringUtils.isBlank(report.getId())) {
|
||||
Report temp = reportRes.findOne(report.getId()) ;
|
||||
if(temp!=null) {
|
||||
reportRes.findById(report.getId()).ifPresent(temp -> {
|
||||
temp.setName(report.getName());
|
||||
temp.setCode(report.getCode());
|
||||
temp.setDicid(report.getDicid());
|
||||
temp.setUpdatetime(new Date());
|
||||
temp.setDescription(report.getDescription());
|
||||
reportRes.save(temp);
|
||||
}
|
||||
});
|
||||
}
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid=" + report.getDicid()));
|
||||
}
|
||||
@ -212,7 +207,7 @@ public class ReportController extends Handler {
|
||||
|
||||
@RequestMapping({"/deletetype"})
|
||||
@Menu(type = "apps", subtype = "kbs")
|
||||
public ModelAndView deletetype(ModelMap map , HttpServletRequest request , @Valid String id) {
|
||||
public ModelAndView deletetype(HttpServletRequest request, @Valid String id) {
|
||||
ModelAndView view = request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid=" + id));
|
||||
if (!StringUtils.isBlank(id)) {
|
||||
DataDic tempDataDic = dataDicRes.findByIdAndOrgi(id, super.getOrgi(request));
|
||||
@ -229,18 +224,20 @@ public class ReportController extends Handler {
|
||||
|
||||
@RequestMapping("/imp")
|
||||
@Menu(type = "setting", subtype = "reportimp")
|
||||
public ModelAndView imp(ModelMap map , HttpServletRequest request , @Valid String type) {
|
||||
public ModelAndView imp(ModelMap map, @Valid String type) {
|
||||
map.addAttribute("type", type);
|
||||
return request(super.createRequestPageTempletResponse("/apps/business/report/imp"));
|
||||
}
|
||||
|
||||
@RequestMapping("/impsave")
|
||||
@Menu(type = "setting", subtype = "reportimpsave")
|
||||
public ModelAndView impsave(ModelMap map , HttpServletRequest request , @RequestParam(value = "cusfile", required = false) MultipartFile cusfile , @Valid String type) throws IOException {
|
||||
public ModelAndView impsave(HttpServletRequest request, @RequestParam(value = "cusfile", required = false) MultipartFile cusfile, @Valid String type) throws IOException {
|
||||
DSDataEvent event = new DSDataEvent();
|
||||
String fileName = "quickreply/"+ MainUtils.getUUID()+cusfile.getOriginalFilename().substring(cusfile.getOriginalFilename().lastIndexOf(".")) ;
|
||||
String originalFilename = Objects.requireNonNull(cusfile.getOriginalFilename());
|
||||
String fileName = "quickreply/" + MainUtils.getUUID() + originalFilename.substring(originalFilename.lastIndexOf("."));
|
||||
File excelFile = new File(path, fileName);
|
||||
if (!excelFile.getParentFile().exists()) {
|
||||
//noinspection ResultOfMethodCallIgnored
|
||||
excelFile.getParentFile().mkdirs();
|
||||
}
|
||||
MetadataTable table = metadataRes.findByTablename("uk_report");
|
||||
@ -266,10 +263,10 @@ public class ReportController extends Handler {
|
||||
|
||||
@RequestMapping("/batdelete")
|
||||
@Menu(type = "setting", subtype = "reportbatdelete")
|
||||
public ModelAndView batdelete(ModelMap map , HttpServletRequest request , HttpServletResponse response , @Valid String[] ids ,@Valid String type) throws IOException {
|
||||
public ModelAndView batdelete(@Valid String[] ids, @Valid String type) {
|
||||
if (ids != null && ids.length > 0) {
|
||||
Iterable<Report> topicList = reportRes.findAll(Arrays.asList(ids)) ;
|
||||
reportRes.delete(topicList);
|
||||
Iterable<Report> topicList = reportRes.findAllById(Arrays.asList(ids));
|
||||
reportRes.deleteAll(topicList);
|
||||
}
|
||||
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html" + (!StringUtils.isBlank(type) ? "?dicid=" + type : "")));
|
||||
@ -277,11 +274,11 @@ public class ReportController extends Handler {
|
||||
|
||||
@RequestMapping("/expids")
|
||||
@Menu(type = "setting", subtype = "reportexpids")
|
||||
public void expids(ModelMap map , HttpServletRequest request , HttpServletResponse response , @Valid String[] ids) throws IOException {
|
||||
public void expids(HttpServletResponse response, @Valid String[] ids) throws IOException {
|
||||
if (ids != null && ids.length > 0) {
|
||||
Iterable<Report> topicList = reportRes.findAll(Arrays.asList(ids));
|
||||
Iterable<Report> topicList = reportRes.findAllById(Arrays.asList(ids));
|
||||
MetadataTable table = metadataRes.findByTablename("uk_report");
|
||||
List<Map<String, Object>> values = new ArrayList<Map<String, Object>>();
|
||||
List<Map<String, Object>> values = new ArrayList<>();
|
||||
for (Report topic : topicList) {
|
||||
values.add(MainUtils.transBean2Map(topic));
|
||||
}
|
||||
@ -293,16 +290,15 @@ public class ReportController extends Handler {
|
||||
}
|
||||
}
|
||||
|
||||
return ;
|
||||
}
|
||||
|
||||
@RequestMapping("/expall")
|
||||
@Menu(type = "setting", subtype = "reportexpall")
|
||||
public void expall(ModelMap map , HttpServletRequest request , HttpServletResponse response,@Valid String type) throws IOException {
|
||||
public void expall(HttpServletRequest request, HttpServletResponse response, @Valid String type) throws IOException {
|
||||
List<Report> reportList = reportRes.findByOrgiAndDicid(super.getOrgi(request), type);
|
||||
|
||||
MetadataTable table = metadataRes.findByTablename("uk_report");
|
||||
List<Map<String, Object>> values = new ArrayList<Map<String, Object>>();
|
||||
List<Map<String, Object>> values = new ArrayList<>();
|
||||
for (Report report : reportList) {
|
||||
values.add(MainUtils.transBean2Map(report));
|
||||
}
|
||||
@ -313,7 +309,6 @@ public class ReportController extends Handler {
|
||||
ExcelExporterProcess excelProcess = new ExcelExporterProcess(values, table, response.getOutputStream());
|
||||
excelProcess.process();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@RequestMapping("/pbreportindex")
|
||||
@ -328,6 +323,7 @@ public class ReportController extends Handler {
|
||||
map.put("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request)));
|
||||
return request(super.createAppsTempletResponse("/apps/business/report/pbreportindex"));
|
||||
}
|
||||
|
||||
@RequestMapping("/pbreportlist")
|
||||
@Menu(type = "setting", subtype = "pbreport", admin = true)
|
||||
public ModelAndView pbreportlist(ModelMap map, HttpServletRequest request, @Valid String dicid) {
|
||||
@ -343,35 +339,27 @@ public class ReportController extends Handler {
|
||||
|
||||
@RequestMapping("/pbdelete")
|
||||
@Menu(type = "setting", subtype = "pbreport", admin = true)
|
||||
public ModelAndView pbdelete(ModelMap map , HttpServletRequest request , @Valid String id) {
|
||||
PublishedReport report = publishedReportRes.findOne(id) ;
|
||||
if(report!=null){
|
||||
public ModelAndView pbdelete(@Valid String id) {
|
||||
PublishedReport report = publishedReportRes.findById(id).orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, String.format("Report %s not found", id)));
|
||||
publishedReportRes.delete(report);
|
||||
}
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/pbreportindex.html?dicid=" + report.getDicid()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 报表
|
||||
*
|
||||
* @param map
|
||||
* @param request
|
||||
* @param id
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping("/view")
|
||||
@Menu(type = "report", subtype = "report")
|
||||
public ModelAndView view(ModelMap map, HttpServletRequest request, @Valid String id) throws Exception {
|
||||
public ModelAndView view(ModelMap map, HttpServletRequest request, @Valid String id) {
|
||||
if (!StringUtils.isBlank(id)) {
|
||||
PublishedReport publishedReport = publishedReportRes.findById(id);
|
||||
if(publishedReport!=null) {
|
||||
publishedReportRes.findById(id).ifPresent(publishedReport -> {
|
||||
|
||||
map.addAttribute("publishedReport", publishedReport);
|
||||
map.addAttribute("report", publishedReport.getReport());
|
||||
map.addAttribute("reportModels", publishedReport.getReport().getReportModels());
|
||||
List<ReportFilter> listFilters = publishedReport.getReport().getReportFilters();
|
||||
if (!listFilters.isEmpty()) {
|
||||
Map<String,ReportFilter> filterMap = new HashMap<String,ReportFilter>();
|
||||
Map<String, ReportFilter> filterMap = new HashMap<>();
|
||||
for (ReportFilter rf : listFilters) {
|
||||
filterMap.put(rf.getId(), rf);
|
||||
}
|
||||
@ -381,8 +369,13 @@ public class ReportController extends Handler {
|
||||
}
|
||||
}
|
||||
}
|
||||
map.addAttribute("reportFilters", reportCubeService.fillReportFilterData(listFilters, request));
|
||||
try {
|
||||
List<ReportFilter> list = reportCubeService.fillReportFilterData(listFilters, request);
|
||||
map.addAttribute("reportFilters", list);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
});
|
||||
}
|
||||
return request(super.createRequestPageTempletResponse("/apps/business/report/view"));
|
||||
}
|
||||
|
@ -252,7 +252,7 @@ public class ReportDesignController extends Handler {
|
||||
*/
|
||||
@RequestMapping("/modeldesign")
|
||||
@Menu(type = "report", subtype = "reportdesign")
|
||||
public ModelAndView modeldesign(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String tabid, HashMap<String, String> semap) {
|
||||
public ModelAndView modeldesign(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String tabid) {
|
||||
List<SysDic> tpDicList = Dict.getInstance().getDic(Constants.CSKEFU_SYSTEM_DIC);
|
||||
for (SysDic sysDic : tpDicList) {
|
||||
if (sysDic.getCode().equals("report")) {
|
||||
@ -587,7 +587,7 @@ public class ReportDesignController extends Handler {
|
||||
*/
|
||||
@RequestMapping("/getelement")
|
||||
@Menu(type = "report", subtype = "reportdesign")
|
||||
public ModelAndView getelement(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String publishedid, HashMap<String, String> semap) {
|
||||
public ModelAndView getelement(ModelMap map, HttpServletRequest request, @Valid String id, @Valid String publishedid) {
|
||||
if (!StringUtils.isBlank(id)) {
|
||||
ReportModel model = this.getModel(id, super.getOrgi(request), publishedid);
|
||||
if (model != null) {
|
||||
@ -618,8 +618,9 @@ public class ReportDesignController extends Handler {
|
||||
|
||||
private ReportModel getModel(String id, String orgi, String publishedid) {
|
||||
if (!StringUtils.isBlank(publishedid)) {
|
||||
PublishedReport publishedReport = publishedReportRes.findById(publishedid);
|
||||
if (publishedReport != null) {
|
||||
Optional<PublishedReport> optional = publishedReportRes.findById(publishedid);
|
||||
if (optional.isPresent()) {
|
||||
PublishedReport publishedReport = optional.get();
|
||||
if (publishedReport.getReport() != null && !publishedReport.getReport().getReportModels().isEmpty()) {
|
||||
for (ReportModel rm : publishedReport.getReport().getReportModels()) {
|
||||
if (rm.getId().equals(id)) {
|
||||
@ -997,7 +998,7 @@ public class ReportDesignController extends Handler {
|
||||
|
||||
@RequestMapping("/changechartppy")
|
||||
@Menu(type = "report", subtype = "reportdesign")
|
||||
public ModelAndView changechartppy(ModelMap map, HttpServletRequest request, @Valid ReportModel reportModel, @Valid ChartProperties chartProperties, HashMap<String, String> semap) throws Exception {
|
||||
public ModelAndView changechartppy(ModelMap map, HttpServletRequest request, @Valid ReportModel reportModel, @Valid ChartProperties chartProperties) throws Exception {
|
||||
ReportModel model = this.getModel(reportModel.getId(), super.getOrgi(request));
|
||||
if (null != model) {
|
||||
model.setExchangerw(reportModel.isExchangerw());
|
||||
@ -1054,8 +1055,9 @@ public class ReportDesignController extends Handler {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
PublishedReport publishedReport = publishedReportRes.findById(publishedid);
|
||||
if (publishedReport != null) {
|
||||
Optional<PublishedReport> optional = publishedReportRes.findById(publishedid);
|
||||
if (optional.isPresent()) {
|
||||
PublishedReport publishedReport = optional.get();
|
||||
map.addAttribute("publishedReport", publishedReport);
|
||||
ReportFilter filter = null;
|
||||
for (ReportFilter f : publishedReport.getReport().getReportFilters()) {
|
||||
|
@ -23,11 +23,11 @@ import com.chatopera.cc.persistence.repository.DataDicRepository;
|
||||
import com.chatopera.cc.persistence.repository.PublishedReportRepository;
|
||||
import com.chatopera.cc.persistence.repository.ReportCubeService;
|
||||
import com.chatopera.cc.util.Menu;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.lang.NonNull;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
@ -41,28 +41,20 @@ import java.util.Map;
|
||||
|
||||
@Controller
|
||||
@RequestMapping("/apps/view")
|
||||
@RequiredArgsConstructor
|
||||
public class ReportViewController extends Handler {
|
||||
|
||||
@Value("${web.upload-path}")
|
||||
private String path;
|
||||
|
||||
@Value("${uk.im.server.port}")
|
||||
private Integer port;
|
||||
|
||||
@Autowired
|
||||
private DataDicRepository dataDicRes;
|
||||
|
||||
@Autowired
|
||||
private PublishedReportRepository publishedReportRes;
|
||||
|
||||
@Autowired
|
||||
private ReportCubeService reportCubeService;
|
||||
|
||||
@NonNull
|
||||
private final DataDicRepository dataDicRes;
|
||||
@NonNull
|
||||
private final PublishedReportRepository publishedReportRes;
|
||||
@NonNull
|
||||
private final ReportCubeService reportCubeService;
|
||||
|
||||
@RequestMapping("/index")
|
||||
@Menu(type = "setting", subtype = "report", admin = true)
|
||||
public ModelAndView index(ModelMap map, HttpServletRequest request, @Valid String dicid, @Valid String id) throws Exception {
|
||||
Page<PublishedReport> publishedReportList = null ;
|
||||
Page<PublishedReport> publishedReportList;
|
||||
if (!StringUtils.isBlank(dicid) && !"0".equals(dicid)) {
|
||||
map.put("dataDic", dataDicRes.findByIdAndOrgi(dicid, super.getOrgi(request)));
|
||||
map.put("reportList", publishedReportList = publishedReportRes.findByOrgiAndDicid(super.getOrgi(request), dicid, PageRequest.of(super.getP(request), super.getPs(request))));
|
||||
@ -74,7 +66,8 @@ public class ReportViewController extends Handler {
|
||||
if (!StringUtils.isBlank(id)) {
|
||||
for (PublishedReport report : publishedReportList) {
|
||||
if (report.getId().equals(id)) {
|
||||
publishedReport = report ; break ;
|
||||
publishedReport = report;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -86,7 +79,7 @@ public class ReportViewController extends Handler {
|
||||
map.addAttribute("reportModels", publishedReport.getReport().getReportModels());
|
||||
List<ReportFilter> listFilters = publishedReport.getReport().getReportFilters();
|
||||
if (!listFilters.isEmpty()) {
|
||||
Map<String,ReportFilter> filterMap = new HashMap<String,ReportFilter>();
|
||||
Map<String, ReportFilter> filterMap = new HashMap<>();
|
||||
for (ReportFilter rf : listFilters) {
|
||||
filterMap.put(rf.getId(), rf);
|
||||
}
|
||||
|
@ -31,7 +31,7 @@ public interface PublishedReportRepository extends JpaRepository<PublishedReport
|
||||
|
||||
Page<PublishedReport> findByOrgi(String orgi, Pageable pageRequest);
|
||||
|
||||
PublishedReport findById(String id);
|
||||
// PublishedReport findById(String id);
|
||||
|
||||
List<PublishedReport> findByCode(String code);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user