瀏覽代碼

提交部署文件

heyuan 1 月之前
父節點
當前提交
bdfe994f0c

二進制
configpage/osf/同步e签宝模板和印章.zip


二進制
configpage/三级菜单/e签宝配置菜单集合.zip


二進制
configpage/视图/e签宝配置.zip


+ 0 - 0
js/addon/customer/configinfo/css/ContarctTable.css → js/addon/custom/configinfo/css/ContarctTable.css


+ 0 - 0
js/addon/customer/configinfo/css/configCss.css → js/addon/custom/configinfo/css/configCss.css


+ 0 - 0
js/addon/customer/configinfo/js/Econtarct.js → js/addon/custom/configinfo/js/Econtarct.js


+ 0 - 0
js/addon/customer/configinfo/js/EcontarctEx.js → js/addon/custom/configinfo/js/EcontarctEx.js


+ 0 - 0
js/addon/customer/configinfo/js/GeneralESignBillEdit.js → js/addon/custom/configinfo/js/GeneralESignBillEdit.js


+ 0 - 0
js/addon/customer/configinfo/js/MappingFieldEdit.js → js/addon/custom/configinfo/js/MappingFieldEdit.js


+ 0 - 0
js/addon/customer/configinfo/js/PersonEcontarct.js → js/addon/custom/configinfo/js/PersonEcontarct.js


+ 0 - 0
js/addon/customer/configinfo/js/configInfoEdit.js → js/addon/custom/configinfo/js/configInfoEdit.js


+ 22 - 0
path/20260304/SQL脚本/e签宝/CreateTable.sql

@@ -0,0 +1,22 @@
+Create Table CT_ESI_AttachmentSPC ( FName_l1 NVARCHAR(255),FName_l2 NVARCHAR(255),FName_l3 NVARCHAR(255),FNumber NVARCHAR(80),FDescription_l1 NVARCHAR(255),FDescription_l2 NVARCHAR(255),FDescription_l3 NVARCHAR(255),FSimpleName NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44) DEFAULT '11111111-1111-1111-1111-111111111111CCE7AED4',CFFirstCategory NVARCHAR(100),CFSecondCategory NVARCHAR(100),CFComponentId NVARCHAR(100),CFState INT,CONSTRAINT CPK_ESI_AtxmntSoov PRIMARY KEY (FID));
+
+Create Table CT_ESI_ESGSO ( FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44),FNumber NVARCHAR(80),FBizDate DateTime,FHandlerID VARCHAR(44),FDescription NVARCHAR(80),FHasEffected INT,FAuditorID VARCHAR(44),FSourceBillID NVARCHAR(80),FSourceFunction NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FFivouchered INT,CFPersonID VARCHAR(44),CFOperatorID VARCHAR(44),CFSendStatus INT,CFEsignStatus INT,CFApiNumber NVARCHAR(200),CFErrorMsg NCLOB(4000),CFRequestParams NCLOB(4000),CFSignFlowId NVARCHAR(200),CFFileName NVARCHAR(500),CFEfileId NVARCHAR(200),CFEsignName VARCHAR(100),CFFiesign INT,CFNowOperator NVARCHAR(500),CONSTRAINT CPK_ESI_ESGSOIDiee PRIMARY KEY (FID));
+
+Create Table CT_ESI_ESignTemplate ( FName_l1 NVARCHAR(255),FName_l2 NVARCHAR(255),FName_l3 NVARCHAR(255),FNumber NVARCHAR(80),FDescription_l1 NVARCHAR(255),FDescription_l2 NVARCHAR(255),FDescription_l3 NVARCHAR(255),FSimpleName NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44) DEFAULT '11111111-1111-1111-1111-111111111111CCE7AED4',CFState INT,CFUipkID VARCHAR(44),CFESignTemplateNum NVARCHAR(100),CFPositionX NUMERIC(28,10),CONSTRAINT CPK_ESI_ESTIDi308p PRIMARY KEY (FID));
+
+Create Table CT_ESI_ESignTemplateFields ( FID VARCHAR(44) DEFAULT '' NOT NULL ,FSeq INT DEFAULT 0 NOT NULL ,FParentID VARCHAR(44) DEFAULT '' NOT NULL ,CFSeq INT,CFTemplateFieldId NVARCHAR(100),CFTemplateFieldKey NVARCHAR(100),CFTemplateFieldName NVARCHAR(100),CFRequired INT DEFAULT 0,CFInvalid INT DEFAULT 0,CFComponentType INT,CFDataFormat NVARCHAR(255),CFPositionX NUMERIC(28,10),CFPositionY NUMERIC(28,10),CFPageNum INT,CFPageRange NVARCHAR(100),CFRelatedControlID VARCHAR(44),CFSigningParty NVARCHAR(100),CONSTRAINT CPK_ESI_ESTFIDk2ft PRIMARY KEY (FID));
+
+Create Table CT_ESI_ESignTemplateFileEntry ( FID VARCHAR(44) DEFAULT '' NOT NULL ,FSeq INT DEFAULT 0 NOT NULL ,FParentID VARCHAR(44) DEFAULT '' NOT NULL ,CFSeq INT,CFName NVARCHAR(100),CFESignTemplateId NVARCHAR(100),CFAttachmentCatego VARCHAR(44),CFState INT,CFSyncStatus INT,CFSyncResult NVARCHAR(2000),CFSyncTime DateTime,CONSTRAINT CPK_ESI_ESTFEIDcjt PRIMARY KEY (FID));
+
+Create Table CT_ESI_EsignLog ( FName_l1 NVARCHAR(255),FName_l2 NVARCHAR(255),FName_l3 NVARCHAR(255),FNumber NVARCHAR(80),FDescription_l1 NVARCHAR(255),FDescription_l2 NVARCHAR(255),FDescription_l3 NVARCHAR(255),FSimpleName NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44) DEFAULT '11111111-1111-1111-1111-111111111111CCE7AED4',CFAdminOrgUnitID VARCHAR(44),CFUrl NVARCHAR(800),CFEsiginName VARCHAR(100),CFRequestData NCLOB(8000),CFResponseData NCLOB(8000),CFSource NVARCHAR(100),CFMsg NVARCHAR(500),CFRequestState NVARCHAR(100),CONSTRAINT CPK_ESI_EsignLo835 PRIMARY KEY (FID));
+
+Create Table CT_ESI_FieldMapping ( FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44),FNumber NVARCHAR(80),FBizDate DateTime,FHandlerID VARCHAR(44),FDescription NVARCHAR(80),FHasEffected INT,FAuditorID VARCHAR(44),FSourceBillID NVARCHAR(80),FSourceFunction NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FFivouchered INT,CFName NVARCHAR(100),CFDataSourceID VARCHAR(44),CFESignFileID VARCHAR(44),CFDataInterface NVARCHAR(100),CONSTRAINT CPK_ESI_FieldMIjr0 PRIMARY KEY (FID));
+
+Create Table CT_ESI_FieldMappingEntry ( FSeq INT,FID VARCHAR(44) DEFAULT '' NOT NULL ,FParentID VARCHAR(44),CFTemplateID VARCHAR(44),CFEFieldID VARCHAR(44),CFDataSourceFieldI VARCHAR(44),CFEFieldMark NVARCHAR(100),CFEFieldName NVARCHAR(100),CONSTRAINT CPK_ESI_FieldMEru0 PRIMARY KEY (FID));
+
+Create Table CT_ESI_FileTab ( FPersonID VARCHAR(44),FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44),FID VARCHAR(44) DEFAULT '' NOT NULL ,CFNumber NVARCHAR(100),CONSTRAINT PK_FileTab PRIMARY KEY (FID));
+
+Create Table CT_ESI_GeneralESignBill ( FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44),FNumber NVARCHAR(80),FBizDate DateTime,FHandlerID VARCHAR(44),FDescription NVARCHAR(80),FHasEffected INT,FAuditorID VARCHAR(44),FSourceBillID NVARCHAR(80),FSourceFunction NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FFivouchered INT,CFPersonID VARCHAR(44),CFAdminOrgID VARCHAR(44),CFPositionID VARCHAR(44),CFESignFileTemplat VARCHAR(44),CFIssueStatus INT,CFESignMappingID VARCHAR(44),CONSTRAINT CPK_ESI_JnrlESBrm8 PRIMARY KEY (FID));
+
+Create Table CT_ESI_Seal ( FName_l1 NVARCHAR(255),FName_l2 NVARCHAR(255),FName_l3 NVARCHAR(255),FNumber NVARCHAR(80),FDescription_l1 NVARCHAR(255),FDescription_l2 NVARCHAR(255),FDescription_l3 NVARCHAR(255),FSimpleName NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44) DEFAULT '11111111-1111-1111-1111-111111111111CCE7AED4',CFOrgId NVARCHAR(255),CFSealId NVARCHAR(255),CFSealName NVARCHAR(100),CFSealCreateTime DateTime,CFDefaultSealFlag INT,CFSealHeight INT,CFSealWidth INT,CFSealBizType VARCHAR(100),CFSealBizTypeDescription NVARCHAR(1000),CFSealStyle INT,CFEffectiveTime DateTime,CFExpireTime DateTime,CFSealAuthBizId NVARCHAR(200),CFAuthorizerOrgName NVARCHAR(100),CFAuthorizerOrgId NVARCHAR(200),CFAuthorizer INT,CFSealStatus INT,CONSTRAINT CPK_ESI_SealID26d2 PRIMARY KEY (FID));
+

+ 435 - 0
path/20260304/deploy/easweb.ear/shr_web.war/WEB-INF/freemarker/lib/core/editGrid.ftl

@@ -0,0 +1,435 @@
+<#macro editGrid id="grid" query="" view_model="" uipk="" onSelectRow="" remoteDataSource="false"  showImport="false" showExport="false" showSearch="false"  entrys="" loadComplete="" rowNum="50" rowList="[50,100,200]" pager="gridPager" hasPager="false" readonly="false" sorterItems="" shrinkToFit="true" datatype="json" multiselect="false" editType="inline" clientFooter="false" sumColModel="[]" serverFooter="false"  rownumbers="true" isShowJumpButton="false">
+
+<#if readonly == "true">
+	<#global grid_readonly="true">
+<#else>
+	<#global grid_readonly="false">
+</#if>
+
+<#if editType == "inline">
+	<#assign cellEdit="true">
+<#elseif editType == "form">
+	<#assign cellEdit="false">
+</#if>
+<#if hasPager == "true">
+	<div class="shrPage span3" style="text-align: right;width: 100%;min-height: 30px;box-sizing: border-box;float: inherit;margin-left: 0;max-width: inherit;">	
+		<div id="gridPager" style="display:inline-block;"></div>			
+	</div>
+</#if>
+<table id="${id}"></table>
+<div id="${id}_editGrid"></div>
+
+<script type="text/javascript">
+	function ${id}_gridRemove(rowId){
+		if (rowId) {
+			waf("#${id}").wafGrid('delRow', rowId);
+		}
+	}
+	function ${id}_gridEdit(rowId){
+		 var rowdatas = waf("#${id}").getRowRealData(rowId);
+		 waf("#${id}").wafGrid('editForm',rowId,rowdatas);
+		 var event = document.createEvent('HTMLEvents');
+		 	 event.initEvent("editComplete_${id}", true, true);
+			 event.eventType = 'message';
+			 document.dispatchEvent(event);
+	}
+    $(function() {
+        var colNames = [],
+			colModel = [],
+			dataGrid_option = {},
+			columnModel = '',
+			datatype = 'json',
+			cellEdit = ${cellEdit},
+			grid_readonly = ${grid_readonly}
+		<#nested>
+		
+		<#if readonly == "false" && editType == "form">
+			<@gridColumn name="operatorColumn" label='${freemarkerMultLan.msg068!"freemarkerMultLan.msg068"}' width="120" editable="false" >
+				<@linkButton id="editButton" caption='${freemarkerMultLan.msg071!"freemarkerMultLan.msg071"}' onclick="${id}_gridEdit">	</@linkButton>
+				<@linkButton id="removeButton" caption='${freemarkerMultLan.msg067!"freemarkerMultLan.msg067"}' onclick="${id}_gridRemove"></@linkButton>
+			</@gridColumn>
+		<#elseif editType == "inline" && isShowJumpButton == "true">
+			<@gridColumn name="operatorColumn" label='${freemarkerMultLan.msg068!"freemarkerMultLan.msg068"}' width="120" editable="false" >
+				<@linkButton id="jumpButton" caption='查看模板字段' onclick="jumpPage"></@linkButton>
+			</@gridColumn>
+		</#if>
+		<#if grid_readonly == "false">
+			<#local multiselect="true">
+		</#if>
+				
+		var url = shr.getContextPath();
+			url += '/dynamic.do?method=getListData&columnModel='+columnModel+"&sorterItems=${sorterItems}";
+		<#if query != "">
+			url = url + '&query=${query}';
+		</#if>
+		<#if uipk != "">
+			url = url + '&uipk=${uipk}';
+		</#if>
+
+		dataGrid_option = {
+		   	url:url,
+			colNames: colNames,
+			jsonReader : {
+				 repeatitems: false
+			},
+			sorterItems:"${sorterItems}",
+			colModel: colModel,		
+			columnModel: columnModel,	
+			rowNum:${rowNum},	
+			customPager:'#gridPager',			 
+			hasPager:${hasPager},			
+			rowList: ${rowList},
+			cellEdit : !grid_readonly, 
+		   	height: 'auto',
+		   	autowidth: true,
+		    viewrecords: true,
+		    cellsubmit:"clientArray",
+		    multiselect: ${multiselect},
+		    _type_:"EditGrid",
+		    shrinkToFit: ${shrinkToFit},
+		    mtype:"post",
+		    recordtext:'({0}-{1})/{2}',
+		    gridview: true,
+		    pginput: true,
+		    rownumbers:${rownumbers},
+			footerrow: true,
+			userDataOnFooter: true,
+			clientFooter: ${clientFooter},
+			serverFooter: ${serverFooter},
+			sumColModel: ${sumColModel},
+			pagerpos: 'center',
+			recordpos: 'left',
+			pginputpos: 'right',
+		    keyOptions: {
+     				addNewRowForLastCell: false,
+     				loop:true
+			}
+		};
+		
+		<#if remoteDataSource == "true">
+			dataGrid_option.datatype = "local"; 
+		<#else>
+			<#if entrys != "">
+				dataGrid_option.data = ${entrys};
+				jsBinder.searchDataForFront = ${entrys};
+				dataGrid_option.datatype = "local";
+			<#else>
+				dataGrid_option.datatype = "${datatype}";
+			</#if>
+		</#if>
+		
+		dataGrid_option.loadComplete = function(ret){
+			if($("#${pager}").html() == "" && "${hasPager}" == "true"){
+				$("#${id}").setCustomPager("#${pager}");
+			}
+			
+			shr.setIframeHeight();
+			
+			$('#${pager}_left').click(function(){
+	        	$('.ui-pg-selbox').show();
+	        	$(this).children('.ui-paging-info').hide();
+	        });
+	        
+	        <#if loadComplete != "">
+	        	if ($.isFunction(${loadComplete})) {
+	        		${loadComplete}.call(this, ret);
+	        	}	        	
+	        </#if>			
+		};
+		var $editGrid = waf("#${id}");
+		jsBinder.gridId = "#${id}";
+		jsBinder.remoteDataSource = "${remoteDataSource}";
+        $editGrid.jqGrid(dataGrid_option).jqGrid("setFrozenColumns");
+		$editGrid.jqGrid('reloadGrid');		
+        $editGrid.jqGrid("resizeGrid",{base:$editGrid,offset:0});
+        waf(window).resize(function(){
+            waf.ieHack.hackResize(function(e){
+                $editGrid.jqGrid("resizeGrid",{base:$editGrid,offset:0});
+            },$editGrid);
+        });
+    });
+</script>
+</#macro>
+
+<#-- 
+-->
+<#-- grid列属性配置  
+	sensitiveRule 脱敏配置,格式:sensitiveRule="{'isOpen':true|false,'name':''}" name 脱敏规则名称;动态列表配置格式{'sensitiveRule':{'isOpen':true|false,'name':''}}
+-->
+<#macro gridColumn entryName name label width=150 align="left" frozen="false" hidden="false" key="false" editable="true" formatoptions="" customformatter="" customparam="" formatter="" rowspan="" fieldspan="" required="false" sortKey="" sorttype="" uipk="" ctrl="" sortable="true" thalign="left" sensitiveRule="">
+	<#if fieldPermEntrysForm(model, name, entryName)>
+	colNames.push("${label}");
+	var columnOptions = {name: "${name}",label:"${label}", frozen:${frozen},width: ${width},thalign:"${thalign}", align: "${align}" , hidden: ${hidden}, key:${key},editable:${editable}, sorttype:"${sorttype}"};
+	if(cellEdit == false){
+		columnOptions.editable = false;
+	}
+	<#if grid_readonly == "false" && editable == "false">
+		columnOptions.classes = 'disabled';
+	</#if>
+	<#if sensitiveRule != "">
+		columnOptions.sensitiveRule = ${sensitiveRule};
+	</#if>
+	<#if sortable != "">
+		columnOptions.sortable = ${sortable};
+	</#if>
+	<#if customformatter != "">
+		columnOptions.formatter = ${customformatter};
+	</#if>
+	<#if customparam != "">
+		columnOptions.customparam = ${customparam};
+	</#if>
+	<#if formatoptions != "">
+		columnOptions.formatoptions = ${formatoptions};
+	</#if> 
+	<#if formatter != "">
+		columnOptions.formatter = "${formatter}";
+	</#if>
+	<#if rowspan != "">
+		columnOptions.rowspan = ${rowspan};
+	</#if>
+	<#if fieldspan != "">
+		columnOptions.fieldspan = ${fieldspan};
+	</#if>
+	<#if sortKey != "">
+		columnOptions.sortKey = ${sortKey};
+	</#if>
+	<#nested>
+	colModel.push(columnOptions);
+	if(columnOptions.formatter == "promptBox"){
+		if(dataGrid_option.datatype == "json"){
+			columnModel += columnOptions.name+".*,";
+			columnOptions.name = columnOptions.name+".*";
+		}else{
+			columnModel += columnOptions.name+",";
+		}
+	}else{
+		columnModel += columnOptions.name + ",";
+	}
+	</#if>
+</#macro>
+
+<#-- 
+	新增表格编辑多语言字段解析,对应grid.wafeditor.js celleditor.shrMultiLangBox
+  -->
+<#macro multiLangBox maxlength="" trimAll="false">
+	columnOptions.formatter = "shrMultiLangBox";
+	<#if maxlength != "">
+		columnOptions.editoptions = {inputJson:{maxlength:${maxlength},trimAll:${trimAll}}};
+	<#else>
+		columnOptions.editoptions = {};
+	</#if>
+	columnOptions.edittype = "shrMultiLangBox";
+	<#nested>
+</#macro>
+
+<#-- 
+	新增表格编辑多语言字段解析,对应grid.wafeditor.js celleditor.shrMultiLangArea
+  -->
+<#macro multiLangArea maxlength="" trimAll="false">
+	<#if maxlength != "">
+		columnOptions.editoptions = {inputJson:{maxlength:${maxlength},trimAll:${trimAll}}};
+	<#else>
+		columnOptions.editoptions = {};
+	</#if>
+	columnOptions.edittype = "shrMultiLangArea";
+	<#nested>
+</#macro>
+
+<#macro text maxlength="">
+	<#if maxlength != "">
+		columnOptions.editoptions = {inputJson:{maxlength:${maxlength}}};
+	<#else>
+		columnOptions.editoptions = {};
+	</#if>
+	columnOptions.edittype = "shrtext";
+	<#nested>
+</#macro>
+<#macro checkbox>
+	columnOptions.formatter = "checkbox";
+	columnOptions.edittype = "checkbox";
+	columnOptions.editoptions = {};
+	<#nested>
+</#macro>
+<#-- 
+	decimalPrecision:视图配置数值小数位,此配置优先
+	ignoreDecimalFormatter:忽略数值格式化,显示数据库原始值
+	roundType:四舍五入方式
+  -->
+<#macro numberField decimalPrecision="" formatType="number" ignoreDecimalFormatter="false" roundType="round">
+	columnOptions.formatter = "numberfield";
+	columnOptions.edittype = "numberfield";
+	columnOptions.editoptions = {inputJson:{id:"txt_"+columnOptions.name,name:columnOptions.name,decimalPrecision:${decimalPrecision},formatType:"${formatType}",ignoreDecimalFormatter:${ignoreDecimalFormatter},roundType:"${roundType}"}};
+	<#nested>
+</#macro>
+<#macro textarea maxlength="">
+	columnOptions.formatter = "shrTextArea";
+	columnOptions.edittype = "shrTextArea";
+	<#if maxlength != "">
+		columnOptions.editoptions = {inputJson:{maxlength:${maxlength}}};
+	<#else>
+		columnOptions.editoptions = {};
+	</#if>
+	<#nested>
+</#macro>
+<#macro select enumSource="">
+	columnOptions.formatter = "shrselect";
+	columnOptions.edittype = "shrselect";
+	columnOptions.editoptions = {selectJson:{id:"selStatus",name:"status",enumSource:"${enumSource}"},enumSource:{},urlSource:shr.getContextPath() + "/selectEnum.do?method=getSelectEnumData&enumSource=${enumSource}"};
+	<#nested>
+</#macro>
+<#macro datePicker dateFormat="">
+	columnOptions.formatter = "datepicker";
+	columnOptions.edittype = "shrdatepicker";
+	columnOptions.editoptions = {datepickerjson:{id:"dp_autoSize",name:"dp_autoSize",dateFormat:"${dateFormat}"}};
+	columnOptions.editoptions.validateJson = {errMsg:"dateISO:'${freemarkerMultLan.msg070!"freemarkerMultLan.msg070"}'",rules:"dateISO:true",validatetrigger:"focus keyup datachange"};
+	<#nested>
+</#macro>
+
+<#-- 
+	showTimeZoneForCtrl: bos提供参数showTimeZoneForCtrl,如果为false,则不转换;不支持视图配置。
+	isAutoTimeZoneTrans: 视图配置优先,视图配置为false则不转换;视图未配置,元数据字段扩展属性isAutoTimeZoneTrans配置为false则不转换;其他情况需要转换。
+	isShowUTC:时区是否显示isShowUTC
+	isReadonlyUTC:时区是否可编辑isReadonlyUTC
+	isRemoveSeconds: true,//配置是否去除时间格式化中的秒
+	isRemoveDay: false,//配置是否去除日期格式化中的天
+	ctrlType:格式化类型 TimeStamp/Date/Time,配合utcUser中pattern使用
+  -->
+<#macro dateTimePicker dateTimeFormat="yyyy-MM-dd HH:mm" minuteStep ="" showTimeZoneForCtrl="true" isAutoTimeZoneTrans="true" isShowUTC="true" isReadonlyUTC="true"  isRemoveSeconds="true" isRemoveDay="false" ctrlType="">
+	<#if ctrlType == "TimeStamp"> 
+		columnOptions.width = 255;
+	</#if>
+	columnOptions.formatter = 'shrDateTimePicker';
+	columnOptions.edittype = 'shrDateTimePicker';
+	columnOptions.editoptions = {datepickerjson:{id:"dp_autoSize",name:"dp_autoSize",minuteStep:"${minuteStep}",showTimeZoneForCtrl:${showTimeZoneForCtrl},isAutoTimeZoneTrans:${isAutoTimeZoneTrans},isShowUTC:${isShowUTC},isReadonlyUTC:${isReadonlyUTC},isRemoveSeconds:${isRemoveSeconds},isRemoveDay:${isRemoveDay},ctrlType:"${ctrlType}"}};
+	<#nested>
+</#macro>
+
+<#--
+	--集团管控新增参数说明 2017/07/11 tiangang_yang
+	-- isHRBaseItem     判断是否是s-HR集团管控基础资料,是:true,不是:false,必须写的参数
+	-- filterConfig     过滤配置框 可选
+	-- bizFilterFields  业务单据需要过滤的字段属性名称,如:hrOrgUnit,name。多个用逗号隔开 ,可选,不传默认业务组织:hrOrgUnit
+	-- f7ReKeyValue     获取F7界面存放key和name的字段,以键值对字符串形式传入,如果不传入,其他类型的F7不变,基础资料默认:BaseInfo.id:BaseInfo.name,可选
+	-- isTree ="false"  F7是左树右表,取数逻辑公共
+	-- treeUrl = "" F7是左树右表,取数逻辑根据url来取
+	-- isEnableExpFilter="" F7默认不启用过滤表达式过滤 add by tiangang_yang on 2021/03/09
+	--pgSizes="true" ,为false就隐藏表格的分页控件 add by jacky_xiang on 2021/09/08
+	--dataShowMode="layout" ,f7的打开方式,默认为layout即弹出方式,还可配置为下拉方式。 add by jacky_xiang on 2021/11/09
+	-->
+<#macro promptBox query="" uipk="" filter="" class=""  readonly="" multiselect="false" isTree ="false"  treeUrl = "" searchFields="" isHRBaseItem = "false" bizFilterFields = "" f7ReKeyValue = "" filterConfig="" afterOnchangeClearFields="" displayFormat="" isHROrg="false" isAdminOrg="false" isContainLowerOrg="false" searchLikePattern="any"  isEnableExpFilter="" pgSizes="true" dataShowMode="layout">
+	columnOptions.formatter = "promptBox";
+	columnOptions.edittype = "promptBox";
+	var f7Json = {subWidgetName:"shrPromptGrid",searchFields:"${searchFields}"};
+	f7Json.subWidgetOptions = {title:columnOptions.label,uipk:"${uipk}",query:"${query}",filter:"${filter}",multiselect:${multiselect},isTree:${isTree},treeUrl:"${treeUrl}",isContainLowerOrg:${isContainLowerOrg},isAdminOrg:${isAdminOrg},pgSizes:${pgSizes},f7SearchConfig:${getF7SearchConfig(uipk,displayFormat)},dataShowMode:"${dataShowMode}"};
+	<#if afterOnchangeClearFields != "">
+		f7Json.afterOnchangeClearFields = "${afterOnchangeClearFields}";
+	</#if>
+	<#if displayFormat != "">
+		f7Json.displayFormat = '{${displayFormat}}';
+	</#if>
+	<#if isHROrg != "">
+		f7Json.isHROrg = ${isHROrg};
+	</#if>
+	<#if isAdminOrg != "">
+		f7Json.isAdminOrg = ${isAdminOrg};
+	</#if>
+	<#if searchLikePattern != "">
+		f7Json.searchLikePattern = "${searchLikePattern}";
+	</#if>
+	<#if isEnableExpFilter != "">
+			f7Json.subWidgetOptions.isEnableExpFilter = ${isEnableExpFilter};
+		</#if>
+	<#if isHRBaseItem == "true">
+		f7Json.subWidgetOptions.isHRBaseItem = ${isHRBaseItem};
+		<#if filterConfig == "">
+			f7Json.subWidgetOptions.filterConfig = [{name:'isComUse',value:true,alias:'${freemarkerMultLan.msg065!"freemarkerMultLan.msg065"}',widgetType:'checkbox'}];
+		<#else>
+			f7Json.subWidgetOptions.filterConfig = ${filterConfig};
+		</#if>
+		<#if bizFilterFields == "">
+			f7Json.subWidgetOptions.bizFilterFields = "hrOrgUnit";
+		<#else>
+			f7Json.subWidgetOptions.bizFilterFields = "${bizFilterFields}";
+		</#if>
+		
+		<#if f7ReKeyValue == "">
+			f7Json.subWidgetOptions.f7ReKeyValue = "BaseInfo.id:BaseInfo.name";
+		<#else>
+			f7Json.subWidgetOptions.f7ReKeyValue = "${f7ReKeyValue}";
+		</#if>
+		f7Json.subWidgetName = 'specialPromptGrid';
+	</#if>
+	columnOptions.editoptions = {f7Json:f7Json};
+	<#--columnOptions.editoptions.f7Json.subWidgetOptions = {title:columnOptions.label,uipk:"${uipk}",query:"${query}",filter:"${filter}"};-->
+	<#nested>
+</#macro>
+
+<#macro linkButton id="" onclick="" tagClass="" caption="">
+	if(columnOptions.formatoptions == null){
+		columnOptions.formatoptions = [];
+	}
+	columnOptions.formatter = "operations";
+	columnOptions.formatoptions.push({linkJson:{caption:"${caption}",id:"${id}",onclick:"${onclick}",tagClass:"${tagClass}"},onclick:"${onclick}",visible:true});
+	<#nested>
+</#macro>
+
+<#macro validator rules="" errMsg="" validatetrigger="focus keyup datachange">
+	<#if grid_readonly == "false">
+		var validateJson = columnOptions.editoptions.validateJson;
+		if(validateJson == null){
+			columnOptions.editoptions.validateJson = {errMsg:"${errMsg}",rules:"${rules}",validatetrigger:"${validatetrigger}"};
+		}else{
+			columnOptions.editoptions.validateJson = {errMsg:validateJson.errMsg+",${errMsg}",rules:validateJson.rules+",${rules}",validatetrigger:"${validatetrigger}"};
+		}
+		if(columnOptions.editoptions.validateJson.rules.indexOf('required:true') >= 0 && columnOptions.editable && cellEdit){
+			columnOptions.classes = 'required';
+		}
+	</#if>
+</#macro>
+
+<#-- 
+	rowNum:分录分页显示页数
+	rowList:分录分页选项,确定每页数据条数
+  -->
+<#macro editGridContainer gridId readonly="" entryName="entrys" hasPager="false" shrinkToFit="true" remoteDataSource="false" showImport="false" showExport="false" showSearch="false"  editType="inline" rownumbers="true" rowNum="50" rowList="[50,100,200]" isShowJumpButton="false">	
+	<@ctrl.row>
+		<@ctrl.cell colSpan=12>
+			<div class="editGrid-cont" id="${gridId}_cont">
+				<@e.editGridToolbar gridId="${gridId}" showImport="${showImport}" showExport="${showExport}" hasPager="${hasPager}" showSearch="{showSearch}" readonly="${readonly}" />
+				<@e.editGrid id="${gridId}" entrys="${collectionFormater(model, entryName,remoteDataSource)}" hasPager="${hasPager}" remoteDataSource="${remoteDataSource}" readonly="${readonly}" shrinkToFit="${shrinkToFit}" editType="${editType}" rownumbers="${rownumbers}" rowNum="${rowNum}" rowList="${rowList}" isShowJumpButton="${isShowJumpButton}">
+					<#nested>
+				</@e.editGrid>
+			</div>
+			<script>
+				$('#${gridId}_cont').data('editType', '${editType}');
+			</script>
+		</@ctrl.cell>
+		<#-- 占位 -->
+		<@ctrl.cell colSpan=1 />
+	</@ctrl.row>
+</#macro>
+
+<#macro editGridToolbar gridId readonly="" showImport="false" showExport="false" hasPager="false" showSearch="false">
+	<#if readonly != "true">	
+	<span class=" shr-toolbar">
+		<div class="editGrid-toolbar">
+			<@ctrl.button id="addRow_${gridId}" name="addRow" value='${freemarkerMultLan.msg058!"freemarkerMultLan.msg058"}' actionBinding="addRowAction" class="shrbtn-primary" />
+			<@ctrl.button id="deleteRow_${gridId}" name="deleteRow" value='${freemarkerMultLan.msg067!"freemarkerMultLan.msg067"}' actionBinding="deleteRowAction" />
+			<#if showImport == "true">
+				<@ctrl.button id="import" name="import" value='${freemarkerMultLan.msg098!"freemarkerMultLan.msg098"}' actionBinding="importAction" />
+			</#if> 
+			<#if showExport == "true">
+				<div class="btn-group">
+					<@ctrl.dropDownButton id="export" name="export" value='${freemarkerMultLan.msg099!"freemarkerMultLan.msg099"}' >
+						<@ctrl.dropDownBtnLi actionBinding="customAction" name="exportCurrent" subAction="exportCurrentAction" id="exportCurrent${uuid}" permItemId="${getButtonBindPermItemId('exportCurrent','')}" value='${freemarkerMultLan.msg100!"freemarkerMultLan.msg100"}' class="null"  />
+	                	<@ctrl.dropDownBtnLi actionBinding="customAction" name="exportToExcelEntry" subAction="exportToExcelEntryAction" id="exportToExcelEntry${uuid}" permItemId="${getButtonBindPermItemId('exportToExcelEntry','')}" value='${freemarkerMultLan.msg101!"freemarkerMultLan.msg101"}' class="null"  />
+					</@ctrl.dropDownButton>
+				</div>
+			</#if>
+			<#if showSearch == "true">
+				<span style="color:red;margin-left:100px;">注意!修改数据后请先【保存】后再操作"搜索"或"翻页",否则会造成数据修改不生效!</span>
+			</#if>
+		</div>
+	</span>
+	</#if>
+</#macro>

+ 150 - 0
path/20260304/js/addon/custom/js/eSign/ESignGlobalStatusOverviewList.js

@@ -0,0 +1,150 @@
+shr.defineClass("shr.esign.ESignGlobalStatusOverviewList", shr.framework.List, {
+    initalizeDOM: function () {
+        var _self = this;
+
+        shr.esign.ESignGlobalStatusOverviewList.superClass.initalizeDOM.call(this);
+        if(_self.initData&&_self.initData.custom_params){
+        }
+
+    },
+    /**
+     *撤销签署流程
+     */
+    revoke_by_fileAction: function () {
+        var _self = this;
+        var selectedIds = this.getSelectedIds();
+        _self.doRemoteWithBatchAction({
+            method: 'revoke_by_file',
+            billId: selectedIds
+        });
+    },
+    /**
+     *基于文件发起签署
+     */
+    create_by_fileAction: function () {
+        var _self = this;
+        var selectedIds = this.getSelectedIds();
+        _self.doRemoteWithBatchAction({
+            method: 'create_by_file',
+            billId: selectedIds
+        });
+    },
+    /**
+     *催签流程中签署人
+     */
+    urge_by_fileAction: function () {
+        var _self = this;
+
+        var selectedIds = this.getSelectedIds();
+        _self.doRemoteWithBatchAction({
+            method: 'urge_by_file',
+            billId: selectedIds
+        });
+    },
+    /**
+     *  审批
+     */
+    previewAction: function () {
+        var _self = this;
+
+        var selectedIds = this.getSelectedIds();
+
+        _self.doRemoteWithBatchAction({
+            method: 'preview',
+            billId: selectedIds,
+            success:function (response){
+                if(response){
+                    setTimeout(()=>{
+                        _self.reloadPage({
+                            uipk: "com.kingdee.eas.custom.esign.app.ESignGlobalStatusOverview.view",
+                            billId: selectedIds,
+                            method: 'view'
+                        });
+                    },500);
+                }
+            }
+        });
+    },
+    /**
+     *  审批
+     */
+    syncAttachmentsAction: function () {
+        var _self = this;
+
+        var selectedIds = this.getSelectedIds();
+        _self.doRemoteWithBatchAction({
+            method: 'syncAttachments',
+            billId: selectedIds
+        });
+    },
+    /**
+     *  同步签署状态
+     */
+    detail_sign_fieldsAction: function () {
+        var _self = this;
+
+        var selectedIds = this.getSelectedIds();
+        _self.doRemoteWithBatchAction({
+            method: 'detail_sign_fields',
+            billId: selectedIds
+        });
+    },
+    /**
+     * 执行远程服务端方法,适用于有批量操作的远程调用
+     */
+    doRemoteWithBatchAction: function (param) {
+        var _self = this;
+        var data = param;
+        data = $.extend(_self.prepareParam(), data);
+        data = $.extend({ permItemId: shr.getCurrentPagePermItemId() }, data);
+        var func = data.func;
+        var success = param.success;
+        delete data.func;
+        shr.doWithBatchAction({
+            url: _self.dynamicPage_url,
+            type: 'post',
+            data: data,
+            success: function (response) {
+                if (response) {
+                    if (func && typeof func === "function") {
+                        func(response);
+                    }
+
+                    if (success && typeof success === "function") {
+                        return success(response);
+                    }
+                    var batchTipsData = _self.batchTipsDataHandler(response, data);
+
+                    $(_self).shrMessageTips({
+                        isSuccess: batchTipsData.isSuccess,
+                        successCount: batchTipsData.successCount,
+                        failureCount: batchTipsData.failureCount,
+                        confirmCallback: function () {
+                            $(_self).shrDetailTips({
+                                tableData: batchTipsData.tmp,
+                                successCount: batchTipsData.successCount,
+                                failureCount: batchTipsData.failureCount,
+                                colNamesData: batchTipsData.tableModel,
+                                isSortable: _self.batchHandlerWhetherSortable(),
+                                modalWidth: param.modalWidth || ''
+                            }).shrDetailTips("open");
+                        },
+
+                        closeCallback: function () {
+                            // 这里需要存一下是否全部成功的标识
+                            sessionStorage.setItem('deleteSuccess', batchTipsData.failureCount ? 0 : 1);
+                            _self.reloadGrid();
+                        }
+                    }).shrMessageTips("open");
+                } else {
+                    $(_self).shrMessageTips("_setDetailDisable");
+                }
+            },
+            error: function (response) {
+                if (param.billId && param.billId.split(',').length > 1) {
+                    _self.reloadGrid();
+                }
+            }
+        });
+    },
+})

+ 68 - 0
path/20260304/js/addon/custom/js/eSign/eSignTemplateEdit.js

@@ -0,0 +1,68 @@
+
+shr.defineClass("shr.custom.ESignTemplateEdit", shr.framework.Edit, {
+	initalizeDOM: function () {
+		var self = this;
+		$("#deleteRow_entrys").hide();
+		shr.custom.ESignTemplateEdit.superClass.initalizeDOM.call(this);
+
+	},
+	/**
+	 * 同步模板字段
+	 */
+	syncTemplateFieldsAction: function () {
+		var self = this
+		$.block.show({
+			text: '正在生成递延台账数据,请稍候...'
+		});
+		self.remoteCall({
+			method: "syncTemplateFields",
+			param: {
+				billID: self.billId
+			},
+			success: function (resp) {
+				location.reload();
+			},
+			complete(resp) {
+				$.block.hide();
+			},
+		});
+
+	},
+})
+function jumpPage(rowId, gid, action, pos, fun, mbid) {
+	console.log(rowId)
+	var url = shr.getContextPath() + shr.dynamicURL;
+	var params = {
+		uipk: "com.kingdee.eas.custom.esign.app.ESignTemplateFileEntryField.list",
+		serviceId: shr.getUrlRequestParam("serviceId"),
+		parentId: rowId
+	};
+	var operationDialog = $("#operationDialog");
+	operationDialog.children("iframe").attr('src', shr.appendParam(url, params));
+	operationDialog.children("iframe").css('display', 'block');
+	operationDialog.dialog({
+		autoOpen: true,
+		title: 'e签宝模板字段',
+		width: 1200,
+		minWidth: 1000,
+		height: 600,
+		minHeight: 600,
+		modal: true,
+		resizable: false,
+		position: {
+			my: 'center center',
+			at: 'center center',
+			of: window
+		},
+		open: function () {
+		},
+		close: function () {
+
+		},
+		buttons: {
+			"关闭": function () {
+				$(this).dialog("close");
+			}
+		}
+	})
+}

+ 13 - 0
path/20260304/js/addon/custom/js/eSign/eSignTemplateFileEntryFieldEdit.js

@@ -0,0 +1,13 @@
+/**
+ * e签宝模板字段表单js
+ */
+shr.defineClass("shr.custom.ESignTemplateFileEntryFieldEdit", shr.framework.Edit, {
+    initalizeDOM: function () {
+        shr.custom.ESignTemplateFileEntryFieldEdit.superClass.initalizeDOM.call(this);
+        if ("EDIT" == this.getOperateState()) {
+            //关联控件 只能选当前模板中的字段,不可选自己
+            var parentId = $("#parent1").shrPromptBox("getValue").id;
+            $("#relatedControl").shrPromptBox("setFilter", "id <>'" + this.billId + "' and parent1.id = '" + parentId + "'");
+        }
+    },
+});

二進制
path/20260304/前端配置/osf/同步e签宝模板和印章.zip


二進制
path/20260304/前端配置/三级菜单/e签宝配置菜单集合.zip


二進制
path/20260304/前端配置/视图/e签宝配置.zip


+ 22 - 0
sql/e签宝/CreateTable.sql

@@ -0,0 +1,22 @@
+Create Table CT_ESI_AttachmentSPC ( FName_l1 NVARCHAR(255),FName_l2 NVARCHAR(255),FName_l3 NVARCHAR(255),FNumber NVARCHAR(80),FDescription_l1 NVARCHAR(255),FDescription_l2 NVARCHAR(255),FDescription_l3 NVARCHAR(255),FSimpleName NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44) DEFAULT '11111111-1111-1111-1111-111111111111CCE7AED4',CFFirstCategory NVARCHAR(100),CFSecondCategory NVARCHAR(100),CFComponentId NVARCHAR(100),CFState INT,CONSTRAINT CPK_ESI_AtxmntSoov PRIMARY KEY (FID));
+
+Create Table CT_ESI_ESGSO ( FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44),FNumber NVARCHAR(80),FBizDate DateTime,FHandlerID VARCHAR(44),FDescription NVARCHAR(80),FHasEffected INT,FAuditorID VARCHAR(44),FSourceBillID NVARCHAR(80),FSourceFunction NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FFivouchered INT,CFPersonID VARCHAR(44),CFOperatorID VARCHAR(44),CFSendStatus INT,CFEsignStatus INT,CFApiNumber NVARCHAR(200),CFErrorMsg NCLOB(4000),CFRequestParams NCLOB(4000),CFSignFlowId NVARCHAR(200),CFFileName NVARCHAR(500),CFEfileId NVARCHAR(200),CFEsignName VARCHAR(100),CFFiesign INT,CFNowOperator NVARCHAR(500),CONSTRAINT CPK_ESI_ESGSOIDiee PRIMARY KEY (FID));
+
+Create Table CT_ESI_ESignTemplate ( FName_l1 NVARCHAR(255),FName_l2 NVARCHAR(255),FName_l3 NVARCHAR(255),FNumber NVARCHAR(80),FDescription_l1 NVARCHAR(255),FDescription_l2 NVARCHAR(255),FDescription_l3 NVARCHAR(255),FSimpleName NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44) DEFAULT '11111111-1111-1111-1111-111111111111CCE7AED4',CFState INT,CFUipkID VARCHAR(44),CFESignTemplateNum NVARCHAR(100),CFPositionX NUMERIC(28,10),CONSTRAINT CPK_ESI_ESTIDi308p PRIMARY KEY (FID));
+
+Create Table CT_ESI_ESignTemplateFields ( FID VARCHAR(44) DEFAULT '' NOT NULL ,FSeq INT DEFAULT 0 NOT NULL ,FParentID VARCHAR(44) DEFAULT '' NOT NULL ,CFSeq INT,CFTemplateFieldId NVARCHAR(100),CFTemplateFieldKey NVARCHAR(100),CFTemplateFieldName NVARCHAR(100),CFRequired INT DEFAULT 0,CFInvalid INT DEFAULT 0,CFComponentType INT,CFDataFormat NVARCHAR(255),CFPositionX NUMERIC(28,10),CFPositionY NUMERIC(28,10),CFPageNum INT,CFPageRange NVARCHAR(100),CFRelatedControlID VARCHAR(44),CFSigningParty NVARCHAR(100),CONSTRAINT CPK_ESI_ESTFIDk2ft PRIMARY KEY (FID));
+
+Create Table CT_ESI_ESignTemplateFileEntry ( FID VARCHAR(44) DEFAULT '' NOT NULL ,FSeq INT DEFAULT 0 NOT NULL ,FParentID VARCHAR(44) DEFAULT '' NOT NULL ,CFSeq INT,CFName NVARCHAR(100),CFESignTemplateId NVARCHAR(100),CFAttachmentCatego VARCHAR(44),CFState INT,CFSyncStatus INT,CFSyncResult NVARCHAR(2000),CFSyncTime DateTime,CONSTRAINT CPK_ESI_ESTFEIDcjt PRIMARY KEY (FID));
+
+Create Table CT_ESI_EsignLog ( FName_l1 NVARCHAR(255),FName_l2 NVARCHAR(255),FName_l3 NVARCHAR(255),FNumber NVARCHAR(80),FDescription_l1 NVARCHAR(255),FDescription_l2 NVARCHAR(255),FDescription_l3 NVARCHAR(255),FSimpleName NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44) DEFAULT '11111111-1111-1111-1111-111111111111CCE7AED4',CFAdminOrgUnitID VARCHAR(44),CFUrl NVARCHAR(800),CFEsiginName VARCHAR(100),CFRequestData NCLOB(8000),CFResponseData NCLOB(8000),CFSource NVARCHAR(100),CFMsg NVARCHAR(500),CFRequestState NVARCHAR(100),CONSTRAINT CPK_ESI_EsignLo835 PRIMARY KEY (FID));
+
+Create Table CT_ESI_FieldMapping ( FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44),FNumber NVARCHAR(80),FBizDate DateTime,FHandlerID VARCHAR(44),FDescription NVARCHAR(80),FHasEffected INT,FAuditorID VARCHAR(44),FSourceBillID NVARCHAR(80),FSourceFunction NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FFivouchered INT,CFName NVARCHAR(100),CFDataSourceID VARCHAR(44),CFESignFileID VARCHAR(44),CFDataInterface NVARCHAR(100),CONSTRAINT CPK_ESI_FieldMIjr0 PRIMARY KEY (FID));
+
+Create Table CT_ESI_FieldMappingEntry ( FSeq INT,FID VARCHAR(44) DEFAULT '' NOT NULL ,FParentID VARCHAR(44),CFTemplateID VARCHAR(44),CFEFieldID VARCHAR(44),CFDataSourceFieldI VARCHAR(44),CFEFieldMark NVARCHAR(100),CFEFieldName NVARCHAR(100),CONSTRAINT CPK_ESI_FieldMEru0 PRIMARY KEY (FID));
+
+Create Table CT_ESI_FileTab ( FPersonID VARCHAR(44),FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44),FID VARCHAR(44) DEFAULT '' NOT NULL ,CFNumber NVARCHAR(100),CONSTRAINT PK_FileTab PRIMARY KEY (FID));
+
+Create Table CT_ESI_GeneralESignBill ( FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44),FNumber NVARCHAR(80),FBizDate DateTime,FHandlerID VARCHAR(44),FDescription NVARCHAR(80),FHasEffected INT,FAuditorID VARCHAR(44),FSourceBillID NVARCHAR(80),FSourceFunction NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FFivouchered INT,CFPersonID VARCHAR(44),CFAdminOrgID VARCHAR(44),CFPositionID VARCHAR(44),CFESignFileTemplat VARCHAR(44),CFIssueStatus INT,CFESignMappingID VARCHAR(44),CONSTRAINT CPK_ESI_JnrlESBrm8 PRIMARY KEY (FID));
+
+Create Table CT_ESI_Seal ( FName_l1 NVARCHAR(255),FName_l2 NVARCHAR(255),FName_l3 NVARCHAR(255),FNumber NVARCHAR(80),FDescription_l1 NVARCHAR(255),FDescription_l2 NVARCHAR(255),FDescription_l3 NVARCHAR(255),FSimpleName NVARCHAR(80),FID VARCHAR(44) DEFAULT '' NOT NULL ,FCreatorID VARCHAR(44),FCreateTime DateTime,FLastUpdateUserID VARCHAR(44),FLastUpdateTime DateTime,FControlUnitID VARCHAR(44) DEFAULT '11111111-1111-1111-1111-111111111111CCE7AED4',CFOrgId NVARCHAR(255),CFSealId NVARCHAR(255),CFSealName NVARCHAR(100),CFSealCreateTime DateTime,CFDefaultSealFlag INT,CFSealHeight INT,CFSealWidth INT,CFSealBizType VARCHAR(100),CFSealBizTypeDescription NVARCHAR(1000),CFSealStyle INT,CFEffectiveTime DateTime,CFExpireTime DateTime,CFSealAuthBizId NVARCHAR(200),CFAuthorizerOrgName NVARCHAR(100),CFAuthorizerOrgId NVARCHAR(200),CFAuthorizer INT,CFSealStatus INT,CONSTRAINT CPK_ESI_SealID26d2 PRIMARY KEY (FID));
+