parent
ffd01d8dbf
commit
29a13ebe1b
22 changed files with 942 additions and 47 deletions
@ -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();
|
||||
// }
|
||||
//}
|
||||
Binary file not shown.
@ -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…
Reference in new issue