From 57a4adcd9e5aa019b43a21568f5bab7b0569a167 Mon Sep 17 00:00:00 2001 From: fei550 <1420031550@qq.com> Date: Tue, 12 Nov 2024 17:56:01 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=9D=90=E6=96=99=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=AF=BC=E5=85=A5=E5=A2=9E=E5=8A=A0=E5=BA=8F=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/SGGL_SeDin_New/v17/.wsuo | Bin 64000 -> 66048 bytes DataBase/版本日志/SGGLDB_V2024-11-12.sql | 3 ++ SGGL/BLL/CLGL/TwConst.cs | 4 +-- SGGL/BLL/CLGL/TwInOutplandetailService.cs | 8 ++++- SGGL/BLL/CLGL/TwInOutplanmasterService.cs | 2 ++ SGGL/BLL/CLGL/TwInputdetailService.cs | 19 +++++++++++ SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx | 13 ++++++-- SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs | 11 +++++-- .../CLGL/InPlanMaster.aspx.designer.cs | 9 ++++++ SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx | 4 +-- SGGL/FineUIPro.Web/CLGL/InputMaster.aspx | 2 +- SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs | 30 ++++++++++++------ SGGL/FineUIPro.Web/CLGL/MaterialStock.aspx | 2 +- SGGL/FineUIPro.Web/CLGL/OutPlanMaster.aspx | 2 +- SGGL/FineUIPro.Web/CLGL/OutputMaster.aspx | 2 +- .../File/Fastreport/材料入库计划单.frx | 8 ++--- SGGL/Model/Model.cs | 24 ++++++++++++++ 17 files changed, 115 insertions(+), 28 deletions(-) create mode 100644 DataBase/版本日志/SGGLDB_V2024-11-12.sql diff --git a/.vs/SGGL_SeDin_New/v17/.wsuo b/.vs/SGGL_SeDin_New/v17/.wsuo index a6886c552170002e0ece760cd7229e6f0c330709..ab83a5a77d72d789b52a7c0165e069c984221f84 100644 GIT binary patch delta 1939 zcmds0L2MI86rEYtV3xIs;~0Wj949zwO6{;4ubs7_WeEY&AVDf8sw3jc-VoZVRF+yB zr9`4>iquOg!G11C9MaH34n3f3)kB3;tI45KY00ezs;UBsW1*4*%>mLs#-@vKTeYXE zt9_dJZ~pxG@6Vs9^17*W{MA#OTR*q!^lkMf4G{diaE3cWkH8AI=91A~f0VI=Yy!%+ zJnzAogm5CZA~qsK#G|!8J~!F|?00xuT{vU>3pS6&D%XNzJ9=$(b>QqdL?>b!e8PK0 zKhA3LtP&rlp7(7GTX_TzY2F=-*H1iRPrMeW0Yf}wTdPD(h6j__zJEQgHY2=<4G8A7 z8Ap5SO=#DmvGK2^_$pGi*!EPUxSo;%RM-v;f)gZRwn3?$%g$zi>p~wr2)_zmIsmPk zZkocizx7#gFRc^VEit()Nw}~%1m$f*@QoCvFGI2EdsyTYkU1VEeAh*$cc;zODr{M% z&jhdv%`?;t6=**cLn&v_wt*go6{J|Lo*Y+bpE0FH7YQL*E862cq-9v*WU;-vfCDju z6Li{oFE~J5B#bs|ty(0dwikGRVi;6QL?a2=Fd_*f zchblyJw~@0s}t00DM2ZqLn+e<+?&m2+Z&x-WQ@Fvr)CkC$w87NqvQZNN*e@Nav^FHKv^S(%!Rec}#uti2ajO?n85jcYUtMQ;lFy)u}uiO@Zf*DM^foF>(;9Q3i?Rtik_z6841CO zQR#|)oSGwg)%+In8P5jRxp|U@k1`2I`UbvtaJ20)U(;b~^e*hqc$^gyouEIXRl09J zgWdP<8*wh%JNN0p!W}-Lml+<9S|t@(kW;iI}Se^Zs6}r z@OgIBd`p1Y&pP0XcN(bxO7VdCT>$R=*aW2qeX#V^S@U%#y!4;}zMj+}dp~Vm443&QWE4~Dlzeb ziR@hTrpUo~GVH||4^7~pLPSp-Jo^)4f`^hojNnXRr2$1RI?3#NZ|0l#X6AkSVmH;X zMB0;!oIb{%eetFG9V=F;RB;mwa)YcH=DB5EH5$@e@q=OnrnWkBaJGz6fFqA;Ld`<0 zMAe}#p-+orA!;@>XttSiaYhm3A+h4R3_V+P19dKMz!_m&ILdLggR!NN z_FRd(sK4^Q_m?ROsVPz@i4nuU8n2Sll)x) zdC3CItFh|};GY|4XGJ}Tg6XXNkjOG*9#}mVE1i}87C5e-OyemrrDHIXW6SoUfi49F zma7|i%3i6I0IU)EUCYc3{X$UdL=*wYp%HN5f<eMRS4gT+Z_Wq5-OHUtT7z&7?*!Yn?29JVWFchkjI{x`x$VfW| z@h%a>&Ny5RZ-vhAM_NA=k1=@LWrMNqDVRGh!sQ-gMtCMkLAcdZD^=OyQ&0F05R30b zFto2d5NtegG!zImv~~ym{)633=SCy@Mn7<)W6cm5$d~iKe$LcfrxwVXg>UQ!Qz91( diff --git a/DataBase/版本日志/SGGLDB_V2024-11-12.sql b/DataBase/版本日志/SGGLDB_V2024-11-12.sql new file mode 100644 index 00000000..6e22e7d1 --- /dev/null +++ b/DataBase/版本日志/SGGLDB_V2024-11-12.sql @@ -0,0 +1,3 @@ +alter table dbo.Tw_InOutPlanDetail + add SortIndex int +go \ No newline at end of file diff --git a/SGGL/BLL/CLGL/TwConst.cs b/SGGL/BLL/CLGL/TwConst.cs index 11f0e9a2..f597baa5 100644 --- a/SGGL/BLL/CLGL/TwConst.cs +++ b/SGGL/BLL/CLGL/TwConst.cs @@ -45,8 +45,8 @@ namespace BLL }; public static Dictionary PlanPrintMap = new Dictionary { - { "采购通知单" ,(int)TypeInt.采购入库}, - { "退料通知单" ,(int)TypeInt.退料入库}, + { "采购入库申请单" ,(int)TypeInt.采购入库}, + { "退料入库申请单" ,(int)TypeInt.退料入库}, { "其他入库通知单" ,(int)TypeInt.其他入库}, { "材料领用申请单" ,(int)TypeInt.领料出库}, { "补料申请单" ,(int)TypeInt.补料出库}, diff --git a/SGGL/BLL/CLGL/TwInOutplandetailService.cs b/SGGL/BLL/CLGL/TwInOutplandetailService.cs index 45998070..209b4374 100644 --- a/SGGL/BLL/CLGL/TwInOutplandetailService.cs +++ b/SGGL/BLL/CLGL/TwInOutplandetailService.cs @@ -37,6 +37,7 @@ namespace BLL (string.IsNullOrEmpty(table.InOutPlanMasterId) || x.InOutPlanMasterId.Contains(table.InOutPlanMasterId)) && (string.IsNullOrEmpty(table.PipelineComponentId) || x.PipelineComponentId.Contains(table.PipelineComponentId)) && (string.IsNullOrEmpty(table.MaterialCode) || x.MaterialCode.Contains(table.MaterialCode)) + orderby x.SortIndex select new Model.Tw_InOutDetailOutput { Id = x.Id, @@ -49,7 +50,7 @@ namespace BLL MaterialName = mat.MaterialName, MaterialDef= mat.MaterialDef, StockNum = stock.StockNum ?? 0, - } + } ; return q; @@ -94,6 +95,7 @@ namespace BLL MaterialCode = newtable.MaterialCode, PlanNum = newtable.PlanNum, ActNum = newtable.ActNum, + SortIndex = newtable.SortIndex }; Funs.DB.Tw_InOutPlanDetail.InsertOnSubmit(table); Funs.DB.SubmitChanges(); @@ -106,11 +108,14 @@ namespace BLL /// public static void AddList(IEnumerable list, string inoutPlanMasterId) { + int sortIndex = 1; foreach (var item in list) { item.Id= SQLHelper.GetNewID(); + item.SortIndex= sortIndex; item.InOutPlanMasterId = inoutPlanMasterId; Add(item); + sortIndex++; } } public static void Update(Model.Tw_InOutPlanDetail newtable) @@ -125,6 +130,7 @@ namespace BLL table.MaterialCode = newtable.MaterialCode; table.PlanNum = newtable.PlanNum; table.ActNum = newtable.ActNum; + table.SortIndex= newtable.SortIndex; Funs.DB.SubmitChanges(); } diff --git a/SGGL/BLL/CLGL/TwInOutplanmasterService.cs b/SGGL/BLL/CLGL/TwInOutplanmasterService.cs index c0dff8e3..6a19976b 100644 --- a/SGGL/BLL/CLGL/TwInOutplanmasterService.cs +++ b/SGGL/BLL/CLGL/TwInOutplanmasterService.cs @@ -43,6 +43,7 @@ namespace BLL from warehouseperson in warehousepersons.DefaultIfEmpty() join unit in Funs.DB.Base_Unit on x.ReqUnitId equals unit.UnitId into units from unit in units.DefaultIfEmpty() + orderby x.CreateDate descending where (string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) && (string.IsNullOrEmpty(table.ProjectId) || x.ProjectId.Contains(table.ProjectId)) && @@ -157,6 +158,7 @@ namespace BLL var result = q.Skip(grid1.PageSize * grid1.PageIndex).Take(grid1.PageSize).ToList(); // q = SortConditionHelper.SortingAndPaging(q, Grid1.SortField, Grid1.SortDirection, Grid1.PageIndex, Grid1.PageSize); return from x in result + select new Model.Tw_InOutMasterOutput { Id = x.Id, diff --git a/SGGL/BLL/CLGL/TwInputdetailService.cs b/SGGL/BLL/CLGL/TwInputdetailService.cs index 2b8ec442..eef2c6e9 100644 --- a/SGGL/BLL/CLGL/TwInputdetailService.cs +++ b/SGGL/BLL/CLGL/TwInputdetailService.cs @@ -121,5 +121,24 @@ namespace BLL } + public static IEnumerable GePrintListByInputMasterIds(List inputMasterIds) + { + var q = from x in Funs.DB.Tw_InputDetail + join mat in Funs.DB.HJGL_MaterialCodeLib on x.MaterialCode equals mat.MaterialCode into mm + from mat in mm.DefaultIfEmpty() + join y in Funs.DB.Tw_InputMaster on x.InputMasterId equals y.Id + where inputMasterIds.Contains(x.InputMasterId) + orderby y.CusBillCode , x.MaterialCode + select new + { + 入库单编号 = y.CusBillCode, + 材料编码 = x.MaterialCode, + 材料名称 = mat.MaterialName, + 材料描述 = mat.MaterialDef, + 计划数量 = x.PlanNum, + 实际数量 = x.ActNum, + }; + return q; + } } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx index 40b7dcee..aaa8e40c 100644 --- a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx +++ b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx @@ -143,7 +143,14 @@ runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true" ClicksToEdit="2" DataIDField="Id" AllowSorting="true" SortField="MaterialCode" SortDirection="DESC" EnableColumnLines="true" - AllowPaging="true" IsDatabasePaging="true" PageSize="10000" > + AllowPaging="true" IsDatabasePaging="true" PageSize="10000" EnableTextSelection="True" > + + + + + + + @@ -151,8 +158,8 @@ - + diff --git a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs index 92ea05c1..74e95519 100644 --- a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs +++ b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs @@ -80,6 +80,7 @@ namespace FineUIPro.Web.CLGL { Model.Tw_InOutDetailOutput table = new Model.Tw_InOutDetailOutput(); table.InOutPlanMasterId = inOutPlanMasterId; + table.MaterialCode = txtMaterialCode.Text; var tb = BLL.TwInOutplandetailService.GetListData(table, Grid2); Grid2.DataSource = tb; Grid2.DataBind(); @@ -329,7 +330,6 @@ namespace FineUIPro.Web.CLGL this.btnMenuEdit.Hidden = false; this.btnGenInMaster.Hidden = false; this.btnRevokeGenInMaster.Hidden = false; - this.btnPassMaster.Hidden = false; } if (buttonList.Contains(BLL.Const.BtnDelete)) { @@ -438,8 +438,8 @@ namespace FineUIPro.Web.CLGL AuditDate = string.Format("{0:yyyy-MM-dd}", result.AuditDate), AuditManName2 = !string.IsNullOrEmpty(result.AuditMan2) ? BLL.Person_PersonsService.getSignatureUrl(result.AuditMan2) : "", AuditDate2 = string.Format("{0:yyyy-MM-dd}", result.AuditDate2), - WarehouseManName = !string.IsNullOrEmpty(result.WarehouseMan) ? BLL.Person_PersonsService.getSignatureUrl(result.WarehouseMan) : "", - WarehouseManAuditDate = string.Format("{0:yyyy-MM-dd}", result.WarehouseDate), + WarehouseManName = !string.IsNullOrEmpty(result.CreateManName) ? BLL.Person_PersonsService.getSignatureUrl(result.CreateManName) : "", + WarehouseManAuditDate = string.Format("{0:yyyy-MM-dd}", result.CreateDate), }; tw_PrintMasters.Add(printMaster); // orderApproveIn.ProjectManager = !string.IsNullOrEmpty(approveManModels.InputApproveMan.ProjectManager) ? BLL.Person_PersonsService.getSignatureUrl(approveManModels.InputApproveMan.ProjectManager) : ""; @@ -479,6 +479,7 @@ namespace FineUIPro.Web.CLGL var tw_PrintDetail = ( from x in Funs.DB.Tw_InOutPlanDetail join y in Funs.DB.HJGL_MaterialCodeLib on x.MaterialCode equals y.MaterialCode where x.InOutPlanMasterId==Id + orderby x.SortIndex select new Model.Tw_PrintDetail { SortIndex =0, @@ -518,5 +519,9 @@ namespace FineUIPro.Web.CLGL } } + protected void txtMaterialCode_OnTextChanged(object sender, EventArgs e) + { + BindDetailGrid(Grid1.SelectedRowID); + } } } \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.designer.cs b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.designer.cs index 0148b89c..401d9af5 100644 --- a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.designer.cs @@ -221,6 +221,15 @@ namespace FineUIPro.Web.CLGL /// protected global::FineUIPro.Grid Grid2; + /// + /// txtMaterialCode 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtMaterialCode; + /// /// Label1 控件。 /// diff --git a/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx b/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx index 9e9723ed..aa49ef31 100644 --- a/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx +++ b/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx @@ -17,7 +17,7 @@
- @@ -54,7 +54,7 @@ - diff --git a/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx b/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx index d4383db6..f6ec52fc 100644 --- a/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx +++ b/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx @@ -38,7 +38,7 @@ diff --git a/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs b/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs index ae32704b..9902df49 100644 --- a/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs +++ b/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs @@ -1,4 +1,5 @@ using BLL; +using MiniExcelLibs; using Model; using System; using System.Collections.Generic; @@ -243,15 +244,26 @@ namespace FineUIPro.Web.CLGL /// protected void btnOut_Click(object sender, EventArgs e) { - Response.ClearContent(); - string filename = Funs.GetNewFileName(); - Response.AddHeader("content-disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode("出入库计划主表" + filename, System.Text.Encoding.UTF8) + ".xls"); - Response.ContentType = "application/excel"; - Response.ContentEncoding = System.Text.Encoding.UTF8; - this.Grid1.PageSize = 500; - this.BindGrid(); - Response.Write(GetGridTableHtml(Grid1)); - Response.End(); + if (Grid1.SelectedRowIDArray.Length>0) + { + var printModel= TwInputdetailService.GePrintListByInputMasterIds(Grid1.SelectedRowIDArray.ToList()); + string path = Funs.RootPath + @"File\Excel\Temp\InputDetail.xlsx"; + path = path.Replace(".xlsx", string.Format("{0:yyyy-MM-dd-HH-mm}", DateTime.Now) + ".xlsx"); + + MiniExcel.SaveAs(path, printModel); + + string fileName = "入库明细表.xlsx"; + FileInfo info = new FileInfo(path); + long fileSize = info.Length; + System.Web.HttpContext.Current.Response.Clear(); + System.Web.HttpContext.Current.Response.ContentType = "application/x-zip-compressed"; + System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8)); + System.Web.HttpContext.Current.Response.AddHeader("Content-Length", fileSize.ToString()); + System.Web.HttpContext.Current.Response.TransmitFile(path, 0, fileSize); + System.Web.HttpContext.Current.Response.Flush(); + System.Web.HttpContext.Current.Response.Close(); + File.Delete(path); + } } /// diff --git a/SGGL/FineUIPro.Web/CLGL/MaterialStock.aspx b/SGGL/FineUIPro.Web/CLGL/MaterialStock.aspx index 32fb161f..1369d55e 100644 --- a/SGGL/FineUIPro.Web/CLGL/MaterialStock.aspx +++ b/SGGL/FineUIPro.Web/CLGL/MaterialStock.aspx @@ -35,7 +35,7 @@ runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true" ClicksToEdit="2" DataIDField="Id" AllowSorting="true" SortField="Id" SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" EnableTextSelection="True" - AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" > + AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" EnableTextSelection="True"> diff --git a/SGGL/FineUIPro.Web/CLGL/OutPlanMaster.aspx b/SGGL/FineUIPro.Web/CLGL/OutPlanMaster.aspx index e655fdb0..a308f150 100644 --- a/SGGL/FineUIPro.Web/CLGL/OutPlanMaster.aspx +++ b/SGGL/FineUIPro.Web/CLGL/OutPlanMaster.aspx @@ -165,7 +165,7 @@ diff --git a/SGGL/FineUIPro.Web/CLGL/OutputMaster.aspx b/SGGL/FineUIPro.Web/CLGL/OutputMaster.aspx index c2fdb37c..c3d6af57 100644 --- a/SGGL/FineUIPro.Web/CLGL/OutputMaster.aspx +++ b/SGGL/FineUIPro.Web/CLGL/OutputMaster.aspx @@ -158,7 +158,7 @@ <%-- - + using System; using System.Collections; using System.Collections.Generic; @@ -84,7 +84,7 @@ namespace FastReport } - + @@ -149,12 +149,12 @@ namespace FastReport - + - + diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs index 563f6c49..041b19b4 100644 --- a/SGGL/Model/Model.cs +++ b/SGGL/Model/Model.cs @@ -259100,6 +259100,8 @@ namespace Model private System.Nullable _ActNum; + private System.Nullable _SortIndex; + #region 可扩展性方法定义 partial void OnLoaded(); partial void OnValidate(System.Data.Linq.ChangeAction action); @@ -259116,6 +259118,8 @@ namespace Model partial void OnPlanNumChanged(); partial void OnActNumChanging(System.Nullable value); partial void OnActNumChanged(); + partial void OnSortIndexChanging(System.Nullable value); + partial void OnSortIndexChanged(); #endregion public Tw_InOutPlanDetail() @@ -259243,6 +259247,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SortIndex", DbType="Int")] + public System.Nullable SortIndex + { + get + { + return this._SortIndex; + } + set + { + if ((this._SortIndex != value)) + { + this.OnSortIndexChanging(value); + this.SendPropertyChanging(); + this._SortIndex = value; + this.SendPropertyChanged("SortIndex"); + this.OnSortIndexChanged(); + } + } + } + public event PropertyChangingEventHandler PropertyChanging; public event PropertyChangedEventHandler PropertyChanged; From e8b7b0404bf331c3051ecde5dc7f636585d732c9 Mon Sep 17 00:00:00 2001 From: fei550 <1420031550@qq.com> Date: Tue, 12 Nov 2024 17:59:18 +0800 Subject: [PATCH 2/7] 1 --- SGGL/FineUIPro.Web/CLGL/MaterialStock.aspx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SGGL/FineUIPro.Web/CLGL/MaterialStock.aspx b/SGGL/FineUIPro.Web/CLGL/MaterialStock.aspx index 1369d55e..ec77b46a 100644 --- a/SGGL/FineUIPro.Web/CLGL/MaterialStock.aspx +++ b/SGGL/FineUIPro.Web/CLGL/MaterialStock.aspx @@ -35,7 +35,7 @@ runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true" ClicksToEdit="2" DataIDField="Id" AllowSorting="true" SortField="Id" SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" EnableTextSelection="True" - AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" EnableTextSelection="True"> + AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange"> From 02ebf92623889a002ef499fa224e4e1749aa0bfb Mon Sep 17 00:00:00 2001 From: fei550 <1420031550@qq.com> Date: Tue, 12 Nov 2024 18:05:37 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E5=85=A5=E5=BA=93=E7=94=B3=E8=AF=B7?= =?UTF-8?q?=E5=8D=95=E6=89=93=E5=8D=B0=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs index 74e95519..22f05340 100644 --- a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs +++ b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.cs @@ -438,7 +438,7 @@ namespace FineUIPro.Web.CLGL AuditDate = string.Format("{0:yyyy-MM-dd}", result.AuditDate), AuditManName2 = !string.IsNullOrEmpty(result.AuditMan2) ? BLL.Person_PersonsService.getSignatureUrl(result.AuditMan2) : "", AuditDate2 = string.Format("{0:yyyy-MM-dd}", result.AuditDate2), - WarehouseManName = !string.IsNullOrEmpty(result.CreateManName) ? BLL.Person_PersonsService.getSignatureUrl(result.CreateManName) : "", + WarehouseManName = !string.IsNullOrEmpty(result.CreateManName) ? BLL.Person_PersonsService.getSignatureUrl(result.CreateMan) : "", WarehouseManAuditDate = string.Format("{0:yyyy-MM-dd}", result.CreateDate), }; tw_PrintMasters.Add(printMaster); From edb2e10e698003fbf13926058686e1238a763061 Mon Sep 17 00:00:00 2001 From: fei550 <1420031550@qq.com> Date: Thu, 14 Nov 2024 16:27:15 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=8D=95=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=8C=E5=A2=9E=E5=8A=A0=E5=85=A5=E5=BA=93=E6=98=8E?= =?UTF-8?q?=E7=BB=86=E5=BA=8F=E5=8F=B7=EF=BC=8C=E4=BF=AE=E6=94=B9=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E5=8D=95=E6=89=93=E5=8D=B0=E6=A8=A1=E6=9D=BF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/SGGL_SeDin_New/v17/.wsuo | Bin 66048 -> 65536 bytes DataBase/版本日志/SGGLDB_V2024-11-14.sql | 6 + SGGL/BLL/CLGL/TwInOutplandetailService.cs | 2 +- SGGL/BLL/CLGL/TwInputdetailService.cs | 8 +- SGGL/BLL/CLGL/TwInputmasterService.cs | 1 + SGGL/BLL/CLGL/TwOutputdetailService..cs | 2 +- SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx | 4 +- .../CLGL/InPlanMaster.aspx.designer.cs | 9 - SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx | 7 +- .../CLGL/InPlanMasterEdit.aspx.designer.cs | 9 + SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs | 5 +- .../File/Fastreport/材料入库单.frx | 6 +- .../File/Fastreport/材料入库计划单.frx | 4 +- .../Word/PHTGL/施工招标实施计划审批表.docx | Bin 25588 -> 25775 bytes .../ActionPlanFormationEdit.aspx | 2 +- SGGL/Model/Model.cs | 290 ++++++++++-------- 16 files changed, 198 insertions(+), 157 deletions(-) create mode 100644 DataBase/版本日志/SGGLDB_V2024-11-14.sql diff --git a/.vs/SGGL_SeDin_New/v17/.wsuo b/.vs/SGGL_SeDin_New/v17/.wsuo index ab83a5a77d72d789b52a7c0165e069c984221f84..b1a523605bb026c0830a4961ec6e3424b769315f 100644 GIT binary patch delta 1929 zcmdT^UrbwN6z{paw{+cY3uQo|Wq>OKr59Vk(kAFiVYE834l9mLDz>F0i_xg*O>htE z4KXosn7Dg<*@G{QS@tI3zWJ~;(MNt5%%=; zx|_7^Mnw#O<8l+di#13$?A;nZ*xnW_*=XBebewr7TYQ+n9#imwhb%SGPNN;5n>1OE7?{ zs{}5i>beaw$CX1tuGaCY%a1!v-VF(Tg}Ncv?SScyD~`XQSiWcLIM* z6|QXi9 zd?c4uvW1DLG7-+bq(lqZyt0!`;wvyxtn zFC^2aR?aOZ7pKoGrxS_!<++RH6M`O`mARKY31${y2Gw94La2sH(u<@B{vVyw`}b0q z!ddUUnZAL8(r45LUjzJ3pkxnyVTk^d-~fK>_$fEzg2lnjazxmk`hI_pNnu(jW3BhJ z%;msIF}E4TW1B$x%5kwAx0mOv7<=7nSl=iE-bi~;3j~da>2($^;H~s4dLZ_U>*yX< zE@)WcVmhxiYKyrI+<5EevnVj*ex?PE?yFKNZ9J5DnI8!Y&Ss`s8fA;0W}^D&@WEyI wwNTE*@uLUJc=lbl@&0u^q2KcvzCZ6m`B!=SkyXI$VyEGIbQj<RdfU)0n2khvkQ!VQ zJF+~vnk;j?#6%NqHa;rJ#Ki22_44GB>?S@KK>%j{MziScRUq+kB? zpYzSR{O9~rRprzbZY{+U4m#L2tFqGj^3U>5#Kqv#2$$GPBnf48tHbA>zzglp@u zq0NafBbpJ%5CURn_uga0Jr7e{V}}JLs_&~}H0R)g&u@$PUl(hr5$pohVvAx|AJUaVYXsO3HZ__vSoEtURVAyng_yM#!5RHgh1ZCCX zTAgNM+q@B#t|ck(S1Z}PZ+w@sqZzxdEcgH-6U=(TMMKU@^u9* z%IRBm>qMZ_NIQ#_?80iZ#}vek0NafdFy7iv9@Fzp6GWi%NIPk;VADP+&{n&vm5Ww& zUkuo4P8|rLFFM{NT0`7I==jsIHQbVM$Twun?bWI=D5Hvw(p}aN%ErEEU+*yFlPA6P-%P``WNfT_hB;XrXGMz;7GQ86I9mHz_uyi~n^rME(li}Xf ziyI!c!%4w}61`G}Nnea$=3;eVdI*NOI7Py3R>FjgpK#L3vH%$bPf7b9ZiRY?lYZm@US{)s<#{1d57k@*nN_@z`TS}XAmFYt&A|w z;2nLOd28wg|Jo0_{rXJ**6F$Tm-SmYk!Zam!ox_U-;=wYdKB`#yTlLqzJh504I*s! zBrMFo;r(CFsTgFn;3BDmeDE?!>D$2@?18IGf_i!A1|c!{DjKb&y+^>8(Xg&4DiQqC znMtY~jb|qH^T>0~b`Njtog>;pAv26H+DYMO&@r(!kF zqTgfbVR$1QBn1Cl?G<(@JrA#+wS#hYS!dIq5V)9e(4ni}`P!Ab_TlWO@3}U@DdyI7 z4F~2vo@NzpdRpMeCw{HL(}H+*2-GK4U3n^o_vy~|=@OLA;ozTNfCaCuh92`}?~v)- zO&%qa>k;kz27GoxLDneFoUv({1#J>Ta`!AOO diff --git a/DataBase/版本日志/SGGLDB_V2024-11-14.sql b/DataBase/版本日志/SGGLDB_V2024-11-14.sql new file mode 100644 index 00000000..dbcdb6be --- /dev/null +++ b/DataBase/版本日志/SGGLDB_V2024-11-14.sql @@ -0,0 +1,6 @@ + +alter table dbo.Tw_InputDetail + add SortIndex int +go + +update PHTGL_ActionPlanFormation_Sch1 set PlanningContent='分包商资质标准' where ActionPlanItemID='ACBF5487-0C83-4E91-847F-B5BB3F59968A' diff --git a/SGGL/BLL/CLGL/TwInOutplandetailService.cs b/SGGL/BLL/CLGL/TwInOutplandetailService.cs index 209b4374..5d419c90 100644 --- a/SGGL/BLL/CLGL/TwInOutplandetailService.cs +++ b/SGGL/BLL/CLGL/TwInOutplandetailService.cs @@ -30,7 +30,7 @@ namespace BLL from mat in mm.DefaultIfEmpty() join master in Funs.DB.Tw_InOutPlanMaster on x.InOutPlanMasterId equals master.Id into masters from master in masters.DefaultIfEmpty() - join stock in Funs.DB.Tw_MaterialStock on new { x.MaterialCode, master.WarehouseCode } equals new { MaterialCode = stock.PipeLineMatCode, stock.WarehouseCode } into st + join stock in Funs.DB.Tw_MaterialStock on new { x.MaterialCode, master.WarehouseCode,master.ProjectId } equals new { MaterialCode = stock.PipeLineMatCode, stock.WarehouseCode, stock .ProjectId} into st from stock in st.DefaultIfEmpty() where (string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) && diff --git a/SGGL/BLL/CLGL/TwInputdetailService.cs b/SGGL/BLL/CLGL/TwInputdetailService.cs index eef2c6e9..33329c0d 100644 --- a/SGGL/BLL/CLGL/TwInputdetailService.cs +++ b/SGGL/BLL/CLGL/TwInputdetailService.cs @@ -35,6 +35,7 @@ namespace BLL (string.IsNullOrEmpty(table.InputMasterId) || x.InputMasterId.Contains(table.InputMasterId)) && (string.IsNullOrEmpty(table.PipelineComponentId) || x.PipelineComponentId.Contains(table.PipelineComponentId)) && (string.IsNullOrEmpty(table.MaterialCode) || x.MaterialCode.Contains(table.MaterialCode)) + orderby x.SortIndex select new Model.Tw_InOutDetailOutput { Id = x.Id, @@ -45,7 +46,8 @@ namespace BLL ActNum = x.ActNum, PipelineComponentCode = y.PipelineComponentCode, MaterialName = mat.MaterialName, - MaterialDef = mat.MaterialDef + MaterialDef = mat.MaterialDef, + SortIndex = x.SortIndex } ; @@ -88,6 +90,7 @@ namespace BLL MaterialCode = newtable.MaterialCode, PlanNum = newtable.PlanNum, ActNum = newtable.ActNum, + SortIndex = newtable.SortIndex }; Funs.DB.Tw_InputDetail.InsertOnSubmit(table); Funs.DB.SubmitChanges(); @@ -105,6 +108,7 @@ namespace BLL table.MaterialCode = newtable.MaterialCode; table.PlanNum = newtable.PlanNum; table.ActNum = newtable.ActNum; + table.SortIndex = newtable.SortIndex; Funs.DB.SubmitChanges(); } @@ -128,7 +132,7 @@ namespace BLL from mat in mm.DefaultIfEmpty() join y in Funs.DB.Tw_InputMaster on x.InputMasterId equals y.Id where inputMasterIds.Contains(x.InputMasterId) - orderby y.CusBillCode , x.MaterialCode + orderby y.CusBillCode,x.SortIndex select new { 入库单编号 = y.CusBillCode, diff --git a/SGGL/BLL/CLGL/TwInputmasterService.cs b/SGGL/BLL/CLGL/TwInputmasterService.cs index 81df4031..c1910943 100644 --- a/SGGL/BLL/CLGL/TwInputmasterService.cs +++ b/SGGL/BLL/CLGL/TwInputmasterService.cs @@ -294,6 +294,7 @@ namespace BLL MaterialCode = detail.MaterialCode, PlanNum = detail.PlanNum, ActNum = detail.ActNum, + SortIndex = detail.SortIndex, }; TwInputdetailService.Add(detailTable); TwMaterialstockService.UpdateStockNum(master.ProjectId, detail.MaterialCode, master.WarehouseCode, TwConst.InOutType.入库, detailTable.ActNum); diff --git a/SGGL/BLL/CLGL/TwOutputdetailService..cs b/SGGL/BLL/CLGL/TwOutputdetailService..cs index 8b323214..73366d9e 100644 --- a/SGGL/BLL/CLGL/TwOutputdetailService..cs +++ b/SGGL/BLL/CLGL/TwOutputdetailService..cs @@ -31,7 +31,7 @@ namespace BLL from mat in mm.DefaultIfEmpty() join master in Funs.DB.Tw_OutputMaster on x.OutputMasterId equals master.Id into masters from master in masters.DefaultIfEmpty() - join stock in Funs.DB.Tw_MaterialStock on new { x.MaterialCode,master.WarehouseCode} equals new { MaterialCode=stock.PipeLineMatCode,stock.WarehouseCode } into st + join stock in Funs.DB.Tw_MaterialStock on new { x.MaterialCode, master.WarehouseCode, master.ProjectId } equals new { MaterialCode = stock.PipeLineMatCode, stock.WarehouseCode, stock.ProjectId } into st from stock in st.DefaultIfEmpty() where (string.IsNullOrEmpty(table.Id) || x.Id.Contains(table.Id)) && diff --git a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx index aaa8e40c..0e4e5728 100644 --- a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx +++ b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx @@ -65,9 +65,9 @@ - - + --%> diff --git a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.designer.cs b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.designer.cs index 401d9af5..1608b59e 100644 --- a/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CLGL/InPlanMaster.aspx.designer.cs @@ -149,15 +149,6 @@ namespace FineUIPro.Web.CLGL /// protected global::FineUIPro.Button btnImport; - /// - /// btnOut 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Button btnOut; - /// /// lblNumber 控件。 /// diff --git a/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx b/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx index aa49ef31..cf9dfd03 100644 --- a/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx +++ b/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx @@ -59,7 +59,12 @@ DataIDField="Id" EnableColumnLines="true" Height="400" EnableBigData="true" EnableTextSelection="True"> - + + + + + diff --git a/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx.designer.cs b/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx.designer.cs index 9a638dc0..0a082e71 100644 --- a/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx.designer.cs @@ -140,6 +140,15 @@ namespace FineUIPro.Web.CLGL /// protected global::FineUIPro.Grid Grid1; + /// + /// Label1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label Label1; + /// /// tbActNum 控件。 /// diff --git a/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs b/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs index 9902df49..2d8fd973 100644 --- a/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs +++ b/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs @@ -330,9 +330,9 @@ namespace FineUIPro.Web.CLGL List tw_PrintMasters = new List(); List tw_PrintDetails = new List(); Model.Tw_PrintMaster printMaster = new Model.Tw_PrintMaster - { + { - ReqUnitName = result.ReqUnitName, + ReqUnitName = UnitService.GetUnitNameByUnitId(Person_PersonsService.GetPerson_PersonsById(result.CreateMan).UnitId), CusBillCode = result.CusBillCode, CreateDate = result.CreateDate.Value.ToString("yyyy-MM-dd"), ProjectName = ProjectService.GetProjectNameByProjectId(result.ProjectId), @@ -382,6 +382,7 @@ namespace FineUIPro.Web.CLGL var tw_PrintDetail = (from x in Funs.DB.Tw_InputDetail join y in Funs.DB.HJGL_MaterialCodeLib on x.MaterialCode equals y.MaterialCode where x.InputMasterId == Id + orderby x.SortIndex select new Model.Tw_PrintDetail { SortIndex = 0, diff --git a/SGGL/FineUIPro.Web/File/Fastreport/材料入库单.frx b/SGGL/FineUIPro.Web/File/Fastreport/材料入库单.frx index 9e1654af..d18c601f 100644 --- a/SGGL/FineUIPro.Web/File/Fastreport/材料入库单.frx +++ b/SGGL/FineUIPro.Web/File/Fastreport/材料入库单.frx @@ -1,5 +1,5 @@  - + using System; using System.Collections; using System.Collections.Generic; @@ -84,7 +84,7 @@ namespace FastReport } - + @@ -154,7 +154,7 @@ namespace FastReport - + diff --git a/SGGL/FineUIPro.Web/File/Fastreport/材料入库计划单.frx b/SGGL/FineUIPro.Web/File/Fastreport/材料入库计划单.frx index 9f3ef5a2..92f84e74 100644 --- a/SGGL/FineUIPro.Web/File/Fastreport/材料入库计划单.frx +++ b/SGGL/FineUIPro.Web/File/Fastreport/材料入库计划单.frx @@ -1,5 +1,5 @@  - + using System; using System.Collections; using System.Collections.Generic; @@ -84,7 +84,7 @@ namespace FastReport } - + diff --git a/SGGL/FineUIPro.Web/File/Word/PHTGL/施工招标实施计划审批表.docx b/SGGL/FineUIPro.Web/File/Word/PHTGL/施工招标实施计划审批表.docx index a20abf44d3bd1760056eec045317eb92c478faba..501843d4b73495bc0bac6043637aacf98b93db60 100644 GIT binary patch delta 19120 zcma&NV~{36vnV{;9ox2T+qP}ne8%1}c5K_WZQJ&a_3fVboD=uEzivclc6F*Ut1>D| z{bvNYW(>IY`6m>~yNT5e4iL~tQX()o1%P>AZ=qSPZ)8wl^X;;+3lt8b5y@Tsm)fGF zPED4&-NmZh{;=c*$CUAb@WPwJiYvTida)Z;uKp3t)tmO_WZYr`3ZmiXEEt~_vMU}JZ^RX3<#@OG?Jx^HE7 zT=8nVKeKIKU72mIaX57Rf(0Wm*x}M`x&Gr-$XBr3t#nZZKD1PGOkFisg&UV@8Q@XS zt$pD&y_CqbyBHFVeIClBg+Qf%05~HIED(iMMklqMRr`e!42>$H#j2E`QCXNYEjc75 zR6sg5B!wgK}(33W{9_?d&k!P=M6uzPY#>!0sz4Og3-O# zc&{p5uFRfUp;vJda^v<8o%P+0NrA>@g{@m6Iy`6l?3R(0=eA0%h1J%Ejpk&!38b@T z9WsOKVj!nDp=4VuADRgAz`~!qr8i;!`hr9_Dk!Tpc>9Y-HhcxM*(BECR&ppLl#HpB zq2wMCT7dY6ge!ST9mIq}Ab^SOoP1t(!txlUq82BIsxk9;thYati(&1z1n{rVvPc1; zRk$}n{n(@>YmZ-BXOYmBjeo=sa?_7p6QBIfOIkpuhHSE9om4bEJ7Ufmbh?s8Jr z+0~5?3Yq9X`t`k=AYTDJZW#A9-yC*ZU7|^)GfQvxt)pE zC|4xLB!p?na&0n!`~kqe9nAAx+1lyd-k9xfO|BDrTL! zm0ajwy@j~jwp=}qg348$Saz9RZN4pt-|)O1tA8nLf9V&D@OjsSk{YT#i78AD*H&#U zW}lSD>TK9HOLh!!FEs8NEO=kPOu*;x`Bi)`nTx}3}o4tR#( zZPb96)MBpUCoQ?t6$_0*E2j{LK>YE`3ekrEDh##|lR{SYf^)li=Htoo{pUm7v6f^~?k{A{17J zi9}uFX1P@O{$7>KiT)V@0TFh%W)9DNQ!mkLD5I$=dt?1M^QJM=)*jg>Z2mG$tD
b~^O_lmTL&STB!d&Yl;o=&zWpzdG3 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 YSA%Xi0&&=*5F=-x35()1$NT{Q2aka1E&u=k delta 18961 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 diff --git a/SGGL/FineUIPro.Web/PHTGL/BiddingManagement/ActionPlanFormationEdit.aspx b/SGGL/FineUIPro.Web/PHTGL/BiddingManagement/ActionPlanFormationEdit.aspx index f86df09f..525e4f5a 100644 --- a/SGGL/FineUIPro.Web/PHTGL/BiddingManagement/ActionPlanFormationEdit.aspx +++ b/SGGL/FineUIPro.Web/PHTGL/BiddingManagement/ActionPlanFormationEdit.aspx @@ -206,7 +206,7 @@ - + diff --git a/SGGL/Model/Model.cs b/SGGL/Model/Model.cs index bd5ee153..dc445768 100644 --- a/SGGL/Model/Model.cs +++ b/SGGL/Model/Model.cs @@ -12037,7 +12037,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApproveIdea", DbType="NVarChar(2000)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ApproveIdea", DbType="NVarChar(200)")] public string ApproveIdea { get @@ -154478,7 +154478,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AttentPerson", DbType="NVarChar(3000)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_AttentPerson", DbType="NVarChar(500)")] public string AttentPerson { get @@ -185437,7 +185437,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectDescription", DbType="VarChar(MAX)", UpdateCheck=UpdateCheck.Never)] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ProjectDescription", DbType="VarChar(255)")] public string ProjectDescription { get @@ -185557,7 +185557,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CalculationRule", DbType="VarChar(MAX)", UpdateCheck=UpdateCheck.Never)] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_CalculationRule", DbType="VarChar(255)")] public string CalculationRule { get @@ -185617,7 +185617,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ConstructionSubcontractor", DbType="VarChar(100)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ConstructionSubcontractor", DbType="VarChar(50)")] public string ConstructionSubcontractor { get @@ -186001,7 +186001,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPackageEstimate", DbType="Decimal(18,3)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_WorkPackageEstimate", DbType="Decimal(18,2)")] public System.Nullable WorkPackageEstimate { get @@ -186306,16 +186306,6 @@ namespace Model private string _ProjectId; - private string _ContractId; - - private string _OrderCode; - - private System.Nullable _OrderInDate; - - private System.Nullable _OrderOutDate; - - private string _MaterialRequisitionUnit; - private System.Nullable _State; private string _InvoiceCode; @@ -186344,6 +186334,16 @@ namespace Model private string _CreateUser; + private string _ContractId; + + private System.Nullable _OrderInDate; + + private string _OrderCode; + + private System.Nullable _OrderOutDate; + + private string _MaterialRequisitionUnit; + #region 可扩展性方法定义 partial void OnLoaded(); partial void OnValidate(System.Data.Linq.ChangeAction action); @@ -186352,16 +186352,6 @@ namespace Model partial void OnInvoiceIdChanged(); partial void OnProjectIdChanging(string value); partial void OnProjectIdChanged(); - partial void OnContractIdChanging(string value); - partial void OnContractIdChanged(); - partial void OnOrderCodeChanging(string value); - partial void OnOrderCodeChanged(); - partial void OnOrderInDateChanging(System.Nullable value); - partial void OnOrderInDateChanged(); - partial void OnOrderOutDateChanging(System.Nullable value); - partial void OnOrderOutDateChanged(); - partial void OnMaterialRequisitionUnitChanging(string value); - partial void OnMaterialRequisitionUnitChanged(); partial void OnStateChanging(System.Nullable value); partial void OnStateChanged(); partial void OnInvoiceCodeChanging(string value); @@ -186390,6 +186380,16 @@ namespace Model partial void OnCreateDateChanged(); partial void OnCreateUserChanging(string value); partial void OnCreateUserChanged(); + partial void OnContractIdChanging(string value); + partial void OnContractIdChanged(); + partial void OnOrderInDateChanging(System.Nullable value); + partial void OnOrderInDateChanged(); + partial void OnOrderCodeChanging(string value); + partial void OnOrderCodeChanged(); + partial void OnOrderOutDateChanging(System.Nullable value); + partial void OnOrderOutDateChanged(); + partial void OnMaterialRequisitionUnitChanging(string value); + partial void OnMaterialRequisitionUnitChanged(); #endregion public PHTGL_Invoice() @@ -186437,106 +186437,6 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractId", DbType="NVarChar(50)")] - public string ContractId - { - get - { - return this._ContractId; - } - set - { - if ((this._ContractId != value)) - { - this.OnContractIdChanging(value); - this.SendPropertyChanging(); - this._ContractId = value; - this.SendPropertyChanged("ContractId"); - this.OnContractIdChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderCode", DbType="NVarChar(50)")] - public string OrderCode - { - get - { - return this._OrderCode; - } - set - { - if ((this._OrderCode != value)) - { - this.OnOrderCodeChanging(value); - this.SendPropertyChanging(); - this._OrderCode = value; - this.SendPropertyChanged("OrderCode"); - this.OnOrderCodeChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderInDate", DbType="Date")] - public System.Nullable OrderInDate - { - get - { - return this._OrderInDate; - } - set - { - if ((this._OrderInDate != value)) - { - this.OnOrderInDateChanging(value); - this.SendPropertyChanging(); - this._OrderInDate = value; - this.SendPropertyChanged("OrderInDate"); - this.OnOrderInDateChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderOutDate", DbType="Date")] - public System.Nullable OrderOutDate - { - get - { - return this._OrderOutDate; - } - set - { - if ((this._OrderOutDate != value)) - { - this.OnOrderOutDateChanging(value); - this.SendPropertyChanging(); - this._OrderOutDate = value; - this.SendPropertyChanged("OrderOutDate"); - this.OnOrderOutDateChanged(); - } - } - } - - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MaterialRequisitionUnit", DbType="NVarChar(100)")] - public string MaterialRequisitionUnit - { - get - { - return this._MaterialRequisitionUnit; - } - set - { - if ((this._MaterialRequisitionUnit != value)) - { - this.OnMaterialRequisitionUnitChanging(value); - this.SendPropertyChanging(); - this._MaterialRequisitionUnit = value; - this.SendPropertyChanged("MaterialRequisitionUnit"); - this.OnMaterialRequisitionUnitChanged(); - } - } - } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_State", DbType="Int")] public System.Nullable State { @@ -186817,6 +186717,106 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractId", DbType="NVarChar(50)")] + public string ContractId + { + get + { + return this._ContractId; + } + set + { + if ((this._ContractId != value)) + { + this.OnContractIdChanging(value); + this.SendPropertyChanging(); + this._ContractId = value; + this.SendPropertyChanged("ContractId"); + this.OnContractIdChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderInDate", DbType="Date")] + public System.Nullable OrderInDate + { + get + { + return this._OrderInDate; + } + set + { + if ((this._OrderInDate != value)) + { + this.OnOrderInDateChanging(value); + this.SendPropertyChanging(); + this._OrderInDate = value; + this.SendPropertyChanged("OrderInDate"); + this.OnOrderInDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderCode", DbType="NVarChar(50)")] + public string OrderCode + { + get + { + return this._OrderCode; + } + set + { + if ((this._OrderCode != value)) + { + this.OnOrderCodeChanging(value); + this.SendPropertyChanging(); + this._OrderCode = value; + this.SendPropertyChanged("OrderCode"); + this.OnOrderCodeChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_OrderOutDate", DbType="Date")] + public System.Nullable OrderOutDate + { + get + { + return this._OrderOutDate; + } + set + { + if ((this._OrderOutDate != value)) + { + this.OnOrderOutDateChanging(value); + this.SendPropertyChanging(); + this._OrderOutDate = value; + this.SendPropertyChanged("OrderOutDate"); + this.OnOrderOutDateChanged(); + } + } + } + + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_MaterialRequisitionUnit", DbType="NVarChar(100)")] + public string MaterialRequisitionUnit + { + get + { + return this._MaterialRequisitionUnit; + } + set + { + if ((this._MaterialRequisitionUnit != value)) + { + this.OnMaterialRequisitionUnitChanging(value); + this.SendPropertyChanging(); + this._MaterialRequisitionUnit = value; + this.SendPropertyChanged("MaterialRequisitionUnit"); + this.OnMaterialRequisitionUnitChanged(); + } + } + } + public event PropertyChangingEventHandler PropertyChanging; public event PropertyChangedEventHandler PropertyChanged; @@ -260102,6 +260102,8 @@ namespace Model private System.Nullable _ActNum; + private System.Nullable _SortIndex; + #region 可扩展性方法定义 partial void OnLoaded(); partial void OnValidate(System.Data.Linq.ChangeAction action); @@ -260118,6 +260120,8 @@ namespace Model partial void OnPlanNumChanged(); partial void OnActNumChanging(System.Nullable value); partial void OnActNumChanged(); + partial void OnSortIndexChanging(System.Nullable value); + partial void OnSortIndexChanged(); #endregion public Tw_InputDetail() @@ -260245,6 +260249,26 @@ namespace Model } } + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_SortIndex", DbType="Int")] + public System.Nullable SortIndex + { + get + { + return this._SortIndex; + } + set + { + if ((this._SortIndex != value)) + { + this.OnSortIndexChanging(value); + this.SendPropertyChanging(); + this._SortIndex = value; + this.SendPropertyChanged("SortIndex"); + this.OnSortIndexChanged(); + } + } + } + public event PropertyChangingEventHandler PropertyChanging; public event PropertyChangedEventHandler PropertyChanged; @@ -302047,7 +302071,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="NVarChar(200)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_Name", DbType="NVarChar(50)")] public string Name { get @@ -302624,7 +302648,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PackageContent", DbType="NVarChar(200)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PackageContent", DbType="NVarChar(50)")] public string PackageContent { get @@ -302815,7 +302839,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PackageContent", DbType="NVarChar(200)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PackageContent", DbType="NVarChar(50)")] public string PackageContent { get @@ -308126,7 +308150,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PackageContent", DbType="NVarChar(200)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PackageContent", DbType="NVarChar(50)")] public string PackageContent { get @@ -309598,7 +309622,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PackageContent", DbType="NVarChar(200)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_PackageContent", DbType="NVarChar(50)")] public string PackageContent { get @@ -319149,7 +319173,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractNo", DbType="NVarChar(1500)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_ContractNo", DbType="NVarChar(500)")] public string ContractNo { get @@ -319169,7 +319193,7 @@ namespace Model } } - [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitWorks", DbType="NVarChar(1500)")] + [global::System.Data.Linq.Mapping.ColumnAttribute(Storage="_UnitWorks", DbType="NVarChar(500)")] public string UnitWorks { get From 8bb93b36f9030c2fbd18b4b8cc4e86a21d8227d0 Mon Sep 17 00:00:00 2001 From: fei550 <1420031550@qq.com> Date: Mon, 18 Nov 2024 18:09:50 +0800 Subject: [PATCH 5/7] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E5=85=B3=E8=81=94=E5=A4=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/SGGL_SeDin_New/v17/.wsuo | Bin 65536 -> 65024 bytes .../CLGL/ArrivalStatistics.aspx.cs | 13 +++++++++++-- .../CLGL/InPlanMasterEdit.aspx.cs | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/.vs/SGGL_SeDin_New/v17/.wsuo b/.vs/SGGL_SeDin_New/v17/.wsuo index b1a523605bb026c0830a4961ec6e3424b769315f..0df3bca815196f37d13cc8e63de2c350df2017dc 100644 GIT binary patch delta 1143 zcmd7RO>YuG90u^6VSxp=ErlvE7=o}St#K9DmIB5EYm>H#X^O2_+p4r~>l@ZLh!;({ zd8r3>JeZhRv!B4g7vSIrFfpEbu_y11BpwX-%nGK(gH61+$uBeepWR{R*`Zt(%Rg-I z3)Gcgf4RGr+9t`g?Jaz=_A>gmb z?Y3FT`iPfhMSm)cQUv&{gY9AdD8Ghq-`7<;je8Gd*?IemjZ5gw!W>+N99)5UxC#rf z2upAcuEPz;!!oSEP0(Q#*5DT0hC6Tw@C?fe*q@`< zWDWAvH8b(|0G*MeJU|x=01xoj{#z|SGV%@a2%W$qgr|Ha-^!JQLNMvF>2aC=<^FiVOj2{qVU9`W dw8NYcjog72S}WvU*{Vx*Vqk~!wA0JK{RyZ*S9JgY delta 1309 zcmc)KUr19?90%~7yQ{mdHRs=EiLIQv%IVa3%@CV9-7L2pbDEo=b8Y=IdPvI(Y(x;0 zLGIT}4@KOk9%c8fCm(t*kchB{9(#)*!63H2CmqaQv>>|h;hgh3zkBaFzxyZoLz_&B z%QHgJr)LjVd*wA&Lvz9%=Am_ART4BBO%?|&6v@&C9s*2&6e_n>J~&=p$(kS4l;BAebk$M z-RPVI7xX|c^nn}tVE{bfg+Vw4r(p~`HqR{ zYssV+$*SMrZ2^B+nWey5+EC552aK;pgBG)mTl?d$CVeX%kqYtyvt@6|UFl$6b*|iB zNPR}1YC7O#27WV3UgEEWhm2MtuJqv*rdWkkjaO>Q%TQ-)-m%)2L@W_IJ{`43q0-7nGwy$};#5?~!u+z9+|`PU#X-O>Tn~dzH5Bw`q|n zvY>Q}id$0rg5nhwznC7r!02VbOqT*S-ZBkc4m9vyYIN62*V5OqD)qzId8Q`EUBaIg zDiwB-YaGH?=}WjoV))#fgCi$Mip=ZIzTy8L4c(7)QZiywKTn#Uvjw~x&Ge$!@>d*! F=_m8onH2y4 diff --git a/SGGL/FineUIPro.Web/CLGL/ArrivalStatistics.aspx.cs b/SGGL/FineUIPro.Web/CLGL/ArrivalStatistics.aspx.cs index 6ddedc2e..f88c0779 100644 --- a/SGGL/FineUIPro.Web/CLGL/ArrivalStatistics.aspx.cs +++ b/SGGL/FineUIPro.Web/CLGL/ArrivalStatistics.aspx.cs @@ -31,14 +31,23 @@ namespace FineUIPro.Web.CLGL /// 绑定数据 ///
private void BindGrid() - { + { var tb = BLL.TwArrivalStatisticsService.GetStatistics(this.CurrUser.LoginProjectId, txtMaterialCode.Text.Trim(), drpWarehouse.SelectedValue); - lbRate.Text="总体匹配率:"+ Math.Round( tb.Sum(x=>x.MatchRate)*100/tb.Count() ,4) + "%"; + if (tb.Count() > 0) + { + lbRate.Text = "总体匹配率:" + Math.Round(tb.Sum(x => x.MatchRate) * 100 / tb.Count(), 4) + "%"; + } + else + { + lbRate.Text = "总体匹配率:0%"; + } + //tb = GetFilteredTable(Grid1.FilteredData, tb); Grid1.DataSource = tb; Grid1.DataBind(); } + #endregion #region GV 数据操作 diff --git a/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx.cs b/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx.cs index 13d9bd8c..49375642 100644 --- a/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx.cs +++ b/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx.cs @@ -35,7 +35,7 @@ namespace FineUIPro.Web.CLGL txtCreateDate.Text = string.Format("{0:yyyy-MM-dd}", model.CreateDate); txtCreateMan.Text = Person_PersonsService.GetPersonsNameById(model.CreateMan); txtReqUnitName.Text = UnitService.GetUnitNameByUnitId(model.ReqUnitId); - + txtRemark.Text = model.Remark; var queryModel = new Model.Tw_InOutDetailOutput() { From cc22d0e0aefb179be11219b843dc80235d5876b2 Mon Sep 17 00:00:00 2001 From: fei550 <1420031550@qq.com> Date: Mon, 25 Nov 2024 19:09:24 +0800 Subject: [PATCH 6/7] =?UTF-8?q?=E6=9D=90=E6=96=99=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/SGGL_SeDin_New/v17/.wsuo | Bin 65024 -> 66048 bytes SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx | 8 ++++---- SGGL/FineUIPro.Web/CLGL/InputMaster.aspx | 8 ++++++-- SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs | 14 +++++++++++++- .../File/Fastreport/组件打印.frx | 8 ++++---- .../HJGL/PreDesign/PrePipeline.aspx.cs | 3 +++ 6 files changed, 30 insertions(+), 11 deletions(-) diff --git a/.vs/SGGL_SeDin_New/v17/.wsuo b/.vs/SGGL_SeDin_New/v17/.wsuo index 0df3bca815196f37d13cc8e63de2c350df2017dc..2874464fa5ff0a1b4a3ae08944c9750828fb03a1 100644 GIT binary patch delta 1484 zcmchX&rcIU6vsQ;E&UCpEm(dC1s5bhp@kM`qOeLus30_$AmD)#QKL~4Qk059V@SMk zVV{41G{$f=?8Rf%iw6@9a?t3(gV7@%BoQOvcfclvm|%=L$!F)inRzd7zB99l@7lzy z__$kOB9#fH*7u9zcz)YkR-(~pQWO`aSeVv?R|Wz878=dxNLC-5tkd|Q*@%gye<=!BJ2N>oCX$JF9lSwX`5QNH&PB z2Fx@9KL~&(&UJ$FdC4dh@gCJ^7{dgbds4<- zU&Z5c!jpW#=x8(=40xIwqb(kPAbQ>tZ1y*K8d@#{gJUhe(XoJ^uDbh`ffS|OvQjQn zVz`Pb1(zz9CzxVyw=(|9_zU7y^3Aa>ny~j;v^;<2a0ji~`whB`A&NQXmLysHw>4JB zScoR7w^##B)XeDkJMgOO9=)K{g)Cfpe&f@{Q><=Byx#T8y~p za-@p)Ort)H%>1qT%eFP9Wp{!4X5b>D#9)f#L7C*C>$EzQtHlwLcKD9|>@xq+Y1Dhe z@vOZkk{p$3{L?w=yJAY zyx@WTJb2SITuBUj@!)~z#RE5w-n@8IV&r15^*>0Vnixs+;3U7!%(uhr^xs`l55&|~ z!SmAw)=2dRr#U|J==0N#cdT9zgcQviZnGZRG`uyrG0&pWQmNZ~6qCX;_&_re6P?XA zjQHgm^kyi5GLXOv8CVi*-E-EmY4CY4*<`eXPu!TlXG7wmt%EqFW&Q%?eIURY~D^ecWPo%16d@I+|pwU zk1HpDuR(7lMU!mgD3+;8l$YY`n*3rPtI{Q+<_ejGO6+@44TCxYHY>sZj+9PkIc zqiu;+Z@}Nu-qF_D;twX;X{9zw(U^7krCs zwR6f&Q~gg?dzHUAu5&vFy*f6@bY*1CkRC2fClrcL9wg;nm458wD@Jo4hAA>_)n}Hq Rp7e%9k!7Tm*<$Ih;&<0DqaFYN diff --git a/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx b/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx index cf9dfd03..bde8c373 100644 --- a/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx +++ b/SGGL/FineUIPro.Web/CLGL/InPlanMasterEdit.aspx @@ -54,10 +54,10 @@ - + diff --git a/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx b/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx index f6ec52fc..6c2ec783 100644 --- a/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx +++ b/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx @@ -22,6 +22,10 @@ .f-grid-row.red { background-color: darkgoldenrod; } + .f-grid-row-summary .f-grid-cell-inner { + font-weight: bold; + color: red; + } @@ -40,7 +44,7 @@ ClicksToEdit="2" DataIDField="Id" AllowSorting="true" SortField="Id" SortDirection="DESC" OnSort="Grid1_Sort" EnableColumnLines="true" EnableCheckBoxSelect="True" AllowPaging="true" IsDatabasePaging="true" PageSize="10" OnPageIndexChange="Grid1_PageIndexChange" - EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowDoubleClick" EnableRowClickEvent="true" OnRowClick="Grid1_RowClick" OnRowCommand="Grid1_RowCommand"> + EnableRowDoubleClickEvent="true" EnableRowClickEvent="true" OnRowClick="Grid1_RowClick" OnRowCommand="Grid1_RowCommand"> @@ -128,7 +132,7 @@ runat="server" BoxFlex="1" DataKeyNames="Id" AllowCellEditing="true" ClicksToEdit="2" DataIDField="Id" AllowSorting="true" SortField="Id" SortDirection="DESC" EnableColumnLines="true" - AllowPaging="true" IsDatabasePaging="true" PageSize="10000"> + AllowPaging="true" IsDatabasePaging="true" PageSize="10000" EnableSummary="true" SummaryPosition="Bottom"> diff --git a/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs b/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs index 2d8fd973..c4849863 100644 --- a/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs +++ b/SGGL/FineUIPro.Web/CLGL/InputMaster.aspx.cs @@ -10,6 +10,7 @@ using System.Text; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; +using Newtonsoft.Json.Linq; namespace FineUIPro.Web.CLGL { @@ -73,16 +74,27 @@ namespace FineUIPro.Web.CLGL var tb = BLL.TwInputdetailService.GetListData(table, Grid2); Grid2.DataSource = tb; Grid2.DataBind(); + var planNumTotal = 0m; + var actNumTotal = 0m; for (int i = 0; i < Grid2.Rows.Count; i++) { var model = Grid2.Rows[i].DataItem as Model.Tw_InOutDetailOutput; + planNumTotal += (model.PlanNum ??0m ); + actNumTotal += (model.ActNum ??0m ); if (model.ActNum != model.PlanNum) { Grid2.Rows[i].RowCssClass = "red"; } } - } + JObject summary = new JObject(); + //summary.Add("Major", "全部合计"); + summary.Add("PlanNum", planNumTotal.ToString("F2")); + summary.Add("ActNum", actNumTotal.ToString("F2")); + + + Grid2.SummaryData = summary; + } #endregion #region GV 数据操作 diff --git a/SGGL/FineUIPro.Web/File/Fastreport/组件打印.frx b/SGGL/FineUIPro.Web/File/Fastreport/组件打印.frx index 9873fb20..5777f8af 100644 --- a/SGGL/FineUIPro.Web/File/Fastreport/组件打印.frx +++ b/SGGL/FineUIPro.Web/File/Fastreport/组件打印.frx @@ -1,5 +1,5 @@  - + using System; using System.Collections; using System.Collections.Generic; @@ -99,7 +99,7 @@ namespace FastReport } - + @@ -149,7 +149,7 @@ namespace FastReport - + @@ -163,7 +163,7 @@ namespace FastReport - + diff --git a/SGGL/FineUIPro.Web/HJGL/PreDesign/PrePipeline.aspx.cs b/SGGL/FineUIPro.Web/HJGL/PreDesign/PrePipeline.aspx.cs index 02e810cc..f401d8ea 100644 --- a/SGGL/FineUIPro.Web/HJGL/PreDesign/PrePipeline.aspx.cs +++ b/SGGL/FineUIPro.Web/HJGL/PreDesign/PrePipeline.aspx.cs @@ -241,7 +241,9 @@ namespace FineUIPro.Web.HJGL.PreDesign /// 数据绑定 /// private void BindGrid() + { + if (tvControlItem.SelectedNode==null) return; string strSql = @" SELECT distinct com.PipelineComponentId,com.PipelineComponentCode,com.BoxNumber,com.Remark, com.PipelineId, punit.UnitName AS PreUnit,aunit.UnitName AS AssembleUnit,com.IsPrint, com.QRCode,com.State,com.ProductionState,pipe.PlanStartDate,pipe.FlowingSection,com.DrawingName,com.ReceiveDate, @@ -255,6 +257,7 @@ namespace FineUIPro.Web.HJGL.PreDesign WHERE 1=1 "; List listStr = new List(); + if (tvControlItem.SelectedNode.CommandName.Split('|').Length == 2) { strSql += " and pipe.UnitWorkId =@UnitWorkId"; From 73a869c851199122b54acb9d1a5df9d1fbc0fd51 Mon Sep 17 00:00:00 2001 From: fei550 <1420031550@qq.com> Date: Tue, 26 Nov 2024 11:20:39 +0800 Subject: [PATCH 7/7] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=A2=84=E5=88=B6?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E4=BA=8C=E7=BB=B4=E7=A0=81=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/SGGL_SeDin_New/v17/.wsuo | Bin 66048 -> 64512 bytes .../BLL/HJGL/WeldingManage/PipelineService.cs | 5 +++-- .../PreDesign/PrePipelineQRCodeIn.aspx.cs | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.vs/SGGL_SeDin_New/v17/.wsuo b/.vs/SGGL_SeDin_New/v17/.wsuo index 2874464fa5ff0a1b4a3ae08944c9750828fb03a1..51d45a06837fd1ee6b2a50390053588c6da1f246 100644 GIT binary patch delta 1494 zcmdUu%TE(g6vjKl6ib@cg}aunK}LLz4^OR{&UG} zOcYwFNpzS-$A&zQx?T%SI-M?0`0T=9pt1+fMA zz(LxrzcXZOH?PxiWpn3&sF1y{2B)!=_|Uw&%Q4B$C{ z*6F!1q8M#tFPC|Prjjp|zsj06ONuLM($(S}e9+krz8AtC%DMVvaaH;$chjOPZYU|r zq-^t~V(pgo(D=w}sg$+8Gzomrd8=1d4_&W{$r6OkzeG1>&34sN^RYy+MQPsd*Yh?H z(ztCuMcrYgdRe4wb)QM#%e1MeRL{4`NK2Ky%MCb-mj0mub)g|9dOzUb^6_)0Q@)PS za5~@(c5KUdgPpz+Zz>b&^!i8q=}lN)cVBRGMZiLSNreH3e)KbxgL6G mXU0nQcN^7#nfrT{Cq~uy<&!|-ObbPB)v3GQKP#X9D*gay_QxFn delta 1580 zcmchWO-NKx6vyX2-{^emYi6_=wS3ysK6G+M$B!Y(S7TN-HcAi?QjTOFL=iHUQ{YFr ziZ;E|BHC2aqGj+lQJYaW?FwoU)WR0gBCCx;23h};4NMRiQ62cbchCJe_n!Z~XY5nn z*o1sPE(w_`r3&}#J$bOC?WI_2u~;&cmM)4;T9BUEB=}!pbgf8phvDS!!w062kSi$U zl*4X#<-i420SBlBOITKn|7zd_9EQzKJ@Ptx1$tCaO;fTrP=nTbPzaW1Er09ij_jqU zvg~ibNF#`VCeRF80KIbfySAax26V6;>;N&)4t9bLunX)4dq5}H3*w*)a83!(4bI^} zm#_8ts?Wn225E2sTm&N^d%jV$m*|T~{E#qnXk`h*xe{grDG2lh4hzP{V%h+U>Bnix zw5*H;=*dcJN1JE!s(iGmPxk$+s`b07bjRkk)?tE=mHz)aYQLkS;m}BN$fP;0EA==l zCzXXBJ9L?ElU&Yn(wr|0*MpTOO%}?AubtXULX`47p&2PmAxWm;;<$?+8LPM2 zP8M1Wbn-N75JQ(JUD`>p!Y)$E8ow`2l_lJk4H#OJyK*BOhq+i>z?-=^pqewh;?Cy$ z8dTsan(C?FYOx4`wJ>#9MG|Mk;b^iynT$3CTN;zC!AMi`XfWCmX%05D9*af? zTEqPVO%Xb+?l&qklu>n~N~f_S8_W|`H-zDdxdqoB*A}0S(-nJY$dhp8aqQgg4qEW+ zw^?(#DCNCsXfc{8-D-|$G081B2EVFoEOWjlF8*Z#n~*>eHY~~6RJ7C3rmv!bhH6Kx zTu>oe4DNMpMvKcPdp1gKes1H-%yyWm`h@jYIYbg-ImhNq#otOsVIkQLyq(?h`qrU1 zq_3y8%5lCUdZGr*z`?in+{>Cgs?*?`Ug|#WG0*fHf({=aq=_p!Wlq}6hj%-6k#x6) z^bxej4`(B|)TBp9bb9B9^j&2vJ Je?&-9z5zX7+w%Yb diff --git a/SGGL/BLL/HJGL/WeldingManage/PipelineService.cs b/SGGL/BLL/HJGL/WeldingManage/PipelineService.cs index 9b1f88ec..8c509ae5 100644 --- a/SGGL/BLL/HJGL/WeldingManage/PipelineService.cs +++ b/SGGL/BLL/HJGL/WeldingManage/PipelineService.cs @@ -237,11 +237,12 @@ namespace BLL /// /// 根据管线code获取管线信息 /// + /// /// /// - public static Model.HJGL_Pipeline GetPipelineByPipelineCode(string pipelineCode) + public static Model.HJGL_Pipeline GetPipelineByPipelineCode(string projectId, string pipelineCode) { - return Funs.DB.HJGL_Pipeline.FirstOrDefault(e => e.PipelineCode == pipelineCode); + return Funs.DB.HJGL_Pipeline.FirstOrDefault(e => e.PipelineCode == pipelineCode&&e.ProjectId==projectId ); } /// /// 根据管线信息筛选管线 diff --git a/SGGL/FineUIPro.Web/HJGL/PreDesign/PrePipelineQRCodeIn.aspx.cs b/SGGL/FineUIPro.Web/HJGL/PreDesign/PrePipelineQRCodeIn.aspx.cs index 5d6167cc..c68e3134 100644 --- a/SGGL/FineUIPro.Web/HJGL/PreDesign/PrePipelineQRCodeIn.aspx.cs +++ b/SGGL/FineUIPro.Web/HJGL/PreDesign/PrePipelineQRCodeIn.aspx.cs @@ -249,7 +249,7 @@ namespace FineUIPro.Web.HJGL.PreDesign }); foreach (var item in dt) { - var pipeline = PipelineService.GetPipelineByPipelineCode(item.pipelinecode.Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "")); + var pipeline = PipelineService.GetPipelineByPipelineCode(this.CurrUser.LoginProjectId,item.pipelinecode.Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", "")); var hJGL_Pipeline_Component = HJGL_PipelineComponentService.GetPipelineComponentByCodeandpipelineId(item.PipelineComponentCode.Replace("\n", "").Replace(" ", "").Replace("\t", "").Replace("\r", ""), pipeline.PipelineId); if (hJGL_Pipeline_Component!=null) {