From a05018727c284e1d24967e0cf120a934796191b8 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期二, 02 三月 2021 16:02:05 +0800
Subject: [PATCH] 更改
---
src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs | 113 +++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 99 insertions(+), 14 deletions(-)
diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
index aa2d76b..9e6587e 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -2,11 +2,13 @@
using Demo.Model.Model.PODemandPlan;
using K3Cloud.Extend.Utils;
using Kingdee.BOS.Core;
+using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Const;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
+using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.EntityElement;
using Kingdee.BOS.JSON;
using Kingdee.BOS.KDThread;
@@ -66,6 +68,7 @@
base.BarItemClick(e);
try
{
+ LogHelper.Info("鐢熶骇璁″垝骞冲彴鎸夐挳");
if (e.BarItemKey.ToUpper() == "BTEXPORT")
{
ExportExcel();
@@ -158,6 +161,44 @@
}
}
/// <summary>
+ /// button鎸夐挳鐐瑰嚮浜嬩欢
+ /// </summary>
+ /// <param name="e"></param>
+ public override void ButtonClick(ButtonClickEventArgs e)
+ {
+ base.ButtonClick(e);
+ if (e.Key.ToUpper() == "FTBXNQT")
+ {
+ try
+ {
+ List<string> sqlList = new List<string>();
+ string sql = $"truncate table Sc_WorkBillMainXnqt";
+ sqlList.Add(sql);
+ sql = $"truncate table Sc_WorkBillSubXnqt";
+ sqlList.Add(sql);
+ string columnName = DBServiceHelper.ExecuteScalar<string>(Context, "/*dialect*/ select stuff((select ',' + name from syscolumns Where id = object_Id('Sc_WorkBillMainXnqt') for xml path('')),1,1,'') as name ", "");
+ sql = $"insert into Sc_WorkBillMainXnqt({columnName}) select {columnName} from Sc_WorkBillSortBillMain";
+ LogHelper.Info("娴嬭瘯1锛�" + sql);
+ sqlList.Add(sql);
+ columnName = DBServiceHelper.ExecuteScalar<string>(Context, "/*dialect*/ select stuff((select ',' + name from syscolumns Where id = object_Id('Sc_WorkBillSubXnqt') for xml path('')),1,1,'') as name ", "");
+ sql = $"insert into Sc_WorkBillSubXnqt({columnName}) select {columnName} from Sc_WorkBillSortBillSub";
+ LogHelper.Info("娴嬭瘯1锛�" + sql);
+
+ sqlList.Add(sql);
+ sql = $"update Sc_WorkBillSubXnqt set FComplete=''";
+ sqlList.Add(sql);
+
+ DBServiceHelper.ExecuteBatch(Context, sqlList);
+ }
+ catch (Exception ex)
+ {
+ this.View.ShowErrMessage(ex.Message);
+ return;
+ }
+ this.View.ShowMessage("鎿嶄綔鎴愬姛");
+ }
+ }
+ /// <summary>
/// 琛屽弻鍑� 璺冲嚭榻愬鍒嗘瀽鏄庣粏鍒楄〃
/// </summary>
/// <param name="e"></param>
@@ -172,14 +213,30 @@
//鐢熶骇璁″垝骞冲彴鎷栨湡鏄庣粏璺宠浆
formPa.FormId = "paez_TardinessDetails";
formPa.CustomParams.Add("FID", Convert.ToString(this.View.Model.GetValue("FDayPlanWorkID", e.Row).ToString()));
+ this.View.ShowForm(formPa);
+ }
+ else if (e.ColKey == "FQTYLS")
+ {
+ //鐢熶骇璁″垝骞冲彴
+ string pageId = Guid.NewGuid().ToString();
+ BillShowParameter showParameter = new BillShowParameter();
+ showParameter.FormId = "Paez_Sc_WorkBillAutoSortBill";
+ showParameter.OpenStyle.ShowType = ShowType.MainNewTabPage;
+ showParameter.PageId = pageId;
+ showParameter.Status = OperationStatus.EDIT;
+ // 浼犲叆闇�瑕佷慨鏀圭殑鏃ヨ鍒掑伐鍗曞唴鐮侊紝
+ showParameter.PKey = Convert.ToString(this.View.Model.GetValue("FDayPlanWorkID", e.Row).ToString());
+ this.View.ShowForm(showParameter);
+
}
else
{
//榻愬鍒嗘瀽鏄庣粏鍒楄〃璺宠浆
formPa.FormId = "paez_CompleteAnalysisDetail";
formPa.CustomParams.Add("FHICMOInterID", Convert.ToString(this.View.Model.GetValue("FDayPlanWorkID", e.Row).ToString()));
+ this.View.ShowForm(formPa);
}
- this.View.ShowForm(formPa);
+
}
/// <summary>
/// 鏌ョ湅铏氭嫙榻愬
@@ -980,7 +1037,6 @@
{
Stopwatch sw = new Stopwatch();
sw.Start();//寮�濮嬭鏃�
- LogHelper.Info("榻愬鍒嗘瀽寮�濮嬪噯澶囨暟鎹細" + sw.Elapsed);
//娓呯┖榻愬涓存椂琛�
DBServiceHelper.Execute(Context, "/*dialect*/ delete JIT_MOMaterReadysBill ");
//鏇存柊鐘舵��
@@ -1052,9 +1108,9 @@
int i = 1;
//鍒涘缓瀛楀吀 鐢ㄤ簬鍌ㄥ瓨鐗╂枡 + 鍗犵敤鏁伴噺
Dictionary<string, decimal> occupyDic = new Dictionary<string, decimal>();
+ LogHelper.Info("榻愬鍒嗘瀽鍑嗗鏁版嵁瀹屾垚锛�" + sw.Elapsed);
foreach (var item in DatePlanList)
{
-
//绛涢�夊嚭褰撴棩璁″垝鏁版嵁
var _BomList = BomList.Where(x => x.FHMASTERDATE == item.FHMASTERDATE && x.FPRDMOENTYID == item.FPRDMOENTYID).ToList();
foreach (var _item in _BomList)
@@ -1070,7 +1126,6 @@
decimal _fLackCount = _item.PlanCount > sjkcList.FBASEQTY ? (_item.PlanCount - sjkcList.FBASEQTY) : 0;//缂烘枡鏁伴噺
foreach (var Inventory in _ListInventory)
{
-
if (need == 0)
break;
decimal fCompleteCount = need >= Inventory.FBASEQTY ? Inventory.FBASEQTY : need;//榻愬鏁伴噺
@@ -1408,7 +1463,7 @@
}
catch (Exception ex)
{
- this.View.ShowErrMessage("寮傚父锛�"+ ex.Message.ToString());
+ this.View.ShowErrMessage("寮傚父锛�" + ex.Message.ToString());
LogHelper.Error("铏氭嫙榻愬鍒嗘瀽璺冲嚭锛�" + ex.Message.ToString());
}
finally
@@ -1462,6 +1517,7 @@
{
this.Model.CreateNewEntryRow("FEntity");
this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿
+ this.Model.SetValue("FMOFBILLTYPE", Convert.ToString(dt.Rows[i]["FMOFBILLTYPE"]), i);//鐢熶骇璁㈠崟鍗曟嵁绫诲瀷
this.Model.SetValue("FCompleteSetCount", "", i);//鎬婚綈濂楁暟閲�
this.Model.SetValue("FProOrderCount", dt.Rows[i]["FHOrderNeedQty"].ToString(), i);//鐢熶骇璁㈠崟鏁伴噺
this.Model.SetValue("FSRCBILLENTRYSEQ", dt.Rows[i]["FSRCBILLENTRYSEQ"].ToString(), i);//
@@ -1586,6 +1642,7 @@
{
this.Model.CreateNewEntryRow("FEntity");
this.Model.SetValue("FSEQ", i + 1, i);//搴忓彿
+ this.Model.SetValue("FMOFBILLTYPE", Convert.ToString(dt.Rows[i]["FMOFBILLTYPE"]), i);//鐢熶骇璁㈠崟鍗曟嵁绫诲瀷
this.Model.SetValue("FCompleteSetCount", "", i);//鎬婚綈濂楁暟閲�
this.Model.SetValue("FProOrderCount", dt.Rows[i]["FHOrderNeedQty"].ToString(), i);//鐢熶骇璁㈠崟鏁伴噺
this.Model.SetValue("FSRCBILLENTRYSEQ", dt.Rows[i]["FSRCBILLENTRYSEQ"].ToString(), i);//
@@ -1788,8 +1845,8 @@
{
string sql = string.Format(@"
/*dialect*/
- select t1.FID,t1.FSEQ FDayPlanFSEQ,t1.FEntryID,T2.FBILLNO AS FDayPlanFBILLNO,t3.FMATERIALID,T5.FNUMBER,t1.FHMASTERDATE,t1.FHQTY,t4.FMATERIALID FMATERIALID2,T6.FNUMBER FNUMBER2,T7.FNUMBER FUNITNUMBER,FNumerator,FDenominator,convert(decimal(18,2),(FNumerator/FDenominator) *t1.FHQTY) FHQtyMust,T4.FUnitID,t8.FNUMBER FUNITNUMBER2,T3.FID FPPBOM,T4.FENTRYID FPPBOMENTRYID,isnull(T9.FBillNo,'')FBillNo,t10.FNUMBER FORGNUMBER,t11.FNUMBER FHSOURCENUMBER,FSCRAPRATE,FFIXSCRAPQTY,T9.FID AS DayPlanFID,t2.FSCORDERNO,
-t3.FMOENTRYID,t3.FBILLNO FPPBOMBILLNO,T4.FSEQ,tc.FOWNERTYPEID,tc.FOWNERID,tc.FEntrustPickOrgId,torg.FNUMBER as FORGNUMBER,t3.FMOID,FIssueType,FMaterialType
+ select t1.FID,t1.FSEQ FDayPlanFSEQ,t1.FEntryID,T2.FBILLNO AS FDayPlanFBILLNO,t3.FMATERIALID,T5.FNUMBER,t1.FHMASTERDATE,t1.FHQTY,t4.FMATERIALID FMATERIALID2,T6.FNUMBER FNUMBER2,T7.FNUMBER FUNITNUMBER,FNumerator,FDenominator,convert(decimal(18,2),(t4.FMustQty/T3.FQTY) *t1.FHQTY) FHQtyMust,T4.FUnitID,t8.FNUMBER FUNITNUMBER2,T3.FID FPPBOM,T4.FENTRYID FPPBOMENTRYID,isnull(T9.FBillNo,'')FBillNo,t10.FNUMBER FORGNUMBER,t11.FNUMBER FHSOURCENUMBER,FSCRAPRATE,FFIXSCRAPQTY,T9.FID AS DayPlanFID,t2.FSCORDERNO,
+t3.FMOENTRYID,t3.FBILLNO FPPBOMBILLNO,T4.FSEQ,tc.FOWNERTYPEID,tc.FOWNERID,tc.FEntrustPickOrgId,torg.FNUMBER as FORGNUMBER,t3.FMOID,FIssueType,FMaterialType,td.FNUMBER as FWORKSHOPID,t4.FReplaceGroup,t4.FUseRate
FROM Sc_WorkBillSortBillSub t1
JOIN Sc_WorkBillSortBillMAIN t2 on t1.FID = t2.FID
JOIN T_PRD_PPBOM T3 on T2.FPRDMOMAINID=t3.FMOID AND T2.FPRDMOENTYID=T3.FMOENTRYID
@@ -1803,7 +1860,16 @@
LEFT JOIN Sc_DayPlanPPBomBillMain T9 ON T1.FEntryID=T9.FDayPlanFID
LEFT join T_ORG_Organizations t10 on t2.FHPRDORGID = t10.FORGID
LEFT join T_ENG_WORKCENTER t11 on t2.FHSOURCEID = t11.FID
- WHERE t1.FHQTY>0
+ left join T_BD_DEPARTMENT td on t3.FWORKSHOPID=td.FDEPTID
+ WHERE t1.FEntryID not in
+(
+select distinct FDAYPLANFID from Sc_DayPlanPPBomBillMain where FID IN (
+select distinct FDAYPLANFID from T_PRD_PICKMTRLDATA)
+)
+-- and T4.FMustQty>0
+-- (
+-- select FDayPlanFID FROM Sc_DayPlanPPBomBillMain WHERE FID IN ( select distinct FID from Sc_DayPlanPPBomBillSub WHERE FTranslateQty >0 or FPickedQty >0)
+-- )
"
);
LogHelper.Info("鐢熸垚鏃ヨ鍒掔敤鏂欐竻鍗曞噯澶囨暟鎹畇ql:" + sql);
@@ -1847,7 +1913,10 @@
FIssueType = dr["FIssueType"].ToString(),
FMaterialType = dr["FMaterialType"].ToString(),
FDayPlanFSEQ = dr["FDayPlanFSEQ"].ToString(),
- FDayPlanFBILLNO = dr["FDayPlanFBILLNO"].ToString()
+ FDayPlanFBILLNO = dr["FDayPlanFBILLNO"].ToString(),
+ FWORKSHOPID = dr["FWORKSHOPID"].ToString(),
+ FReplaceGroup = dr["FReplaceGroup"].ToString(),
+ FUseRate = dr["FUseRate"].ToString()
});
}
LogHelper.Info($"鏃ヨ鍒掔敤鏂欐竻鍗曪紝鏁版嵁鍑嗗瀹屾垚锛屼繚瀛樺埌Model瀹炰綋锛屾�昏鏁帮細{DayPlanMaterial.Count}锛岃�楁椂锛�" + sw.Elapsed);
@@ -1897,10 +1966,11 @@
ModelEnty.Add("FMOID", _item.FMOID);//
ModelEnty.Add("FISSUETYPE", _item.FIssueType);//
ModelEnty.Add("FMaterialType", _item.FMaterialType);//
- // ModelEnty.Add("FSEQ", FSEQ);//
+ ModelEnty.Add("FWORKSHOPID", new JObject() { ["Fnumber"] = _item.FWORKSHOPID });//
+ ModelEnty.Add("FReplaceGroup", _item.FReplaceGroup);//
+ ModelEnty.Add("FUseRate",_item.FUseRate);//
Entry.Add(ModelEnty);
FSEQ++;
-
}
model.Add("FEntity", Entry);
@@ -1922,9 +1992,24 @@
var result = cloudClient.BatchSave("Paez_Sc_DayPlanPPBomBill", jsonRoot.ToString());
JObject saveObj = JObject.Parse(result);
string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
+ if (saveIsSuc == "TRUE")
+ {
+ var Success = saveObj["Result"]["ResponseStatus"]["SuccessEntitys"].ToString().TrimStart('{').TrimEnd('}');
+ var allList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(Success);
+ List<string> ls = new List<string>();
+ foreach (var it in allList)
+ {
+ it.TryGetValue("Id", out string value);
+ ls.Add(value);
+ }
+ var resultAA = String.Join(",", ls.ToArray());
+ string resSql = string.Format(@"/*dialect*/ update Sc_WorkBillSortBillSub set Sc_WorkBillSortBillSub.FDAYPLANPPBOMBILLNO = Sc_DayPlanPPBomBillMain.FBILLNO from Sc_WorkBillSortBillSub join Sc_DayPlanPPBomBillMain on Sc_WorkBillSortBillSub.FEntryID = Sc_DayPlanPPBomBillMain.FDayPlanFID where Sc_DayPlanPPBomBillMain.FID in ({0})", resultAA);
+ DBServiceHelper.Execute(Context, resSql);
+ }
if (saveIsSuc != "TRUE")
{
- LogHelper.Error(saveObj.ToString());
+ LogHelper.Error("鏃ヨ鍒掔敤鏂欐竻鍗曞垪琛ㄧ敓鎴愬け璐�:" + jsonRoot.ToString());
+ this.View.ShowMessage(saveObj["Result"]["ResponseStatus"]["Errors"][0]["Message"].ToString());
}
Fentity = new JArray();
}
@@ -2053,7 +2138,7 @@
_PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x => x.FENTRYID).ToList();
if (_PurchaseInventory.Count == 0)
{
- LogHelper.Info("[鎻愭枡璁″垝寮�濮媇褰撳墠鐗╂枡鏄庣粏鏃犻噰璐俊鎭細" + item.FMATERIALID + " 搴撳瓨缁勭粐锛�" + item.FStockOrgId);
+ //LogHelper.Info("[鎻愭枡璁″垝寮�濮媇褰撳墠鐗╂枡鏄庣粏鏃犻噰璐俊鎭細" + item.FMATERIALID + " 搴撳瓨缁勭粐锛�" + item.FStockOrgId);
break;
}
@@ -2077,7 +2162,7 @@
//{
foreach (var Purchase in _PurchaseInventory)
{
- LogHelper.Info("閲囪喘璁㈠崟鍙锋祴璇曪細" + Purchase.FBillNo);
+ //LogHelper.Info("閲囪喘璁㈠崟鍙锋祴璇曪細" + Purchase.FBillNo);
//LogHelper.Info("鐗╂枡锛�" + Purchase.FMATERIALID + ",閲囪喘璁㈠崟鏁伴噺锛�" + Purchase.FQTY);
if (Purchase.FQTY >= NeedQty)
{
--
Gitblit v1.9.1