Ver Fonte

问题修改

leiyunzhuo há 2 dias atrás
pai
commit
e530b5a900

+ 49 - 0
src/main/java/cn/sinobest/framework/comm/dialect/DmDialect.java

@@ -0,0 +1,49 @@
+package cn.sinobest.framework.comm.dialect;
+
+/**
+ * 达梦数据库方言,继承 OracleDialect 并修复分页 SQL 中整数溢出问题。
+ * <p>
+ * 达梦数据库在计算 SQL 表达式 {@code 1+2147483647} 时会因 32 位整数溢出
+ * 而报"列名无效"错误(错误码 -6102)。本方言将 offset+limit 预先计算为 long
+ * 值直接嵌入 SQL,避免数据库端的算术溢出。
+ */
+public class DmDialect extends OracleDialect {
+
+    @Override
+    public String getLimitString(String sql, int offset, String offsetStr, int limit, String limitStr) {
+        sql = sql.trim();
+
+        boolean forUpdate = false;
+        if (sql.toLowerCase().endsWith(" for update")) {
+            sql = sql.substring(0, sql.length() - 11);
+            forUpdate = true;
+        }
+
+        StringBuffer buf = new StringBuffer(sql.length() + 100);
+
+        if (offset > 0) {
+            buf.append("select * from ( select row_.*, rownum rownum_ from ( ");
+        } else {
+            buf.append("select * from ( ");
+        }
+
+        buf.append(sql);
+
+        if (offset > 0) {
+            // 预先计算 offset + limit,使用 long 避免溢出
+            long endRow = (long) offset + (long) limit;
+            buf.append(" ) row_ where rownum < ")
+               .append(endRow)
+               .append(" ) where  rownum_ >= ")
+               .append(offsetStr);
+        } else {
+            buf.append(" ) where rownum <= ").append(limitStr);
+        }
+
+        if (forUpdate) {
+            buf.append(" for update");
+        }
+
+        return buf.toString();
+    }
+}

+ 3 - 0
src/main/resources/struts.properties

@@ -0,0 +1,3 @@
+# Override exclude.packages to prevent Convention plugin from scanning sydwgl package
+# This file is loaded AFTER all struts.xml files, so it overrides the JAR's struts.xml value
+struts.convention.exclude.packages=com.opensymphony.xwork2,org.apache.struts,org.apache.struts2,org.springframework.web.struts,org.springframework.web.struts2,cn.sinobest.sydwgl

+ 388 - 0
src/main/webapp/static/sydwgl/zcxazryyp_m.js

@@ -0,0 +1,388 @@
+
+//打印
+function doPrint(RSDDID,YWLSH,flag){	
+	var mParams={
+		RSDDID:RSDDID,
+		YWLSH:YWLSH
+	};
+
+	CFW.oAJax.doService("sydwglZcxazryypService.zcxazryypPrintGetData", mParams, '正在处理中...',
+        function(mData) {
+
+			if(flag == "0"){
+				printRsdd(mData[0],0);
+			}else if(flag == "1"){
+				printRsdd(mData[0],1);
+			}else if(flag == "2"){
+				printFirstTimeCE(mData[0]);
+			}else if(flag == "3"){
+				printFirstTimeQE(mData[0]);
+			}
+								
+        }
+    );
+
+
+}
+
+//打印调动差额全额
+function printRsdd(data,flag){
+	
+	var KYYJ = data.KYYJ==null?"":data.KYYJ;
+	var KYNAME="";
+	var KYTIME="";
+	if(!CFW.oValid.fnIsNull(KYYJ)){
+		KYNAME="  审核人:"+data.KYNAME;
+		var sj=data.KYTIME==null?"":data.KYTIME;
+		KYTIME="经办时间:"+sj;
+	}
+	
+	var KZYJ = data.KZYJ==null?"":data.KZYJ;
+	var KZNAME="";
+	var KZTIME="";
+	if(!CFW.oValid.fnIsNull(KZYJ)){
+		KZNAME="  审核人:"+data.KZNAME;
+		var sj=data.KZTIME==null?"":data.KZTIME;
+		KZTIME="经办时间:"+sj;
+	}
+	
+	var FGLDYJ = data.FGLDYJ==null?"":data.FGLDYJ;
+	var FGLDNAME="";
+	var FGLDTIME="";
+	if(!CFW.oValid.fnIsNull(FGLDYJ)){
+		FGLDNAME="  审核人:"+data.FGLDNAME;		
+		var sj=data.FGLDTIME==null?"":data.FGLDTIME;
+		FGLDTIME="经办时间:"+sj;
+	}
+	
+	var JZYJ = data.JZYJ==null?"":data.JZYJ;
+	var JZNAME="";
+	var JZTIME="";
+	if(!CFW.oValid.fnIsNull(JZYJ)){
+		JZNAME="  审核人:"+data.JZNAME;
+		var sj=data.JZTIME==null?"":data.JZTIME;
+		JZTIME="经办时间:"+sj;
+	}
+
+	LODOP=getLodop(); 
+	//未安装或启动打印控件
+	if (!LODOP) {
+		CFW.oWin.fnAlert("LODOP打印控件未安装或未启动,请检查!");
+		return;
+	}
+	LODOP.PRINT_INIT("");
+
+	LODOP.PRINT_INITA(0,0,794,1122,"");
+	if(flag == 0){
+		LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='"+ryxxForm.ctx.value+"/template/sydwgl/44/sydwgl_sydwryddgl_sydwrydd_cedc.jpg'>");//背景图
+	}else{
+		LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='"+ryxxForm.ctx.value+"/template/sydwgl/44/sydwgl_sydwryddgl_sydwrydd_qedc.jpg'>");//背景图
+	}
+
+	LODOP.ADD_PRINT_TEXT(117,69,212,23,data.DZH);
+	LODOP.SET_PRINT_STYLEA(0,"FontName","黑体");
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",10);
+	LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
+	LODOP.SET_PRINT_STYLEA(0,"Bold",1);
+	
+	
+	LODOP.ADD_PRINT_TEXT(146,176,100,26,data.DDXM);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(146,349,64,29,data.XB);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(146,492,95,30,data.CSRQ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(146,656,116,30,data.ZZSF);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(179,250,161,55,data.JYXLJZY);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(179,572,163,52,data.JYBYYXJSJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(235,250,163,61,data.ZGXLJZY);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(235,572,163,61,data.ZGBYYXJSJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(296,250,100,25,data.CJGZSJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(296,410,100,20,data.ZZSJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(296,575,202,30,data.JSZC);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(322,250,250,36,data.YGZDW);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(329,575,161,27,data.YGWDJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(361,250,253,29,data.NPYDW);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(365,575,164,26,data.NGWDJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);
+	LODOP.ADD_PRINT_TEXT(403,252,480,45,data.DDLY);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",11);	
+	
+	if(flag == 0){
+		LODOP.ADD_PRINT_TEXT(443,122,601,200,KYYJ);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+		LODOP.ADD_PRINT_TEXT(669,447,269,28,KYNAME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.ADD_PRINT_TEXT(694,447,269,28,KYTIME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	}else{
+		LODOP.ADD_PRINT_TEXT(443,122,601,180,KYYJ);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+		LODOP.ADD_PRINT_TEXT(640,447,269,28,KYNAME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.ADD_PRINT_TEXT(660,447,269,28,KYTIME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	}
+
+	if(flag == 0){
+		LODOP.ADD_PRINT_TEXT(760,80,642,42,KZYJ);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+		LODOP.ADD_PRINT_TEXT(786,449,269,28,KZNAME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.ADD_PRINT_TEXT(806,449,269,28,KZTIME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		
+	}else{
+		LODOP.ADD_PRINT_TEXT(687,220,642,42,KZYJ);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+		LODOP.ADD_PRINT_TEXT(726,449,269,28,KZNAME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.ADD_PRINT_TEXT(746,449,269,28,KZTIME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	}
+		
+
+	
+	if(flag == 0){
+		LODOP.ADD_PRINT_TEXT(868,81,639,83,FGLDYJ);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+		LODOP.ADD_PRINT_TEXT(940,451,269,28,FGLDNAME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.ADD_PRINT_TEXT(965,451,269,28,FGLDTIME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	}else{
+		LODOP.ADD_PRINT_TEXT(770,220,639,83,FGLDYJ);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+		LODOP.ADD_PRINT_TEXT(825,451,269,28,FGLDNAME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.ADD_PRINT_TEXT(845,451,269,28,FGLDTIME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	}
+
+	
+	if(flag != 0){
+		LODOP.ADD_PRINT_TEXT(875,220,639,83,JZYJ);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+		LODOP.ADD_PRINT_TEXT(960,451,269,28,JZNAME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+		LODOP.ADD_PRINT_TEXT(980,451,269,28,JZTIME);
+		LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	}
+
+ 	LODOP.SET_SHOW_MODE("BKIMG_PRINT",1);//打印包含背景图 
+ 	//LODOP.PRINT_DESIGN();
+ 	LODOP.PREVIEW();
+}
+
+//打印首次差额
+function printFirstTimeCE(data){
+	
+	var bt1="关于免于公开招聘聘用"+data.XM+"同志";
+	var bt2="为"+data.DW+"工作人员的请示";
+	
+	var KYYJ = data.KYYJ==null?"":data.KYYJ;
+	var KYNAME="";
+	var KYTIME="";
+	if(!CFW.oValid.fnIsNull(KYYJ)){
+		KYNAME="  审核人:"+data.KYNAME;
+		var sj=data.KYTIME==null?"":data.KYTIME;
+		KYTIME="经办时间:"+sj;
+	}
+	
+	var KZYJ = data.KZYJ==null?"":data.KZYJ;
+	var KZNAME="";
+	var KZTIME="";
+	if(!CFW.oValid.fnIsNull(KZYJ)){
+		KZNAME="  审核人:"+data.KZNAME;
+		var sj=data.KZTIME==null?"":data.KZTIME;
+		KZTIME="经办时间:"+sj;
+	}
+	
+	var FGLDYJ = data.FGLDYJ==null?"":data.FGLDYJ;
+	var FGLDNAME="";
+	var FGLDTIME="";
+	if(!CFW.oValid.fnIsNull(FGLDYJ)){
+		FGLDNAME="  审核人:"+data.FGLDNAME;
+		var sj=data.FGLDTIME==null?"":data.FGLDTIME;
+		FGLDTIME="经办时间:"+sj;
+	}
+	
+	var JZYJ = data.JZYJ==null?"":data.JZYJ;
+	var JZNAME="";
+	var JZTIME="";
+	if(!CFW.oValid.fnIsNull(JZYJ)){
+		JZNAME="  审核人:"+data.JZNAME;
+		var sj=data.JZTIME==null?"":data.JZTIME;
+		JZTIME="经办时间:"+sj;
+	}
+
+	LODOP=getLodop(); 
+	//未安装或启动打印控件
+	if (!LODOP) {
+		CFW.oWin.fnAlert("LODOP打印控件未安装或未启动,请检查!");
+		return;
+	}
+	LODOP.PRINT_INIT("");
+
+	LODOP.PRINT_INITA(0,0,794,1122,"");
+	
+	LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='"+ryxxForm.ctx.value+"/template/sydwgl/44/sydwgl_zcxazryypgl_zcxazryyp_cesc.jpg'>");//背景图
+
+	LODOP.ADD_PRINT_TEXT(170,155,561,35,bt1);
+	LODOP.SET_PRINT_STYLEA(0,"FontName","黑体");
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
+	LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
+	LODOP.SET_PRINT_STYLEA(0,"Bold",1);
+	LODOP.ADD_PRINT_TEXT(200,155,561,35,bt2);
+	LODOP.SET_PRINT_STYLEA(0,"FontName","黑体");
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
+	LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
+	LODOP.SET_PRINT_STYLEA(0,"Bold",1);
+	
+	LODOP.ADD_PRINT_TEXT(255,166,537,321,KYYJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+	LODOP.ADD_PRINT_TEXT(575,451,269,28,KYNAME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.ADD_PRINT_TEXT(605,451,269,28,KYTIME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	
+	LODOP.ADD_PRINT_TEXT(655,166,537,71,KZYJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+	LODOP.ADD_PRINT_TEXT(725,451,269,28,KZNAME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.ADD_PRINT_TEXT(755,451,269,28,KZTIME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	
+	LODOP.ADD_PRINT_TEXT(805,166,537,163,FGLDYJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+	LODOP.ADD_PRINT_TEXT(965,451,269,28,FGLDNAME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.ADD_PRINT_TEXT(995,451,269,28,FGLDTIME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+
+ 	LODOP.SET_SHOW_MODE("BKIMG_PRINT",1);//打印包含背景图 
+ 	//LODOP.PRINT_DESIGN();
+	LODOP.PREVIEW();
+}
+//打印首次全额
+function printFirstTimeQE(data){
+	
+	var bt1="关于免于公开招聘聘用"+data.XM+"同志";
+	var bt2="为"+data.DW+"工作人员的请示";
+	
+	var KYYJ = data.KYYJ==null?"":data.KYYJ;
+	var KYNAME="";
+	var KYTIME="";
+	if(!CFW.oValid.fnIsNull(KYYJ)){
+		KYNAME="  审核人:"+data.KYNAME;
+		var sj=data.KYTIME==null?"":data.KYTIME;
+		KYTIME="经办时间:"+sj;
+	}
+	
+	var KZYJ = data.KZYJ==null?"":data.KZYJ;
+	var KZNAME="";
+	var KZTIME="";
+	if(!CFW.oValid.fnIsNull(KZYJ)){
+		KZNAME="  审核人:"+data.KZNAME;
+		var sj=data.KZTIME==null?"":data.KZTIME;
+		KZTIME="经办时间:"+sj;
+	}
+	
+	var FGLDYJ = data.FGLDYJ==null?"":data.FGLDYJ;
+	var FGLDNAME="";
+	var FGLDTIME="";
+	if(!CFW.oValid.fnIsNull(FGLDYJ)){
+		FGLDNAME="  审核人:"+data.FGLDNAME;
+		var sj=data.FGLDTIME==null?"":data.FGLDTIME;
+		FGLDTIME="经办时间:"+sj;
+	}
+	
+	var JZYJ = data.JZYJ==null?"":data.JZYJ;
+	var JZNAME="";
+	var JZTIME="";
+	if(!CFW.oValid.fnIsNull(JZYJ)){
+		JZNAME="  审核人:"+data.JZNAME;
+		var sj=data.JZTIME==null?"":data.JZTIME;
+		JZTIME="经办时间:"+sj;
+	}
+
+	LODOP=getLodop(); 
+	//未安装或启动打印控件
+	if (!LODOP) {
+		CFW.oWin.fnAlert("LODOP打印控件未安装或未启动,请检查!");
+		return;
+	}
+	LODOP.PRINT_INIT("");
+
+	LODOP.PRINT_INITA(0,0,794,1122,"");
+	
+	LODOP.ADD_PRINT_SETUP_BKIMG("<img border='0' src='"+ryxxForm.ctx.value+"/template/sydwgl/44/sydwgl_zcxazryypgl_zcxazryyp_qesc.jpg'>");//背景图
+
+	LODOP.ADD_PRINT_TEXT(170,155,561,35,bt1);
+	LODOP.SET_PRINT_STYLEA(0,"FontName","黑体");
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
+	LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
+	LODOP.SET_PRINT_STYLEA(0,"Bold",1);
+	LODOP.ADD_PRINT_TEXT(200,155,561,35,bt2);
+	LODOP.SET_PRINT_STYLEA(0,"FontName","黑体");
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",16);
+	LODOP.SET_PRINT_STYLEA(0,"Alignment",2);
+	LODOP.SET_PRINT_STYLEA(0,"Bold",1);
+	
+	LODOP.ADD_PRINT_TEXT(255,166,537,206,KYYJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+	LODOP.ADD_PRINT_TEXT(475,451,269,28,KYNAME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.ADD_PRINT_TEXT(500,451,269,28,KYTIME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	
+	LODOP.ADD_PRINT_TEXT(530,166,537,74,KZYJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+	LODOP.ADD_PRINT_TEXT(605,451,269,28,KZNAME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.ADD_PRINT_TEXT(630,451,269,28,KZTIME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	
+	LODOP.ADD_PRINT_TEXT(665,166,537,74,FGLDYJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+	LODOP.ADD_PRINT_TEXT(735,451,269,28,FGLDNAME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.ADD_PRINT_TEXT(760,451,269,28,FGLDTIME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	
+	LODOP.ADD_PRINT_TEXT(800,166,537,139,JZYJ);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.SET_PRINT_STYLEA(0,"LineSpacing",5);
+	LODOP.ADD_PRINT_TEXT(935,451,269,28,JZNAME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+	LODOP.ADD_PRINT_TEXT(960,451,269,28,JZTIME);
+	LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+
+ 	LODOP.SET_SHOW_MODE("BKIMG_PRINT",1);//打印包含背景图 
+ 	//LODOP.PRINT_DESIGN();
+	LODOP.PREVIEW();
+}