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,85 +51,78 @@ 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) {
|
||||
if(!StringUtils.isBlank(dicid) && !"0".equals(dicid)) {
|
||||
@Menu(type = "setting", subtype = "report", admin = true)
|
||||
public ModelAndView index(ModelMap map, HttpServletRequest request, @Valid String dicid) {
|
||||
if (!StringUtils.isBlank(dicid) && !"0".equals(dicid)) {
|
||||
map.put("dataDic", dataDicRes.findByIdAndOrgi(dicid, super.getOrgi(request)));
|
||||
map.put("reportList", reportRes.findByOrgiAndDicid(super.getOrgi(request), dicid, PageRequest.of(super.getP(request), super.getPs(request))));
|
||||
}else {
|
||||
} else {
|
||||
map.put("reportList", reportRes.findByOrgi(super.getOrgi(request), PageRequest.of(super.getP(request), super.getPs(request))));
|
||||
}
|
||||
map.put("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request))) ;
|
||||
return request(super.createAppsTempletResponse("/apps/business/report/index"));
|
||||
map.put("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request)));
|
||||
return request(super.createAppsTempletResponse("/apps/business/report/index"));
|
||||
}
|
||||
|
||||
@RequestMapping("/add")
|
||||
@Menu(type = "setting" , subtype = "reportadd" , admin= true)
|
||||
public ModelAndView quickreplyadd(ModelMap map , HttpServletRequest request , @Valid String dicid) {
|
||||
if(!StringUtils.isBlank(dicid)){
|
||||
map.addAttribute("dataDic", dataDicRes.findByIdAndOrgi(dicid, super.getOrgi(request))) ;
|
||||
}
|
||||
map.addAttribute("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request))) ;
|
||||
@Menu(type = "setting", subtype = "reportadd", admin = true)
|
||||
public ModelAndView quickreplyadd(ModelMap map, HttpServletRequest request, @Valid String dicid) {
|
||||
if (!StringUtils.isBlank(dicid)) {
|
||||
map.addAttribute("dataDic", dataDicRes.findByIdAndOrgi(dicid, super.getOrgi(request)));
|
||||
}
|
||||
map.addAttribute("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request)));
|
||||
return request(super.createRequestPageTempletResponse("/apps/business/report/add"));
|
||||
}
|
||||
|
||||
@RequestMapping("/save")
|
||||
@Menu(type = "setting" , subtype = "report" , admin= true)
|
||||
public ModelAndView quickreplysave(ModelMap map , 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()) ;
|
||||
if(count == 0) {
|
||||
report.setOrgi(super.getOrgi(request));
|
||||
report.setCreater(super.getUser(request).getId());
|
||||
report.setReporttype(MainContext.ReportType.REPORT.toString());
|
||||
report.setCode(MainUtils.genID());
|
||||
reportRes.save(report) ;
|
||||
}else {
|
||||
view = request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?msg=rt_name_exist&dicid="+report.getDicid()));
|
||||
}
|
||||
}
|
||||
return view ;
|
||||
@Menu(type = "setting", subtype = "report", admin = true)
|
||||
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());
|
||||
if (count == 0) {
|
||||
report.setOrgi(super.getOrgi(request));
|
||||
report.setCreater(super.getUser(request).getId());
|
||||
report.setReporttype(MainContext.ReportType.REPORT.toString());
|
||||
report.setCode(MainUtils.genID());
|
||||
reportRes.save(report);
|
||||
} else {
|
||||
view = request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?msg=rt_name_exist&dicid=" + report.getDicid()));
|
||||
}
|
||||
}
|
||||
return view;
|
||||
}
|
||||
|
||||
@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){
|
||||
reportRes.delete(report);
|
||||
}
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid="+report.getDicid()));
|
||||
@Menu(type = "setting", subtype = "report", admin = true)
|
||||
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);
|
||||
@Menu(type = "setting", subtype = "report", admin = true)
|
||||
public ModelAndView quickreplyedit(ModelMap map, HttpServletRequest request, @Valid String 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)));
|
||||
@ -136,83 +132,82 @@ public class ReportController extends Handler {
|
||||
}
|
||||
|
||||
@RequestMapping("/update")
|
||||
@Menu(type = "setting" , subtype = "report" , admin= true)
|
||||
public ModelAndView quickreplyupdate(ModelMap map , HttpServletRequest request , @Valid Report report) {
|
||||
if(!StringUtils.isBlank(report.getId())){
|
||||
Report temp = reportRes.findOne(report.getId()) ;
|
||||
if(temp!=null) {
|
||||
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()));
|
||||
@Menu(type = "setting", subtype = "report", admin = true)
|
||||
public ModelAndView quickreplyupdate(@Valid Report report) {
|
||||
if (!StringUtils.isBlank(report.getId())) {
|
||||
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()));
|
||||
}
|
||||
|
||||
@RequestMapping({"/addtype"})
|
||||
@Menu(type="apps", subtype="kbs")
|
||||
public ModelAndView addtype(ModelMap map , HttpServletRequest request , @Valid String dicid){
|
||||
map.addAttribute("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request))) ;
|
||||
if(!StringUtils.isBlank(dicid)){
|
||||
map.addAttribute("dataDic", dataDicRes.findByIdAndOrgi(dicid, super.getOrgi(request))) ;
|
||||
}
|
||||
return request(super.createRequestPageTempletResponse("/apps/business/report/addtype"));
|
||||
}
|
||||
@Menu(type = "apps", subtype = "kbs")
|
||||
public ModelAndView addtype(ModelMap map, HttpServletRequest request, @Valid String dicid) {
|
||||
map.addAttribute("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request)));
|
||||
if (!StringUtils.isBlank(dicid)) {
|
||||
map.addAttribute("dataDic", dataDicRes.findByIdAndOrgi(dicid, super.getOrgi(request)));
|
||||
}
|
||||
return request(super.createRequestPageTempletResponse("/apps/business/report/addtype"));
|
||||
}
|
||||
|
||||
@RequestMapping("/type/save")
|
||||
@Menu(type = "apps" , subtype = "report")
|
||||
public ModelAndView typesave(HttpServletRequest request ,@Valid DataDic dataDic) {
|
||||
List<DataDic> dicList = dataDicRes.findByOrgiAndName(super.getOrgi(request),dataDic.getName()) ;
|
||||
if(dicList!=null && dicList.size() > 0){
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid="+dataDic.getParentid()+"&msg=qr_type_exist"));
|
||||
}else {
|
||||
dataDic.setOrgi(super.getOrgi(request));
|
||||
dataDic.setCreater(super.getUser(request).getId());
|
||||
dataDic.setCreatetime(new Date());
|
||||
dataDic.setTabtype(MainContext.QuickType.PUB.toString());
|
||||
dataDicRes.save(dataDic) ;
|
||||
}
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid="+dataDic.getId()));
|
||||
@Menu(type = "apps", subtype = "report")
|
||||
public ModelAndView typesave(HttpServletRequest request, @Valid DataDic dataDic) {
|
||||
List<DataDic> dicList = dataDicRes.findByOrgiAndName(super.getOrgi(request), dataDic.getName());
|
||||
if (dicList != null && dicList.size() > 0) {
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid=" + dataDic.getParentid() + "&msg=qr_type_exist"));
|
||||
} else {
|
||||
dataDic.setOrgi(super.getOrgi(request));
|
||||
dataDic.setCreater(super.getUser(request).getId());
|
||||
dataDic.setCreatetime(new Date());
|
||||
dataDic.setTabtype(MainContext.QuickType.PUB.toString());
|
||||
dataDicRes.save(dataDic);
|
||||
}
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid=" + dataDic.getId()));
|
||||
}
|
||||
|
||||
@RequestMapping({"/edittype"})
|
||||
@Menu(type="apps", subtype="kbs")
|
||||
public ModelAndView edittype(ModelMap map , HttpServletRequest request , String id){
|
||||
DataDic dataDic = dataDicRes.findByIdAndOrgi(id, super.getOrgi(request)) ;
|
||||
map.addAttribute("dataDic", dataDic) ;
|
||||
if(dataDic!=null) {
|
||||
map.addAttribute("parentDataDic", dataDicRes.findByIdAndOrgi(dataDic.getParentid(), super.getOrgi(request))) ;
|
||||
}
|
||||
map.addAttribute("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request))) ;
|
||||
return request(super.createRequestPageTempletResponse("/apps/business/report/edittype"));
|
||||
}
|
||||
@Menu(type = "apps", subtype = "kbs")
|
||||
public ModelAndView edittype(ModelMap map, HttpServletRequest request, String id) {
|
||||
DataDic dataDic = dataDicRes.findByIdAndOrgi(id, super.getOrgi(request));
|
||||
map.addAttribute("dataDic", dataDic);
|
||||
if (dataDic != null) {
|
||||
map.addAttribute("parentDataDic", dataDicRes.findByIdAndOrgi(dataDic.getParentid(), super.getOrgi(request)));
|
||||
}
|
||||
map.addAttribute("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request)));
|
||||
return request(super.createRequestPageTempletResponse("/apps/business/report/edittype"));
|
||||
}
|
||||
|
||||
@RequestMapping("/type/update")
|
||||
@Menu(type = "apps" , subtype = "report")
|
||||
public ModelAndView typeupdate(HttpServletRequest request ,@Valid DataDic dataDic) {
|
||||
ModelAndView view = request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid="+dataDic.getId()));
|
||||
DataDic tempDataDic= dataDicRes.findByIdAndOrgi(dataDic.getId(), super.getOrgi(request)) ;
|
||||
if(tempDataDic !=null){
|
||||
//判断名称是否重复
|
||||
List<DataDic> dicList = dataDicRes.findByOrgiAndNameAndIdNot(super.getOrgi(request) , dataDic.getName() , dataDic.getId()) ;
|
||||
if(dicList!=null && dicList.size() > 0) {
|
||||
view = request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?msg=qr_type_exist&dicid="+dataDic.getId()));
|
||||
}else {
|
||||
tempDataDic.setName(dataDic.getName());
|
||||
tempDataDic.setDescription(dataDic.getDescription());
|
||||
tempDataDic.setParentid(dataDic.getParentid());
|
||||
dataDicRes.save(tempDataDic) ;
|
||||
}
|
||||
}
|
||||
return view ;
|
||||
@Menu(type = "apps", subtype = "report")
|
||||
public ModelAndView typeupdate(HttpServletRequest request, @Valid DataDic dataDic) {
|
||||
ModelAndView view = request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?dicid=" + dataDic.getId()));
|
||||
DataDic tempDataDic = dataDicRes.findByIdAndOrgi(dataDic.getId(), super.getOrgi(request));
|
||||
if (tempDataDic != null) {
|
||||
//判断名称是否重复
|
||||
List<DataDic> dicList = dataDicRes.findByOrgiAndNameAndIdNot(super.getOrgi(request), dataDic.getName(), dataDic.getId());
|
||||
if (dicList != null && dicList.size() > 0) {
|
||||
view = request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?msg=qr_type_exist&dicid=" + dataDic.getId()));
|
||||
} else {
|
||||
tempDataDic.setName(dataDic.getName());
|
||||
tempDataDic.setDescription(dataDic.getDescription());
|
||||
tempDataDic.setParentid(dataDic.getParentid());
|
||||
dataDicRes.save(tempDataDic);
|
||||
}
|
||||
}
|
||||
return view;
|
||||
}
|
||||
|
||||
@RequestMapping({"/deletetype"})
|
||||
@Menu(type="apps", subtype="kbs")
|
||||
public ModelAndView deletetype(ModelMap map , HttpServletRequest request , @Valid String id) {
|
||||
@Menu(type = "apps", subtype = "kbs")
|
||||
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));
|
||||
@ -224,64 +219,66 @@ public class ReportController extends Handler {
|
||||
view = request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html?msg=report_exist&dicid=" + id));
|
||||
}
|
||||
}
|
||||
return view ;
|
||||
}
|
||||
return view;
|
||||
}
|
||||
|
||||
@RequestMapping("/imp")
|
||||
@Menu(type = "setting" , subtype = "reportimp")
|
||||
public ModelAndView imp(ModelMap map , HttpServletRequest request , @Valid String type) {
|
||||
map.addAttribute("type", type) ;
|
||||
@Menu(type = "setting", subtype = "reportimp")
|
||||
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 {
|
||||
DSDataEvent event = new DSDataEvent();
|
||||
String fileName = "quickreply/"+ MainUtils.getUUID()+cusfile.getOriginalFilename().substring(cusfile.getOriginalFilename().lastIndexOf(".")) ;
|
||||
File excelFile = new File(path , fileName) ;
|
||||
if(!excelFile.getParentFile().exists()){
|
||||
excelFile.getParentFile().mkdirs() ;
|
||||
}
|
||||
MetadataTable table = metadataRes.findByTablename("uk_report") ;
|
||||
if(table!=null){
|
||||
FileUtils.writeByteArrayToFile(new File(path , fileName), cusfile.getBytes());
|
||||
event.setDSData(new DSData(table,excelFile , cusfile.getContentType(), super.getUser(request)));
|
||||
event.getDSData().setClazz(Report.class);
|
||||
event.setOrgi(super.getOrgi(request));
|
||||
if(!StringUtils.isBlank(type)){
|
||||
event.getValues().put("cate", type) ;
|
||||
}else{
|
||||
event.getValues().put("cate", Constants.DEFAULT_TYPE) ;
|
||||
}
|
||||
event.getValues().put("type", MainContext.QuickType.PUB.toString()) ;
|
||||
event.getValues().put("creater", super.getUser(request).getId()) ;
|
||||
@Menu(type = "setting", subtype = "reportimpsave")
|
||||
public ModelAndView impsave(HttpServletRequest request, @RequestParam(value = "cusfile", required = false) MultipartFile cusfile, @Valid String type) throws IOException {
|
||||
DSDataEvent event = new DSDataEvent();
|
||||
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");
|
||||
if (table != null) {
|
||||
FileUtils.writeByteArrayToFile(new File(path, fileName), cusfile.getBytes());
|
||||
event.setDSData(new DSData(table, excelFile, cusfile.getContentType(), super.getUser(request)));
|
||||
event.getDSData().setClazz(Report.class);
|
||||
event.setOrgi(super.getOrgi(request));
|
||||
if (!StringUtils.isBlank(type)) {
|
||||
event.getValues().put("cate", type);
|
||||
} else {
|
||||
event.getValues().put("cate", Constants.DEFAULT_TYPE);
|
||||
}
|
||||
event.getValues().put("type", MainContext.QuickType.PUB.toString());
|
||||
event.getValues().put("creater", super.getUser(request).getId());
|
||||
// exchange.getDSData().setProcess(new QuickReplyProcess(reportRes));
|
||||
// reporterRes.save(exchange.getDSData().getReport()) ;
|
||||
new ExcelImportProecess(event).process() ; //启动导入任务
|
||||
}
|
||||
new ExcelImportProecess(event).process(); //启动导入任务
|
||||
}
|
||||
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html"+(!StringUtils.isBlank(type)? "?dicid="+type:"")));
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html" + (!StringUtils.isBlank(type) ? "?dicid=" + type : "")));
|
||||
}
|
||||
|
||||
@RequestMapping("/batdelete")
|
||||
@Menu(type = "setting" , subtype = "reportbatdelete")
|
||||
public ModelAndView batdelete(ModelMap map , HttpServletRequest request , HttpServletResponse response , @Valid String[] ids ,@Valid String type) throws IOException {
|
||||
if(ids!=null && ids.length > 0){
|
||||
Iterable<Report> topicList = reportRes.findAll(Arrays.asList(ids)) ;
|
||||
reportRes.delete(topicList);
|
||||
}
|
||||
@Menu(type = "setting", subtype = "reportbatdelete")
|
||||
public ModelAndView batdelete(@Valid String[] ids, @Valid String type) {
|
||||
if (ids != null && ids.length > 0) {
|
||||
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:"")));
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/index.html" + (!StringUtils.isBlank(type) ? "?dicid=" + type : "")));
|
||||
}
|
||||
|
||||
@RequestMapping("/expids")
|
||||
@Menu(type = "setting" , subtype = "reportexpids")
|
||||
public void expids(ModelMap map , HttpServletRequest request , HttpServletResponse response , @Valid String[] ids) throws IOException {
|
||||
if(ids!=null && ids.length > 0) {
|
||||
Iterable<Report> topicList = reportRes.findAll(Arrays.asList(ids));
|
||||
@Menu(type = "setting", subtype = "reportexpids")
|
||||
public void expids(HttpServletResponse response, @Valid String[] ids) throws IOException {
|
||||
if (ids != null && ids.length > 0) {
|
||||
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 {
|
||||
@Menu(type = "setting", subtype = "reportexpall")
|
||||
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,77 +309,74 @@ public class ReportController extends Handler {
|
||||
ExcelExporterProcess excelProcess = new ExcelExporterProcess(values, table, response.getOutputStream());
|
||||
excelProcess.process();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@RequestMapping("/pbreportindex")
|
||||
@Menu(type = "setting" , subtype = "pbreport" , admin= true)
|
||||
public ModelAndView pbreportindex(ModelMap map , HttpServletRequest request , @Valid String dicid) {
|
||||
if(!StringUtils.isBlank(dicid) && !"0".equals(dicid)) {
|
||||
@Menu(type = "setting", subtype = "pbreport", admin = true)
|
||||
public ModelAndView pbreportindex(ModelMap map, HttpServletRequest request, @Valid String dicid) {
|
||||
if (!StringUtils.isBlank(dicid) && !"0".equals(dicid)) {
|
||||
map.put("dataDic", dataDicRes.findByIdAndOrgi(dicid, super.getOrgi(request)));
|
||||
map.put("reportList", publishedReportRes.findByOrgiAndDicid(super.getOrgi(request), dicid, PageRequest.of(super.getP(request), super.getPs(request))));
|
||||
}else {
|
||||
} else {
|
||||
map.put("reportList", publishedReportRes.findByOrgi(super.getOrgi(request), PageRequest.of(super.getP(request), super.getPs(request))));
|
||||
}
|
||||
map.put("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request))) ;
|
||||
return request(super.createAppsTempletResponse("/apps/business/report/pbreportindex"));
|
||||
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) {
|
||||
if(!StringUtils.isBlank(dicid) && !"0".equals(dicid)) {
|
||||
@Menu(type = "setting", subtype = "pbreport", admin = true)
|
||||
public ModelAndView pbreportlist(ModelMap map, HttpServletRequest request, @Valid String dicid) {
|
||||
if (!StringUtils.isBlank(dicid) && !"0".equals(dicid)) {
|
||||
map.put("dataDic", dataDicRes.findByIdAndOrgi(dicid, super.getOrgi(request)));
|
||||
map.put("reportList", publishedReportRes.findByOrgiAndDicid(super.getOrgi(request), dicid, PageRequest.of(super.getP(request), super.getPs(request))));
|
||||
}else {
|
||||
} else {
|
||||
map.put("reportList", publishedReportRes.findByOrgi(super.getOrgi(request), PageRequest.of(super.getP(request), super.getPs(request))));
|
||||
}
|
||||
map.put("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request))) ;
|
||||
return request(super.createRequestPageTempletResponse("/apps/business/report/pbreportlist"));
|
||||
map.put("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request)));
|
||||
return request(super.createRequestPageTempletResponse("/apps/business/report/pbreportlist"));
|
||||
}
|
||||
|
||||
@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){
|
||||
publishedReportRes.delete(report);
|
||||
}
|
||||
return request(super.createRequestPageTempletResponse("redirect:/apps/report/pbreportindex.html?dicid="+report.getDicid()));
|
||||
@Menu(type = "setting", subtype = "pbreport", admin = true)
|
||||
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 {
|
||||
if (!StringUtils.isBlank(id)) {
|
||||
PublishedReport publishedReport = publishedReportRes.findById(id);
|
||||
if(publishedReport!=null) {
|
||||
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>();
|
||||
for(ReportFilter rf:listFilters) {
|
||||
filterMap.put(rf.getId(), rf);
|
||||
}
|
||||
for(ReportFilter rf:listFilters) {
|
||||
if(!StringUtils.isBlank(rf.getCascadeid())) {
|
||||
rf.setChildFilter(filterMap.get(rf.getCascadeid()));
|
||||
}
|
||||
}
|
||||
}
|
||||
map.addAttribute("reportFilters", reportCubeService.fillReportFilterData(listFilters, request));
|
||||
}
|
||||
}
|
||||
return request(super.createRequestPageTempletResponse("/apps/business/report/view"));
|
||||
}
|
||||
@Menu(type = "report", subtype = "report")
|
||||
public ModelAndView view(ModelMap map, HttpServletRequest request, @Valid String id) {
|
||||
if (!StringUtils.isBlank(id)) {
|
||||
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<>();
|
||||
for (ReportFilter rf : listFilters) {
|
||||
filterMap.put(rf.getId(), rf);
|
||||
}
|
||||
for (ReportFilter rf : listFilters) {
|
||||
if (!StringUtils.isBlank(rf.getCascadeid())) {
|
||||
rf.setChildFilter(filterMap.get(rf.getCascadeid()));
|
||||
}
|
||||
}
|
||||
}
|
||||
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,66 +41,59 @@ 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 ;
|
||||
if(!StringUtils.isBlank(dicid) && !"0".equals(dicid)) {
|
||||
@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;
|
||||
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))));
|
||||
}else {
|
||||
} else {
|
||||
map.put("reportList", publishedReportList = publishedReportRes.findByOrgi(super.getOrgi(request), PageRequest.of(super.getP(request), super.getPs(request))));
|
||||
}
|
||||
if(publishedReportList!=null && publishedReportList.getContent().size() > 0) {
|
||||
PublishedReport publishedReport = publishedReportList.getContent().get(0);
|
||||
if(!StringUtils.isBlank(id)) {
|
||||
for(PublishedReport report : publishedReportList) {
|
||||
if(report.getId().equals(id)) {
|
||||
publishedReport = report ; break ;
|
||||
}
|
||||
}
|
||||
}
|
||||
map.put("report", publishedReport) ;
|
||||
if (publishedReportList != null && publishedReportList.getContent().size() > 0) {
|
||||
PublishedReport publishedReport = publishedReportList.getContent().get(0);
|
||||
if (!StringUtils.isBlank(id)) {
|
||||
for (PublishedReport report : publishedReportList) {
|
||||
if (report.getId().equals(id)) {
|
||||
publishedReport = report;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
map.put("report", publishedReport);
|
||||
|
||||
if(publishedReport!=null) {
|
||||
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>();
|
||||
for(ReportFilter rf:listFilters) {
|
||||
filterMap.put(rf.getId(), rf);
|
||||
}
|
||||
for(ReportFilter rf:listFilters) {
|
||||
if(!StringUtils.isBlank(rf.getCascadeid())) {
|
||||
rf.setChildFilter(filterMap.get(rf.getCascadeid()));
|
||||
}
|
||||
}
|
||||
}
|
||||
map.addAttribute("reportFilters", reportCubeService.fillReportFilterData(listFilters, request));
|
||||
}
|
||||
if (publishedReport != null) {
|
||||
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<>();
|
||||
for (ReportFilter rf : listFilters) {
|
||||
filterMap.put(rf.getId(), rf);
|
||||
}
|
||||
for (ReportFilter rf : listFilters) {
|
||||
if (!StringUtils.isBlank(rf.getCascadeid())) {
|
||||
rf.setChildFilter(filterMap.get(rf.getCascadeid()));
|
||||
}
|
||||
}
|
||||
}
|
||||
map.addAttribute("reportFilters", reportCubeService.fillReportFilterData(listFilters, request));
|
||||
}
|
||||
|
||||
}
|
||||
map.put("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request))) ;
|
||||
return request(super.createRequestPageTempletResponse("/apps/business/view/index"));
|
||||
map.put("dataDicList", dataDicRes.findByOrgi(super.getOrgi(request)));
|
||||
return request(super.createRequestPageTempletResponse("/apps/business/view/index"));
|
||||
}
|
||||
}
|
||||
|
@ -1,39 +1,39 @@
|
||||
/*
|
||||
* Copyright (C) 2017 优客服-多渠道客服系统
|
||||
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.chatopera.cc.persistence.repository;
|
||||
|
||||
import com.chatopera.cc.model.PublishedReport;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface PublishedReportRepository extends JpaRepository<PublishedReport, String> {
|
||||
|
||||
List<PublishedReport> findByOrgiAndDataidOrderByDataversionDesc(String orgi, String dataid);
|
||||
|
||||
Page<PublishedReport> findByOrgiAndDicid(String orgi, String dicid, Pageable pageRequest);
|
||||
|
||||
Page<PublishedReport> findByOrgi(String orgi, Pageable pageRequest);
|
||||
|
||||
PublishedReport findById(String id);
|
||||
|
||||
List<PublishedReport> findByCode(String code);
|
||||
|
||||
|
||||
}
|
||||
/*
|
||||
* Copyright (C) 2017 优客服-多渠道客服系统
|
||||
* Modifications copyright (C) 2018-2019 Chatopera Inc, <https://www.chatopera.com>
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.chatopera.cc.persistence.repository;
|
||||
|
||||
import com.chatopera.cc.model.PublishedReport;
|
||||
import org.springframework.data.domain.Page;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface PublishedReportRepository extends JpaRepository<PublishedReport, String> {
|
||||
|
||||
List<PublishedReport> findByOrgiAndDataidOrderByDataversionDesc(String orgi, String dataid);
|
||||
|
||||
Page<PublishedReport> findByOrgiAndDicid(String orgi, String dicid, Pageable pageRequest);
|
||||
|
||||
Page<PublishedReport> findByOrgi(String orgi, Pageable pageRequest);
|
||||
|
||||
// PublishedReport findById(String id);
|
||||
|
||||
List<PublishedReport> findByCode(String code);
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user