diff --git a/GZ_LTHPilot_ORDER.csproj b/GZ_LTHPilot_ORDER.csproj
index 2d476d6..8949135 100644
--- a/GZ_LTHPilot_ORDER.csproj
+++ b/GZ_LTHPilot_ORDER.csproj
@@ -238,6 +238,9 @@
+
+
+
diff --git a/SAL_DELIVERYNOTICE/PushCeLue.cs b/SAL_DELIVERYNOTICE/PushCeLue.cs
index 0ea2327..9ddd957 100644
--- a/SAL_DELIVERYNOTICE/PushCeLue.cs
+++ b/SAL_DELIVERYNOTICE/PushCeLue.cs
@@ -16,7 +16,8 @@ namespace GZ_LTHPilot_ORDER.SAL_DELIVERYNOTICE
public override void OnParseFilter(ParseFilterEventArgs e)
{
base.OnParseFilter(e);
- e.FilterPolicySQL = string.Format("And 1 = 1");
+ e.FilterPolicySQL += $"AND (SELECT CASE WHEN (SELECT COUNT(*) FROM T_SAL_DELIVERYNOTICEENTRY A INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK B ON A.FENTRYID = B.FENTRYID AND B.FSTABLENAME = 'T_SAL_ORDERENTRY' INNER JOIN T_SAL_ORDER C ON C.FID = B.FSBILLID INNER JOIN T_SAL_ORDERENTRY D ON C.FID = D.FID WHERE C.FSaleOrgId = 100302 AND C.FSALEORGID <> C.F_SaleOrgId AND A.FENTRYID = t1.FENTRYID) > 0 THEN 1 WHEN (SELECT COUNT(*) FROM T_SAL_DELIVERYNOTICEENTRY A INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK B ON A.FENTRYID = B.FENTRYID AND B.FSTABLENAME = 'T_SAL_ORDERENTRY' INNER JOIN T_SAL_ORDER C ON C.FID = B.FSBILLID INNER JOIN T_SAL_ORDERENTRY D ON C.FID = D.FID WHERE C.FSaleOrgId <> 100302 AND A.FENTRYID = t1.FENTRYID) > 0 THEN 1 WHEN (SELECT COUNT(*) FROM T_PRD_MO A INNER JOIN T_PRD_MOENTRY B ON A.FID = B.FID INNER JOIN T_PRD_MOENTRY_LK C ON B.FENTRYID = C.FENTRYID AND C.FSTABLENAME = 'T_SAL_ORDERENTRY' WHERE A.FDocumentStatus = 'C' AND C.FSBILLID IN (SELECT C.FID FROM T_SAL_DELIVERYNOTICEENTRY A INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK B ON A.FENTRYID = B.FENTRYID AND B.FSTABLENAME = 'T_SAL_ORDERENTRY' INNER JOIN T_SAL_ORDER C ON C.FID = B.FSBILLID INNER JOIN T_SAL_ORDERENTRY D ON C.FID = D.FID INNER JOIN T_BD_MATERIAL E ON D.FMATERIALID = E.FMATERIALID WHERE C.FSaleOrgId = 100302 AND C.FSALEORGID = C.F_SaleOrgId AND (E.FNUMBER NOT LIKE 'H.10%' OR E.FNUMBER NOT LIKE 'H.20%' OR E.FNUMBER NOT LIKE 'H.30%') AND A.FENTRYID = t1.FENTRYID)) > 0 THEN 1 ELSE (SELECT COUNT(*) FROM T_PRD_MO A INNER JOIN T_PRD_MOENTRY B ON A.FID = B.FID INNER JOIN T_PRD_MOENTRY_LK C ON B.FENTRYID = C.FENTRYID AND C.FSTABLENAME = 'T_SAL_ORDERENTRY' WHERE A.FDocumentStatus = 'C' AND C.FSBILLID IN (SELECT C.FID FROM T_SAL_DELIVERYNOTICEENTRY A INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK B ON A.FENTRYID = B.FENTRYID AND B.FSTABLENAME = 'T_SAL_ORDERENTRY' INNER JOIN T_SAL_ORDER C ON C.FID = B.FSBILLID INNER JOIN T_SAL_ORDERENTRY D ON C.FID = D.FID INNER JOIN T_BD_MATERIAL E ON D.FMATERIALID = E.FMATERIALID WHERE C.FSaleOrgId = 100302 AND C.FSALEORGID = C.F_SaleOrgId AND (E.FNUMBER LIKE 'H.10%' OR E.FNUMBER LIKE 'H.20%' OR E.FNUMBER LIKE 'H.30%') AND A.FENTRYID = t1.FENTRYID)) END AS Result) > 0";
+ e.PlugFilterDesc = "当销售订单的销售组织为珠海派诺且销售组织=备货组织时,销售订单需下推生产订单且生产订单处于审核状态后,才可由发货通知单下推销售出库";
}
}
}
diff --git a/SAL_DELIVERYNOTICE/SaveYFH.cs b/SAL_DELIVERYNOTICE/SaveYFH.cs
new file mode 100644
index 0000000..f5bb772
--- /dev/null
+++ b/SAL_DELIVERYNOTICE/SaveYFH.cs
@@ -0,0 +1,191 @@
+using System;
+using Kingdee.BOS.Core.Bill.PlugIn;
+using Kingdee.BOS.App.Data;
+using System.ComponentModel;
+using Kingdee.BOS.Core.Bill.PlugIn.Args;
+using Kingdee.BOS.Util;
+using Kingdee.BOS.WebApi.Client;
+using Newtonsoft.Json.Linq;
+using System.Net.Http;
+using System.Text;
+using Kingdee.BOS.WebApi.FormService;
+using Newtonsoft.Json;
+
+namespace GZ_LthFHTZSava
+{
+ [Description("保存前触发,以收款条件和发货金额做判断01"), HotUpdate]
+ public class SaveYFH : AbstractBillPlugIn
+ {
+ private double F_Amount;
+
+ //获取当前时间
+ private DateTime now = DateTime.Now;
+
+ public override void BeforeSave(BeforeSaveEventArgs e)
+ {
+ base.BeforeSave(e);
+
+ //获取发货通知单的销售范围#字段
+ var F_SalesRange = this.View.Model.GetValue("F_SalesRange");
+
+ //判断销售范围字段等于购销
+ if (F_SalesRange.ToString() == "GX")
+ {
+ //获取发货通知单的源单编号字段
+ var FSrcBillNo = this.View.Model.GetValue("FSrcBillNo", 0);
+
+ //SQL查询获取销售订单的累计核销金额字段
+ var F_AmountSql = string.Format(@"SELECT F_AMOUNT FROM T_SAL_ORDER WHERE FBILLNO = '{0}'", FSrcBillNo.ToString());
+ var F_AmountDS = DBUtils.ExecuteDynamicObject(this.Context, F_AmountSql);
+ if (F_AmountDS.Count != 0)
+ {
+ F_Amount = Convert.ToDouble(F_AmountDS[0]["F_AMOUNT"]);
+ }
+
+ //SQL以销售订单编号做查询,查询收款条件名称
+ var SKTJFNameSql = string.Format(@"SELECT ISNULL(t3.FNAME,'') AS FNAME FROM T_SAL_ORDER t1 LEFT JOIN T_SAL_ORDERPLAN t2 on t1.FID = t2.FID LEFT JOIN T_BD_RECCONDITION_L t3 on t3.FID = t2.F_RecConditionId Where t1.FBILLNO = '{0}'", FSrcBillNo.ToString());
+ var SKTJFNameDS = DBUtils.ExecuteDynamicObject(this.Context, SKTJFNameSql);
+ foreach (var SKTJFNameRow in SKTJFNameDS)
+ {
+ if (SKTJFNameRow["FNAME"].ToString() == "")
+ {
+ continue;
+ }
+ //判定收款条件是否为预付款
+ string IFYFK = "预付";
+ if (SKTJFNameRow["FNAME"].ToString().Contains(IFYFK))
+ {
+ //SQL查询获取销售订单预付款的应收金额
+ string FRecAdvanceAmountSql = string.Format(@"SELECT SUM(t1.FRecAdvanceAmount) AS FRecAdvanceAmount FROM T_SAL_ORDERPLAN t1 LEFT JOIN T_SAL_ORDER t2 on t1.FID = t2.FID LEFT JOIN T_BD_RECCONDITION_L t3 on t3.FID = t1.F_RECCONDITIONID WHERE t2.FBILLNO = '{0}' AND t3.FNAME like '%预付%'", FSrcBillNo);
+ var FRecAdvanceAmountDS = DBUtils.ExecuteDynamicObject(this.Context, FRecAdvanceAmountSql);
+ if (FRecAdvanceAmountDS.Count != 0)
+ {
+ double FRecAdvanceAmount = Convert.ToDouble(FRecAdvanceAmountDS[0]["FRecAdvanceAmount"]);
+ //判定收款条件为预付款时,是否为预发货
+ if (F_Amount < FRecAdvanceAmount)
+ {
+ this.View.Model.SetValue("F_SFYFH", "是");
+ this.View.Model.SetValue("F_VRYF_Date_83g", now);
+ this.View.UpdateView();
+ }
+ else
+ {
+ this.View.Model.SetValue("F_SFYFH", "否");
+ this.View.Model.SetValue("F_VRYF_Date_83g", now);
+ this.View.UpdateView();
+ }
+ }
+ }
+ //判定条件是否为款到发货
+ string IFKDFH = "款到发货";
+ if (SKTJFNameRow["FNAME"].ToString().Contains(IFKDFH))
+ {
+ //获取当前单据的发货金额
+ double FBillAllAmount1 = Convert.ToDouble(this.View.Model.GetValue("FBillAllAmount"));
+
+ string FBillAllAmountSql;
+
+ //SQL查询累计发货金额
+ if (this.View.Model.GetValue("FBillNo").IsNullOrEmpty())
+ {
+ FBillAllAmountSql = string.Format(@"SELECT SUM(t1.FBillAllAmount) FBillAllAmount FROM T_SAL_DELIVERYNOTICEFIN t1 LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t2 on t1.FID = t2.FID WHERE t2.FSRCBILLNO = '{0}'And t2.FID != 0", FSrcBillNo);
+ }
+ else
+ {
+ //获取发货通知单的FID
+ string FormTitle = this.View.Model.DataObject["Id"].ToString();
+
+ FBillAllAmountSql = string.Format(@"SELECT SUM(t1.FBillAllAmount) FBillAllAmount FROM T_SAL_DELIVERYNOTICEFIN t1 LEFT JOIN T_SAL_DELIVERYNOTICEENTRY t2 on t1.FID = t2.FID WHERE t2.FSRCBILLNO = '{0}' And t1.FID != '{1}'", FSrcBillNo, FormTitle);
+ }
+
+ var FBillAllAmountDS = DBUtils.ExecuteDynamicObject(this.Context, FBillAllAmountSql);
+ if (FBillAllAmountDS.Count != 0)
+ {
+ double FBillAllAmount = Convert.ToDouble(FBillAllAmountDS[0]["FBillAllAmount"]);
+ if (F_Amount < FBillAllAmount + FBillAllAmount1)
+ {
+ this.View.Model.SetValue("F_SFYFH", "是");
+ this.View.UpdateView();
+ this.View.Model.SetValue("F_VRYF_Date_83g", now);
+ this.View.UpdateView();
+ }
+ else
+ {
+ this.View.Model.SetValue("F_SFYFH", "否");
+ this.View.UpdateView();
+ this.View.Model.SetValue("F_VRYF_Date_83g", now);
+ this.View.UpdateView();
+ }
+ }
+ }
+ ////判定条件是否为协议付款
+ //string IFXYFK = "协议付款";
+ //if (SKTJFNameRow["FNAME"].ToString().Contains(IFXYFK))
+ //{
+ // //SQL查询销售组织和客户编码
+ // string FSaleOrgIdAndFCustIdSql = string.Format(@"SELECT t1.FSaleOrgId AS FSaleOrgId,t2.FNUMBER AS FNUMBER FROM T_SAL_ORDER t1 LEFT JOIN T_BD_CUSTOMER t2 on t1.FCUSTID = t2.FCUSTID WHERE FBILLNO = '{0}'", FSrcBillNo);
+ // var FSaleOrgIdAndFCustIdDS = DBUtils.ExecuteDynamicObject(this.Context, FSaleOrgIdAndFCustIdSql);
+ // if (FSaleOrgIdAndFCustIdDS.Count != 0)
+ // {
+ // //获取销售组织
+ // string FSaleOrgId = FSaleOrgIdAndFCustIdDS[0]["FSaleOrgId"].ToString();
+ // //获取客户编码
+ // string FCustId = FSaleOrgIdAndFCustIdDS[0]["FNUMBER"].ToString();
+ // //通过API获取客户剩余信用额度
+ // var Json = "{\"FieldKeys\":\"FLIMITBALANCE\",\"SchemeId\":\"\",\"StartRow\":0,\"Limit\":2000,\"IsVerifyBaseDataField\":\"true\",\"FilterString\":[],\"Model\":{\"FSaleOrgList\":\"" + FSaleOrgId + "\",\"FObjectType\":\"BD_Customer\",\"FStartCustId\":{\"FNumber\":\"" + FCustId + "\"},\"FEndCustId\":{\"FNumber\":\"" + FCustId + "\"},\"FCreditStatus\":\"ALL\",\"FIsExceeds\":\"-1\",\"FMultiSelect\":false}}";
+
+ // var result = WebApiServiceCall.GetSysReportData(this.Context, "CRE_Rpt_CreditInfo", Json);
+
+ // var resultJo = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(result));
+ // var IsSuccess = resultJo["Result"]["IsSuccess"].Value();
+ // if (IsSuccess == "True")
+ // {
+ // var RowCount = resultJo["Result"]["RowCount"].Value();
+ // if (RowCount != 0)
+ // {
+ // JArray FLIMITBALANCEJArray = resultJo["Result"]["Rows"].Value();
+
+ // double FLIMITBALANCE = Convert.ToDouble(FLIMITBALANCEJArray[0][0]);
+
+ // //查询当前发货通知单的发货金额
+ // double FBillAllAmount = Convert.ToDouble(this.View.Model.GetValue("FBillAllAmount").ToString());
+ // //发货金额大于剩余额度百分之九十,则判定为预发货
+ // if (FBillAllAmount > FLIMITBALANCE * 0.9)
+ // {
+ // this.View.Model.SetValue("F_SFYFH", "是");
+ // this.View.UpdateView();
+ // this.View.Model.SetValue("F_VRYF_Date_83g", now);
+ // this.View.UpdateView();
+ // }
+ // else
+ // {
+ // this.View.Model.SetValue("F_SFYFH", "否");
+ // this.View.UpdateView();
+ // this.View.Model.SetValue("F_VRYF_Date_83g", now);
+ // this.View.UpdateView();
+ // }
+ // }
+ // else if (RowCount == 0)
+ // {
+ // this.View.Model.SetValue("F_SFYFH", "是");
+ // this.View.UpdateView();
+ // this.View.ShowErrMessage("客户编码: " + FCustId + ",未启用信用管理");
+ // this.View.Model.SetValue("F_VRYF_Date_83g", now);
+ // this.View.UpdateView();
+ // }
+ // else
+ // {
+ // this.View.Model.SetValue("F_SFYFH", "否");
+ // this.View.UpdateView();
+ // this.View.Model.SetValue("F_VRYF_Date_83g", now);
+ // this.View.UpdateView();
+ // }
+ // }
+ // }
+ //}
+
+ }
+ }
+ }
+ }
+}
diff --git a/SAL_ORDER/SaveWL.cs b/SAL_ORDER/SaveWL.cs
new file mode 100644
index 0000000..d81a928
--- /dev/null
+++ b/SAL_ORDER/SaveWL.cs
@@ -0,0 +1,41 @@
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Util;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace GZ_LTHPilot_ORDER.SAL_ORDER
+{
+ [Description("服务插件:销售订单根据物料编码做判断"), HotUpdate]
+ public class SaveWL : AbstractOperationServicePlugIn
+ {
+ public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e)
+ {
+ base.BeforeExecuteOperationTransaction(e);
+ foreach (var Row in e.SelectedRows)
+ {
+ //获取单据信息
+ var Billobj = Row.DataEntity;
+ //根据订单FID
+ var sqls = SqlManage.SqlManage.SaveOrder_GZTH(this.Context, Convert.ToString(Billobj["Id"]));
+ if (sqls != null)
+ {
+ foreach (var sql in sqls)
+ {
+ if (Convert.ToInt32(sql["SUMWL"]) == 0)
+ {
+ e.Cancel = true;
+ throw new Exception(
+ string.Format(@"物料编码J开头,则明细物联网卡使用年份字段必填")
+ );
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/SQL/SqlManage.cs b/SQL/SqlManage.cs
index 46fae20..d56a996 100644
--- a/SQL/SqlManage.cs
+++ b/SQL/SqlManage.cs
@@ -58,17 +58,17 @@ namespace GZ_LTHPilot_ORDER.SqlManage
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//生产用料清单明细为半成品仓,更改是否关键件字段
- public static void UpdatePRD_PPBOMFIsKeyComponent(Context ctx,string FENTRYID)
+ public static void UpdatePRD_PPBOMFIsKeyComponent(Context ctx, string FENTRYID)
{
string sql = string.Format(@"/*dialect*/
update T_PRD_PPBOMENTRY_C
SET FIsKeyComponent = '1'
WHERE FENTRYID = '{0}'
- ",FENTRYID);
+ ", FENTRYID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//生产用料清单明细为包材仓,更改发料方式
- public static void UpdatePRD_PPBOMFIssueType(Context ctx, string FENTRYID)
+ public static void UpdatePRD_PPBOMFIssueType(Context ctx, string FENTRYID)
{
string sql = string.Format(@"/*dialect*/
update T_PRD_PPBOMENTRY_C
@@ -84,7 +84,7 @@ namespace GZ_LTHPilot_ORDER.SqlManage
update T_PRD_PPBOMENTRY_C
SET FIssueType = '4',FBackFlushType = '3',FSrcTransOrgId = '{1}'
WHERE FENTRYID = '{0}'
- ", FENTRYID,ZZID);
+ ", FENTRYID, ZZID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//生产用料清单明细为包装结构件仓和装配结构件仓,更改拔出仓库为仓库
@@ -159,7 +159,7 @@ namespace GZ_LTHPilot_ORDER.SqlManage
}
//查询收款单源单明细的源单类型为应收单查询销售订单编号的SQL语句
- public static DynamicObjectCollection GetRECEIVEBILLFSRCBILLNOAndFREALRECAMOUNTFOR(Context ctx,string FID)
+ public static DynamicObjectCollection GetRECEIVEBILLFSRCBILLNOAndFREALRECAMOUNTFOR(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
SELECT
@@ -178,13 +178,13 @@ namespace GZ_LTHPilot_ORDER.SqlManage
}
//更新销售订单表头的累计核销金额
- public static void UpdateOrderF_AMOUNTNew(Context ctx,string Fbillno,string FREALRECAMOUNTFOR)
+ public static void UpdateOrderF_AMOUNTNew(Context ctx, string Fbillno, string FREALRECAMOUNTFOR)
{
string sql = string.Format(@"/*dialect*/
update T_SAL_ORDER
SET F_AMOUNT = F_AMOUNT+{1}
WHERE FBILLNO = '{0}'
- ", Fbillno,FREALRECAMOUNTFOR);
+ ", Fbillno, FREALRECAMOUNTFOR);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
@@ -200,7 +200,7 @@ namespace GZ_LTHPilot_ORDER.SqlManage
}
//获取预收款单的销售订单源单编号
- public static DynamicObjectCollection GetRECEIVEBILLFSRCBILLNOS(Context ctx,string FID)
+ public static DynamicObjectCollection GetRECEIVEBILLFSRCBILLNOS(Context ctx, string FID)
{
string sql = string.Format(@"
SELECT
@@ -229,7 +229,7 @@ namespace GZ_LTHPilot_ORDER.SqlManage
INNER JOIN T_AR_RECEIVABLEENTRY_LK F On E.FENTRYID = F.FENTRYID AND F.FALLAMOUNTFOR_D <> 0
INNER JOIN T_SAL_RETURNSTOCKENTRY G ON G.FID = F.FSBILLID AND F.FSID = G.FENTRYID
WHERE A.FID = '{0}' AND B.FSOURCETYPE = 'AR_receivable' AND A.FSALEORGID <> '100302'
- ",FID);
+ ", FID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
@@ -257,56 +257,56 @@ namespace GZ_LTHPilot_ORDER.SqlManage
}
//根据销售出库单的FID,获取销售订单的FENTRYID
- public static DynamicObjectCollection GetSal_ORderFEntryIdAndFid(Context ctx,string FID)
+ public static DynamicObjectCollection GetSal_ORderFEntryIdAndFid(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
EXEC GETSAL_ORDERFidAndFENTRYID_GZTH '{0}'
- ",FID);
+ ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
//根据销售出库单的FID,反写销售订单新旧系统未出库数量
- public static void UpdateSal_OrderF_notoutQty(Context ctx,string FENTRYID)
+ public static void UpdateSal_OrderF_notoutQty(Context ctx, string FENTRYID)
{
string sql = string.Format(@"/*dialect*/
EXEC UpdateSAL_ORDERF_notoutQty '{0}'
- ",FENTRYID);
+ ", FENTRYID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//根据销售退货单的FID,获取销售订单的FENTRYID
- public static DynamicObjectCollection GETRETURNSTOCKSal_ORDERFidAndFentryid(Context ctx,string FID)
+ public static DynamicObjectCollection GETRETURNSTOCKSal_ORDERFidAndFentryid(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
EXEC GETRETURNSTOCKSal_ORDERFidAndFentryid_GZTH '{0}'
- ",FID);
+ ", FID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/*当物料为M开头,发料方式设置为调拨倒冲,倒冲时机设置为入库倒冲,拨出组织设置为珠海派诺,拨出组织为空,
仓库设置为 : 68*/
- public static void UpdatePRD_PPBOMLIkeM(Context ctx,string FID)
+ public static void UpdatePRD_PPBOMLIkeM(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
EXEC UpdatePRD_PPBOMLIkeM_GZTH '{0}'
- ",FID);
+ ", FID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//根据销售订单的纸质合同号,修改销售订单的销售类型字段
- public static void UpdateSal_OrderF_VRYF_Combo_lsn(Context ctx,string FID)
+ public static void UpdateSal_OrderF_VRYF_Combo_lsn(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
EXEC GZTH_UpdateSal_OrderF_VRYF_Combo_lsn '{0}'
- ",FID);
+ ", FID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
- //根据红字发票FID,获取查询出是否由蓝字发票进行下推,获取蓝字发票的FID,FENTRYID
- public static DynamicObjectCollection GetBuleFpFID(Context ctx,string FID)
+ //根据红字发票FID,获取查询出是否由蓝字发票进行下推,获取蓝字发票的FID,FENTRYID
+ public static DynamicObjectCollection GetBuleFpFID(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
EXEC GetLPFid_GZTH '{0}'
- ",FID);
+ ", FID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
string LpFidSql = string.Format(@"/*dialect*/
SELECT * FROM GZ_AuditTHHZFP
@@ -315,7 +315,7 @@ namespace GZ_LTHPilot_ORDER.SqlManage
}
//根据红字发票查询蓝字发票的FID,查询销售订单的FID和FENTRYID,开票数量和开票金额
- public static DynamicObjectCollection GetHZFPSal_ORDERFidAndFentryid(Context ctx,string FID)
+ public static DynamicObjectCollection GetHZFPSal_ORDERFidAndFentryid(Context ctx, string FID)
{
string sql = string.Format(@"/*dialect*/
EXEC GetIV_SALESICSal_OrderFID_GZTH '{0}'
@@ -338,11 +338,11 @@ namespace GZ_LTHPilot_ORDER.SqlManage
return DBServiceHelper.ExecuteDynamicObject(ctx, getSql.ToString(), null, null, CommandType.Text, null);
}
//根据获取的销售订单FID和FentryId,更新开票数量和开票金额
- public static void UpSal_OrderKPJEAndKPSL(Context ctx,string FID,string FENTRYID,string F_INVOICEQTY,string F_F_INVOICEAMOUNT)
+ public static void UpSal_OrderKPJEAndKPSL(Context ctx, string FID, string FENTRYID, string F_INVOICEQTY, string F_F_INVOICEAMOUNT)
{
string sql = string.Format(@"/*dialect*/
EXEC TrueUpdateSal_OrderF_INVOICEQTYAndF_F_INVOICEAMOUNTAndF_invoiceAmount_TH '{0}','{1}','{2}','{3}'
- ",FID,FENTRYID,F_INVOICEQTY,F_F_INVOICEAMOUNT);
+ ", FID, FENTRYID, F_INVOICEQTY, F_F_INVOICEAMOUNT);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//根据获取的销售订单FID和FentryId,更新开票数量和开票金额(当销售订单的累计核销金额>价税合计本位币后)
@@ -354,17 +354,17 @@ namespace GZ_LTHPilot_ORDER.SqlManage
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
//根据查询销售订单FID,查询销售订单累计核销金额和价税合计本位币
- public static DynamicObjectCollection GetSal_Order(Context ctx,string FID)
+ public static DynamicObjectCollection GetSal_Order(Context ctx, string FID)
{
string sql = string.Format(@"
SELECT
A.FBILLNO AS '单据编号',
- B.FBILLALLAMOUNT_LC AS '价税合计',
+ B.FBillAllAmount AS '价税合计',
A.F_INVOICEAMOUNT AS '累计开票金额'
FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERFIN B ON A.FID = B.FID
WHERE A.FID = '{0}'
- AND ABS(A.F_invoiceAmount) > ABS(B.FBILLALLAMOUNT_LC)
+ AND ABS(A.F_invoiceAmount) > ABS(B.FBillAllAmount)
", FID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
@@ -382,5 +382,25 @@ namespace GZ_LTHPilot_ORDER.SqlManage
");
return DBServiceHelper.ExecuteDynamicObject(ctx, getSql.ToString(), null, null, CommandType.Text, null);
}
+ //根据销售出库的FID,反写发货通知单的检验周期字段
+ public static DynamicObjectCollection UpdateFHTZDJYZQ(Context ctx,string FID)
+ {
+ //查询表并且返回表的数据
+ string getSql = string.Format(@"/*dialect*/
+ EXEC SaveCGRK_GZTH '{0}'
+ ", FID);
+ return DBServiceHelper.ExecuteDynamicObject(ctx, getSql.ToString(), null, null, CommandType.Text, null);
+ }
+
+ //根据销售订单的FID,查询物料编码J开头的物联网卡使用年份必填
+ public static DynamicObjectCollection SaveOrder_GZTH(Context ctx, string FID)
+ {
+ //查询表并且返回表的数据
+ string getSql = string.Format(@"/*dialect*/
+ EXEC SaveOrder_GZTH '{0}'
+ ", FID);
+ return DBServiceHelper.ExecuteDynamicObject(ctx, getSql.ToString(), null, null, CommandType.Text, null);
+ }
+
}
}
diff --git a/T_IV_SALESIC/AuditS_Order.cs b/T_IV_SALESIC/AuditS_Order.cs
index caab9f9..7cdb91e 100644
--- a/T_IV_SALESIC/AuditS_Order.cs
+++ b/T_IV_SALESIC/AuditS_Order.cs
@@ -11,7 +11,7 @@ using System.Threading.Tasks;
namespace GZ_LTHPilot_ORDER.IV_SALESIC
{
- [Description("服务插件:发票审核时,反写销售订单累计开票金额字段"), HotUpdate]
+ [Description("服务插件:发票审核时,反写销售订单累计开票金额字段非本位币"), HotUpdate]
public class AuditS_Order : AbstractOperationServicePlugIn
{
public override void BeforeExecuteOperationTransaction(BeforeExecuteOperationTransaction e)
diff --git a/T_IV_SALESIC/UnAuditS_Order.cs b/T_IV_SALESIC/UnAuditS_Order.cs
index 0de9d35..b2924dc 100644
--- a/T_IV_SALESIC/UnAuditS_Order.cs
+++ b/T_IV_SALESIC/UnAuditS_Order.cs
@@ -54,6 +54,7 @@ namespace GZ_LTHPilot_ORDER.T_IV_SALESIC
Convert.ToString(LZOrder["销售订单FENTRYID"]), Convert.ToString(LZOrder["开票数量"]),
Convert.ToString(LZOrder["开票金额"]));
}
+ break;
}
}
}
diff --git a/T_PUR_RECEIVE/SaveDate.cs b/T_PUR_RECEIVE/SaveDate.cs
new file mode 100644
index 0000000..292a8ed
--- /dev/null
+++ b/T_PUR_RECEIVE/SaveDate.cs
@@ -0,0 +1,28 @@
+using Kingdee.BOS.Core.DynamicForm.PlugIn;
+using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
+using Kingdee.BOS.Util;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace GZ_LTHPilot_ORDER.SAL_DELIVERYNOTICE
+{
+ [Description("服务插件:采购入库单保存触发检验周期字段更新"), HotUpdate]
+ public class SaveDate : AbstractOperationServicePlugIn
+ {
+ public override void AfterExecuteOperationTransaction(AfterExecuteOperationTransaction e)
+ {
+ base.AfterExecuteOperationTransaction(e);
+ foreach (var Row in e.SelectedRows)
+ {
+ //获取单据信息
+ var Billobj = Row.DataEntity;
+ //以采购入库单的FID,获取采购入库单日期字段减去收料通知单的日期的天数,并对检验周期字段赋值
+ SqlManage.SqlManage.UpdateFHTZDJYZQ(this.Context, Convert.ToString(Billobj["Id"]));
+ }
+ }
+ }
+}
diff --git a/bin/Debug/AForge.Video.DirectShow.dll b/bin/Debug/AForge.Video.DirectShow.dll
new file mode 100644
index 0000000..e3f806f
Binary files /dev/null and b/bin/Debug/AForge.Video.DirectShow.dll differ
diff --git a/bin/Debug/AForge.Video.dll b/bin/Debug/AForge.Video.dll
new file mode 100644
index 0000000..dc67243
Binary files /dev/null and b/bin/Debug/AForge.Video.dll differ
diff --git a/bin/Debug/Antlr3.Runtime.dll b/bin/Debug/Antlr3.Runtime.dll
new file mode 100644
index 0000000..34bd478
Binary files /dev/null and b/bin/Debug/Antlr3.Runtime.dll differ
diff --git a/bin/Debug/Aspose.Cells.dll b/bin/Debug/Aspose.Cells.dll
new file mode 100644
index 0000000..623290b
Binary files /dev/null and b/bin/Debug/Aspose.Cells.dll differ
diff --git a/bin/Debug/BouncyCastle.Crypto.dll b/bin/Debug/BouncyCastle.Crypto.dll
new file mode 100644
index 0000000..a0590ca
Binary files /dev/null and b/bin/Debug/BouncyCastle.Crypto.dll differ
diff --git a/bin/Debug/Castle.Core.dll b/bin/Debug/Castle.Core.dll
new file mode 100644
index 0000000..24f4b2f
Binary files /dev/null and b/bin/Debug/Castle.Core.dll differ
diff --git a/bin/Debug/DevExpress.Data.v13.1.dll b/bin/Debug/DevExpress.Data.v13.1.dll
new file mode 100644
index 0000000..f8e5b4f
Binary files /dev/null and b/bin/Debug/DevExpress.Data.v13.1.dll differ
diff --git a/bin/Debug/DevExpress.Printing.v13.1.Core.dll b/bin/Debug/DevExpress.Printing.v13.1.Core.dll
new file mode 100644
index 0000000..d6d6b43
Binary files /dev/null and b/bin/Debug/DevExpress.Printing.v13.1.Core.dll differ
diff --git a/bin/Debug/DevExpress.Utils.v13.1.dll b/bin/Debug/DevExpress.Utils.v13.1.dll
new file mode 100644
index 0000000..143cbc7
Binary files /dev/null and b/bin/Debug/DevExpress.Utils.v13.1.dll differ
diff --git a/bin/Debug/DevExpress.XtraEditors.v13.1.dll b/bin/Debug/DevExpress.XtraEditors.v13.1.dll
new file mode 100644
index 0000000..a157f79
Binary files /dev/null and b/bin/Debug/DevExpress.XtraEditors.v13.1.dll differ
diff --git a/bin/Debug/DocumentFormat.OpenXml.Framework.dll b/bin/Debug/DocumentFormat.OpenXml.Framework.dll
new file mode 100644
index 0000000..93f3b67
Binary files /dev/null and b/bin/Debug/DocumentFormat.OpenXml.Framework.dll differ
diff --git a/bin/Debug/DocumentFormat.OpenXml.dll b/bin/Debug/DocumentFormat.OpenXml.dll
new file mode 100644
index 0000000..c879ea9
Binary files /dev/null and b/bin/Debug/DocumentFormat.OpenXml.dll differ
diff --git a/bin/Debug/FarPoint.CalcEngine.dll b/bin/Debug/FarPoint.CalcEngine.dll
new file mode 100644
index 0000000..82e3cfb
Binary files /dev/null and b/bin/Debug/FarPoint.CalcEngine.dll differ
diff --git a/bin/Debug/FarPoint.Excel.dll b/bin/Debug/FarPoint.Excel.dll
new file mode 100644
index 0000000..2a1672a
Binary files /dev/null and b/bin/Debug/FarPoint.Excel.dll differ
diff --git a/bin/Debug/FarPoint.Localization.dll b/bin/Debug/FarPoint.Localization.dll
new file mode 100644
index 0000000..6fe23a4
Binary files /dev/null and b/bin/Debug/FarPoint.Localization.dll differ
diff --git a/bin/Debug/FarPoint.PDF.dll b/bin/Debug/FarPoint.PDF.dll
new file mode 100644
index 0000000..95fcac8
Binary files /dev/null and b/bin/Debug/FarPoint.PDF.dll differ
diff --git a/bin/Debug/FarPoint.PluginCalendar.WinForms.dll b/bin/Debug/FarPoint.PluginCalendar.WinForms.dll
new file mode 100644
index 0000000..f3fbc45
Binary files /dev/null and b/bin/Debug/FarPoint.PluginCalendar.WinForms.dll differ
diff --git a/bin/Debug/FarPoint.Win.Chart.dll b/bin/Debug/FarPoint.Win.Chart.dll
new file mode 100644
index 0000000..3e92872
Binary files /dev/null and b/bin/Debug/FarPoint.Win.Chart.dll differ
diff --git a/bin/Debug/FarPoint.Win.Spread.dll b/bin/Debug/FarPoint.Win.Spread.dll
new file mode 100644
index 0000000..667181f
Binary files /dev/null and b/bin/Debug/FarPoint.Win.Spread.dll differ
diff --git a/bin/Debug/FarPoint.Win.dll b/bin/Debug/FarPoint.Win.dll
new file mode 100644
index 0000000..77d4684
Binary files /dev/null and b/bin/Debug/FarPoint.Win.dll differ
diff --git a/bin/Debug/GZ_LTHPilot_ORDER.dll b/bin/Debug/GZ_LTHPilot_ORDER.dll
index 2c39cb6..d905e09 100644
Binary files a/bin/Debug/GZ_LTHPilot_ORDER.dll and b/bin/Debug/GZ_LTHPilot_ORDER.dll differ
diff --git a/bin/Debug/GZ_LTHPilot_ORDER.pdb b/bin/Debug/GZ_LTHPilot_ORDER.pdb
index 471754b..30781c6 100644
Binary files a/bin/Debug/GZ_LTHPilot_ORDER.pdb and b/bin/Debug/GZ_LTHPilot_ORDER.pdb differ
diff --git a/bin/Debug/ICSharpCode.SharpZipLib.dll b/bin/Debug/ICSharpCode.SharpZipLib.dll
new file mode 100644
index 0000000..49a1d1a
Binary files /dev/null and b/bin/Debug/ICSharpCode.SharpZipLib.dll differ
diff --git a/bin/Debug/IronPython.dll b/bin/Debug/IronPython.dll
new file mode 100644
index 0000000..c633a5a
Binary files /dev/null and b/bin/Debug/IronPython.dll differ
diff --git a/bin/Debug/JWT.dll b/bin/Debug/JWT.dll
new file mode 100644
index 0000000..bfa0e65
Binary files /dev/null and b/bin/Debug/JWT.dll differ
diff --git a/bin/Debug/Microsoft.Dynamic.dll b/bin/Debug/Microsoft.Dynamic.dll
new file mode 100644
index 0000000..20ae62b
Binary files /dev/null and b/bin/Debug/Microsoft.Dynamic.dll differ
diff --git a/bin/Debug/Microsoft.Scripting.dll b/bin/Debug/Microsoft.Scripting.dll
new file mode 100644
index 0000000..e768906
Binary files /dev/null and b/bin/Debug/Microsoft.Scripting.dll differ
diff --git a/发货通知单下推sql.sql b/发货通知单下推sql.sql
new file mode 100644
index 0000000..d377295
--- /dev/null
+++ b/发货通知单下推sql.sql
@@ -0,0 +1,44 @@
+SELECT
+ CASE
+ WHEN
+ (
+ SELECT COUNT(*)
+ FROM T_SAL_DELIVERYNOTICEENTRY A
+ INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK B ON A.FENTRYID = B.FENTRYID AND B.FSTABLENAME = 'T_SAL_ORDERENTRY'
+ INNER JOIN T_SAL_ORDER C ON C.FID = B.FSBILLID
+ INNER JOIN T_SAL_ORDERENTRY D ON C.FID = D.FID
+ WHERE C.FSaleOrgId = 100302
+ AND C.FSALEORGID <> C.F_SaleOrgId
+ AND A.FENTRYID = t1.FENTRYID
+ ) > 0
+ THEN 1
+ WHEN(
+ SELECT COUNT(*)
+ FROM T_SAL_DELIVERYNOTICEENTRY A
+ INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK B ON A.FENTRYID = B.FENTRYID AND B.FSTABLENAME = 'T_SAL_ORDERENTRY'
+ INNER JOIN T_SAL_ORDER C ON C.FID = B.FSBILLID
+ INNER JOIN T_SAL_ORDERENTRY D ON C.FID = D.FID
+ WHERE C.FSaleOrgId <> 100302
+ AND A.FENTRYID = t1.FENTRYID
+ ) > 0
+ THEN 1
+ ELSE
+ (
+ SELECT COUNT(*)
+ FROM T_PRD_MO A
+ INNER JOIN T_PRD_MOENTRY B ON A.FID = B.FID
+ INNER JOIN T_PRD_MOENTRY_LK C ON B.FENTRYID = C.FENTRYID AND C.FSTABLENAME = 'T_SAL_ORDERENTRY'
+ WHERE A.FDocumentStatus = 'C'
+ AND C.FSBILLID IN
+ (
+ SELECT C.FID
+ FROM T_SAL_DELIVERYNOTICEENTRY A
+ INNER JOIN T_SAL_DELIVERYNOTICEENTRY_LK B ON A.FENTRYID = B.FENTRYID AND B.FSTABLENAME = 'T_SAL_ORDERENTRY'
+ INNER JOIN T_SAL_ORDER C ON C.FID = B.FSBILLID
+ INNER JOIN T_SAL_ORDERENTRY D ON C.FID = D.FID
+ WHERE C.FSaleOrgId = 100302
+ AND C.FSALEORGID = C.F_SaleOrgId
+ AND A.FENTRYID = t1.FENTRYID
+ )
+ )
+ END AS Result
\ No newline at end of file