UseCarWorkflowSetOperation.jsp
32.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%@ page import="weaver.general.Util" %>
<%@ page import="java.util.*" %>
<%@ page import="weaver.hrm.*" %>
<%@ page import="net.sf.json.JSONArray" %>
<%@ page import="net.sf.json.JSONObject" %>
<%@page import="weaver.workflow.workflow.WorkflowBillComInfo"%>
<%@ page import="weaver.workflow.workflow.WorkflowVersion" %>
<jsp:useBean id="RecordSet" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="rs" class="weaver.conn.RecordSet" scope="page" />
<jsp:useBean id="CarTypeComInfo" class="weaver.car.CarTypeComInfo" scope="page"/>
<jsp:useBean id="WFManager" class="weaver.workflow.workflow.WFManager" scope="session"/>
<jsp:useBean id="SysMaintenanceLog" class="weaver.systeminfo.SysMaintenanceLog" scope="page" />
<jsp:useBean id="TestWorkflowComInfo" class="weaver.workflow.workflow.TestWorkflowComInfo" scope="page" />
<jsp:useBean id="RequestUserDefaultManager" class="weaver.workflow.request.RequestUserDefaultManager" scope="page"/>
<jsp:useBean id="WorkflowComInfo" class="weaver.workflow.workflow.WorkflowComInfo" scope="page" />
<jsp:useBean id="FormManager" class="weaver.workflow.form.FormManager" scope="page" />
<jsp:useBean id="DateUtil" class="weaver.general.DateUtil" scope="page" />
<jsp:useBean id="RecordSetTrans" class="weaver.conn.RecordSetTrans" scope="page" />
<jsp:useBean id="manageDetachComInfo" class="weaver.hrm.moduledetach.ManageDetachComInfo" scope="page" />
<jsp:useBean id="BillComInfo" class="weaver.workflow.workflow.BillComInfo" scope="page" />
<jsp:useBean id="LabelComInfo" class="weaver.systeminfo.label.LabelComInfo" scope="page" />
<jsp:useBean id="SelectItemManager" class="weaver.workflow.selectItem.SelectItemManager" scope="page" />
<jsp:useBean id="formFieldUtil" class="weaver.workflow.form.FormFieldUtil" scope="page" />
<jsp:useBean id="StringHelper" class="com.weaver.formmodel.util.StringHelper" scope="page" />
<%
User user = HrmUserVarify.getUser (request , response) ;
String operation =Util.fromScreen(request.getParameter("operation"),7);
String dialog = Util.null2String(request.getParameter("dialog"),"0");
String workflowname = Util.null2String(request.getParameter("workflowname"));
String typeid = Util.null2String(request.getParameter("typeid"));
String wftype = Util.null2String(request.getParameter("wftype"));
int formid = Util.getIntValue(request.getParameter("formid"));
int isuse = Util.getIntValue(request.getParameter("isuse"), 0);
int selectedCateLog = Util.getIntValue(request.getParameter("selectcatalog"),0);
int catelogType = Util.getIntValue(request.getParameter("catalogtype"),0);
String isTemplate=Util.null2String(request.getParameter("isTemplate"));
int subCompanyId = Util.getIntValue(request.getParameter("subcompanyid"),-1);
int templateid=Util.getIntValue(request.getParameter("templateid"),0);
if(operation.equals("create") || operation.equals("createToDetails")){
boolean isoracle = (RecordSet.getDBType()).equals("oracle") ;
boolean isdb2 = (RecordSet.getDBType()).equals("db2") ;
boolean issqlserver = (RecordSet.getDBType()).equals("sqlserver") ;
boolean ismysql = (RecordSet.getDBType()).equals("mysql") ;
//新建的时候如果类型是卡片生成表单,要将卡片生成表单
if ("0".equals(wftype)) {
//新建表单采用与单据相同的模式 TD8730 MYQ修改
String from = Util.null2String(request.getParameter("from"));
String formdes = Util.null2String(request.getParameter("formdes"));
formdes = formdes.replaceAll("<","<").replaceAll(">",">").replaceAll("'","''");
formdes = Util.toHtmlForSplitPage(formdes);
int subcompanyid = Util.getIntValue(request.getParameter("subcompanyid"),-1);
int subCompanyId3 = Util.getIntValue(request.getParameter("subcompanyid3"),-1);
formid = FormManager.getNewFormId();
String formtable_main = "formtable_main_"+formid*(-1);
if(formid<-1){
String formname = formtable_main;
RecordSetTrans.setAutoCommit(false);
try{
int namelabelid = -1;
if(issqlserver){
RecordSetTrans.executeSql("select indexid from HtmlLabelInfo where labelname='"+formname+"' collate Chinese_PRC_CS_AI and languageid="+Util.getIntValue(""+user.getLanguage(),7));
}else if(ismysql){
RecordSetTrans.executeSql("select indexid from HtmlLabelInfo where labelname='"+formname+"' and languageid="+Util.getIntValue(""+user.getLanguage(),7));
}
else {
RecordSetTrans.executeSql("select indexid from HtmlLabelInfo where labelname='"+formname+"' and languageid="+Util.getIntValue(""+user.getLanguage(),7));
}
if(RecordSetTrans.next()){
namelabelid = RecordSetTrans.getInt("indexid");//如果表单名称在标签库中存在,取得标签id
}
else{
namelabelid = FormManager.getNewIndexId(RecordSetTrans);//生成新的标签id
if(namelabelid!=-1){//更新标签库
RecordSetTrans.executeSql("delete from HtmlLabelIndex where id="+namelabelid);
RecordSetTrans.executeSql("delete from HtmlLabelInfo where indexid="+namelabelid);
RecordSetTrans.executeSql("INSERT INTO HtmlLabelIndex values("+namelabelid+",'"+formname+"')");
RecordSetTrans.executeSql("INSERT INTO HtmlLabelInfo values("+namelabelid+",'"+formname+"',7)");
RecordSetTrans.executeSql("INSERT INTO HtmlLabelInfo values("+namelabelid+",'"+formname+"',8)");
RecordSetTrans.executeSql("INSERT INTO HtmlLabelInfo values("+namelabelid+",'"+formname+"',9)");
}
}
if(subcompanyid==-1){//分权分部的取得。如果页面没有,则首先从分权设置的默认机构取得,如果默认机构没有设置则取所有分部中id最小的那个分部。
subcompanyid = Util.getIntValue(manageDetachComInfo.getWfdftsubcomid(), -1);
if(subcompanyid==-1){
RecordSetTrans.executeSql("select min(id) as id from HrmSubCompany");
if(RecordSetTrans.next()) subcompanyid = RecordSetTrans.getInt("id");
}
}
if(subCompanyId3==-1||subCompanyId3==0){//分权分部的取得。如果页面没有,则首先从分权设置的默认机构取得,如果默认机构没有设置则取所有分部中id最小的那个分部。
subCompanyId3 = Util.getIntValue(manageDetachComInfo.getWfdftsubcomid(), -1);
if(subCompanyId3==-1||subCompanyId3==0){
RecordSetTrans.executeSql("select min(id) as id from HrmSubCompany");
if(RecordSetTrans.next()) subCompanyId3 = RecordSetTrans.getInt("id");
}
}
RecordSetTrans.executeSql("insert into workflow_bill(id,namelabel,tablename,detailkeyfield,formdes,subcompanyid,subCompanyId3) values("+formid+","+namelabelid+",'"+formtable_main+"','mainid','"+formdes+"',"+subcompanyid+","+subCompanyId3+")");
String dbType = RecordSet.getDBType();
if("oracle".equals(dbType)){//创建表单主表,明细表的创建在新建字段的时候如果有明细字段则创建明细表
RecordSetTrans.executeSql("create table " + formtable_main + "(id integer primary key not null, requestId integer)");
}else if("mysql".equals(dbType)){//创建表单主表,明细表的创建在新建字段的时候如果有明细字段则创建明细表
RecordSetTrans.executeSql("create table " + formtable_main + "(id int not null auto_increment primary key, requestId integer)");
}else{
RecordSetTrans.executeSql("create table " + formtable_main + "(id int IDENTITY(1,1) primary key CLUSTERED, requestId integer)");
}
if("oracle".equals(dbType)){//主表id自增长
RecordSet.executeSql("create sequence "+formtable_main+"_Id start with 1 increment by 1 nomaxvalue nocycle");
RecordSet.setChecksql(false);
RecordSet.executeSql("CREATE OR REPLACE TRIGGER "+formtable_main+"_Id_Trigger before insert on "+formtable_main+" for each row begin select "+formtable_main+"_Id.nextval into :new.id from dual; end;");
}
LabelComInfo.addLabeInfoCache(""+namelabelid);//往缓存中添加表单名称的标签
BillComInfo.addBillCache(""+formid);
WorkflowBillComInfo workflowBillComInfo=new WorkflowBillComInfo();
workflowBillComInfo.addWorkflowBillCache(String.valueOf(formid));
}catch(Exception exception){
RecordSetTrans.rollback();
}
if(issqlserver){//因为在sql里面detailtable的默认值NULL,显示排序的时候按照detailtable排序,当detailtable有空值和null时,排序会乱
RecordSet.executeSql("update workflow_billfield set detailtable = '' where detailtable is null");
}
else if(ismysql){
RecordSet.executeSql("update workflow_billfield set detailtable = null where detailtable is null");
}
//新建好表单,给表单添加字段(将用车表转到新增加的表中)
try{
String maintablename = FormManager.getTablename(formid); //主表名
Map<String,String> field_pubchoice_map = new LinkedHashMap<String,String>();
Map<String,String> field_pubchilchoice_map = new LinkedHashMap<String,String>();
RecordSet.executeSql("select id, dsporder, fieldlabel, fieldname, fielddbtype, fieldhtmltype, type, viewtype,detailtable,places,qfws, textheight,textheight_2,imgheight,imgwidth,selectitem,selectItemType,pubchoiceId,pubchilchoiceId from workflow_billfield where (viewtype is null or viewtype=0) and billid=163 and fromUser=1");
while (RecordSet.next()) {
String carid = Util.null2String(RecordSet.getString("id"));
String selectItemType = Util.null2String(RecordSet.getString("selectItemType"));
int pubchoiceId = Util.getIntValue(Util.null2String(RecordSet.getString("pubchoiceId")),0);
int pubchilchoiceId = Util.getIntValue(Util.null2String(RecordSet.getString("pubchilchoiceId")),0);
if(selectItemType.equals("0")){
pubchoiceId = 0;
pubchilchoiceId = 0;
}
if(selectItemType.equals("1")){
pubchilchoiceId = 0;
}
if(selectItemType.equals("2")){
pubchoiceId = 0;
}
String fieldname = Util.null2String(RecordSet.getString("fieldname"));
if(fieldname.equals("")) continue;//先添加后删除的
int imgwidth = Util.getIntValue(Util.null2String(RecordSet.getString("imgwidth")),0);
int imgheight = Util.getIntValue(Util.null2String(RecordSet.getString("imgheight")),0);
String fieldlabel = Util.null2String(RecordSet.getString("fieldlabel"));
String fieldhtmltype = Util.null2String(RecordSet.getString("fieldhtmltype"));
if(!fieldhtmltype.equals("5")){
selectItemType = "0";
pubchilchoiceId=0;
pubchoiceId=0;
}
String fielddbtype = Util.null2String(RecordSet.getString("fielddbtype"));
String type = Util.null2String(RecordSet.getString("type"));
String viewtype = Util.null2String(RecordSet.getString("viewtype"));
String detailtable = Util.null2String(RecordSet.getString("detailtable"));
int textheight = Util.getIntValue(Util.null2String(RecordSet.getString("textheight")),4);
String textheight_2 = Util.null2String(RecordSet.getString("textheight_2"));
String linkfield = Util.null2String(RecordSet.getString("linkfield"));
String locateType = Util.null2String(RecordSet.getString("locateType"));
String dsporder = Util.null2String(RecordSet.getString("dsporder"));
int childfieldid = Util.getIntValue(Util.null2String(RecordSet.getString("childfieldid")),0);
String places = Util.null2String(RecordSet.getString("places"));
String qfws = Util.null2String(RecordSet.getString("qfws"));
String selectitem = Util.null2String(RecordSet.getString("selectitem"));
String _sql = "INSERT INTO workflow_billfield(billid,fieldname,fieldlabel,fielddbtype,fieldhtmltype,type,dsporder,viewtype,detailtable,textheight,textheight_2,childfieldid,imgwidth,imgheight,places,qfws,selectitem,linkfield,selectItemType,pubchoiceId,pubchilchoiceId,locatetype) "+
" VALUES ("+formid+",'"+fieldname+"',"+StringHelper.empty2Null(fieldlabel)+",'"+fielddbtype+"',"+fieldhtmltype+","+StringHelper.empty2Null(type)+","+dsporder+","+StringHelper.empty2Null(viewtype)+",'"+detailtable+"',"+textheight+",'"+textheight_2+"',"+childfieldid+","+imgwidth+","+imgheight+","+StringHelper.empty2Null(places)+",'"+qfws+"',"+StringHelper.empty2Null(selectitem)+","+StringHelper.empty2Null(linkfield)+",'"+selectItemType+"',"+pubchoiceId+","+pubchilchoiceId+",'"+locateType+"')";
//插入字段信息
RecordSetTrans.executeSql(_sql);
//更新主表结构
RecordSetTrans.executeSql("alter table "+maintablename+" add "+fieldname+" "+fielddbtype+";");
//如果是选择框,更新表workflow_SelectItem
String curfieldid = "";
RecordSetTrans.executeSql("select max(id) as id from workflow_billfield");
if(RecordSetTrans.next()) curfieldid = RecordSetTrans.getString("id");
if ("627".equals(carid) ||"628".equals(carid) || "629".equals(carid) || "634".equals(carid) || "635".equals(carid) || "636".equals(carid) || "637".equals(carid) || "639".equals(carid)) {
RecordSetTrans.executeSql("insert into mode_carrelatemode(mainid,carfieldid,modefieldid) values(-1,"+StringHelper.empty2Null(carid)+","+StringHelper.empty2Null(curfieldid)+")");
}
if(fieldhtmltype.equals("5")){
if (selectItemType.equals("1")){
field_pubchoice_map.put(curfieldid,""+pubchoiceId);
}else if (selectItemType.equals("2")){
field_pubchilchoice_map.put(curfieldid,""+pubchilchoiceId);
}
}
if(fieldhtmltype.equals("7")){
RecordSetTrans.executeSql("select * from workflow_specialfield where fieldid="+StringHelper.empty2Null(curfieldid));
if(RecordSetTrans.next()) {
String displayname = RecordSetTrans.getString("displayname");//显示名
String linkaddress = RecordSetTrans.getString("linkaddress");//链接地址
String descriptivetext = RecordSetTrans.getString("descriptivetext");//描述性文字
String isform = RecordSetTrans.getString("isform");//isform
String isbill = RecordSetTrans.getString("isbill");//isbill
descriptivetext = Util.spacetoHtml(descriptivetext);
String sql = "insert into workflow_specialfield(fieldid,displayname,linkaddress,descriptivetext,isform,isbill) values("+StringHelper.empty2Null(curfieldid)+",'"+displayname+"','"+linkaddress+"','"+descriptivetext+"',"+StringHelper.empty2Null(isform)+","+StringHelper.empty2Null(isbill)+")";
RecordSetTrans.executeSql(sql);
}
}
String insertFieldId = curfieldid;
RecordSetTrans.execute("select count(nodeid) as wfnfc from workflow_nodeform where fieldid="+StringHelper.empty2Null(insertFieldId));
int wf_nf_count = 0;
if(RecordSetTrans.next()){
wf_nf_count = Util.getIntValue(RecordSetTrans.getString(1), 0);
}
if(wf_nf_count<1){
ArrayList arrNodeId = new ArrayList();
RecordSetTrans.executeSql("select nodeid from workflow_flownode where workflowid in (select id from workflow_base where formid="+formid+" and isbill=1)");
while(RecordSetTrans.next()){
arrNodeId.add(RecordSetTrans.getString("nodeid"));
}
for(int h=0; h < arrNodeId.size(); h++){
RecordSetTrans.executeSql("insert into workflow_nodeform(nodeid,fieldid,isview,isedit,ismandatory) values("+StringHelper.empty2Null((String)arrNodeId.get(h))+","+StringHelper.empty2Null(insertFieldId)+",'0','0','0')");
}
}
}
//主字段 结束
RecordSetTrans.commit();
for(Map.Entry<String, String> entry: field_pubchoice_map.entrySet()){
int fieldid = Util.getIntValue(entry.getKey(),0);
int pubchoiceId = Util.getIntValue(entry.getValue(),0);
SelectItemManager.setSelectOpBypubid(formid+"",pubchoiceId,fieldid+"",1,user.getLanguage());
}
for(Map.Entry<String, String> entry: field_pubchilchoice_map.entrySet()){
int fieldid = Util.getIntValue(entry.getKey(),0);
int pubchilchoiceId = Util.getIntValue(entry.getValue(),0);
SelectItemManager.setSuperSelectOp(formid+"",1,pubchilchoiceId,fieldid,user.getLanguage());
}
if(issqlserver){//因为在sql里面detailtable的默认值NULL,显示排序的时候按照detailtable排序,当detailtable有空值和null时,排序会乱
RecordSet.executeSql("update workflow_billfield set detailtable = '' where detailtable is null");
}
else if(ismysql){//因为在sql里面detailtable的默认值NULL,显示排序的时候按照detailtable排序,当detailtable有空值和null时,排序会乱
RecordSet.executeSql("update workflow_billfield set detailtable = null where detailtable is null");
}
}catch(Exception e){
e.printStackTrace();
RecordSetTrans.rollback();
}finally{
formFieldUtil.syncDB(formid);
}
}
}
int wfid = 0;
WFManager.reset();
WFManager.setAction("addwf");
WFManager.setWfname(Util.null2String(request.getParameter("workflowname")));
WFManager.setWfdes(Util.null2String(request.getParameter("wfdes")));
WFManager.setTypeid(Util.getIntValue(Util.null2String(request.getParameter("typeid"))));
String isbill = Util.null2String(1);
String iscust = Util.null2String(request.getParameter("iscust"));
int helpdocid = Util.getIntValue(request.getParameter("helpdocid"),0);
String isvalid= "1";
String needmark= Util.null2String(request.getParameter("needmark"));
//add by xhheng @ 2005/01/24 for 消息提醒 Request06
String messageType= Util.null2String(request.getParameter("messageType"));
//add by xwj 20051101 for 邮件提醒 td2965
String mailMessageType= Util.null2String(request.getParameter("mailMessageType"));
String archiveNoMsgAlert = Util.null2String(request.getParameter("archiveNoMsgAlert")); // 归档节点不需短信提醒
String archiveNoMailAlert = Util.null2String(request.getParameter("archiveNoMailAlert")); // 归档节点不需邮件提醒
String forbidAttDownload= Util.null2String(request.getParameter("forbidAttDownload"));
String docRightByOperator= Util.null2String(request.getParameter("docRightByOperator"));
//微信提醒START(QC:98106)
//add by fyg @ 20140319 for 微信提醒
String chatsType=Util.null2String(request.getParameter("chatsType"));
String chatsAlertType=Util.null2String(request.getParameter("chatsAlertType"));
String notRemindifArchived=Util.null2String(request.getParameter("notRemindifArchived"));
//微信提醒END(QC:98106)
//add by xhheng @ 20050302 for TD 1545
String multiSubmit= Util.null2String(request.getParameter("multiSubmit"));
//add by xhheng @ 20050303 for TD 1689
String defaultName= Util.null2String(request.getParameter("defaultName"),"1");
if(defaultName.equals("1")){//标题默认增加规则
DateUtil.InitializationWFTitle(""+wfid);
}
//add by xhheng @ 20050317 for 附件上传
String pathcategory= Util.null2String(request.getParameter("pathcategory"));
String maincategory= Util.null2String(request.getParameter("maincategory"));
String subcategory= Util.null2String(request.getParameter("subcategory"));
String seccategory= Util.null2String(request.getParameter("seccategory"));
int docRightByHrmResource = Util.getIntValue(request.getParameter("docRightByHrmResource"),0);
String isaffirmance= Util.null2String(request.getParameter("isaffirmance"));
// String isSaveCheckForm = Util.null2String(request.getParameter("isSaveCheckForm")); // 流程保存是否验证必填
String isremak= Util.null2String(request.getParameter("isremark"));
String isShowChart= Util.null2String(request.getParameter("isShowChart"));
String orderbytype= Util.null2String(request.getParameter("orderbytype"));
String isModifyLog = Util.null2String(request.getParameter("isModifyLog"));
String isannexUpload= Util.null2String(request.getParameter("isannexUpload"));
String annexmaincategory= Util.null2String(request.getParameter("annexmaincategory"));
String annexsubcategory= Util.null2String(request.getParameter("annexsubcategory"));
String annexseccategory= Util.null2String(request.getParameter("annexseccategory"));
String isShowOnReportInput= Util.null2String(request.getParameter("isShowOnReportInput"));
String ShowDelButtonByReject=Util.null2String(request.getParameter("ShowDelButtonByReject"));
String specialApproval=Util.null2String(request.getParameter("specialApproval"));//是否特批件
String Frequency=Util.null2String(request.getParameter("Frequency"));
if(Frequency.equals("")) Frequency = "0";
String Cycle=Util.null2String(request.getParameter("Cycle"));
String isimportwf=Util.null2String(request.getParameter("isimportwf"));
String fieldNotImport = Util.null2String(request.getParameter("fieldNotImport")); // 无需导入字段
String wfdocpath = Util.null2String(request.getParameter("wfdocpath"));
String newdocpath = Util.null2String(request.getParameter("newdocpath"));
String wfdocowner = Util.null2String(request.getParameter("wfdocowner"));
String wfdocownertype = ""+Util.getIntValue(request.getParameter("wfdocownertype"), 0);
String wfdocownerfieldid = ""+Util.getIntValue(request.getParameter("wfdocownerfieldid"), 0);
String isImportDetail= Util.null2String(request.getParameter("isImportDetail"));
String showUploadTab = Util.null2String(request.getParameter("showUploadTab"));
String isSignDoc = Util.null2String(request.getParameter("isSignDoc"));
String showDocTab = Util.null2String(request.getParameter("showDocTab"));
String isSignWorkflow = Util.null2String(request.getParameter("isSignWorkflow"));
String showWorkflowTab = Util.null2String(request.getParameter("showWorkflowTab"));
int isshared = Util.getIntValue(request.getParameter("isshared"),0);
int isforwardrights = Util.getIntValue(request.getParameter("isforwardrights"),0);
String isrejectremind=Util.null2String(request.getParameter("isrejectremind"));
String ischangrejectnode=Util.null2String(request.getParameter("ischangrejectnode"));
String isselectrejectnode=Util.null2String(request.getParameter("isselectrejectnode"));
String issignview = Util.null2String(request.getParameter("issignview"));
String nosynfields = Util.null2String(request.getParameter("nosynfields"));
String isneeddelacc=Util.null2String(request.getParameter("isneeddelacc"));
String SAPSource = Util.null2String(request.getParameter("SAPSource"));
String smsAlertsType = Util.null2String(request.getParameter("smsAlertsType"));
String isForwardReceiveDef = Util.null2String(request.getParameter("isForwardReceiveDef"));
int dsporder = Util.getIntValue(request.getParameter("dsporder"),0);
String isFree = request.getParameter("isFree") == null ? "0" : "1";
if("".equals(isneeddelacc)) isneeddelacc="0";
formid = formid;
String tablename = "";
RecordSet.executeSql("select tablename from workflow_bill where id="+formid);
if(RecordSet.next()) tablename = RecordSet.getString("tablename");
if(tablename.equals("formtable_main_"+formid*(-1)) || tablename.startsWith("uf_")){//新创建的表单做为单据保存
isbill = "1";
}
String candelacc= Util.null2String(request.getParameter("candelacc"));
WFManager.setFormid(formid);
WFManager.setIsBill(isbill);
WFManager.setIsCust(iscust);
WFManager.setHelpdocid(helpdocid);
WFManager.setIsValid(isvalid);
WFManager.setNeedMark(needmark);
WFManager.setMessageType(messageType);
WFManager.setMailMessageType(mailMessageType);//added by xwj for td2965 20051101
//微信提醒START(QC:98106)
WFManager.setChatsType(chatsType); //add by fyg @ 20140319 for 微信提醒
WFManager.setChatsAlertType(chatsAlertType); //add by fyg @ 20140319 for 微信提醒
WFManager.setNotRemindifArchived(notRemindifArchived); //add by fyg @ 20140319 for 微信提醒
//微信提醒END(QC:98106)
WFManager.setArchiveNoMsgAlert(archiveNoMsgAlert);
WFManager.setArchiveNoMailAlert(archiveNoMailAlert);
WFManager.setForbidAttDownload(forbidAttDownload);
WFManager.setDocRightByOperator(docRightByOperator);
WFManager.setMultiSubmit(multiSubmit);
WFManager.setDefaultName(defaultName);
WFManager.setDocCategory(maincategory+","+subcategory+","+seccategory);
WFManager.setDocPath(pathcategory);
WFManager.setSubCompanyId2(subCompanyId);
WFManager.setIsTemplate(isTemplate);
WFManager.setTemplateid(templateid);
WFManager.setCatelogType(catelogType);
WFManager.setSelectedCateLog(selectedCateLog);
WFManager.setDocRightByHrmResource(docRightByHrmResource);
WFManager.setIsaffirmance(isaffirmance);
// WFManager.setIsSaveCheckForm(isSaveCheckForm);
WFManager.setIsremak(isremak);
WFManager.setIsShowChart(isShowChart);
WFManager.setOrderbytype(orderbytype);
WFManager.setIsAnnexUpload(isannexUpload);
WFManager.setAnnexDocCategory(annexmaincategory+","+annexsubcategory+","+annexseccategory);
WFManager.setIsShowOnReportInput(isShowOnReportInput);
WFManager.setIsModifyLog(isModifyLog);
WFManager.setShowDelButtonByReject(ShowDelButtonByReject);
WFManager.setSpecialApproval(specialApproval);
WFManager.setFrequency(Frequency);
WFManager.setCycle(Cycle);
WFManager.setIsImportwf(isimportwf);
WFManager.setFieldNotImport(fieldNotImport);
WFManager.setWfdocpath(wfdocpath);
WFManager.setWfdocowner(wfdocowner);
WFManager.setWfdocownertype(wfdocownertype);
WFManager.setWfdocownerfieldid(wfdocownerfieldid);
WFManager.setShowUploadTab(showUploadTab);
WFManager.setSignDoc(isSignDoc);
WFManager.setShowDocTab(showDocTab);
WFManager.setSignWorkflow(isSignWorkflow);
WFManager.setShowWorkflowTab(showWorkflowTab);
WFManager.setCanDelAcc(candelacc);
WFManager.setIsshared(""+isshared);
WFManager.setIsforwardRights(""+isforwardrights);
WFManager.setIsrejectremind(isrejectremind);
WFManager.setIschangrejectnode(ischangrejectnode);
WFManager.setNewdocpath(newdocpath);
WFManager.setIssignview(issignview);
WFManager.setNosynfields(nosynfields);
WFManager.setSAPSource(SAPSource);
WFManager.setIsSelectrejectNode(isselectrejectnode);
WFManager.setIsImportDetail(isImportDetail);
WFManager.setIsneeddelacc(isneeddelacc);
WFManager.setSmsAlertsType(smsAlertsType);
WFManager.setIsForwardReceiveDef(isForwardReceiveDef);
WFManager.setDsporder(dsporder);
WFManager.setIsFree(isFree);
wfid=WFManager.setWfInfo();
WorkflowComInfo.removeWorkflowCache();
TestWorkflowComInfo.removeWorkflowCache();
RequestUserDefaultManager.addDefaultOfSysAdmin(String.valueOf(wfid));
//将新添加的流程加入版本信息表
WorkflowVersion wv=new WorkflowVersion();
wv.saveWorkflowVersionInfo(wfid+"");
SysMaintenanceLog.resetParameter();
SysMaintenanceLog.setRelatedId(wfid);
SysMaintenanceLog.setRelatedName(workflowname);
SysMaintenanceLog.setOperateType("1");
SysMaintenanceLog.setOperateDesc("WrokFlow_insert");
SysMaintenanceLog.setOperateItem("85");
SysMaintenanceLog.setOperateUserid(user.getUID());
SysMaintenanceLog.setClientAddress(request.getRemoteAddr());
SysMaintenanceLog.setIstemplate(Util.getIntValue(isTemplate));
SysMaintenanceLog.setSysLogInfo();
boolean flag = RecordSet.executeSql("insert into carbasic(workflowid,typeid,wtype,formid,isuse) values('"+wfid+"',"+StringHelper.empty2Null(typeid)+","+StringHelper.empty2Null(wftype)+",'"+formid+"','"+isuse+"')");
if(flag){
String sql_ = "select max(id) id from carbasic";
RecordSet.executeSql(sql_);
if (RecordSet.next()) {
String id = RecordSet.getString("id");
RecordSet.executeSql("update mode_carrelatemode set mainid="+StringHelper.empty2Null(id)+" where mainid=-1");
}
}
if (operation.equals("create")) {
response.sendRedirect("/cpt/car/UseCarWorkflowSetCreate.jsp?isclosed=1");
} else if (operation.equals("createToDetails")) {
response.sendRedirect("/cpt/car/UseCarWorkflowSetCreate.jsp?isclosedToDetails=1&workflowid="+wfid);
}
return;
}
else if(operation.equals("add")){
String workflowid = Util.null2String(request.getParameter("workflowid"));
String id = Util.null2String(request.getParameter("id"));
if ("".equals(id)) {
RecordSet.executeSql("insert into carbasic(workflowid,typeid,wtype,formid,isuse) values("+StringHelper.empty2Null(workflowid)+","+StringHelper.empty2Null(typeid)+","+StringHelper.empty2Null(wftype)+",'"+formid+"','"+isuse+"')");
} else {
RecordSet.executeSql("update carbasic set isuse="+isuse+" where id="+StringHelper.empty2Null(id));
}
response.sendRedirect("/cpt/car/UseCarWorkflowSetAdd.jsp?isclosed=1");
return;
}
else if(operation.equals("createToDetails2")){
String workflowid = Util.null2String(request.getParameter("workflowid"));
boolean flag = RecordSet.executeSql("insert into carbasic(workflowid,typeid,wtype,formid,isuse) values("+StringHelper.empty2Null(workflowid)+","+StringHelper.empty2Null(typeid)+","+StringHelper.empty2Null(wftype)+",'"+formid+"','"+isuse+"')");
String id = "";
if(flag){
String sql = "select max(id) id from carbasic";
RecordSet.executeSql(sql);
while(RecordSet.next()){
id = RecordSet.getString("id");
}
}
response.sendRedirect("/cpt/car/UseCarWorkflowSetAdd.jsp?isclosedToDetails=1&id="+id);
return;
}
else if (operation.equals("use")) {
String id = request.getParameter("id");
RecordSet.executeSql("update carbasic set isuse=1 where id="+StringHelper.empty2Null(id));
response.sendRedirect("/cpt/car/UseCarWorkflowSetIframe.jsp");
return;
}
else if (operation.equals("close")) {
String id = request.getParameter("id");
String workflowid = Util.null2String(request.getParameter("workflowid"));
RecordSet.executeSql("select * from carbasic where id="+StringHelper.empty2Null(id));
if (RecordSet.next()) {
RecordSet.executeSql("update carbasic set isuse=0 where id="+StringHelper.empty2Null(id));
} else {
RecordSet.executeSql("insert into carbasic(workflowid,typeid,wtype,formid,isuse) values("+StringHelper.empty2Null(workflowid)+","+null+","+null+",'163','0')");
}
response.sendRedirect("/cpt/car/UseCarWorkflowSetIframe.jsp");
return;
}
else if(operation.equals("delete")){
String id = request.getParameter("id");
RecordSet.executeSql("delete from carbasic where id = "+StringHelper.empty2Null(id));
response.sendRedirect("/cpt/car/UseCarWorkflowSetIframe.jsp");
return;
}
else if(operation.equals("getForminfo")){
String workflowid = Util.null2String(request.getParameter("workflowid"),"0");
String data = "";
RecordSet.executeSql("select * from carbasic where workflowid="+StringHelper.empty2Null(workflowid));
if (RecordSet.next()) {
data = "1";
return;
}
RecordSet.executeSql("select formid,info.labelname as formname,workflowtype from workflow_base b,workflow_bill f,htmllabelinfo info where b.formid=f.id and f.namelabel=info.indexid and info.languageid=7 and b.id="+StringHelper.empty2Null(workflowid)+" and b.isbill=1");
JSONArray jsonArray = new JSONArray();
if (RecordSet.next()) {
String formid_ = RecordSet.getString("formid");
String formname_ = RecordSet.getString("formname");
String workflowtype = RecordSet.getString("workflowtype");
data="{\"formid\":\""+formid_+"\",\"formname\":\""+formname_+"\",\"workflowtype\":\""+workflowtype+"\"}";
out.println(data);
return;
}
}
else if (operation.equals("saveFieldRelate")) {
String mainid = request.getParameter("mainid");
String[] carfieldids = request.getParameterValues("carfieldid");
String[] modefieldids = request.getParameterValues("modefieldid");
RecordSet.executeSql("delete from mode_carrelatemode where mainid="+StringHelper.empty2Null(mainid));
for (int i = 0 ; i < carfieldids.length ; i++) {
String carfieldid = carfieldids[i];
String modefieldid = modefieldids[i];
RecordSet.executeSql("insert into mode_carrelatemode(mainid,carfieldid,modefieldid) values("+StringHelper.empty2Null(mainid)+","+StringHelper.empty2Null(carfieldid)+","+StringHelper.empty2Null(modefieldid)+")");
}
response.sendRedirect("/cpt/car/CarInfoRelateMode.jsp?isclosed=1&id="+mainid);
return;
}
%>