修改安环管理

develop-QA
sugy 3 months ago
parent ffd01d8dbf
commit 29a13ebe1b
  1. 12
      blade-ops-api/blade-resource-api/src/main/java/org/springblade/resource/feign/IAttachClient.java
  2. 9
      blade-ops/blade-resource/src/main/java/org/springblade/resource/feign/AttachClient.java
  3. 28
      blade-service/blade-desk/pom.xml
  4. 55
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/controller/BsSafeInspectionPointController.java
  5. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/mapper/DosingRecMapper.xml
  6. 21
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsSafeInspectionPointEntity.java
  7. 9
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/pojo/entity/BsWasteGasRunRecEntity.java
  8. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/IBsSafeInspectionPointService.java
  9. 112
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/service/impl/BsSafeInspectionPointServiceImpl.java
  10. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/task/OrderSafeJob.java
  11. 166
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/util/ExportUtil.java
  12. 117
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/util/JasperReportUtil.java
  13. 176
      blade-service/blade-desk/src/main/java/org/springblade/desk/energy/util/PdfPageUtil.java
  14. 34
      blade-service/blade-desk/src/main/java/org/springblade/desk/process/controller/FmProjectMilestoneController.java
  15. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/process/pojo/entity/FmProjectApplicationEntity.java
  16. 26
      blade-service/blade-desk/src/main/java/org/springblade/desk/process/pojo/entity/FmProjectMilestoneEntity.java
  17. 7
      blade-service/blade-desk/src/main/java/org/springblade/desk/process/service/IFmProjectMilestoneService.java
  18. 22
      blade-service/blade-desk/src/main/java/org/springblade/desk/process/service/impl/FmProjectMilestoneServiceImpl.java
  19. BIN
      blade-service/blade-desk/src/main/resources/configs/jasperReport/safety/safety_inspectionPoint.jasper
  20. 6
      blade-service/blade-desk/src/main/resources/configs/report/report.xml
  21. 6
      blade-service/blade-desk/src/main/resources/configs/report/safety_report.xml
  22. 159
      blade-service/blade-desk/src/main/resources/configs/systemConfig.xml

@ -9,6 +9,8 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@FeignClient(
value = AppConstant.APPLICATION_RESOURCE_NAME
)
@ -22,6 +24,8 @@ public interface IAttachClient {
String COPY_FROM_TEMP_TO_BIZ_PREFIX = API_PREFIX + "/copy-from-temp-to-biz-prefix";
String LIST_BY_IDS = API_PREFIX + "/list-by-ids";
/**
*
* @param attach
@ -46,4 +50,12 @@ public interface IAttachClient {
@GetMapping(COPY_FROM_TEMP_TO_BIZ_PREFIX)
R<Attach> copyFromTempToBizPrefix(@RequestParam("id") Long id,
@RequestParam("bizPrefix") String bizPrefix);
/**
* 查询集合
* @param
* @return
*/
@GetMapping(LIST_BY_IDS)
R<List<Attach>> listByIds(@RequestParam("ids") String ids);
}

@ -4,11 +4,14 @@ import jakarta.annotation.Resource;
import lombok.Data;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.resource.pojo.entity.Attach;
import org.springblade.resource.service.IAttachService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* todo:有temp桶,成功以后移动到具体业务桶中.
*/
@ -36,4 +39,10 @@ public class AttachClient implements IAttachClient {
// todo:有temp桶,成功以后移动到具体业务桶中.
return null;
}
@Override
public R<List<Attach>> listByIds(String ids) {
List<Attach> list=attachService.listByIds(Func.toLongList(ids));
return R.data(list);
}
}

@ -78,6 +78,33 @@
<artifactId>hutool-all</artifactId>
<version>5.8.16</version>
</dependency>
<!--老系统jar包-->
<dependency>
<groupId>com.videasoft</groupId>
<artifactId>vwebfrk-base</artifactId>
<version>1.4.6-RELEASE</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy</artifactId>
<version>3.0.9</version> <!-- 使用最新的稳定版本 -->
</dependency>
<dependency>
<groupId>com.videasoft.m3</groupId>
<artifactId>barbecue</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.1.16</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-resource-api</artifactId>
@ -86,7 +113,6 @@
<groupId>org.springblade</groupId>
<artifactId>blade-system-api</artifactId>
</dependency>
</dependencies>
<build>

@ -31,10 +31,10 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
@ -43,18 +43,22 @@ import org.springblade.core.secure.annotation.IsAdmin;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.basic.pojo.entity.BatConfig;
import org.springblade.desk.basic.util.ExcelExtUtil;
import org.springblade.desk.energy.excel.BsSafeInspectionPointExcel;
import org.springblade.desk.energy.pojo.entity.BsSafeInspectionPointEntity;
import org.springblade.desk.energy.pojo.vo.BsSafeInspectionPointVO;
import org.springblade.desk.energy.service.IBsSafeInspectionPointService;
import org.springblade.desk.energy.util.ExportUtil;
import org.springblade.desk.energy.wrapper.BsSafeInspectionPointWrapper;
import org.springframework.core.io.Resource;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -68,10 +72,12 @@ import java.util.Map;
@AllArgsConstructor
@RequestMapping("/bsSafeInspectionPoint")
@Tag(name = "巡检点配置表", description = "巡检点配置表接口")
public class BsSafeInspectionPointController extends BladeController {
public class BsSafeInspectionPointController {
private final IBsSafeInspectionPointService bsSafeInspectionPointService;
private final ExportUtil exportUtil;
/**
* 巡检点配置表 详情
*/
@ -199,5 +205,48 @@ public class BsSafeInspectionPointController extends BladeController {
public R saveList(@Valid @RequestBody List<BsSafeInspectionPointEntity> bsSafeInspectionPointList) {
return R.status(bsSafeInspectionPointService.saveOrUpdateBatch(bsSafeInspectionPointList));
}
@PostMapping(value = "/print")
@ApiOperationSupport(order = 13)
@Operation(summary = "打印", description = "传入bsSafeInspectionPointList")
public void print(@RequestBody BsSafeInspectionPointEntity data, HttpServletRequest request, HttpServletResponse response) {
// List<Long> ipIdList = JSONArray.parseArray(data.get("ipIdList").toString(), Long.class);
List<Long> ipIdList = new ArrayList<>();
//Short exportType = data.getShort("exportType");
Short exportType = 1;
List<BsSafeInspectionPointEntity> list = bsSafeInspectionPointService.listByIds(Func.toLongList(data.getIds()));
String reportId = null;
if (reportId == null) {
reportId = "safety_inspectionPoint";
}
Map map=new HashMap();
map.put("companyName","客户公司的名称");
map.put("companySN","客户公司的简称");
//ipIdList.forEach(id -> list.add(safeInspectionPointService.getByKey(id)));
exportUtil.export(reportId, exportType, "安全巡检点", list, map,request, response);
}
/**
* 巡检点配置表 导出pdf
*/
// @PostMapping("/exportPdf")
// @ApiOperationSupport(order = 7)
// @Operation(summary = "导出pdf", description = "传入ids")
// public void exportPdf(@Parameter(description = "主键集合", required = true) @RequestParam String ids,HttpServletRequest request, HttpServletResponse response) {
// List<BsSafeInspectionPointEntity> list = bsSafeInspectionPointService.listByIds(Func.toLongList(ids));
// // 防止日志记录获取session异常
// request.getSession();
// // 设置编码格式
// response.setContentType("application/pdf;charset=UTF-8");
// response.setCharacterEncoding("utf-8");
// String fileName = null;
// try {
// fileName = URLEncoder.encode("下载的PDF名称", "UTF-8");
// } catch (UnsupportedEncodingException e) {
// throw new RuntimeException(e);
// }
// response.setHeader("Content-disposition", "attachment;filename*=utf-8''" + fileName + ".pdf");
// //bsSafeInspectionPointService.exportPdf(list, response);
// }
}

@ -47,7 +47,7 @@
and n.DOSING_TIME like '%' || #{bsDosingRec.dosingTime} || '%'
</if>
<if test="bsDosingRec.queryDosingTime!=null">
and n.DOSING_TIME BETWEEN to_date(#{bsDosingRec.startDate},'YYYY-MM-DD HH24:MI:SS') AND to_date(#{bsDosingRec .endDate},'YYYY-MM-DD HH24:MI:SS')
and n.DOSING_TIME BETWEEN to_date(#{bsDosingRec.startDate},'YYYY-MM-DD HH24:MI:SS') AND to_date(#{bsDosingRec.endDate},'YYYY-MM-DD HH24:MI:SS')
</if>
</where>
</select>

@ -25,6 +25,7 @@
*/
package org.springblade.desk.energy.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
@ -66,14 +67,15 @@ public class BsSafeInspectionPointEntity extends BaseEntity {
@Schema(description = "巡检点位置")
private String insSite;
// /**
// * 巡检器
// */
// @Schema(description = "巡检器")
// private String patrolRegister;
// /**
// * 巡检点
// */
/**
* 巡检器
*/
@Schema(description = "巡检器")
@TableField(value = "ins_num")
private String patrolRegister;
/**
* 巡检点
*/
// @Schema(description = "巡检点")
// private String insSpot;
/**
@ -89,4 +91,7 @@ public class BsSafeInspectionPointEntity extends BaseEntity {
@Schema(description = "备注")
private String memo;
@TableField(exist = false)
private String ids;
}

@ -25,19 +25,18 @@
*/
package org.springblade.desk.energy.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import java.math.BigDecimal;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.tenant.mp.TenantEntity;
import org.springblade.core.tool.utils.DateUtil;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.math.BigDecimal;
import java.util.Date;
/**
* 废气运行记录表 实体类

@ -27,6 +27,7 @@ package org.springblade.desk.energy.service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import jakarta.servlet.http.HttpServletResponse;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.energy.excel.BsSafeInspectionPointExcel;
import org.springblade.desk.energy.pojo.entity.BsSafeInspectionPointEntity;
@ -59,4 +60,10 @@ public interface IBsSafeInspectionPointService extends BaseService<BsSafeInspect
*/
List<BsSafeInspectionPointExcel> exportBsSafeInspectionPoint(Wrapper<BsSafeInspectionPointEntity> queryWrapper);
/**
* 导出pdf
* @param list
* @param response
*/
//void exportPdf(List<BsSafeInspectionPointEntity> list, HttpServletResponse response);
}

@ -26,15 +26,16 @@
package org.springblade.desk.energy.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.energy.excel.BsSafeInspectionPointExcel;
import org.springblade.desk.energy.mapper.BsSafeInspectionPointMapper;
import org.springblade.desk.energy.pojo.entity.BsSafeInspectionPointEntity;
import org.springblade.desk.energy.pojo.vo.BsSafeInspectionPointVO;
import org.springblade.desk.energy.service.IBsSafeInspectionPointService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseServiceImpl;
import java.util.List;
/**
@ -61,4 +62,109 @@ public class BsSafeInspectionPointServiceImpl extends BaseServiceImpl<BsSafeInsp
return bsSafeInspectionPointList;
}
// @Override
// public void exportPdf(List<BsSafeInspectionPointEntity> list, HttpServletResponse response) {
// // 定义全局的字体静态变量
// Font titlefont;
// Font headfont;
// Font keyfont = null;
// Font textfont = null;
// Font content = null;
// // 最大宽度
// try {
// // 不同字体(这里定义为同一种字体:包含不同字号、不同style)
// BaseFont bfChinese = BaseFont.createFont( "C:/Windows/Fonts/simsun.ttc,0", BaseFont.IDENTITY_H, BaseFont.EMBEDDED );
// titlefont = new Font(bfChinese, 16, Font.BOLD);
// headfont = new Font(bfChinese, 14, Font.BOLD);
// keyfont = new Font(bfChinese, 10, Font.BOLD);
// textfont = new Font(bfChinese, 15, Font.NORMAL);
// content = new Font(bfChinese, 10, Font.NORMAL);
//
// } catch (Exception e) {
// e.printStackTrace();
// }
// BaseFont bf;
// Font font = null;
// try {
// //创建字体
// bf = BaseFont.createFont( "C:/Windows/Fonts/simsun.ttc,0", BaseFont.IDENTITY_H, BaseFont.EMBEDDED );
// //使用字体并给出颜色
// font = new Font(bf,20,Font.BOLD, BaseColor.BLACK);
// } catch (Exception e) {
// e.printStackTrace();
// }
//
// Document document = new Document(new RectangleReadOnly(842F, 595F));
// //设置页边距 60:左边距,60:右边距,72:上边距,72:下边距
// document.setMargins(60, 60, 72, 72);
//
// try {
// PdfWriter writer = PdfWriter.getInstance(document,response.getOutputStream());
// //添加页码
// writer.setPageEvent(new PdfPageUtil());
// //打开生成的pdf文件
// document.open();
// //设置内容
// Paragraph paragraph = new Paragraph("熏蒸备案回执",font);
// paragraph.setAlignment(1);
// //引用字体
// document.add(paragraph);
//
// // 设置表格的列宽和列数
// float[] widths = {25f,25f,25f,25f,25f,25f};
// PdfPTable table = new PdfPTable(widths);
// table.setSpacingBefore(20f);
// // 设置表格宽度为100%
// table.setWidthPercentage(100.0F);
// table.setHeaderRows(1);
// table.getDefaultCell().setHorizontalAlignment(1);
// PdfPCell cell = null;
// //第一行
// cell = new PdfPCell(new Paragraph("熏蒸备案编码",content));
// cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
// cell.setHorizontalAlignment(Element.ALIGN_CENTER);
// cell.setFixedHeight(30);
// table.addCell(cell);
//
//// cell = new PdfPCell(new Paragraph(fumigationDowloadVO.getXzbm()));
//// cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
//// cell.setHorizontalAlignment(Element.ALIGN_CENTER);
//// table.addCell(cell);
//
// cell = new PdfPCell(new Paragraph("熏蒸备案时间",content));
// cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
// cell.setHorizontalAlignment(Element.ALIGN_CENTER);
// table.addCell(cell);
//
//// cell = new PdfPCell(new Paragraph(CheckVerifyUtil.dateToString4(fumigationDowloadVO.getSqxzrq())));
//// cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
//// cell.setHorizontalAlignment(Element.ALIGN_CENTER);
//// table.addCell(cell);
//
// cell = new PdfPCell(new Paragraph("申请备案单位",content));
// cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
// cell.setHorizontalAlignment(Element.ALIGN_CENTER);
// table.addCell(cell);
//
//// cell = new PdfPCell(new Paragraph(fumigationDowloadVO.getDwmc(),content));
//// cell.setVerticalAlignment(Element.ALIGN_MIDDLE);
//// cell.setHorizontalAlignment(Element.ALIGN_CENTER);
//// table.addCell(cell);
//
// document.add(new Paragraph("\n"));
// document.add(new Paragraph("▋ 基本信息",content));
// document.add(new Paragraph("\n"));
//
// document.add(table);
//
// //关闭文档
// document.close();
//
// } catch (DocumentException e) {
// throw new RuntimeException(e);
// } catch (IOException e) {
// throw new RuntimeException(e);
// }
// }
}

@ -3,13 +3,10 @@ package org.springblade.desk.energy.task;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.desk.energy.service.IBsSafePatrolInspectionService;
import org.springblade.desk.order.service.IYieldOrderService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* 定时任务
*

@ -0,0 +1,166 @@
package org.springblade.desk.energy.util;
import com.videasoft.utils.other.Function;
import com.videasoft.webframework.common.web.report.HtmlExporterUtil;
import com.videasoft.webframework.common.web.report.ReportModel;
import com.videasoft.webframework.configs.ReportInfoReader;
import jakarta.servlet.ServletOutputStream;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.export.ooxml.JRXlsxExporter;
import net.sf.jasperreports.export.ExporterInput;
import net.sf.jasperreports.export.OutputStreamExporterOutput;
import net.sf.jasperreports.export.SimpleExporterInput;
import net.sf.jasperreports.export.SimpleOutputStreamExporterOutput;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@Service
public class ExportUtil {
public void export(String reportId, short exportType, String fileName, Object data, Map<String, Object> params, HttpServletRequest request, HttpServletResponse response) {
if (params == null) {
params = new HashMap();
}
try {
Map<String, ReportModel> reports = ReportInfoReader.getReport();
JasperPrint jp = JasperReportUtil.getJasperPrint(reportId, data, (Map)params);
ReportModel rm = (ReportModel)reports.get(reportId);
jp.setName("测试");
if (StringUtils.isBlank(fileName)) {
fileName = Function.toUtf8String(rm.getReportName());
}
if (0 == exportType) {
fileName = fileName + ".xlsx";
fileName= URLEncoder.encode(fileName,"UTF-8");
this.exportExcel(jp, fileName, response);
} else if (1 == exportType) {
fileName = fileName + ".pdf";
fileName= URLEncoder.encode(fileName,"UTF-8");
this.exportPdf(jp, fileName, response);
} else if (3 == exportType) {
this.exportHtml(jp, response);
}
} catch (Exception var12) {
var12.printStackTrace();
}
}
protected void exportExcel(Object jasperPrint, String fileName, HttpServletResponse response) {
OutputStream out = null;
try {
out = this.getExportStream("application/vnd.ms-excel", fileName, response);
JRXlsxExporter exporter = new JRXlsxExporter();
ExporterInput exporterInput = null;
if (jasperPrint instanceof JasperPrint) {
exporterInput = new SimpleExporterInput((JasperPrint)jasperPrint);
} else if (jasperPrint instanceof List) {
exporterInput = SimpleExporterInput.getInstance((List)jasperPrint);
}
exporter.setExporterInput(exporterInput);
OutputStreamExporterOutput exporterOutput = new SimpleOutputStreamExporterOutput(response.getOutputStream());
exporter.setExporterOutput(exporterOutput);
exporter.exportReport();
} catch (JRException var20) {
var20.getMessage();
} catch (UnsupportedEncodingException var21) {
var21.printStackTrace();
var21.getMessage();
} catch (IOException var22) {
var22.printStackTrace();
var22.getMessage();
} finally {
if (out != null) {
try {
out.flush();
out.close();
} catch (IOException var19) {
var19.printStackTrace();
}
}
}
}
private void exportPdf(Object jasperPrint, String fileName, HttpServletResponse response) {
try {
OutputStream ouputStream = this.getExportStream("application/pdf", fileName, response);
if (jasperPrint instanceof JasperPrint) {
JasperExportManager.exportReportToPdfStream((JasperPrint)jasperPrint, ouputStream);
} else if (jasperPrint instanceof List) {
List<JasperPrint> list = (List)jasperPrint;
if (list != null && list.size() > 0) {
Iterator var6 = list.iterator();
while(var6.hasNext()) {
JasperPrint jp = (JasperPrint)var6.next();
JasperExportManager.exportReportToPdfStream(jp, ouputStream);
}
}
}
ouputStream.flush();
ouputStream.close();
} catch (Exception var8) {
var8.getMessage();
}
}
protected void exportHtml(Object jasperPrint, HttpServletResponse response) {
PrintWriter printWriter = null;
try {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
printWriter = response.getWriter();
HtmlExporterUtil exporter = new HtmlExporterUtil(jasperPrint, printWriter);
exporter.exportReport();
} catch (JRException var9) {
var9.getMessage();
} catch (IOException var10) {
var10.getMessage();
} finally {
printWriter.close();
}
}
protected OutputStream getExportStream(String contentType, String fileName, HttpServletResponse response) {
String ct = "application/octet-stream";
if (contentType != null) {
ct = contentType;
}
ServletOutputStream out = null;
try {
response.setCharacterEncoding("UTF-8");
response.setContentType(ct);
if (fileName != null && fileName.trim().length() > 0) {
response.setHeader("Content-Disposition", "attachment;filename=" + fileName);
}
response.setBufferSize(2048);
out = response.getOutputStream();
} catch (IOException var7) {
var7.getMessage();
}
return out;
}
}

@ -0,0 +1,117 @@
package org.springblade.desk.energy.util;
import com.videasoft.configs.Configers;
import com.videasoft.utils.other.Function;
import com.videasoft.utils.reader.PathReader;
import com.videasoft.webframework.common.web.report.JasperReportUtils;
import com.videasoft.webframework.common.web.report.PrintData;
import com.videasoft.webframework.common.web.report.ReportModel;
import com.videasoft.webframework.common.web.report.SubReportModel;
import com.videasoft.webframework.configs.ReportInfoReader;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.util.JRLoader;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.io.InputStream;
import java.util.*;
@Service
public class JasperReportUtil {
protected static final Logger logger = LoggerFactory.getLogger(JasperReportUtils.class);
public JasperReportUtil() {
}
public static final ReportModel getReportModel(String reportId) throws Exception {
return ReportInfoReader.getReportModel(reportId);
}
public static final JasperPrint getJasperPrint(String reportId, Object data, Map<String, Object> params) throws Exception {
ReportModel rm = ReportInfoReader.getReportModel(reportId);
if (rm == null) {
throw new Exception("找不到报表模板定义");
} else {
Collection<?> mainData = null;
if (data instanceof Collection) {
mainData = (Collection)data;
} else {
mainData = new ArrayList(1);
((List)mainData).add(data);
}
if (params == null) {
params = new HashMap();
}
JasperReport jr = rm.getJasperRoport();
InputStream inputStream = PathReader.class.getResourceAsStream(rm.getTemplatePath());
if (inputStream == null) {
logger.error("读取打印模版:" + rm.getTemplatePath() + "出错,文件可能不存在!");
return null;
} else {
if (rm.isDebug() || jr == null) {
jr = (JasperReport) JRLoader.loadObject(inputStream);
rm.setJasperRoport(jr);
}
if (rm.getExtParam() != null) {
((Map)params).putAll(rm.getExtParam());
}
// ((Map)params).put("companyInfo", Configers.getEnumConfiger("company").getOption());
SubReportModel subReport = null;
JasperReport subJS = null;
ReportModel subRM = null;
Collection<?> subData = null;
List<SubReportModel> subReports = rm.getSubReports();
if (subReports != null && subReports.size() > 0) {
for(int i = 0; i < subReports.size(); ++i) {
subReport = (SubReportModel)subReports.get(i);
subRM = ReportInfoReader.getReportModel(subReport.getSubReportId());
subJS = subRM.getJasperRoport();
if (subRM.isDebug() || subJS == null) {
subJS = (JasperReport)JRLoader.loadObject(PathReader.class.getResourceAsStream(subRM.getTemplatePath()));
subRM.setJasperRoport(subJS);
}
subData = (Collection) Function.getPropertyValue(((Map)params).get("jasper_head_data"), subReport.getPropertyName());
((Map)params).put("subReport_" + subReport.getJsReportParamName(), subJS);
((Map)params).put("subData_" + subReport.getDataParamName(), subData != null ? new JRBeanCollectionDataSource(subData) : null);
}
}
JasperPrint jp = JasperFillManager.fillReport(jr, (Map)params, new JRBeanCollectionDataSource((Collection)mainData));
mainData = null;
subData = null;
if (jp == null) {
throw new Exception("无法生成导出或打印资源!");
} else {
return jp;
}
}
}
}
public static final ArrayList<JasperPrint> getJasperPrints(String reportId, List<PrintData> data, Map<String, Object> pubParamMap) throws Exception {
ArrayList<JasperPrint> jps = new ArrayList(data.size());
for(int i = 0; i < data.size(); ++i) {
PrintData d = (PrintData)data.get(i);
if (d.getParams() == null) {
d.setParams(new HashMap());
}
d.getParams().putAll(pubParamMap);
JasperPrint jp = getJasperPrint(reportId, d.getData(), d.getParams());
jps.add(jp);
}
return jps;
}
}

@ -0,0 +1,176 @@
//package org.springblade.desk.energy.util;
//
//import com.itextpdf.text.*;
//import com.itextpdf.text.pdf.*;
//
//import java.io.IOException;
//
///**
// * @Author xx
// * @Date 2023/12/15 10:05
// * @Description: 导出pdf添加页数
// * @Version 1.0
// */
//public class PdfPageUtil extends PdfPageEventHelper {
//
// /**
// * 页眉
// */
// //public String header = "itext测试页眉";
//
// /**
// * 文档字体大小,页脚页眉最好和文本大小一致
// */
// public int presentFontSize = 15;
//
// /**
// * 文档页面大小,最好前面传入,否则默认为A4纸张
// */
// public Rectangle pageSize = PageSize.A4;
//
// // 模板
// public PdfTemplate total;
//
// // 基础字体对象
// public BaseFont bf = null;
//
// // 利用基础字体生成的字体对象,一般用于生成中文文字
// public Font fontDetail = null;
//
// /**
// *
// * 无参构造方法.
// *
// */
// public PdfPageUtil() {
//
// }
//
// /**
// *
// * 构造方法.
// *
// * @param
// *
// * @param presentFontSize
// * 数据体字体大小
// * @param pageSize
// * 页面文档大小,A4,A5,A6横转翻转等Rectangle对象
// */
// public PdfPageUtil( int presentFontSize, Rectangle pageSize) {
// this.presentFontSize = presentFontSize;
// this.pageSize = pageSize;
// }
//
// public void setPresentFontSize(int presentFontSize) {
// this.presentFontSize = presentFontSize;
// }
//
// /**
// *
// * 文档打开时创建模板
// */
// @Override
// public void onOpenDocument(PdfWriter writer, Document document) {
// // 共 页 的矩形的长宽高
// total = writer.getDirectContent().createTemplate(50, 50);
// }
//
// /**
// *
// *关闭每页的时候,写入页眉,写入'第几页共'这几个字。
// */
// @Override
// public void onEndPage(PdfWriter writer, Document document) {
// this.addPage(writer, document);
// }
//
// //加分页
// public void addPage(PdfWriter writer, Document document){
// //设置分页页眉页脚字体
// try {
// if (bf == null) {
// bf = BaseFont.createFont("C:/Windows/Fonts/simsun.ttc,0", BaseFont.IDENTITY_H, BaseFont.EMBEDDED );
// }
// if (fontDetail == null) {
// fontDetail = new Font(bf, presentFontSize, Font.NORMAL);// 数据体字体
// }
// } catch (DocumentException e) {
// e.printStackTrace();
// } catch (IOException e) {
// e.printStackTrace();
// }
//
// // 1.写入页眉
//// ColumnText.showTextAligned(writer.getDirectContent(),
//// Element.ALIGN_LEFT, new Phrase(header, fontDetail),
//// document.left(), document.top() + 20, 0);
// // 2.写入前半部分的 第 X页/共
// int pageS = writer.getPageNumber();
// //String foot1 = "第 " + pageS + " 页 /共";
// String foot1 = pageS +"/";
// Phrase footer = new Phrase(foot1, fontDetail);
//
// // 3.计算前半部分的foot1的长度,后面好定位最后一部分的'Y页'这俩字的x轴坐标,字体长度也要计算进去 = len
// float len = bf.getWidthPoint(foot1, presentFontSize);
//
// // 4.拿到当前的PdfContentByte
// PdfContentByte cb = writer.getDirectContent();
//
// // 5.写入页脚1,x轴就是(右margin+左margin + right() -left()- len)/2.0F
// ColumnText
// .showTextAligned(
// cb,
// Element.ALIGN_CENTER,
// footer,
// (document.rightMargin() + document.right()
// + document.leftMargin() - document.left() - len) / 2.0F ,
// document.bottom() - 10, 0);
// cb.addTemplate(total, (document.rightMargin() + document.right()
// + document.leftMargin() - document.left()) / 2.0F ,
// document.bottom() - 10); // 调节模版显示的位置
//
// }
//
//// //加水印
//// public void addWatermark(PdfWriter writer){
//// // 水印图片
//// Image image;
//// try {
//// image = Image.getInstance("./web/images/001.jpg");
//// PdfContentByte content = writer.getDirectContentUnder();
//// content.beginText();
//// // 开始写入水印
//// for(int k=0;k<5;k++){
//// for (int j = 0; j <4; j++) {
//// image.setAbsolutePosition(150*j,170*k);
//// content.addImage(image);
//// }
//// }
//// content.endText();
//// } catch (IOException | DocumentException e) {
//// // TODO Auto-generated catch block
//// e.printStackTrace();
//// }
//// }
//
// /**
// *
// * 关闭文档时,替换模板,完成整个页眉页脚组件
// */
// @Override
// public void onCloseDocument(PdfWriter writer, Document document) {
// // 关闭文档的时候,将模板替换成实际的 Y 值
// total.beginText();
// // 生成的模版的字体、颜色
// total.setFontAndSize(bf, presentFontSize);
// //页脚内容拼接 如 第1页/共2页
// //String foot2 = " " + (writer.getPageNumber()) + " 页";
// //页脚内容拼接 如 第1页/共2页
// String foot2 = String.valueOf(writer.getPageNumber());
// // 模版显示的内容
// total.showText(foot2);
// total.endText();
// total.closePath();
// }
//}

@ -25,18 +25,23 @@
*/
package org.springblade.desk.process.controller;
import io.swagger.v3.oas.annotations.tags.Tag;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import lombok.AllArgsConstructor;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.annotation.IsAdmin;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.annotation.IsAdmin;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.process.excel.FmProjectMilestoneExcel;
import org.springblade.desk.process.pojo.entity.FmProjectMilestoneEntity;
@ -44,15 +49,9 @@ import org.springblade.desk.process.pojo.vo.FmProjectMilestoneVO;
import org.springblade.desk.process.service.IFmProjectMilestoneService;
import org.springblade.desk.process.wrapper.FmProjectMilestoneWrapper;
import org.springframework.web.bind.annotation.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.constant.BladeConstant;
import java.util.Map;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
import java.util.Map;
/**
* 项目里程碑 控制器
@ -75,7 +74,8 @@ public class FmProjectMilestoneController extends BladeController {
@ApiOperationSupport(order = 1)
@Operation(summary = "详情", description = "传入fmProjectMilestone")
public R<FmProjectMilestoneVO> detail(FmProjectMilestoneEntity fmProjectMilestone) {
FmProjectMilestoneEntity detail = fmProjectMilestoneService.getOne(Condition.getQueryWrapper(fmProjectMilestone));
//FmProjectMilestoneEntity detail = fmProjectMilestoneService.getOne(Condition.getQueryWrapper(fmProjectMilestone));
FmProjectMilestoneEntity detail = fmProjectMilestoneService.getDetail(fmProjectMilestone);
return R.data(FmProjectMilestoneWrapper.build().entityVO(detail));
}
/**
@ -170,7 +170,7 @@ public class FmProjectMilestoneController extends BladeController {
* 项目里程碑 核查
*/
@PostMapping("/sendCheck")
@ApiOperationSupport(order = 10)
@ApiOperationSupport(order = 11)
@Operation(summary = "核查", description = "传入fmProjectMilestone")
public R sendCheck(@Valid @RequestBody FmProjectMilestoneEntity fmProjectMilestone) {
return R.status(fmProjectMilestoneService.sendCheck(fmProjectMilestone));
@ -179,7 +179,7 @@ public class FmProjectMilestoneController extends BladeController {
* 项目里程碑 核准
*/
@PostMapping("/gradeSubmit")
@ApiOperationSupport(order = 10)
@ApiOperationSupport(order = 12)
@Operation(summary = "核准", description = "传入fmProjectMilestone")
public R gradeSubmit(@Valid @RequestBody FmProjectMilestoneEntity fmProjectMilestone) {
return R.status(fmProjectMilestoneService.gradeSubmit(fmProjectMilestone));

@ -26,6 +26,7 @@
package org.springblade.desk.process.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.TableName;
@ -34,6 +35,9 @@ import java.math.BigDecimal;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.tenant.mp.TenantEntity;
import org.springblade.core.tool.utils.DateUtil;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.util.List;
@ -71,6 +75,8 @@ public class FmProjectApplicationEntity extends BaseEntity {
* 制单时间
*/
@Schema(description = "制单时间")
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
private Date touchingTime;
/**
* 项目名称
@ -101,16 +107,22 @@ public class FmProjectApplicationEntity extends BaseEntity {
* 项目开始时间
*/
@Schema(description = "项目开始时间")
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
private Date projectStartTime;
/**
* 项目预期结束时间
*/
@Schema(description = "项目预期结束时间")
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
private Date projectDesiredEnd;
/**
* 项目实际结束时间
*/
@Schema(description = "项目实际结束时间")
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
private Date projectEnd;
/**
* 项目支持人

@ -26,16 +26,20 @@
package org.springblade.desk.process.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import com.baomidou.mybatisplus.annotation.TableName;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import org.springblade.core.tenant.mp.TenantEntity;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.resource.pojo.entity.Attach;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@ -56,6 +60,8 @@ public class FmProjectMilestoneEntity extends BaseEntity {
@TableField(exist = false)
private FmProjectApplicationEntity fmProjectApplication;
@TableField(exist = false)
private List<Attach> attachList;
/**
* 项目ID
@ -86,6 +92,8 @@ public class FmProjectMilestoneEntity extends BaseEntity {
* 里程碑节点
*/
@Schema(description = "里程碑节点")
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
private Date milestoneNode;
/**
* 里程碑描述
@ -126,6 +134,8 @@ public class FmProjectMilestoneEntity extends BaseEntity {
* 延期时间
*/
@Schema(description = "延期时间")
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
private Date delayTime;
/**
* 核查结果
@ -141,6 +151,8 @@ public class FmProjectMilestoneEntity extends BaseEntity {
* 核查时间
*/
@Schema(description = "核查时间")
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
private Date checkTime;
/**
* 评价人
@ -156,6 +168,8 @@ public class FmProjectMilestoneEntity extends BaseEntity {
* 通过时间
*/
@Schema(description = "通过时间")
@DateTimeFormat(pattern = DateUtil.PATTERN_DATETIME)
@JsonFormat(pattern = DateUtil.PATTERN_DATETIME)
private Date okTime;
/**
* 延期产生数据
@ -166,7 +180,7 @@ public class FmProjectMilestoneEntity extends BaseEntity {
* 附件ID
*/
@Schema(description = "附件ID")
private Long fileId;
private String fileId;
/**
* 评价等级 未评价

@ -79,4 +79,11 @@ public interface IFmProjectMilestoneService extends BaseService<FmProjectMilesto
* @return
*/
boolean projectExecute(FmProjectMilestoneEntity fmProjectMilestone);
/**
* 查询详情
* @param fmProjectMilestone
* @return
*/
FmProjectMilestoneEntity getDetail(FmProjectMilestoneEntity fmProjectMilestone);
}

@ -28,10 +28,12 @@ package org.springblade.desk.process.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.desk.process.excel.FmProjectMilestoneExcel;
@ -41,8 +43,11 @@ import org.springblade.desk.process.pojo.entity.FmProjectMilestoneEntity;
import org.springblade.desk.process.pojo.vo.FmProjectMilestoneVO;
import org.springblade.desk.process.service.IFmProjectApplicationService;
import org.springblade.desk.process.service.IFmProjectMilestoneService;
import org.springblade.resource.feign.IAttachClient;
import org.springblade.resource.pojo.entity.Attach;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -57,6 +62,8 @@ import java.util.List;
public class FmProjectMilestoneServiceImpl extends BaseServiceImpl<FmProjectMilestoneMapper, FmProjectMilestoneEntity> implements IFmProjectMilestoneService {
private final IFmProjectApplicationService fmProjectApplicationService;
private final IAttachClient attachClient;
@Override
public IPage<FmProjectMilestoneVO> selectFmProjectMilestonePage(IPage<FmProjectMilestoneVO> page, FmProjectMilestoneVO fmProjectMilestone) {
return page.setRecords(baseMapper.selectFmProjectMilestonePage(page, fmProjectMilestone));
@ -198,4 +205,19 @@ public class FmProjectMilestoneServiceImpl extends BaseServiceImpl<FmProjectMile
return false;
}
@Override
public FmProjectMilestoneEntity getDetail(FmProjectMilestoneEntity fmProjectMilestone) {
FmProjectMilestoneEntity detail=baseMapper.selectOne(Condition.getQueryWrapper(fmProjectMilestone));
if(detail==null){
detail=baseMapper.selectById(fmProjectMilestone.getId());
}
FmProjectApplicationEntity fmProjectApplication=fmProjectApplicationService.getById(detail.getPaId());
if(StringUtils.isNotEmpty(detail.getFileId())){
List<Attach> attachList=attachClient.listByIds(detail.getFileId()).getData();
detail.setAttachList(attachList);
}
detail.setFmProjectApplication(fmProjectApplication);
return detail;
}
}

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Reports>
<include fileName="/configs/report/safety_report.xml"></include>
</Reports>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Reports>
<!-- 巡检点打印 -->
<Report reportId="safety_inspectionPoint" reportName="巡检点" templatePath="/configs/jasperReport/safety/safety_inspectionPoint.jasper" debug="true"/>
</Reports>

@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8"?>
<config>
<!--
config格式: 一组值:
<item id="serverInfo" desc="服务器信息">
<option code="serverAddr"></option>
<option code="serverPort"></option>
<option code="serverName"></option>
</item>
单个值:
<option code="serverName"></option>
-->
<!-- 用户请求路由格式
<item id="user.request.router" desc="用户请求路由">
<option code="B">/customer</option>
</item>
-->
<!--软件注册-->
<item id="register" desc="软件注册">
<option code="reg_sn" desc="序列号">VIDEA20YKH1S24WW9QR8VUZF66Z0ABBPNSFCBHW</option>
<option code="reg_code" desc="注册码">GYGLNJNXPGGJXGHRGUTHWHPWXTGQPYHYNJSPXHRGWYRKYWWQ</option>
<option code="reg_date" desc="注册时间">2022-03-31</option>
</item>
<!-- 客户信息 -->
<item id="company" desc="客户信息">
<option code="companyName" desc="客户公司的名称"></option>
<option code="companySN" desc="客户公司的简称"></option>
<option code="companyEN" desc="客户公司的英文名称"></option>
<option code="companybank" desc="客户公司的开户银行"></option>
<option code="companyAccount" desc="客户公司的开户银行帐号"></option>
<option code="companyTaxNo" desc="客户公司的税号"></option>
<option code="companyAddr" desc="客户公司的地址"></option>
<option code="companyPost" desc="客户公司的邮编"></option>
<option code="companyHome" desc="客户公司的主页地址"></option>
<option code="companyTel" desc="客户公司的电话"></option>
<option code="companyFax" desc="客户公司的传真"></option>
<option code="companyMail" desc="客户公司的电邮"></option>
</item>
<!--密码验证次数-->
<item id="account" desc="账户验证次数">
<option code="tryTimes">5</option>
</item>
<!-- 附件存放地址 -->
<option code="upload.dir">uploaded</option>
<!-- 系统启用时间 -->
<option code="project_startup_date">2022-08-27 00:00:00</option>
<!-- 库存查询,false本地查询,true服务器查询 -->
<option code="nativeOrServe">false</option>
<!-- 物料查询,开始时间 -->
<option code="goodsInfoStartDate">2022-01-01 00:00:00</option>
<!--基础资料——获取物料信息-->
<option code="bsGetGoodsInfo">false</option>
<!--基础资料——获取飞拔信息-->
<option code="bsGetFeiBaInfo">false</option>
<!--工艺管理——创建工艺特殊过程任务-->kanban/getBatchNumAfter
<option code="craSpecTask">false</option>
<!--工艺管理——到期提醒-->
<option code="craExpRem">false</option>
<!--安全管理——创建安全点检任务-->
<option code="safSpotTask">false</option>
<!--安全管理——创建安全巡检任务-->
<option code="safPatrolTask">false</option>
<!--外协管理——创建外协试验任务-->
<option code="oemTextTask">false</option>
<!--外协管理——创建外协巡检任务-->
<option code="oemPatrolTask">false</option>
<!--外协管理——查询外协特殊过程任务-->
<option code="oemProcessTask">false</option>
<!--外协管理——外协试验任务发送-->
<option code="oemSendTestPj">false</option>
<!--外协管理——外协试验任务结果查询-->
<option code="oemQueryTestPj">false</option>
<!--外协管理——外协巡检任务发送-->
<option code="oemSendInsTask">false</option>
<!--外协管理——外协巡检任务结果查询-->
<option code="oemQueryInsTask">false</option>
<!--质量管理——创建质量化学参数录入任务-->
<option code="quaBathHandle">false</option>
<!--质量管理——创建质量试验任务-->
<option code="quaTextTask">false</option>
<!--质量管理——获取生产追溯数据-->
<option code="quaProduceRun">false</option>
<!--计量管理——获取记录仪信息-->
<option code="metGetCrInfo">false</option>
<!--计量管理——获取计量信息-->
<option code="metGetMetInfo">false</option>
<!--计量管理——获取设备维修记录-->
<option code="metGetCurInfo">false</option>
<!--能源管理——更新产线、班组的实际用水用电量-->
<option code="eneUpdateUsed">false</option>
<!--能源管理——按小时保存用水用电量历史数据-->
<option code="eneSaveHr">false</option>
<!--设备管理——获取设备信息-->
<option code="equGetEcInfo">false</option>
<!--分派管理——生产单位日产能初始化-->
<option code="capacityTask">false</option>
<!--仓库管理——采购订单进度查询-->
<option code="wmsQueryBuyRate">false</option>
<!--报表管理——查询参数设置数据-->
<option code="rpParameterSet">false</option>
<!-- 酸雾塔报警记录-->
<option code="rpAcidMistTower">false</option>
<!-- 环保管理——巡检任务触发-->
<option code="epInspectionTasks">false</option>
<!-- 设备管理——设备报修-->
<option code="deviceRepair">false</option>
<!-- 环保管理——酸雾塔PH报警-->
<option code="towerSosRec">false</option>
<!-- 设备管理——产量推送-->
<option code="proPush">false</option>
<!-- 自动分派已入库订单-->
<option code="autoDispatch">false</option>
<!--自动刷新生产计划状态-->
<option code="autoDispatchPlan">false</option>
<!-- 解锁账户-->
<option code="unlockAccount">false</option>
<!-- 调换班组-->
<option code="exchangeTeamTime">false</option>
<option code="exchangeTeam">002:003,</option>
<!--压饼模责任人-->
<option code="ybmUser">kaaosi</option>
<!--急件问题停滞-->
<option code="stagnateTimer">false</option>
<!--测厚仪接口调用是否输出日志-->
<option code="getChyData">false</option>
<!--解除绑定-->
<option code="unBindEc">false</option>
<!--烧结设备数据抓取-->
<option code="sjDataCapture">false</option>
<!--槽液精细化-计划类-任务发起-->
<option code="planClassTask">false</option>
<!--烧结转试查询数据状态-->
<option code="testPlanIncomplete">false</option>
<!--自动调班-->
<option code="teamRotation">false</option>
<!--年度数据存储-->
<option code="yearDataStorage">false</option>
<!--班组准时率-->
<option code="teamPunctuality">false</option>
<!--获取测厚仪数据-->
<option code="queryChyData">false</option>
<!--获取首页统计数量-->
<option code="homeStatisNumTask">false</option>
<!--获取在线人员统计-->
<option code="onlineStatTask">false</option>
<!--首页待办消息缓存-->
<option code="flowQueueForCheckTask">false</option>
<!--每天定时更新待办消息到redis-->
<option code="flowQueueForCheckDay">false</option>
</config>
Loading…
Cancel
Save