/// <summary> /// 保存多附件 /// </summary> /// <param name="fk_mapdata">表单ID</param> /// <param name="ctrlID">控件ID</param> /// <param name="x">位置x</param> /// <param name="y">位置y</param> /// <param name="h">高度</param> /// <param name="w">宽度</param> public static void SaveAthMulti(string fk_mapdata, string ctrlID, float x, float y, float h, float w) { FrmAttachment en = new FrmAttachment(); en.MyPK = fk_mapdata + "_" + ctrlID; en.FK_MapData = fk_mapdata; en.NoOfObj = ctrlID; en.RetrieveFromDBSources(); en.X = x; en.Y = y; en.W = w; en.H = h; en.Update(); }
protected void Page_Load(object sender, EventArgs e) { if (this.DoType == "Del") { FrmAttachmentDB delDB = new FrmAttachmentDB(); delDB.MyPK = this.DelPKVal; delDB.DirectDelete(); } if (this.DoType == "Down") { FrmAttachmentDB downDB = new FrmAttachmentDB(); downDB.MyPK = this.MyPK; downDB.Retrieve(); BP.PubClass.DownloadFile(downDB.FileFullName, downDB.FileName); this.WinClose(); return; } BP.Sys.FrmAttachment athDesc = new BP.Sys.FrmAttachment(); athDesc.MyPK = this.FK_FrmAttachment; if (athDesc.RetrieveFromDBSources() == 0) { } this.Title = athDesc.Name; this.Pub1.AddTable("width='100%'"); if (this.IsBTitle == "1") { this.Pub1.AddTR(); this.Pub1.AddTDTitle("IDX"); if (athDesc.Sort.Contains(",")) { this.Pub1.AddTDTitle("类别"); } this.Pub1.AddTDTitle("文件名"); this.Pub1.AddTDTitle("大小KB"); this.Pub1.AddTDTitle("上传日期"); this.Pub1.AddTDTitle("上传人"); if (athDesc.IsNote) { this.Pub1.AddTDTitle("备注"); } this.Pub1.AddTDTitle("操作"); this.Pub1.AddTREnd(); } else { this.Pub1.AddTR(); this.Pub1.AddTD("IDX"); if (athDesc.Sort.Contains(",")) { this.Pub1.AddTD("类别"); } this.Pub1.AddTD("文件名"); this.Pub1.AddTD("大小KB"); this.Pub1.AddTD("上传日期"); this.Pub1.AddTD("上传人"); if (athDesc.IsNote) { this.Pub1.AddTD("备注"); } this.Pub1.AddTD("操作"); this.Pub1.AddTREnd(); } BP.Sys.FrmAttachmentDBs dbs = new BP.Sys.FrmAttachmentDBs(); dbs.Retrieve(FrmAttachmentDBAttr.FK_FrmAttachment, this.FK_FrmAttachment, FrmAttachmentDBAttr.RefPKVal, this.PKVal); int i = 0; foreach (FrmAttachmentDB db in dbs) { i++; this.Pub1.AddTR(); this.Pub1.AddTDIdx(i); if (athDesc.Sort.Contains(",")) { this.Pub1.AddTD(db.Sort); } // this.Pub1.AddTDIdx(i++); if (athDesc.IsDownload) { this.Pub1.AddTD("<a href='AttachmentUpload.aspx?DoType=Down&MyPK=" + db.MyPK + "' target=_blank ><img src='/WF/Img/FileType/" + db.FileExts + ".gif' border=0 onerror=\"src='/WF/Img/FileType/Undefined.gif'\" />" + db.FileName + "</a>"); } else { this.Pub1.AddTD(db.FileName); } this.Pub1.AddTD(db.FileSize); this.Pub1.AddTD(db.RDT); this.Pub1.AddTD(db.RecName); if (athDesc.IsNote) { this.Pub1.AddTD(db.MyNote); } if (athDesc.IsDelete && this.IsReadonly != "1") { this.Pub1.AddTD("<a href=\"javascript:Del('" + this.FK_FrmAttachment + "','" + this.PKVal + "','" + db.MyPK + "')\">删除</a>"); } else { this.Pub1.AddTD(""); } this.Pub1.AddTREnd(); } if (athDesc.IsUpload && this.IsReadonly != "1") { this.Pub1.AddTR(); this.Pub1.AddTDBegin("colspan=7"); this.Pub1.Add("文件:"); System.Web.UI.WebControls.FileUpload fu = new System.Web.UI.WebControls.FileUpload(); fu.ID = "file"; fu.BorderStyle = BorderStyle.NotSet; this.Pub1.Add(fu); if (athDesc.Sort.Contains(",")) { string[] strs = athDesc.Sort.Split(','); BP.Web.Controls.DDL ddl = new BP.Web.Controls.DDL(); ddl.ID = "ddl"; foreach (string str in strs) { if (str == null || str == "") { continue; } ddl.Items.Add(new ListItem(str, str)); } this.Pub1.Add(ddl); } if (athDesc.IsNote) { TextBox tb = new TextBox(); tb.ID = "TB_Note"; tb.Attributes["Width"] = "100%"; tb.Attributes["class"] = "TBNote"; tb.Columns = 30; this.Pub1.Add(" 备注:"); this.Pub1.Add(tb); } Button btn = new Button(); btn.Text = "上传"; btn.ID = "Btn_Upload"; btn.CssClass = "Btn"; btn.Click += new EventHandler(btn_Click); this.Pub1.Add(btn); this.Pub1.AddTDEnd(); this.Pub1.AddTREnd(); } this.Pub1.AddTableEnd(); }
protected void Page_Load(object sender, EventArgs e) { this.Response.ContentEncoding = System.Text.UTF8Encoding.UTF8; this.Request.ContentEncoding = System.Text.UTF8Encoding.UTF8; #region 功能执行. if (this.DoType == "Del") { FrmAttachmentDB delDB = new FrmAttachmentDB(); delDB.MyPK = this.DelPKVal == null ? this.MyPK : this.DelPKVal; delDB.DirectDelete(); } if (this.DoType == "Down") { FrmAttachmentDB downDB = new FrmAttachmentDB(); downDB.MyPK = this.DelPKVal == null ? this.MyPK : this.DelPKVal; downDB.Retrieve(); string downpath = GetRealPath(downDB.FileFullName); BP.Sys.PubClass.DownloadFile(downpath, downDB.FileName); this.WinClose(); return; } if (this.DoType == "WinOpen") { FrmAttachmentDB downDB = new FrmAttachmentDB(); downDB.MyPK = this.MyPK; downDB.Retrieve(); Response.ContentType = "Application/pdf"; string downpath = GetRealPath(downDB.FileFullName); Response.WriteFile(downpath); Response.End(); return; } #endregion 功能执行. #region 处理权限控制. BP.Sys.FrmAttachment athDesc = new BP.Sys.FrmAttachment(); athDesc.MyPK = this.FK_FrmAttachment; if (this.FK_Node == null || this.FK_Flow == null) { athDesc.RetrieveFromDBSources(); } else { #region 判断是否可以查询出来,如果查询不出来,就可能是公文流程。 athDesc.MyPK = this.FK_FrmAttachment; if (athDesc.RetrieveFromDBSources() == 0 && string.IsNullOrEmpty(this.FK_Flow) == false) { /*如果没有查询到它,就有可能是公文多附件被删除了.*/ athDesc.MyPK = this.FK_FrmAttachment; athDesc.NoOfObj = "DocMultiAth"; athDesc.FK_MapData = this.FK_MapData; athDesc.Exts = "*.*"; //存储路径. athDesc.SaveTo = "/DataUser/UploadFile/"; athDesc.IsNote = false; //不显示note字段. athDesc.IsVisable = false; // 让其在form 上不可见. //位置. athDesc.X = (float)94.09; athDesc.Y = (float)333.18; athDesc.W = (float)626.36; athDesc.H = (float)150; //多附件. athDesc.UploadType = AttachmentUploadType.Multi; athDesc.Name = "公文多附件(系统自动增加)"; athDesc.SetValByKey("AtPara", "@IsWoEnablePageset=1@IsWoEnablePrint=1@IsWoEnableViewModel=1@IsWoEnableReadonly=0@IsWoEnableSave=1@IsWoEnableWF=1@IsWoEnableProperty=1@IsWoEnableRevise=1@IsWoEnableIntoKeepMarkModel=1@FastKeyIsEnable=0@IsWoEnableViewKeepMark=1@FastKeyGenerRole=@IsWoEnableTemplete=1"); athDesc.Insert(); //有可能在其其它的节点上没有这个附件,所以也要循环增加上它. BP.WF.Nodes nds = new BP.WF.Nodes(this.FK_Flow); foreach (BP.WF.Node nd in nds) { athDesc.FK_MapData = "ND" + nd.NodeID; athDesc.MyPK = athDesc.FK_MapData + "_" + athDesc.NoOfObj; if (athDesc.IsExits == true) { continue; } athDesc.Insert(); } //重新查询一次,把默认值加上. athDesc.RetrieveFromDBSources(); } #endregion 判断是否可以查询出来,如果查询不出来,就可能是公文流程。 #region 处理权限方案。 /*首先判断是否具有权限方案*/ string at = BP.Sys.SystemConfig.AppCenterDBVarStr; Paras ps = new BP.DA.Paras(); ps.SQL = "SELECT FrmSln FROM WF_FrmNode WHERE FK_Node=" + at + "FK_Node AND FK_Flow=" + at + "FK_Flow AND FK_Frm=" + at + "FK_Frm"; ps.Add("FK_Node", this.FK_Node); ps.Add("FK_Flow", this.FK_Flow); ps.Add("FK_Frm", this.FK_MapData); DataTable dt = DBAccess.RunSQLReturnTable(ps); if (dt.Rows.Count == 0) { athDesc.RetrieveFromDBSources(); } else { int sln = int.Parse(dt.Rows[0][0].ToString()); if (sln == 0) { athDesc.RetrieveFromDBSources(); } else { int result = athDesc.Retrieve(FrmAttachmentAttr.FK_MapData, this.FK_MapData, FrmAttachmentAttr.FK_Node, this.FK_Node, FrmAttachmentAttr.NoOfObj, this.Ath); if (result == 0) /*如果没有定义,就获取默认的.*/ { athDesc.RetrieveFromDBSources(); } // throw new Exception("@该流程表单在该节点("+this.FK_Node+")使用的是自定义的权限控制,但是没有定义该附件的权限。"); } } #endregion 处理权限方案。 } BP.Sys.FrmAttachmentDBs dbs = new BP.Sys.FrmAttachmentDBs(); if (athDesc.HisCtrlWay == AthCtrlWay.PWorkID) { string pWorkID = BP.DA.DBAccess.RunSQLReturnValInt("SELECT PWorkID FROM WF_GenerWorkFlow WHERE WorkID=" + this.PKVal, 0).ToString(); if (pWorkID == null || pWorkID == "0") { pWorkID = this.PKVal; } if (athDesc.AthUploadWay == AthUploadWay.Inherit) { /* 继承模式 */ BP.En.QueryObject qo = new BP.En.QueryObject(dbs); qo.AddWhere(FrmAttachmentDBAttr.RefPKVal, pWorkID); qo.addOr(); qo.AddWhere(FrmAttachmentDBAttr.RefPKVal, int.Parse(this.PKVal)); qo.addOrderBy("RDT"); qo.DoQuery(); } if (athDesc.AthUploadWay == AthUploadWay.Interwork) { /*共享模式*/ dbs.Retrieve(FrmAttachmentDBAttr.RefPKVal, pWorkID); } } else { int num = dbs.Retrieve(FrmAttachmentDBAttr.FK_FrmAttachment, this.FK_FrmAttachment, FrmAttachmentDBAttr.RefPKVal, this.PKVal, "RDT"); if (num == 0 && this.IsCC == "1") { CCList cc = new CCList(); int nnn = cc.Retrieve(CCListAttr.FK_Node, this.FK_Node, CCListAttr.WorkID, this.WorkID, CCListAttr.CCTo, WebUser.No); if (cc.NDFrom != 0) { this._fk_node = cc.NDFrom; dbs.Retrieve(FrmAttachmentDBAttr.FK_FrmAttachment, this.FK_FrmAttachmentExt, FrmAttachmentDBAttr.FK_MapData, "ND" + cc.NDFrom, FrmAttachmentDBAttr.RefPKVal, this.WorkID.ToString()); //重新设置文件描述。 athDesc.Retrieve(FrmAttachmentAttr.FK_MapData, this.FK_MapData, FrmAttachmentAttr.NoOfObj, "DocMultiAth"); } } } #endregion 处理权限控制. #region 生成表头表体. this.Title = athDesc.Name; #region 如果图片显示. if (athDesc.FileShowWay == FileShowWay.Pict) { /* 如果是图片轮播,就在这里根据数据输出轮播的html代码.*/ if (dbs.Count == 0 && athDesc.IsUpload == true) { /*没有数据并且,可以上传,就转到上传的界面上去.*/ this.Response.Redirect("AttachmentUploadImg.aspx?1=1" + this.RequestParas, true); return; } if (dbs.Count != 0) { /*有数据,就输出.*/ this.Pub1.Add("<div class='slideBox' id='" + athDesc.MyPK + "' style='width:" + athDesc.W + "px;height:" + athDesc.H + "px; position:relative; overflow:hidden;'>"); this.Pub1.Add("<ul class='items'> "); foreach (FrmAttachmentDB db in dbs) { if (BP.DA.DataType.IsImgExt(db.FileExts) == false) { continue; } if (athDesc.IsDelete != false) { if (athDesc.IsDelete == true) { this.Pub1.Add("<li> <a title='" + db.MyNote + "'><img src = '" + db.FileFullName + "' width=" + athDesc.W + " height=" + athDesc.H + "/></a> | <a href=\"javascript:Del('" + this.FK_FrmAttachment + "','" + this.PKVal + "','" + db.MyPK + "')\">删除</a></li>"); } else if (athDesc.IsDeleteInt == 2) { if (db.Rec.Equals(WebUser.No)) { this.Pub1.Add("<li> <a title='" + db.MyNote + "'><img src = '" + db.FileFullName + "' width=" + athDesc.W + " height=" + athDesc.H + "/></a> | <a href=\"javascript:Del('" + this.FK_FrmAttachment + "','" + this.PKVal + "','" + db.MyPK + "')\">删除</a></li>"); } } else { this.Pub1.Add("<li> <a title='" + db.MyNote + "'><img src = '" + db.FileFullName + "' width=" + athDesc.W + " height=" + athDesc.H + "/></a> </li>"); } } else { this.Pub1.Add("<li> <a title='" + db.MyNote + "'><img src = '" + db.FileFullName + "' width=" + athDesc.W + " height=" + athDesc.H + "/></a> </li>"); } } this.Pub1.Add("</ul>"); this.Pub1.Add("</div>"); this.Pub1.Add("<script>$(function(){$('#" + athDesc.MyPK + "').slideBox({duration : 0.3,easing : 'linear',delay : 5,hideClickBar : false,clickBarRadius : 10});})</script>"); } if (athDesc.IsUpload == true) { /*可以上传,就显示上传的按钮.. */ this.Pub1.Add("<a href='AttachmentUploadImg.aspx?1=1" + this.RequestParas + "' >上传</a>"); } return; } #endregion 如果图片显示. float athWidth = athDesc.W - 20; // 执行装载模版. if (dbs.Count == 0 && athDesc.IsWoEnableTemplete == true) { /*如果数量为0,就检查一下是否有模版如果有就加载模版文件.*/ string templetePath = BP.Sys.SystemConfig.PathOfDataUser + "AthTemplete\\" + athDesc.NoOfObj.Trim(); if (Directory.Exists(templetePath) == false) { Directory.CreateDirectory(templetePath); } /*有模版文件夹*/ DirectoryInfo mydir = new DirectoryInfo(templetePath); FileInfo[] fls = mydir.GetFiles(); if (fls.Length == 0) { throw new Exception("@流程设计错误,该多附件启用了模版组件,模版目录:" + templetePath + "里没有模版文件."); } foreach (FileInfo fl in fls) { if (System.IO.Directory.Exists(athDesc.SaveTo) == false) { System.IO.Directory.CreateDirectory(athDesc.SaveTo); } int oid = BP.DA.DBAccess.GenerOID(); string saveTo = athDesc.SaveTo + "\\" + oid + "." + fl.Name.Substring(fl.Name.LastIndexOf('.') + 1); if (saveTo.Contains("@") == true || saveTo.Contains("*") == true) { /*如果有变量*/ saveTo = saveTo.Replace("*", "@"); if (saveTo.Contains("@") && this.FK_Node != null) { /*如果包含 @ */ BP.WF.Flow flow = new BP.WF.Flow(this.FK_Flow); BP.WF.Data.GERpt myen = flow.HisGERpt; myen.OID = this.WorkID; myen.RetrieveFromDBSources(); saveTo = BP.WF.Glo.DealExp(saveTo, myen, null); } if (saveTo.Contains("@") == true) { throw new Exception("@路径配置错误,变量没有被正确的替换下来." + saveTo); } } fl.CopyTo(saveTo); FileInfo info = new FileInfo(saveTo); FrmAttachmentDB dbUpload = new FrmAttachmentDB(); dbUpload.CheckPhysicsTable(); dbUpload.MyPK = athDesc.FK_MapData + oid.ToString(); dbUpload.NodeID = FK_Node.ToString(); dbUpload.FK_FrmAttachment = this.FK_FrmAttachment; if (athDesc.AthUploadWay == AthUploadWay.Inherit) { /*如果是继承,就让他保持本地的PK. */ dbUpload.RefPKVal = this.PKVal.ToString(); } if (athDesc.AthUploadWay == AthUploadWay.Interwork) { /*如果是协同,就让他是PWorkID. */ string pWorkID = BP.DA.DBAccess.RunSQLReturnValInt("SELECT PWorkID FROM WF_GenerWorkFlow WHERE WorkID=" + this.PKVal, 0).ToString(); if (pWorkID == null || pWorkID == "0") { pWorkID = this.PKVal; } dbUpload.RefPKVal = pWorkID; } dbUpload.FK_MapData = athDesc.FK_MapData; dbUpload.FK_FrmAttachment = this.FK_FrmAttachment; dbUpload.FileExts = info.Extension; dbUpload.FileFullName = saveTo; dbUpload.FileName = fl.Name; dbUpload.FileSize = (float)info.Length; dbUpload.RDT = DataType.CurrentDataTime; dbUpload.Rec = BP.Web.WebUser.No; dbUpload.RecName = BP.Web.WebUser.Name; //if (athDesc.IsNote) // dbUpload.MyNote = this.Pub1.GetTextBoxByID("TB_Note").Text; //if (athDesc.Sort.Contains(",")) // dbUpload.Sort = this.Pub1.GetDDLByID("ddl").SelectedItemStringVal; dbUpload.Insert(); dbs.AddEntity(dbUpload); } //BP.Sys.FrmAttachmentDBs dbs = new BP.Sys.FrmAttachmentDBs(); } #region 处理权限问题. // 处理权限问题, 有可能当前节点是可以上传或者删除,但是当前节点上不能让此人执行工作。 bool isDel = athDesc.IsDeleteInt == 0 ? false : true; bool isUpdate = athDesc.IsUpload; if (isDel == true || isUpdate == true) { if (this.WorkID != 0 && string.IsNullOrEmpty(this.FK_Flow) == false && this.FK_Node != 0) { isDel = BP.WF.Dev2Interface.Flow_IsCanDoCurrentWork(this.FK_Flow, this.FK_Node, this.WorkID, WebUser.No); if (isDel == false) { isUpdate = false; } } } #endregion 处理权限问题. if (athDesc.FileShowWay == FileShowWay.Free) { this.Pub1.AddTable("border='0' cellspacing='0' cellpadding='0' style='width:" + athWidth + "px'"); foreach (FrmAttachmentDB db in dbs) { this.Pub1.AddTR(); if (CanEditor(db.FileExts)) { if (athDesc.IsWoEnableWF) { this.Pub1.AddTD("<a href=\"javascript:OpenOfiice('" + this.FK_FrmAttachment + "','" + this.WorkID + "','" + db.MyPK + "','" + this.FK_MapData + "','" + this.Ath + "','" + this.FK_Node + "')\"><img src='../Img/FileType/" + db.FileExts + ".gif' border=0 onerror=\"src='../Img/FileType/Undefined.gif'\" />" + db.FileName + "</a>"); } else { this.Pub1.AddTD("<a href=\"javascript:OpenView('" + this.PKVal + "','" + db.MyPK + "')\"><img src='../Img/FileType/" + db.FileExts + ".gif' border=0 onerror=\"src='../Img/FileType/Undefined.gif'\" />" + db.FileName + "</a>"); } } else if (DataType.IsImgExt(db.FileExts) || db.FileExts.ToUpper() == "PDF" || db.FileExts.ToUpper() == "CEB") { this.Pub1.AddTD("<a href=\"javascript:OpenView('" + this.PKVal + "','" + db.MyPK + "')\"><img src='../Img/FileType/" + db.FileExts + ".gif' border=0 onerror=\"src='../Img/FileType/Undefined.gif'\" />" + db.FileName + "</a>"); } else { this.Pub1.AddTD("<a href='AttachmentUpload.aspx?DoType=Down&MyPK=" + db.MyPK + "' target=_blank ><img src='../Img/FileType/" + db.FileExts + ".gif' border=0 onerror=\"src='../Img/FileType/Undefined.gif'\" />" + db.FileName + "</a>"); } if (athDesc.IsDownload) { this.Pub1.AddTD("<a href=\"javascript:Down('" + this.FK_FrmAttachment + "','" + this.PKVal + "','" + db.MyPK + "')\">下载</a>"); } else { this.Pub1.AddTD(""); } if (this.IsReadonly != "1") { if (athDesc.IsDelete != false) { if (athDesc.IsDelete == true) { this.Pub1.AddTD("style='border:0px'", "<a href=\"javascript:Del('" + this.FK_FrmAttachment + "','" + this.PKVal + "','" + db.MyPK + "')\">删除</a>"); } else if (athDesc.IsDeleteInt == 2) { if (db.Rec.Equals(WebUser.No)) { this.Pub1.AddTD("style='border:0px'", "<a href=\"javascript:Del('" + this.FK_FrmAttachment + "','" + this.PKVal + "','" + db.MyPK + "')\">删除</a>"); } } else { this.Pub1.AddTD(""); } } else { this.Pub1.AddTD(""); } } else { this.Pub1.AddTD(""); this.Pub1.AddTD(""); } this.Pub1.AddTREnd(); } AddFileUpload(isUpdate, athDesc); this.Pub1.AddTableEnd(); return; } this.Pub1.AddTable("border='0' cellspacing='0' cellpadding='0' style='width:" + athWidth + "px'"); if (athDesc.IsShowTitle == true) { this.Pub1.AddTR("style='border:0px'"); this.Pub1.AddTDTitleExt("序号"); if (athDesc.Sort.Contains(",")) { this.Pub1.AddTD("style='background:#f4f4f4; font-size:12px; padding:3px;'", "类别"); } this.Pub1.AddTDTitleExt("文件名"); this.Pub1.AddTDTitleExt("大小KB"); this.Pub1.AddTDTitleExt("上传时间"); this.Pub1.AddTDTitleExt("上传人"); this.Pub1.AddTDTitleExt("操作"); this.Pub1.AddTREnd(); } int i = 0; StringBuilder picHtml = new StringBuilder(); foreach (FrmAttachmentDB db in dbs) { i++; this.Pub1.AddTR(); this.Pub1.AddTDIdx(i); if (athDesc.Sort.Contains(",")) { this.Pub1.AddTD(db.Sort); } // this.Pub1.AddTDIdx(i++); if (athDesc.IsDownload) { if (athDesc.IsWoEnableWF && CanEditor(db.FileExts)) { this.Pub1.AddTD("<a href=\"javascript:OpenOfiice('" + this.FK_FrmAttachment + "','" + this.WorkID + "','" + db.MyPK + "','" + this.FK_MapData + "','" + this.Ath + "','" + this.FK_Node + "')\"><img src='../Img/FileType/" + db.FileExts + ".gif' border=0 onerror=\"src='../Img/FileType/Undefined.gif'\" />" + db.FileName + "</a>"); } else if (db.FileExts.ToUpper() == "TXT" || db.FileExts.ToUpper() == "JPG" || db.FileExts.ToUpper() == "JPEG" || db.FileExts.ToUpper() == "GIF" || db.FileExts.ToUpper() == "PNG" || db.FileExts.ToUpper() == "BMP" || db.FileExts.ToUpper() == "PDF" || db.FileExts.ToUpper() == "CEB") { this.Pub1.AddTD("<a href=\"javascript:OpenView('" + this.PKVal + "','" + db.MyPK + "')\"><img src='../Img/FileType/" + db.FileExts + ".gif' border=0 onerror=\"src='../Img/FileType/Undefined.gif'\" />" + db.FileName + "</a>"); } else { this.Pub1.AddTD("<a href='AttachmentUpload.aspx?DoType=Down&MyPK=" + db.MyPK + "' target=_blank ><img src='../Img/FileType/" + db.FileExts + ".gif' border=0 onerror=\"src='../Img/FileType/Undefined.gif'\" />" + db.FileName + "</a>"); } } else { this.Pub1.AddTD("<img src='../Img/FileType/" + db.FileExts + ".gif' border=0 onerror=\"src='../Img/FileType/Undefined.gif'\" />" + db.FileName); } this.Pub1.AddTD(db.FileSize); this.Pub1.AddTD(db.RDT); this.Pub1.AddTD(db.RecName); //输出操作部分. this.Pub1.AddTDBegin(); if (athDesc.IsDownload) { this.Pub1.Add("<a href=\"javascript:Down('" + this.FK_FrmAttachment + "','" + this.PKVal + "','" + db.MyPK + "')\">下载</a>"); } if (this.IsReadonly != "1") { string op = null; if (isDel == true) { if (athDesc.IsDelete == true) { op = " <a href=\"javascript:Del('" + this.FK_FrmAttachment + "','" + this.PKVal + "','" + db.MyPK + "')\">删除</a>"; } else if (athDesc.IsDeleteInt == 2) { if (db.Rec.Equals(WebUser.No)) { op = " <a href=\"javascript:Del('" + this.FK_FrmAttachment + "','" + this.PKVal + "','" + db.MyPK + "')\">删除</a>"; } } } this.Pub1.Add(op); } this.Pub1.AddTDEnd(); this.Pub1.AddTREnd(); } if (i == 0) { this.Pub1.AddTR(); this.Pub1.AddTD("0"); if (athDesc.Sort.Contains(",")) { this.Pub1.AddTD("  "); } this.Pub1.AddTD("style='width:100px'", "<span style='color:red;' >上传附件</span>"); this.Pub1.AddTD("  "); this.Pub1.AddTD("  "); this.Pub1.AddTD("  "); this.Pub1.AddTD("  "); this.Pub1.AddTREnd(); } AddFileUpload(isUpdate, athDesc); this.Pub1.AddTableEnd(); #endregion 生成表头表体. }
/// <summary> /// 添加图片 /// </summary> private void RenderPic(string type) { #region 处理权限控制. BP.Sys.FrmAttachment athDesc = new BP.Sys.FrmAttachment(); athDesc.MyPK = this.FK_FrmAttachment; if (this.FK_Node == null || this.FK_Flow == null) { athDesc.RetrieveFromDBSources(); } else { #region 判断是否可以查询出来,如果查询不出来,就可能是公文流程。 athDesc.MyPK = this.FK_FrmAttachment; if (athDesc.RetrieveFromDBSources() == 0 && string.IsNullOrEmpty(this.FK_Flow) == false) { /*如果没有查询到它,就有可能是公文多附件被删除了.*/ athDesc.MyPK = this.FK_FrmAttachment; athDesc.NoOfObj = "DocMultiAth"; athDesc.FK_MapData = this.FK_MapData; athDesc.Exts = "*.*"; //存储路径. string path = Server.MapPath("/DataUser/UploadFile/"); path += "\\F" + this.FK_Flow + "MultiAth"; athDesc.SaveTo = path; athDesc.IsNote = false; //不显示note字段. //位置. athDesc.X = (float)94.09; athDesc.Y = (float)333.18; athDesc.W = (float)626.36; athDesc.H = (float)150; //多附件. athDesc.UploadType = AttachmentUploadType.Multi; athDesc.Name = "公文多附件(系统自动增加)"; athDesc.SetValByKey("AtPara", "@IsWoEnablePageset=1@IsWoEnablePrint=1@IsWoEnableViewModel=1@IsWoEnableReadonly=0@IsWoEnableSave=1@IsWoEnableWF=1@IsWoEnableProperty=1@IsWoEnableRevise=1@IsWoEnableIntoKeepMarkModel=1@FastKeyIsEnable=0@IsWoEnableViewKeepMark=1@FastKeyGenerRole=@IsWoEnableTemplete=1"); athDesc.Insert(); //有可能在其其它的节点上没有这个附件,所以也要循环增加上它. BP.WF.Nodes nds = new BP.WF.Nodes(this.FK_Flow); foreach (BP.WF.Node nd in nds) { athDesc.FK_MapData = "ND" + nd.NodeID; athDesc.MyPK = athDesc.FK_MapData + "_" + athDesc.NoOfObj; if (athDesc.IsExits == true) { continue; } athDesc.Insert(); } //重新查询一次,把默认值加上. athDesc.RetrieveFromDBSources(); } #endregion 判断是否可以查询出来,如果查询不出来,就可能是公文流程。 #region 处理权限方案。 /*首先判断是否具有权限方案*/ string at = BP.Sys.SystemConfig.AppCenterDBVarStr; Paras ps = new BP.DA.Paras(); ps.SQL = "SELECT FrmSln FROM WF_FrmNode WHERE FK_Node=" + at + "FK_Node AND FK_Flow=" + at + "FK_Flow AND FK_Frm=" + at + "FK_Frm"; ps.Add("FK_Node", this.FK_Node); ps.Add("FK_Flow", this.FK_Flow); ps.Add("FK_Frm", this.FK_MapData); DataTable dt = DBAccess.RunSQLReturnTable(ps); if (dt.Rows.Count == 0) { athDesc.RetrieveFromDBSources(); } else { int sln = int.Parse(dt.Rows[0][0].ToString()); if (sln == 0) { athDesc.RetrieveFromDBSources(); } else { int result = athDesc.Retrieve(FrmAttachmentAttr.FK_MapData, this.FK_MapData, FrmAttachmentAttr.FK_Node, this.FK_Node, FrmAttachmentAttr.NoOfObj, this.Ath); if (result == 0) /*如果没有定义,就获取默认的.*/ { athDesc.RetrieveFromDBSources(); } // throw new Exception("@该流程表单在该节点("+this.FK_Node+")使用的是自定义的权限控制,但是没有定义该附件的权限。"); } } #endregion 处理权限方案。 } #endregion 处理权限控制. BP.Sys.FrmAttachmentDBs dbs = LoadAttach(athDesc); this.Pub1.AddTable("style='width:100%;overflow:hidden;padding:0px;margin:0px;display:block;'"); int idx = 0; bool isHave = false; bool isRedirect = false; int count = 0; foreach (FrmAttachmentDB db in dbs) { if (!DataType.IsImgExt(db.FileExts)) { continue; } if (!string.IsNullOrEmpty(type)) { int updateIdx = int.Parse(this.Request.QueryString["Idx"]); if (type.Equals("UP")) { if (db.Idx == updateIdx) { db.Idx = updateIdx - 1; db.Update(); } else if (db.Idx == updateIdx - 1) { db.Idx = updateIdx; db.Update(); } } else if (type.Equals("DOWN")) { if (db.Idx == updateIdx) { db.Idx = updateIdx + 1; db.Update(); } else if (db.Idx == updateIdx + 1) { db.Idx = updateIdx; db.Update(); } } } if (db.Idx != 0) { isHave = true; } count++; } if (!string.IsNullOrEmpty(type)) { dbs = LoadAttach(athDesc); } foreach (FrmAttachmentDB db in dbs) { if (!DataType.IsImgExt(db.FileExts)) { continue; } this.Pub1.AddTR(); if (!athDesc.SaveTo.EndsWith("/")) { athDesc.SaveTo += "/"; } //s image.ImageUrl = athDesc.SaveTo + this.WorkID + "/" + db.MyPK + "." + db.FileName; // this.Pub1.AddTD("style='width:80%;margin-left:5%;display:block;text-align:center;overflow:scroll' align='center' valign='middle'" ,image); this.Pub1.AddTDBegin(); this.Pub1.Add("<div style='width:80%;margin:0 auto;'>"); // image.Attributes["style"]="width:800px;heght:600px;"; string url = athDesc.SaveTo + this.WorkID + "/" + db.MyPK + "." + db.FileName; // url = ""; this.Pub1.Add("<img src='" + url + "' border=0 />"); this.Pub1.Add("</div>"); this.Pub1.AddTDEnd(); if (athDesc.IsOrder && count > 1) { this.Pub1.AddTR(); idx++; if (db.Idx == 0) { if (isHave) { db.Idx = count - idx + 1; db.Update(); } else { db.Idx = idx; db.Update(); } isRedirect = true; } this.Pub1.AddTDBegin(); this.Pub1.Add("<div style='width:80%;margin:0 auto;text-align:center;'>"); if (idx == count) { this.Pub1.Add(db.FileName + " <a href='FilesView.aspx?DoType=UP&Idx=" + idx + "&DelPKVal=" + db.MyPK + "&FK_FrmAttachment=" + this.FK_FrmAttachment + "&PKVal=" + this.PKVal + "&FK_Flow=" + this.FK_Flow + "&FK_Node=" + this.FK_Node + "&WorkID=" + this.WorkID + "&FK_FrmAttachmentExt=" + this.FK_FrmAttachmentExt + "&IsCC=" + this.IsCC + "&Ath=" + this.Ath + "'>上移</a> <a href='FilesView.aspx?DoType=ViewPic&DelPKVal=" + db.MyPK + "' target='_balnk'>查看原图</a>"); } else if (idx == 1) { this.Pub1.Add(db.FileName + " <a href='FilesView.aspx?DoType=DOWN&Idx=" + idx + "&DelPKVal=" + db.MyPK + "&FK_FrmAttachment=" + this.FK_FrmAttachment + "&PKVal=" + this.PKVal + "&FK_Flow=" + this.FK_Flow + "&FK_Node=" + this.FK_Node + "&WorkID=" + this.WorkID + "&FK_FrmAttachmentExt=" + this.FK_FrmAttachmentExt + "&IsCC=" + this.IsCC + "&Ath=" + this.Ath + "'>下移</a> <a href='FilesView.aspx?DoType=ViewPic&DelPKVal=" + db.MyPK + "' target='_balnk'>查看原图</a>"); } else { this.Pub1.Add(db.FileName + " <a href='FilesView.aspx?DoType=UP&Idx=" + idx + "&DelPKVal=" + db.MyPK + "&FK_FrmAttachment=" + this.FK_FrmAttachment + "&PKVal=" + this.PKVal + "&FK_Flow=" + this.FK_Flow + "&FK_Node=" + this.FK_Node + "&WorkID=" + this.WorkID + "&FK_FrmAttachmentExt=" + this.FK_FrmAttachmentExt + "&IsCC=" + this.IsCC + "&Ath=" + this.Ath + "'>上移</a> <a href='FilesView.aspx?DoType=DOWN&Idx=" + idx + "&DelPKVal=" + db.MyPK + "&FK_FrmAttachment=" + this.FK_FrmAttachment + "&PKVal=" + this.PKVal + "&FK_Flow=" + this.FK_Flow + "&FK_Node=" + this.FK_Node + "&WorkID=" + this.WorkID + "&FK_FrmAttachmentExt=" + this.FK_FrmAttachmentExt + "&IsCC=" + this.IsCC + "&Ath=" + this.Ath + "'>下移</a> <a href='FilesView.aspx?DoType=ViewPic&DelPKVal=" + db.MyPK + "' target='_balnk'>查看原图</a>"); } this.Pub1.Add("</div>"); this.Pub1.AddTDEnd(); this.Pub1.AddTREnd(); } else { this.Pub1.AddTR(); this.Pub1.Add("<div style='width:80%;margin:0 auto;text-align:center'>"); this.Pub1.AddTDBegin(); this.Pub1.Add(db.FileName); this.Pub1.Add("</div>"); this.Pub1.AddTDEnd(); this.Pub1.AddTREnd(); } this.Pub1.AddTREnd(); } this.Pub1.AddTableEnd(); if (isRedirect) { this.Response.Redirect(this.Request.RawUrl, true); } }