From bb599926f42370b2ffc5930140c45a50815a1217 Mon Sep 17 00:00:00 2001
From: 王 垚 <1402714037@qq.com>
Date: 星期五, 05 三月 2021 13:32:35 +0800
Subject: [PATCH] 3.5代码上传
---
src/BLL/Demo.BillView/Demo.BillView.csproj | 4
src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs | 32 ++-
src/Model/Demo.Model/Demo.Model.csproj | 2
src/Model/Demo.Model/Model/ScpOrderPushInfo.cs | 20 ++
src/Model/Demo.Model/Model/DayPlanModel.cs | 17 ++
src/BLL/Demo.BillView/PRD/Pro_TlPush.cs | 376 +++++++++++++++++++++++++++++++++++++++++++++++
src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs | 15 +
7 files changed, 447 insertions(+), 19 deletions(-)
diff --git a/src/BLL/Demo.BillView/Demo.BillView.csproj b/src/BLL/Demo.BillView/Demo.BillView.csproj
index 63cd121..d583cfd 100644
--- a/src/BLL/Demo.BillView/Demo.BillView.csproj
+++ b/src/BLL/Demo.BillView/Demo.BillView.csproj
@@ -143,6 +143,9 @@
<Reference Include="Kingdee.K3.SCM.Common.BusinessEntity, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\ZD.Cloud.Common.7.2.3\lib\net452\Kingdee.K3.SCM.Common.BusinessEntity.dll</HintPath>
</Reference>
+ <Reference Include="Kingdee.K3.SCM.Core">
+ <HintPath>..\..\..\..\..\鍔炲叕\K3Cloud\WebSite\bin\Kingdee.K3.SCM.Core.dll</HintPath>
+ </Reference>
<Reference Include="Kingdee.K3.SCM.Credit.Business.PlugIn, Version=7.2.904.6, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\..\..\packages\ZD.Cloud.Common.7.2.3\lib\net452\Kingdee.K3.SCM.Credit.Business.PlugIn.dll</HintPath>
</Reference>
@@ -213,6 +216,7 @@
<Compile Include="PRD\Pro_MaterialRequisitionAudit.cs" />
<Compile Include="PRD\Pro_ScDayImport.cs" />
<Compile Include="PRD\Pro_TlPlanConfigure.cs" />
+ <Compile Include="PRD\Pro_TlPush.cs" />
<Compile Include="PRD\Pro_WorkBillPlatform.cs" />
<Compile Include="PRD\Pro_WorkBillPlatImport.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
diff --git a/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs b/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
index 876258c..e234176 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
@@ -18,7 +18,9 @@
using Kingdee.BOS.ServiceHelper;
using Demo.TimedTaskPlugIn.PRD;
using ZD.Cloud.Logger;
-
+using Demo.Model.Model;
+using ZD.Share.Common;
+using System.Linq;
namespace Demo.BillView.PRD
{
@@ -144,7 +146,7 @@
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}' and FSEQ='{2}' ", dt.Rows[i][1].ToString(), dt.Rows[i][5].ToString() ,dt.Rows[i][2].ToString());
+WHERE T1.FBILLNO = '{0}' AND T3.FNUMBER = '{1}' and FSEQ='{2}' ", dt.Rows[i][1].ToString(), dt.Rows[i][5].ToString(), dt.Rows[i][2].ToString());
DataTable _dt = new DataTable();
_dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
string FLOT = "";//FLOT 鎵规
@@ -186,7 +188,7 @@
this.Model.SetValue("FOrderQuantity", FQTY, i);
this.Model.SetValue("FDayPlanID", fDayPlanID, i);//鏃ヨ鍒掑伐鍗旾D
this.Model.SetValue("FDayPlanBillNo", fDayPlanBillNo, i);//鏃ュ伐鍗曠紪鍙�
- this.Model.SetValue("FSRCBILLENTRYSEQ", dt.Rows[i][2].ToString(), i);//鐢熶骇璁㈠崟鏄庣粏琛屽彿
+ this.Model.SetValue("FSRCBILLENTRYSEQ", dt.Rows[i][2].ToString(), i);//鐢熶骇璁㈠崟鏄庣粏琛屽彿
for (int j = 0; j <= 60; j++)
{
this.Model.SetValue("FT" + "" + j + "", dt.Rows[i][15 + j].ToString(), i);
@@ -280,7 +282,7 @@
DataTable dt = new DataTable();
dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
if (dt.Rows.Count == 0)
- _result += "搴忓彿锛�" + Convert.ToString(current["SEQ"]) + ",鐢熶骇璁㈠崟鍙凤細" + Convert.ToString(current["FSCOrderNo"])+ ",鐢熶骇璁㈠崟鏄庣粏琛屽彿锛�" + Convert.ToString(current["FSRCBILLENTRYSEQ"]) + "瀵瑰簲鐨勭墿鏂�" + (current["FMatrailId"] as DynamicObject)["Number"] + "涓嶅瓨鍦�";
+ _result += "搴忓彿锛�" + Convert.ToString(current["SEQ"]) + ",鐢熶骇璁㈠崟鍙凤細" + Convert.ToString(current["FSCOrderNo"]) + ",鐢熶骇璁㈠崟鏄庣粏琛屽彿锛�" + Convert.ToString(current["FSRCBILLENTRYSEQ"]) + "瀵瑰簲鐨勭墿鏂�" + (current["FMatrailId"] as DynamicObject)["Number"] + "涓嶅瓨鍦�";
}
if (_result != "")
{
@@ -336,7 +338,7 @@
jsonRoot.Add("IsVerifyBaseDataField", "");
JObject jsonModel = new JObject();
jsonModel.Add("FPreparatDate", date.ToString());//缂栧埗鏃ユ湡
- jsonModel.Add("FSRCBILLENTRYSEQ", Convert.ToString(current["FSRCBILLENTRYSEQ"]) );//鐢熶骇璁㈠崟鏄庣粏琛屽彿
+ jsonModel.Add("FSRCBILLENTRYSEQ", Convert.ToString(current["FSRCBILLENTRYSEQ"]));//鐢熶骇璁㈠崟鏄庣粏琛屽彿
jsonModel.Add("FSCOrderNo", Convert.ToString(current["FSCOrderNo"])); //鐢熶骇璁㈠崟鍙稦SCOrderNo
jsonModel.Add("FHSeOrderBillNo", Convert.ToString(current["FSalOrderNo"]));//閿�鍞鍗曞彿
jsonModel.Add("FHOrderLev", current["FOrderLevel"].ToString());//璁㈠崟绛夌骇
@@ -378,20 +380,26 @@
JArray Entry = new JArray();
if (Convert.ToString(current["FDayPlanID"]) != "0")
{
- sql = $"select max(FHMASTERDATE)FHMASTERDATE from SC_WORKBILLSORTBILLSub where FID={Convert.ToString(current["FDayPlanID"])} ";
- DateTime EndDate = DBServiceHelper.ExecuteScalar<DateTime>(Context, sql, DateTime.Now);
+ sql = $" /*dialect*/ select FEntryID,FHMASTERDATE from SC_WORKBILLSORTBILLSub where FID={Convert.ToString(current["FDayPlanID"])} ";
+ List<DayPlanModel> dayPlanModel = new List<DayPlanModel>();
+ dayPlanModel = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<DayPlanModel>();
int fseq = 1;
for (int i = 0; i <= 60; i++)
{
if (Convert.ToString(current["FT" + "" + i + ""]) == "" || Convert.ToString(current["FT" + "" + i + ""]) == "0")
continue;
- if (EndDate >= date.AddDays(i))
- continue;
+
JObject jsonFPOOrderEntry = new JObject();
jsonFPOOrderEntry.Add("FHMasterDate", date.AddDays(i).ToShortDateString()); ;//涓绘棩鏈�
jsonFPOOrderEntry.Add("FHQty ", Convert.ToString(current["FT" + "" + i + ""])); ;//鏃ヨ鍒掓暟閲�
jsonFPOOrderEntry.Add("FColumn", "FT" + "" + i + ""); ;//瀵瑰簲鐨勫垪澶�
- jsonFPOOrderEntry.Add("FSEQ", fseq); ;//搴忓彿
+ //jsonFPOOrderEntry.Add("FSEQ", fseq); ;//搴忓彿
+ List<DayPlanModel> _dayPlanModel = dayPlanModel.Where(x => x.FHMASTERDATE == date.AddDays(i).ToShortDateString()).ToList();
+ if (_dayPlanModel.Count > 0)
+ {
+ jsonFPOOrderEntry.Add("FEntryID", _dayPlanModel.FirstOrDefault().FEntryID); ;//搴忓彿
+ }
+
Entry.Add(jsonFPOOrderEntry);
fseq++;
}
@@ -401,7 +409,7 @@
var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString());
JObject saveObj = JObject.Parse(result);
string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
- LogService.WriteAsync(jsonRoot);
+ LogHelper.Info(jsonRoot.ToString());
if (saveIsSuc == "TRUE")
{
string FDayPlanBillNo = saveObj["Result"]["Number"].ToString();
@@ -425,7 +433,7 @@
jsonFPOOrderEntry.Add("FHMasterDate", date.AddDays(i).ToShortDateString()); ;//涓绘棩鏈�
jsonFPOOrderEntry.Add("FHQty ", Convert.ToString(current["FT" + "" + i + ""])); ;//鏃ヨ鍒掓暟閲�
jsonFPOOrderEntry.Add("FColumn", "FT" + "" + i + ""); ;//瀵瑰簲鐨勫垪澶�
- jsonFPOOrderEntry.Add("FSEQ", fseq); ;//搴忓彿
+ //jsonFPOOrderEntry.Add("FSEQ", fseq); ;//搴忓彿
Entry.Add(jsonFPOOrderEntry);
fseq++;
}
diff --git a/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs b/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs
new file mode 100644
index 0000000..3b729e8
--- /dev/null
+++ b/src/BLL/Demo.BillView/PRD/Pro_TlPush.cs
@@ -0,0 +1,376 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel;
+using System.Data;
+using System.Linq;
+using System.Text;
+using Demo.Model.Model;
+using Kingdee.BOS;
+using Kingdee.BOS.Core.Attachment;
+using Kingdee.BOS.Core.Bill;
+using Kingdee.BOS.Core.Bill.PlugIn;
+using Kingdee.BOS.Core.Bill.PlugIn.Args;
+using Kingdee.BOS.Core.CommonFilter;
+using Kingdee.BOS.Core.DynamicForm;
+using Kingdee.BOS.Core.DynamicForm.DiffCompare;
+using Kingdee.BOS.Core.DynamicForm.Operation;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Core.List;
+using Kingdee.BOS.Core.Metadata;
+using Kingdee.BOS.Core.Metadata.BarElement;
+using Kingdee.BOS.Core.Metadata.ConvertElement;
+using Kingdee.BOS.Core.Metadata.ConvertElement.ServiceArgs;
+using Kingdee.BOS.Core.Metadata.FormElement;
+using Kingdee.BOS.Core.Metadata.QueryElement;
+using Kingdee.BOS.Core.Msg;
+using Kingdee.BOS.Core.Permission;
+using Kingdee.BOS.Log;
+using Kingdee.BOS.Msg;
+using Kingdee.BOS.Orm;
+using Kingdee.BOS.Orm.DataEntity;
+using Kingdee.BOS.Orm.Metadata.DataEntity;
+using Kingdee.BOS.Resource;
+using Kingdee.BOS.ServiceHelper;
+using Kingdee.BOS.Util;
+using Kingdee.K3.SCM.Business;
+using Kingdee.K3.SCM.Core.SCP;
+using Kingdee.K3.SCM.ServiceHelper;
+
+namespace Demo.BillView.PRD
+{
+
+ [Description("鎻愭枡涓嬫帹閫佽揣閫氱煡鍗�")]
+ [Kingdee.BOS.Util.HotUpdate]
+ public class Pro_TlPush : AbstractBillPlugIn
+ {
+ private string InstockEntryTableNameAs;
+ private string ReturnEntryTableNameAs;
+ private string PoChangeEntryTableNameAs;
+ public override void BarItemClick(BarItemClickEventArgs e)
+ {
+ string a;
+ if ((a = e.BarItemKey.ToUpperInvariant()) != null)
+ {
+ if (a == "TBPUSH")
+ {
+ try
+ {
+ PermissionAuthResult permissionAuthResult = PermissionServiceHelper.FuncPermissionAuth(base.Context, new BusinessObject
+ {
+ Id = "SCP_ReceiveBill"
+ }, "fce8b1aca2144beeb3c6655eaf78bc34");
+ if (!permissionAuthResult.Passed)
+ {
+ string msg = ResManager.LoadKDString("娌℃湁閫佽揣閫氱煡鍗曠殑鏂板鏉冮檺", "00444293030010485", SubSystemType.SCM, new object[0]);
+ base.View.ShowErrMessage(msg, "", MessageBoxType.Notice);
+ return;
+ }
+ DynamicObjectCollection source = this.Model.DataObject["FEntity"] as DynamicObjectCollection;
+ string[] selEntryIds = (from p in source
+ select Convert.ToString(p["id"])).ToArray<string>();
+ InvokePushToRec(base.View, selEntryIds);
+ return;
+ }
+ catch (Exception ex)
+ {
+ if (ex.InnerException != null)
+ {
+ base.View.ShowErrMessage(ex.InnerException.Message, "", MessageBoxType.Notice);
+ }
+ else
+ {
+ base.View.ShowErrMessage(ex.Message, "", MessageBoxType.Notice);
+ }
+ return;
+ }
+ }
+ long num = Convert.ToInt64(this.Model.DataObject["id"]);
+ string arg = Convert.ToString(this.Model.GetValue("fbillno"));
+ ScpBillTrackInfo scpBillTrackInfo = new ScpBillTrackInfo();
+ scpBillTrackInfo.IsUpTrack = false;
+ scpBillTrackInfo.BillName = ResManager.LoadKDString("渚涘簲鍟嗗崗鍚岄噰璐鍗�", "00444293030009441", SubSystemType.SCM, new object[0]);
+ TrackItem trackItem = new TrackItem();
+ trackItem.FormId = "SCP_ReceiveBill";
+ trackItem.FormName = ResManager.LoadKDString("閫佽揣閫氱煡鍗�", "00444293030009436", SubSystemType.SCM, new object[0]);
+ trackItem.Filter = string.Format(" FSRCFORMID='PUR_PurchaseOrder' AND FSRCID={0} ", num);
+ scpBillTrackInfo.TrackItems.Add(trackItem);
+ TrackItem trackItem2 = new TrackItem();
+ trackItem2.FormId = "SCP_MRAPP";
+ trackItem2.FormName = ResManager.LoadKDString("閫�鏂欓�氱煡鍗�", "00444293030010278", SubSystemType.SCM, new object[0]);
+ trackItem2.Filter = string.Format(" FSRCBILLTYPEID='PUR_PurchaseOrder' and FSRCBILLNO = '{0}' ", arg);
+ if (string.IsNullOrWhiteSpace(this.InstockEntryTableNameAs))
+ {
+ FormMetadata formMetadata = (FormMetadata)MetaDataServiceHelper.Load(base.Context, "SCP_InStock", true);
+ SelectField selectField = formMetadata.BusinessInfo.GetQueryInfo().GetSelectField("FMATERIALID");
+ this.InstockEntryTableNameAs = selectField.FullFieldName.Substring(0, selectField.FullFieldName.IndexOf('.'));
+ }
+ if (string.IsNullOrWhiteSpace(this.ReturnEntryTableNameAs))
+ {
+ FormMetadata formMetadata2 = (FormMetadata)MetaDataServiceHelper.Load(base.Context, "SCP_MRB", true);
+ SelectField selectField2 = formMetadata2.BusinessInfo.GetQueryInfo().GetSelectField("FMATERIALID");
+ this.ReturnEntryTableNameAs = selectField2.FullFieldName.Substring(0, selectField2.FullFieldName.IndexOf('.'));
+ }
+ if (string.IsNullOrWhiteSpace(this.PoChangeEntryTableNameAs))
+ {
+ FormMetadata formMetadata3 = (FormMetadata)MetaDataServiceHelper.Load(base.Context, "SCP_POChange", true);
+ SelectField selectField3 = formMetadata3.BusinessInfo.GetQueryInfo().GetSelectField("FMATERIALID");
+ this.PoChangeEntryTableNameAs = selectField3.FullFieldName.Substring(0, selectField3.FullFieldName.IndexOf('.'));
+ }
+ TrackItem trackItem3 = new TrackItem();
+ trackItem3.FormId = "SCP_InStock";
+ trackItem3.FormName = ResManager.LoadKDString("閲囪喘鍏ュ簱鍗�", "00444293030010276", SubSystemType.SCM, new object[0]);
+ TrackItem trackItem4 = new TrackItem();
+ trackItem4.FormId = "SCP_MRB";
+ trackItem4.FormName = ResManager.LoadKDString("閲囪喘閫�鏂欏崟", "00444293030010277", SubSystemType.SCM, new object[0]);
+ TrackItem trackItem5 = new TrackItem();
+ trackItem5.FormId = "SCP_POChange";
+ trackItem5.FormName = ResManager.LoadKDString("閲囪喘璁㈠崟鍙樻洿鍗�", "00444293030010132", SubSystemType.SCM, new object[0]);
+ List<long> list = new List<long>();
+ list.Add(-1L);
+ List<long> list2 = new List<long>();
+ list2.Add(-1L);
+ List<long> list3 = new List<long>();
+ list3.Add(-1L);
+ string item = Convert.ToString(base.View.Model.DataObject["id"]);
+ List<string> list4 = new List<string>
+ {
+ item
+ };
+ string[] trackIds = list4.ToArray();
+ List<long> linkBillEntryIds = PurchaseNewServiceHelper.GetLinkBillEntryIds(base.Context, "T_STK_INSTOCKENTRY_lk", "t_PUR_POOrderEntry", trackIds, null, true);
+ List<long> linkBillEntryIds2 = PurchaseNewServiceHelper.GetLinkBillEntryIds(base.Context, "T_PUR_MRBENTRY_lk", "t_PUR_POOrderEntry", trackIds, null, true);
+ List<long> linkBillEntryIds3 = PurchaseNewServiceHelper.GetLinkBillEntryIds(base.Context, "T_PUR_POChangeEntry_LK", "t_PUR_POOrderEntry", trackIds, null, true);
+ trackItem3.Filter = string.Format(" {1}.fentryid in ({0}) ", string.Join<long>(",", linkBillEntryIds), this.InstockEntryTableNameAs);
+ trackItem4.Filter = string.Format(" {1}.fentryid in ({0}) ", string.Join<long>(",", linkBillEntryIds2), this.ReturnEntryTableNameAs);
+ trackItem5.Filter = string.Format(" {1}.fentryid in ({0}) ", string.Join<long>(",", linkBillEntryIds3), this.PoChangeEntryTableNameAs);
+ scpBillTrackInfo.TrackItems.Add(trackItem2);
+ scpBillTrackInfo.TrackItems.Add(trackItem3);
+ scpBillTrackInfo.TrackItems.Add(trackItem4);
+ scpBillTrackInfo.TrackItems.Add(trackItem5);
+ //base.View.ShowForm(scpBillTrackInfo);
+
+ View.ShowForm(new DynamicFormShowParameter
+ {
+ Height = 500,
+ Width = 1000,
+ FormId = "SCP_ScpBillTracker",
+ SyncCallBackAction = true,
+ ParentPageId = View.PageId,
+ PageId = SequentialGuid.NewGuid().ToString(),
+ CustomComplexParams =
+ {
+ {
+ "ScpBillTrackInfo",
+ scpBillTrackInfo
+ }
+ }
+ });
+ return;
+ }
+ }
+
+ public static void InvokePushToRec(IDynamicFormView formView, string[] selEntryIds)
+ {
+ if (CheckPoHasPushRec(formView.Context, selEntryIds))
+ {
+ formView.ShowWarnningMessage(ResManager.LoadKDString("閲囪喘璁㈠崟鏈夋殏瀛樼殑鍏宠仈閫佽揣鍗曟嵁锛屽啀娆$敓鎴愪細閫犳垚鍗曟嵁閲嶅涓嬫帹锛屾槸鍚︾户缁敓鎴愰�佽揣閫氱煡鍗曪紵", "00444293030037168", SubSystemType.SCM, new object[0]), "", MessageBoxOptions.YesNoCancel, delegate (MessageBoxResult selRst)
+ {
+ if (MessageBoxResult.Yes == selRst)
+ {
+ InnerInvokePushToRec(formView, selEntryIds);
+ }
+ }, MessageBoxType.Advise);
+ return;
+ }
+ InnerInvokePushToRec(formView, selEntryIds);
+ }
+
+ public static bool CheckPoHasPushRec(Context ctx, string[] billEntryIds)
+ {
+ string strSql = string.Format("select 1 from T_PUR_RECEIVE TH\r\nINNER JOIN T_PUR_RECEIVEENTRY TE ON TE.FID=TH.FID\r\nINNER JOIN T_PUR_RECEIVEENTRY_LK TELK ON TE.FENTRYID=TELK.FENTRYID\r\ninner join (select /*+ cardinality(b1 {0})*/FID from TABLE(fn_StrSplit(@FID,',',1)) b1) b on TELK.FSID=b.fid \r\nwhere TH.FDOCUMENTSTATUS='Z' ", billEntryIds.Length);
+ int num = DBServiceHelper.ExecuteScalar<int>(ctx, strSql, 0, new List<SqlParam>
+ {
+ new SqlParam("@FID", KDDbType.udt_inttable, billEntryIds)
+ }.ToArray());
+ return num == 1;
+ }
+
+ public static void InnerInvokePushToRec(IDynamicFormView formView, string[] selEntryIds)
+ {
+ DynamicFormShowParameter dynamicFormShowParameter = new DynamicFormShowParameter();
+ dynamicFormShowParameter.FormId = "SCP_PushParamFrom";
+ dynamicFormShowParameter.ParentPageId = formView.PageId;
+ dynamicFormShowParameter.OpenStyle.ShowType = ShowType.Modal;
+ dynamicFormShowParameter.CustomComplexParams.Add("SrcFormId", "paez_PODemandPlan");
+ dynamicFormShowParameter.CustomComplexParams.Add("TargetFormId", "PUR_ReceiveBill");
+ formView.ShowForm(dynamicFormShowParameter, delegate (FormResult results)
+ {
+ if (results != null && results.ReturnData != null)
+ {
+ DynamicObject dynamicObject = results.ReturnData as DynamicObject;
+ string CbConvertRule = Convert.ToString(dynamicObject["CbConvertRule"]);
+ List<ConvertRuleElement> convertRules = ConvertServiceHelper.GetConvertRules(formView.Context, "paez_PODemandPlan", "PUR_ReceiveBill");
+ ConvertRuleElement rule = convertRules.FirstOrDefault((ConvertRuleElement t) => t.Id == CbConvertRule);
+ PushPurOrderToRec(formView, selEntryIds, rule);
+ }
+ });
+ }
+
+ public static void PushPurOrderToRec(IDynamicFormView formView, string[] billEntryIds, ConvertRuleElement rule)
+ {
+ ConvertPolicyElement convertPolicyElement = rule.Policies[6];
+ Collection<BillTypeMapElement> billTypeMaps = ((BillTypeMapPolicyElement)convertPolicyElement).BillTypeMaps;
+ Dictionary<string, string> dictionary = new Dictionary<string, string>();
+ foreach (BillTypeMapElement billTypeMapElement in billTypeMaps)
+ {
+ if (!dictionary.ContainsKey(billTypeMapElement.SourceBillTypeId))
+ {
+ dictionary.Add(billTypeMapElement.SourceBillTypeId, billTypeMapElement.TargetBillTypeId);
+ }
+ }
+ List<ScpOrderPushInfo> list = new List<ScpOrderPushInfo>();
+ string strSQL = string.Format(" select tr.FentryID, t.fbilltypeid,ts.FMASTERID as fsupmasterid,t.fbillNO,TR.FID AS FBILLID \r\n from Cg_PODemandPlanBillMain t\r\n inner join T_BD_SUPPLIER ts on ts.FSUPPLIERID=t.FSUPPLIERID\r\n inner join Cg_PODemandPlanBillSub TR ON TR.FID=T.FID \r\n inner join (select /*+ cardinality(b {0})*/ fid from table(fn_StrSplit(@FID, ',',1)) b) tb on TR.fentryid=tb.fid \r\n ", billEntryIds.Length);
+ List<SqlParam> list2 = new List<SqlParam>
+ {
+ new SqlParam("@FID", KDDbType.udt_inttable, billEntryIds)
+ };
+ DynamicObjectCollection dynamicObjectCollection = DBServiceHelper.ExecuteDynamicObject(formView.Context, strSQL, null, null, CommandType.Text, list2.ToArray());
+ if (dynamicObjectCollection == null || dynamicObjectCollection.Count == 0)
+ {
+ throw new KDException("", ResManager.LoadKDString("鍙楁簮鍗曟墍閫夊崟鎹被鍨嬮檺鍒讹紝涓嶅厑璁镐笅鎺ㄧ洰鏍囧崟锛�", "00444293030009439", SubSystemType.SCM, new object[0]));
+ }
+ long supplierMasterIdByUserId = SupplierServiceHelper.GetSupplierMasterIdByUserId(formView.Context, formView.Context.UserId);
+ string format = ResManager.LoadKDString("鎮ㄦ病鏈夋潈闄愭搷浣滃崟鎹畕0}", "00444293030009639", SubSystemType.SCM, new object[0]);
+ foreach (DynamicObject dynamicObject in dynamicObjectCollection)
+ {
+ if (supplierMasterIdByUserId != Convert.ToInt64(dynamicObject["fsupmasterid"]))
+ {
+ throw new KDException("", string.Format(format, Convert.ToString(dynamicObject["fbillNO"])));
+ }
+ list.Add(new ScpOrderPushInfo
+ {
+ EntryId = Convert.ToString(dynamicObject["FentryID"]),
+ BillId = Convert.ToString(dynamicObject["FBILLID"]),
+ BilltypeId = Convert.ToString(dynamicObject["fbilltypeid"])
+ });
+ }
+ IEnumerable<IGrouping<string, ScpOrderPushInfo>> enumerable = from g in list
+ group g by g.BilltypeId;
+ List<DynamicObject> list3 = new List<DynamicObject>();
+ StringBuilder stringBuilder = new StringBuilder();
+ foreach (IGrouping<string, ScpOrderPushInfo> grouping in enumerable)
+ {
+ string key = grouping.Key;
+ List<ListSelectedRow> list4 = new List<ListSelectedRow>();
+ int num = 0;
+ foreach (ScpOrderPushInfo scpOrderPushInfo in grouping)
+ {
+ list4.Add(new ListSelectedRow(scpOrderPushInfo.BillId, scpOrderPushInfo.EntryId, num++, "paez_PODemandPlan")
+ {
+ EntryEntityKey = "FEntity"
+ });
+ }
+ ListSelectedRow[] selectedRows = list4.ToArray();
+ PushArgs pushArgs = new PushArgs(rule, selectedRows);
+ if (dictionary.ContainsKey(key))
+ {
+ pushArgs.TargetBillTypeId = dictionary[key];
+ }
+ try
+ {
+ ConvertOperationResult convertOperationResult = ConvertServiceHelper.Push(formView.Context, pushArgs, false);
+ list3.AddRange(from p in convertOperationResult.TargetDataEntities
+ select p.DataEntity);
+ }
+ catch (Exception ex)
+ {
+ stringBuilder.AppendLine(ex.Message);
+ }
+ }
+ if (list3.Count == 0)
+ {
+ if (stringBuilder.Length > 0)
+ {
+ formView.ShowErrMessage(stringBuilder.ToString(), "", MessageBoxType.Notice);
+ return;
+ }
+ formView.ShowErrMessage(ResManager.LoadKDString("娌℃湁鍙笅鎺ㄦ暟鎹紒", "00444293030009360", SubSystemType.SCM, new object[0]), "", MessageBoxType.Notice);
+ return;
+ }
+ else
+ {
+ DynamicObject[] array = list3.ToArray();
+ Dictionary<string, object> dictionary2 = new Dictionary<string, object>();
+ dictionary2["CodeTime"] = 0;
+ dictionary2["UpdateMaxNum"] = 1;
+ FormMetadata formMetadata = (FormMetadata)MetaDataServiceHelper.Load(formView.Context, "PUR_ReceiveBill", true);
+ List<BillNoInfo> billNo = BusinessDataServiceHelper.GetBillNo(formView.Context, formMetadata.BusinessInfo, array, dictionary2, "");
+ for (int i = 0; i < array.Count<DynamicObject>(); i++)
+ {
+ array[i]["BillNo"] = billNo[i].BillNo;
+ array[i]["IsInsideBill"] = true;
+ }
+ OperateOption option = OperateOption.Create();
+ IOperationResult operationResult = BusinessDataServiceHelper.Draft(formView.Context, formMetadata.BusinessInfo, array, option, "");
+ if (!operationResult.IsSuccess)
+ {
+ formView.ShowMessage(ResManager.LoadKDString("涓嬫帹澶辫触锛�", "00444293030009440", SubSystemType.SCM, new object[0]), MessageBoxType.Notice);
+ return;
+ }
+ if (operationResult.SuccessDataEnity.Count<DynamicObject>() == 1)
+ {
+ DynamicObject dynamicObject2 = operationResult.SuccessDataEnity.FirstOrDefault<DynamicObject>();
+ formView.ShowForm(new BillShowParameter
+ {
+ FormId = "SCP_ReceiveBill",
+ PKey = Convert.ToString(dynamicObject2["id"]),
+ Status = OperationStatus.EDIT,
+ OpenStyle =
+ {
+ ShowType = ShowType.MainNewTabPage
+ },
+ CustomComplexParams =
+ {
+ {
+ "FromScpOrderPushRecs",
+ true
+ }
+ }
+ });
+ return;
+ }
+ DynamicObjectType dynamicObjectType = new DynamicObjectType("ScpRecBillDatas", null, null, DataEntityTypeFlag.Class, new object[0]);
+ dynamicObjectType.RegisterSimpleProperty("BillNo", typeof(string), null, false, new object[0]);
+ dynamicObjectType.RegisterSimpleProperty("DocumentStatus", typeof(string), null, false, new object[0]);
+ dynamicObjectType.RegisterSimpleProperty("BillId", typeof(long), null, false, new object[0]);
+ DynamicObjectCollection dynamicObjectCollection2 = new DynamicObjectCollection(dynamicObjectType, null);
+ foreach (DynamicObject dynamicObject3 in operationResult.SuccessDataEnity)
+ {
+ DynamicObject dynamicObject4 = new DynamicObject(dynamicObjectType);
+ dynamicObject4["BillNo"] = dynamicObject3["BillNo"];
+ dynamicObject4["DocumentStatus"] = dynamicObject3["DocumentStatus"];
+ dynamicObject4["BillId"] = dynamicObject3["id"];
+ dynamicObjectCollection2.Add(dynamicObject4);
+ }
+ formView.ShowForm(new DynamicFormShowParameter
+ {
+ FormId = "SCP_GENRECRSTFORM",
+ PageId = SequentialGuid.NewGuid().ToString(),
+ OpenStyle =
+ {
+ ShowType = ShowType.MainNewTabPage
+ },
+ CustomComplexParams =
+ {
+ {
+ "ScpRecBillDatas",
+ dynamicObjectCollection2
+ }
+ }
+ });
+ return;
+ }
+ }
+ }
+}
diff --git a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
index b437e1c..bfdc780 100644
--- a/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
+++ b/src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -1622,7 +1622,7 @@
ModelEnty.Add("FEntrustPickOrgId", new JObject() { ["Fnumber"] = _item.FEntrustPickOrgId });//
ModelEnty.Add("FMOID", _item.FMOID);//
ModelEnty.Add("FISSUETYPE", _item.FIssueType);//
- ModelEnty.Add("FSEQ", FSEQ);//
+ // ModelEnty.Add("FSEQ", FSEQ);//
Entry.Add(ModelEnty);
FSEQ++;
@@ -1679,7 +1679,7 @@
DataTable fidDt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
string FDayPlanWorkID = "";
foreach (DataRow dr in fidDt.Rows)
- {
+ {
FDayPlanWorkID += Convert.ToString(dr["FID"]) + ",";
}
FDayPlanWorkID = FDayPlanWorkID.Substring(0, FDayPlanWorkID.Length - 1);
@@ -1749,7 +1749,7 @@
//sql闆嗗悎 鏇存柊閲囪喘璁㈠崟鍗犵敤鐨勬彁鏂欒鍒掓暟閲�
List<string> sqlList = new List<string>();
//MaterialIDList = new List<string> { "105773" };
- foreach (var item in _MaterialIDList)
+ foreach (var item in MaterialIDList)
{
//褰撳墠鐗╂枡娌℃湁閲囪喘璁㈠崟鏃� 鐩存帴璺冲嚭
List<PurchaseInventory> _PurchaseInventory = PurchaseInventory.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId && x.FQTY > 0).OrderBy(x=>x.FENTRYID).ToList();
@@ -1759,7 +1759,7 @@
continue;
}
//LogHelper.Info(item.FMATERIALID.ToString());
- //褰撳墠鐗╂枡鍜屽簱瀛樼粍缁囧搴旂殑闇�杩涜鎻愭枡璁″垝鐨勬暟鎹�
+ //褰撳墠鐗╂枡鍜屽簱瀛樼粍缁囧搴旂殑闇�杩涜鎻愭枡璁″垝鐨勬暟鎹�
List<DayPlanPpbom> _DayPlanPpbom = DayPlanPpbom.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId).ToList();
decimal FMINPOQTY = _DayPlanPpbom.FirstOrDefault().FMINPOQTY;//鏈�灏忚捣璁㈤噺
double FFIXLEADTIME = _DayPlanPpbom.FirstOrDefault().FFIXLEADTIME;//鎻愬墠鏈�
@@ -1831,7 +1831,7 @@
FORGNumber = Purchase.FORGNumber
});
//鎵i櫎鏃ヨ鍒掓槑缁嗗凡琚垎閰嶇殑鏁伴噺
- DayPlanPpbomls.NeedQty = 0;
+ DayPlanPpbomls.NeedQty = 0;
}
FEntryIdList.Clear();
//鏇存柊閲囪喘璁㈠崟
@@ -2026,8 +2026,9 @@
string PurchseFNUMBER = item.PurchseFNUMBER;
JObject model = new JObject();
model.Add("FHDate", date);
- model.Add("FHRemark", "鐢熶骇璁㈠崟鍙凤細" + "娴嬭瘯鍛㈠憿");
+ model.Add("FSettleCurrId", new JObject() { ["Fnumber"] = "PRE001" });
model.Add("FSupplierID", new JObject() { ["Fnumber"] = PurchseFNUMBER });
+
JArray Fentity = new JArray();
List<PODemandPlanTemp> _PODemandPlanList = PODemandPlanTemp.Where(x => x.FHMASTERDATE == date && x.PurchseFNUMBER == PurchseFNUMBER).ToList();
int FSEQ = 1;
@@ -2049,7 +2050,7 @@
FentityModel.Add("FHPOOrderEntryID", _item.PurchseFentryID); //閲囪喘璁㈠崟瀛愬唴鐮侊細FHPOOrderEntryID
FentityModel.Add("FHPOOrderBillNo", _item.PurchseFBillNo); //閲囪喘璁㈠崟鍙凤細FHPOOrderBillNo
FentityModel.Add("FERPCLSID", _item.FErpClsID); //鍙戞枡鏂瑰紡
- FentityModel.Add("FSEQ", FSEQ); //鍙戞枡鏂瑰紡
+ //FentityModel.Add("FSEQ", FSEQ); //鍙戞枡鏂瑰紡
FentityModel.Add("FUnitID", new JObject() { ["Fnumber"] = "Pcs" }); //鍙戞枡鏂瑰紡
Fentity.Add(FentityModel);
diff --git a/src/Model/Demo.Model/Demo.Model.csproj b/src/Model/Demo.Model/Demo.Model.csproj
index 534b89a..9f10980 100644
--- a/src/Model/Demo.Model/Demo.Model.csproj
+++ b/src/Model/Demo.Model/Demo.Model.csproj
@@ -47,11 +47,13 @@
<Compile Include="Infrastructure\IBillEntry.cs" />
<Compile Include="Model\CompleteAnalysisTempModel.cs" />
<Compile Include="Model\DayPlanMaterial.cs" />
+ <Compile Include="Model\DayPlanModel.cs" />
<Compile Include="Model\PODemandPlan\DayPlanPpbom.cs" />
<Compile Include="Model\PODemandPlan\PODemandPlanTemp.cs" />
<Compile Include="Model\PODemandPlan\PurchaseInventory.cs" />
<Compile Include="Model\PRD_Inventory.cs" />
<Compile Include="Model\PRD_PPBOM.cs" />
+ <Compile Include="Model\ScpOrderPushInfo.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="SearchModel\SAL_SaleOrderSearch.cs" />
</ItemGroup>
diff --git a/src/Model/Demo.Model/Model/DayPlanModel.cs b/src/Model/Demo.Model/Model/DayPlanModel.cs
new file mode 100644
index 0000000..2e08db2
--- /dev/null
+++ b/src/Model/Demo.Model/Model/DayPlanModel.cs
@@ -0,0 +1,17 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.Model.Model
+{
+ /// <summary>
+ ///
+ /// </summary>
+ public class DayPlanModel
+ {
+ public string FEntryID { get; set; }
+ public string FHMASTERDATE { get; set; }
+ }
+}
diff --git a/src/Model/Demo.Model/Model/ScpOrderPushInfo.cs b/src/Model/Demo.Model/Model/ScpOrderPushInfo.cs
new file mode 100644
index 0000000..1f64e0f
--- /dev/null
+++ b/src/Model/Demo.Model/Model/ScpOrderPushInfo.cs
@@ -0,0 +1,20 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Demo.Model.Model
+{
+ public class ScpOrderPushInfo
+ {
+ // Token: 0x04003075 RID: 12405
+ public string EntryId;
+
+ // Token: 0x04003076 RID: 12406
+ public string BilltypeId;
+
+ // Token: 0x04003077 RID: 12407
+ public string BillId;
+ }
+}
--
Gitblit v1.9.1