From 7e3217866f07ee082c66b9f3bf57189c140aa86b Mon Sep 17 00:00:00 2001 From: 王 垚 <1402714037@qq.com> Date: 星期一, 30 十一月 2020 09:05:44 +0800 Subject: [PATCH] 调整后代码上传 --- src/BLL/Demo.BillView/Demo.BillView.csproj | 2 src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs | 97 +++++++++++++++++++++++- src/BLL/Demo.BillView/PRD/PODemandPlanListLoad.cs | 56 ++++++++++++++ src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs | 30 ++++++ 4 files changed, 178 insertions(+), 7 deletions(-) diff --git a/src/BLL/Demo.BillView/Demo.BillView.csproj b/src/BLL/Demo.BillView/Demo.BillView.csproj index 9529e2e..0e1c443 100644 --- a/src/BLL/Demo.BillView/Demo.BillView.csproj +++ b/src/BLL/Demo.BillView/Demo.BillView.csproj @@ -175,6 +175,7 @@ <Reference Include="PresentationFramework" /> <Reference Include="System" /> <Reference Include="System.Core" /> + <Reference Include="System.Drawing" /> <Reference Include="System.Web" /> <Reference Include="System.Xml.Linq" /> <Reference Include="System.Data.DataSetExtensions" /> @@ -193,6 +194,7 @@ </Reference> </ItemGroup> <ItemGroup> + <Compile Include="PRD\PODemandPlanListLoad.cs" /> <Compile Include="PRD\ProCompleteAnalysisMateriel.cs" /> <Compile Include="PRD\ProCompleteAnalysisDetails.cs" /> <Compile Include="PRD\Pro_ScDayImport.cs" /> diff --git a/src/BLL/Demo.BillView/PRD/PODemandPlanListLoad.cs b/src/BLL/Demo.BillView/PRD/PODemandPlanListLoad.cs new file mode 100644 index 0000000..1bdae6d --- /dev/null +++ b/src/BLL/Demo.BillView/PRD/PODemandPlanListLoad.cs @@ -0,0 +1,56 @@ +锘縰sing Kingdee.BOS.Core.List.PlugIn; +using Kingdee.BOS.Core.Metadata; +using System.Drawing; +using System; +using Kingdee.BOS; +using System.ComponentModel; +using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel; +using Kingdee.BOS.Util; + +namespace Demo.BillView.PRD +{ + [Description("鍒楄〃鎻掍欢璁剧疆棰滆壊")] + [HotUpdate] + public class PODemandPlanListLoad : AbstractListPlugIn + { + public override void OnFormatRowConditions(Kingdee.BOS.Core.List.PlugIn.Args.ListFormatConditionArgs args) + { + base.OnFormatRowConditions(args); + + + //1.浜哄憳浜ц兘涓嶈冻 绾㈣壊 + //2.妯″叿璁惧褰卞搷 + //3.鍘熸枡澶囪揣寤舵湡 姗欒壊 + //4.浜у搧璐ㄩ噺闂 + //5.璁捐鍙樻洿鍥犵礌褰卞搷 榛勮壊 + //6.蹇�掔墿娴佸師鍥� + //7.涓嶅彲鎶楀姏鍥犵礌 钃濊壊 + + + FormatCondition fc = new FormatCondition(); + fc.ApplayRow = true; + + if (args.DataRow["FLateReason"].ToString() == "浜哄憳浜ц兘涓嶈冻" || args.DataRow["FLateReason"].ToString() == "妯″叿璁惧褰卞搷") + { + + fc.BackColor = ColorTranslator.ToHtml(System.Drawing.Color.Red);// 绾㈣壊; + } + else if (args.DataRow["FLateReason"].ToString() == "鍘熸枡澶囪揣寤舵湡" || args.DataRow["FLateReason"].ToString() == "浜у搧璐ㄩ噺闂") + { + + fc.BackColor = ColorTranslator.ToHtml(System.Drawing.Color.Orange);// 姗欒壊; + } + else if (args.DataRow["FLateReason"].ToString() == "璁捐鍙樻洿鍥犵礌褰卞搷" || args.DataRow["FLateReason"].ToString() == "蹇�掔墿娴佸師鍥�") + { + + fc.BackColor = ColorTranslator.ToHtml(System.Drawing.Color.Yellow);// 榛勮壊; + } + else if (args.DataRow["FLateReason"].ToString() == "涓嶅彲鎶楀姏鍥犵礌") + { + fc.BackColor = ColorTranslator.ToHtml(System.Drawing.Color.LightBlue);// 钃濊壊; + } + args.FormatConditions.Add(fc); + + } + } +} diff --git a/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs b/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs index 11a27c6..4043e5b 100644 --- a/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs +++ b/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs @@ -115,6 +115,27 @@ for (int i = 0; i < dt.Rows.Count; i++) { + + //鏍规嵁鐢熶骇璁㈠崟鍙峰拰鐗╂枡鏌ヨ鏄惁瀛樺湪鏄庣粏 + string sql = string.Format(@"/*dialect*/ SELECT T1.FBILLNO,T2.* FROM T_PRD_MO T1 +LEFT JOIN T_PRD_MOENTRY T2 ON T1.FID = T2.FID +JOIN T_BD_MATERIAL T3 ON T2.FMATERIALID = T3.FMATERIALID +WHERE T1.FBILLNO = '{0}' AND T3.FNUMBER = '{1}'", dt.Rows[i][1].ToString(), dt.Rows[i][5].ToString()); + DataTable _dt = new DataTable(); + _dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0]; + + + string FLOT = "";//FLOT 鎵规 + string FQTY = "";//FQTY 鐢熶骇璁㈠崟鏁伴噺 + string FBILLNO = "";//FBILLNO 鍘熷崟鍙� + + if (_dt.Rows.Count > 0) + { + FLOT = _dt.Rows[0]["FLOT"].ToString(); + FQTY = _dt.Rows[0]["FQTY"].ToString(); + FBILLNO = _dt.Rows[0]["FBILLNO"].ToString(); + } + //DynamicObject row = new DynamicObject(entity.DynamicObjectType); this.Model.CreateNewEntryRow("FEntity"); this.Model.SetValue("FSEQ", i + 1, i); @@ -130,14 +151,17 @@ this.Model.SetValue("FUnit", dt.Rows[i][8].ToString(), i); this.Model.SetValue("FBatch", dt.Rows[i][9].ToString(), i); this.Model.SetValue("FSalOrderCount", dt.Rows[i][10].ToString(), i); - this.Model.SetValue("FProOrderCount", dt.Rows[i][11].ToString(), i); this.Model.SetValue("FCompleteSetCount", dt.Rows[i][12].ToString(), i); - this.Model.SetValue("FDeliveryDate", GetDateTime(Convert.ToInt32(dt.Rows[i][13].ToString())), i); + this.Model.SetValue("FDeliveryDate", ToDateTimeValue(dt.Rows[i][13].ToString()), i); this.Model.SetValue("FOrderLevel", dt.Rows[i][14].ToString(), i); + this.Model.SetValue("FOrderQuantity", FQTY, i); for (int j = 0; j <= 60; j++) { this.Model.SetValue("FT" + "" + j + "", dt.Rows[i][15 + j].ToString(), i); } + + //璋冪敤鏁伴噺鍊兼洿鏂� + this.View.InvokeFieldUpdateService("FT0", i); } } @@ -202,6 +226,17 @@ return; } + foreach (DynamicObject current in entityDataObjoct) + { + if (Convert.ToInt32(current["FNoScheduled"]) < 0) + _result += "搴忓彿锛�" + Convert.ToString(current["SEQ"]) + ",鏃ヨ鍒掓�绘暟閲忚秴鍑虹敓浜ц鍗曟暟閲�"; + + } + if (_result != "") + { + this.View.ShowErrMessage(_result); + return; + } foreach (DynamicObject current in entityDataObjoct) { @@ -222,6 +257,7 @@ string FLOT = "";//FLOT 鎵规 string FQTY = "";//FQTY 鐢熶骇璁㈠崟鏁伴噺 string FBILLNO = "";//FBILLNO 鍘熷崟鍙� + if (dt.Rows.Count > 0) { FID = dt.Rows[0]["FID"].ToString(); @@ -253,6 +289,12 @@ jsonModel.Add("FPrdBillNo", FBILLNO); ;//婧愬崟缂栧彿 jsonModel.Add("FPRDMOMAINID", FID); ;//婧愬崟涓诲唴鐮� jsonModel.Add("FPRDMOENTYID", FENTRYID); ;//婧愬崟瀛愬唴鐮� + + jsonModel.Add("FOrderQuantity", current["FOrderQuantity"].ToString()); ;//鐢熶骇璁㈠崟鏁伴噺 + jsonModel.Add("FDayPlanQuantity", current["FDayPlanQuantity"].ToString()); ;//鏃ヨ鍒掓暟閲� + jsonModel.Add("FNoScheduled", current["FNoScheduled"].ToString()); ;//鏈帓鏁伴噺 + + JObject jsonFHMaterID = new JObject(); @@ -336,8 +378,8 @@ string FDayPlanBillNo = saveObj["Result"]["Number"].ToString(); string FDayPlanID = saveObj["Result"]["Id"].ToString(); - this.Model.SetValue("FDayPlanBillNo", FDayPlanBillNo, Convert.ToInt32(current["SEQ"])-1);// - this.Model.SetValue("FDayPlanID", FDayPlanID, Convert.ToInt32(current["SEQ"]) - 1);// + this.Model.SetValue("FDayPlanBillNo", FDayPlanBillNo, Convert.ToInt32(current["SEQ"]) - 1);// + this.Model.SetValue("FDayPlanID", FDayPlanID, Convert.ToInt32(current["SEQ"]) - 1);// this.View.ShowMessage("瀵煎叆鎴愬姛"); @@ -365,6 +407,53 @@ + /// <summary> + /// 鏁板瓧杞崲鏃堕棿鏍煎紡 + /// </summary> + /// <param name="timeStr">鏁板瓧,濡�:42095.7069444444/0.650694444444444</param> + /// <returns>鏃ユ湡/鏃堕棿鏍煎紡</returns> + private string ToDateTimeValue(string strNumber) + { + if (!string.IsNullOrWhiteSpace(strNumber)) + { + Decimal tempValue; + //鍏堟鏌� 鏄笉鏄暟瀛�; + if (Decimal.TryParse(strNumber, out tempValue)) + { + //澶╂暟,鍙栨暣 + int day = Convert.ToInt32(Math.Truncate(tempValue)); + //杩欓噷涔熶笉鐭ラ亾涓轰粈涔�. 濡傛灉鏄皬浜�32,鍒欏噺1,鍚﹀垯鍑�2 + //鏃ユ湡浠�1900-01-01寮�濮嬬疮鍔� + // day = day < 32 ? day - 1 : day - 2; + DateTime dt = new DateTime(1900, 1, 1).AddDays(day < 32 ? (day - 1) : (day - 2)); + + //灏忔椂:鍑忔帀澶╂暟,杩欎釜鏁板瓧杞崲灏忔椂:(* 24) + Decimal hourTemp = (tempValue - day) * 24;//鑾峰彇灏忔椂鏁� + //鍙栨暣.灏忔椂鏁� + int hour = Convert.ToInt32(Math.Truncate(hourTemp)); + //鍒嗛挓:鍑忔帀灏忔椂,( * 60) + //杩欓噷鑸嶅叆,鍚﹀垯鍙栧�间細鏈�1鍒嗛挓璇樊. + Decimal minuteTemp = Math.Round((hourTemp - hour) * 60, 2);//鑾峰彇鍒嗛挓鏁� + int minute = Convert.ToInt32(Math.Truncate(minuteTemp)); + //绉�:鍑忔帀鍒嗛挓,( * 60) + //杩欓噷鑸嶅叆,鍚﹀垯鍙栧�间細鏈�1绉掕宸�. + Decimal secondTemp = Math.Round((minuteTemp - minute) * 60, 2);//鑾峰彇绉掓暟 + int second = Convert.ToInt32(Math.Truncate(secondTemp)); + + //鏃堕棿鏍煎紡:00:00:00 + string resultTimes = string.Format("{0}:{1}:{2}", + (hour < 10 ? ("0" + hour) : hour.ToString()), + (minute < 10 ? ("0" + minute) : minute.ToString()), + (second < 10 ? ("0" + second) : second.ToString())); + + if (day > 0) + return string.Format("{0} {1}", dt.ToString("yyyy-MM-dd"), resultTimes); + else + return resultTimes; + } + } + return string.Empty; + } } diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs index 605c287..ac79449 100644 --- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs +++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs @@ -299,8 +299,11 @@ //鍗曟嵁浣撲俊鎭浆鎹负鍒楄〃闆嗗悎 DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity); DateTime date = DateTime.Now; + + foreach (DynamicObject current in entityDataObjoct) { + DateTime FBzDate = Convert.ToDateTime(Convert.ToDateTime(current["FBzDate"])); DateTime end = Convert.ToDateTime(Convert.ToDateTime(current["FBzDate"]).AddDays(60).ToShortDateString());//鏈�澶ф棩鏈� for (int i = 0; i <= 60; i++) @@ -385,10 +388,26 @@ public void COMPLETEMAIN() { //鑾峰彇褰撳墠鍗虫椂搴撳瓨 鎸夌収鐗╂枡+璐т富+搴撳瓨 灞曠幇 - DataSet ds = DBServiceHelper.ExecuteDataSet(Context, @" /*dialect*/ select DISTINCT FBASEQTY,FMATERIALID,FStockOrgId,FOwnerId from T_STK_Inventory order by FBASEQTY"); + DataSet ds = DBServiceHelper.ExecuteDataSet(Context, @" /*dialect*/ select DISTINCT (a.FBASEQTY- ISNULL(FHUseQty,0)) as FBASEQTY,a.FMATERIALID,a.FStockOrgId,a.FOwnerId from T_STK_Inventory a +left join + ( + select FHMaterID,FHUseQty,FHStockOrgID,FOwnerId from JIT_MOMaterReadysBill + where FIdentificat = 2 + ) b on a.FMATERIALID=b.FHMaterID and a.FStockOrgId=b.FHStockOrgID and a.FOwnerId = b.FOwnerId + order by FBASEQTY"); ListInventory = ds.ToModelList<PRD_Inventory>(); - ds = DBServiceHelper.ExecuteDataSet(Context, @" /*dialect*/ select sum(FBASEQTY)FBASEQTY,FMATERIALID,FStockOrgId from T_STK_Inventory group by FMATERIALID, FStockOrgId "); + ds = DBServiceHelper.ExecuteDataSet(Context, @" /*dialect*/ select sum(FBASEQTY)FBASEQTY,FMATERIALID,FStockOrgId from + ( + select DISTINCT (a.FBASEQTY- ISNULL(FHUseQty,0)) as FBASEQTY,a.FMATERIALID,a.FStockOrgId,a.FOwnerId from T_STK_Inventory a +left join + ( + select FHMaterID,FHUseQty,FHStockOrgID,FOwnerId from JIT_MOMaterReadysBill + where FIdentificat = 2 + ) b on a.FMATERIALID=b.FHMaterID and a.FStockOrgId=b.FHStockOrgID and a.FOwnerId = b.FOwnerId + + ) TT +group by FMATERIALID, FStockOrgId "); ListInventoryByStockOrgId = ds.ToModelList<PRD_Inventory>(); //鑾峰彇鍗曟嵁浣撲俊鎭� @@ -414,7 +433,7 @@ this.View.Model.SetValue("FCompleteSetCount", Sum, m); this.View.UpdateView("FCompleteSetCount"); //淇濆瓨榻愬鏁� - DBServiceHelper.Execute(Context, "/*dialect*/ update Sc_WorkBillSortBillMain set FCompleteCount='" + Sum + "',FPlanCount='" + SumPlan + "' where FID=" + current["FDayPlanWorkID"].ToString()); + DBServiceHelper.Execute(Context, "/*dialect*/ update Sc_WorkBillSortBillMain set FCompleteCount='" + Sum + "',FDayPlanQuantity='" + SumPlan + "' where FID=" + current["FDayPlanWorkID"].ToString()); for (int i = 0; i <= 60; i++) { this.View.GetFieldEditor("FT" + i.ToString(), m).Enabled = false; //鍗曟嵁浣撹閿佸畾瀛楁 @@ -745,6 +764,9 @@ this.Model.SetValue("FProductWorkShopId", dt.Rows[i]["FHWorkShopID"].ToString(), i);//鐢熶骇杞﹂棿 this.Model.SetValue("FCompleteSetCount", dt.Rows[i]["FCompleteCount"].ToString(), i);//榻愬鏁伴噺 + this.Model.SetValue("FOrderQuantity", dt.Rows[i]["FOrderQuantity"].ToString(), i);//鐢熶骇璁㈠崟鏁伴噺 + this.Model.SetValue("FDayPlanQuantity", dt.Rows[i]["FDayPlanQuantity"].ToString(), i);//鏃ヨ鍒掓暟閲� + this.Model.SetValue("FNoScheduled", dt.Rows[i]["FNoScheduled"].ToString(), i);//鏈帓鏁伴噺 sql = @"/*dialect*/SELECT * FROM Sc_WorkBillSortBillSub WHERE DATEDIFF(D,GETDATE(),FHMASTERDATE)>=0 and FID=" + dt.Rows[i]["FID"].ToString(); @@ -1429,3 +1451,5 @@ } } } + + -- Gitblit v1.9.1