Compare commits

...

2 Commits

Author SHA1 Message Date
f50f9c9675 3322 2025-04-24 14:19:19 +08:00
3076efb620 1 2025-04-24 14:01:46 +08:00
4 changed files with 247 additions and 507 deletions

View File

@ -200,5 +200,15 @@ namespace Pilot_KD_Parino.Common
/// 累计开票金额 /// 累计开票金额
/// </summary> /// </summary>
public decimal FInvoiceAmount { get; set; } public decimal FInvoiceAmount { get; set; }
/// <summary>
/// 最近30天发货通知单金额
/// </summary>
public double FaHuoAmount30Days { get; set; }
/// <summary>
/// 最近30天开票金额
/// </summary>
public double FInvoiceAmount30Days { get; set; }
} }
} }

View File

@ -466,6 +466,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
Dictionary<string, double> shouKuanDetail = new Dictionary<string, double>(); Dictionary<string, double> shouKuanDetail = new Dictionary<string, double>();
//先挑1张收款单对应一张销售订单 //先挑1张收款单对应一张销售订单
//1、收款单的待核销金额与订单的待核销金额
var oneToOneTemp = (from q in SaleBILLLIS2Sal var oneToOneTemp = (from q in SaleBILLLIS2Sal
join u in ReceiveBILLLIST on new { q.FClient, q.FDAMOUNT } equals new { u.FClient, u.FDAMOUNT } join u in ReceiveBILLLIST on new { q.FClient, q.FDAMOUNT } equals new { u.FClient, u.FDAMOUNT }
select new { q.FClient, q.FBIllNO, q.FCONTRACTNUMBER, u.FDAMOUNT, UFbillNo = u.FBIllNO }).ToList(); select new { q.FClient, q.FBIllNO, q.FCONTRACTNUMBER, u.FDAMOUNT, UFbillNo = u.FBIllNO }).ToList();
@ -546,13 +547,182 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
}); });
} }
//2、收款单的待核销金额与订单的待最近30天发货通知单金额(除了医院客户)
var SaleBILLLIS2Sa222 = SaleBILLLISNew.Where(t => t.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对" && a.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
var oneToOneTemp2 = (from q in SaleBILLLIS2Sa222
join u in ReceiveBILLLIST on new { q.FClient, FDAMOUNT= q.FaHuoAmount30Days } equals new { u.FClient, u.FDAMOUNT }
select new { q.FClient, q.FBIllNO, q.FCONTRACTNUMBER, u.FDAMOUNT, UFbillNo = u.FBIllNO }).ToList();
//var dasdsas = oneToOneTemp.Where(h => h.FBIllNO == "PL-XSDD20250400471").FirstOrDefault();
var saleList22 = oneToOneTemp2.Select(t => t.FBIllNO).Distinct().ToList();
var ReceiveList22 = oneToOneTemp2.Select(t => t.UFbillNo).Distinct().ToList();
if (saleList22.Count > ReceiveList22.Count)
{
List<string> deleteFBIllNOList = new List<string>();
ReceiveList22.ForEach(t =>
{
var temp111 = oneToOneTemp2.FirstOrDefault(h => h.UFbillNo == t && !deleteFBIllNOList.Contains(h.FBIllNO));
if (temp111 == null)
return;
var temp11 = temp111.FBIllNO;
deleteFBIllNOList.Add(temp11);
var item = SaleBILLLISNew.Where(h => h.FBIllNO == temp11).OrderBy(h => h.FDate).FirstOrDefault();
//更新销售订单数据
item.FSKBIllNO = t;
item.FISHX = "已核销配对";
item.BenCi = temp111.FDAMOUNT;
item.FDAMOUNT = item.FDAMOUNT - item.BenCi;
shouKuanDetail.Add(t + "," + item.FBIllNO, item.BenCi);
//item.FYAMOUNT = item.FYAMOUNT + item.BenCi;
//item.=
List<string> fString = new List<string>();
fString.Add(item.FCONTRACTNUMBER);
string fCONTRACTNUMBER = string.Join(",", fString);
//更新收款单数据
var receiveItemTemp = ReceiveBILLLIST.FirstOrDefault(h => h.FBIllNO == t);
if (receiveItemTemp != null)
{
receiveItemTemp.FCONTRACTNUMBER = fCONTRACTNUMBER;
receiveItemTemp.FISHX = "已核销配对";
receiveItemTemp.BenCi = temp111.FDAMOUNT;
receiveItemTemp.FDAMOUNT = receiveItemTemp.FDAMOUNT - receiveItemTemp.BenCi;
//receiveItemTemp.FYAMOUNT = receiveItemTemp.FYAMOUNT + receiveItemTemp.BenCi;
}
});
}
else
{
List<string> deleteFBIllNOList = new List<string>();
saleList22.ForEach(t =>
{
var temp111 = oneToOneTemp2.Where(h => h.FBIllNO == t && !deleteFBIllNOList.Contains(h.UFbillNo)).OrderBy(h => h.UFbillNo).FirstOrDefault();
if (temp111 == null)
return;
var temp11 = temp111.UFbillNo;
deleteFBIllNOList.Add(temp11);
var item = SaleBILLLISNew.FirstOrDefault(h => h.FBIllNO == t);
//更新销售订单数据
item.FSKBIllNO = t;
item.FISHX = "已核销配对";
item.BenCi = temp111.FDAMOUNT;
item.FDAMOUNT = item.FDAMOUNT - item.BenCi;
//item.FYAMOUNT = item.FYAMOUNT + item.BenCi;
List<string> fString = new List<string>();
fString.Add(item.FCONTRACTNUMBER);
string fCONTRACTNUMBER = string.Join(",", fString);
//更新收款单数据
var receiveItemTemp = ReceiveBILLLIST.FirstOrDefault(h => h.FBIllNO == temp11);
if (receiveItemTemp != null)
{
receiveItemTemp.FCONTRACTNUMBER = fCONTRACTNUMBER;
receiveItemTemp.FISHX = "已核销配对";
receiveItemTemp.BenCi = temp111.FDAMOUNT;
receiveItemTemp.FDAMOUNT = receiveItemTemp.FDAMOUNT - receiveItemTemp.BenCi;
//receiveItemTemp.FYAMOUNT = receiveItemTemp.FYAMOUNT + receiveItemTemp.BenCi;
receiveItemTemp.FWeiYi = "是";
shouKuanDetail.Add(receiveItemTemp.FBIllNO + "," + item.FBIllNO, item.BenCi);
}
});
}
//3、收款单的待核销金额与订单的待最近30天开票金额(只有医院客户)
var SaleBILLLIS2Sa333 = SaleBILLLISNew.Where(t => t.FISHX != "已核销配对" && t.FDAMOUNT > 0 ).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对" && a.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
var oneToOneTemp3 = (from q in SaleBILLLIS2Sa222
join u in ReceiveBILLLIST on new { q.FClient, FDAMOUNT = q.FInvoiceAmount30Days } equals new { u.FClient, u.FDAMOUNT }
select new { q.FClient, q.FBIllNO, q.FCONTRACTNUMBER, u.FDAMOUNT, UFbillNo = u.FBIllNO }).ToList();
//var dasdsas = oneToOneTemp.Where(h => h.FBIllNO == "PL-XSDD20250400471").FirstOrDefault();
var saleList33 = oneToOneTemp3.Select(t => t.FBIllNO).Distinct().ToList();
var ReceiveList33 = oneToOneTemp3.Select(t => t.UFbillNo).Distinct().ToList();
if (SaleBILLLIS2Sa333.Count > ReceiveList33.Count)
{
List<string> deleteFBIllNOList = new List<string>();
ReceiveList33.ForEach(t =>
{
var temp111 = oneToOneTemp3.FirstOrDefault(h => h.UFbillNo == t && !deleteFBIllNOList.Contains(h.FBIllNO));
if (temp111 == null)
return;
var temp11 = temp111.FBIllNO;
deleteFBIllNOList.Add(temp11);
var item = SaleBILLLISNew.Where(h => h.FBIllNO == temp11).OrderBy(h => h.FDate).FirstOrDefault();
//更新销售订单数据
item.FSKBIllNO = t;
item.FISHX = "已核销配对";
item.BenCi = temp111.FDAMOUNT;
item.FDAMOUNT = item.FDAMOUNT - item.BenCi;
shouKuanDetail.Add(t + "," + item.FBIllNO, item.BenCi);
//item.FYAMOUNT = item.FYAMOUNT + item.BenCi;
//item.=
List<string> fString = new List<string>();
fString.Add(item.FCONTRACTNUMBER);
string fCONTRACTNUMBER = string.Join(",", fString);
//更新收款单数据
var receiveItemTemp = ReceiveBILLLIST.FirstOrDefault(h => h.FBIllNO == t);
if (receiveItemTemp != null)
{
receiveItemTemp.FCONTRACTNUMBER = fCONTRACTNUMBER;
receiveItemTemp.FISHX = "已核销配对";
receiveItemTemp.BenCi = temp111.FDAMOUNT;
receiveItemTemp.FDAMOUNT = receiveItemTemp.FDAMOUNT - receiveItemTemp.BenCi;
//receiveItemTemp.FYAMOUNT = receiveItemTemp.FYAMOUNT + receiveItemTemp.BenCi;
}
});
}
else
{
List<string> deleteFBIllNOList = new List<string>();
saleList33.ForEach(t =>
{
var temp111 = oneToOneTemp3.Where(h => h.FBIllNO == t && !deleteFBIllNOList.Contains(h.UFbillNo)).OrderBy(h => h.UFbillNo).FirstOrDefault();
if (temp111 == null)
return;
var temp11 = temp111.UFbillNo;
deleteFBIllNOList.Add(temp11);
var item = SaleBILLLISNew.FirstOrDefault(h => h.FBIllNO == t);
//更新销售订单数据
item.FSKBIllNO = t;
item.FISHX = "已核销配对";
item.BenCi = temp111.FDAMOUNT;
item.FDAMOUNT = item.FDAMOUNT - item.BenCi;
//item.FYAMOUNT = item.FYAMOUNT + item.BenCi;
List<string> fString = new List<string>();
fString.Add(item.FCONTRACTNUMBER);
string fCONTRACTNUMBER = string.Join(",", fString);
//更新收款单数据
var receiveItemTemp = ReceiveBILLLIST.FirstOrDefault(h => h.FBIllNO == temp11);
if (receiveItemTemp != null)
{
receiveItemTemp.FCONTRACTNUMBER = fCONTRACTNUMBER;
receiveItemTemp.FISHX = "已核销配对";
receiveItemTemp.BenCi = temp111.FDAMOUNT;
receiveItemTemp.FDAMOUNT = receiveItemTemp.FDAMOUNT - receiveItemTemp.BenCi;
//receiveItemTemp.FYAMOUNT = receiveItemTemp.FYAMOUNT + receiveItemTemp.BenCi;
receiveItemTemp.FWeiYi = "是";
shouKuanDetail.Add(receiveItemTemp.FBIllNO + "," + item.FBIllNO, item.BenCi);
}
});
}
//先挑1张收款单对应多张张销售订单 //先挑1张收款单对应多张张销售订单
var SaleBILLLIS2Sa2 = SaleBILLLISNew.Where(t => t.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FBIllNO).ToList(); var SaleBILLLIS2Sa2 = SaleBILLLISNew.Where(t => t.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对" && a.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FBIllNO).ToList(); ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对" && a.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FDate).ToList();
//打包式匹配法,按时间倒序逐一核销掉. //打包式匹配法,按时间倒序逐一核销掉.
ReceiveBILLLIST.ForEach(t => ReceiveBILLLIST.ForEach(t =>
{ {
var tempList = SaleBILLLIS2Sa2.Where(h => h.FClient == t.FClient && h.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderByDescending(h => h.FBIllNO).ToList(); var tempList = SaleBILLLIS2Sa2.Where(h => h.FClient == t.FClient && h.FISHX != "已核销配对" && t.FDAMOUNT > 0).OrderByDescending(h => h.FDate).ToList();
var FDAMOUNT = t.FDAMOUNT; var FDAMOUNT = t.FDAMOUNT;
List<string> heTongList = new List<string>(); List<string> heTongList = new List<string>();
@ -702,16 +872,11 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
#endregion #endregion
////删除数据 ////删除数据
//this.View.Model.DeleteEntryData("FEntity"); //this.View.Model.DeleteEntryData("FEntity");
#endregion #endregion
//获取已配对的数据 //获取已配对的数据
List<CombinaClass> SaleBILLLISNew2 = SaleBILLLISNew.Where(a => a.FSKBIllNO != "" && a.FSKBIllNO != null).ToList(); List<CombinaClass> SaleBILLLISNew2 = SaleBILLLISNew.Where(a => a.FSKBIllNO != "" && a.FSKBIllNO != null).ToList();
INDEXNumber = 1; INDEXNumber = 1;
//绑定收款单数据 //绑定收款单数据
foreach (var item in ReceiveBILLLIST2) foreach (var item in ReceiveBILLLIST2)
@ -774,20 +939,28 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
} }
this.View.UpdateView("FEntity2"); this.View.UpdateView("FEntity2");
TreeEntryGrid entryGrid = this.View.GetControl("FEntity2") as TreeEntryGrid; //处理树形表单的样式
DynamicObjectCollection entryGrid2 = this.View.Model.DataObject["FEntity2"] as DynamicObjectCollection; //TreeEntryGrid entryGrid = this.View.GetControl("FEntity2") as TreeEntryGrid;
if (entryGrid != null) //DynamicObjectCollection entryGrid2 = this.View.Model.DataObject["FEntity2"] as DynamicObjectCollection;
{ //if (entryGrid != null)
var list = entryGrid2.Where(t => t["FCONTRACTNUMBER2"] != null && t["FCONTRACTNUMBER2"].ToString() != "" && t["F_RowNew"].ToString() == "1").ToList(); //{
foreach (var item in list) // var entityKey = "FEntity2";
{ // var grid = this.View.GetControl<EntryGrid>(entityKey);
entryGrid.ExpandedRow(int.Parse(item["SEQ"].ToString()) - 1); // var list = entryGrid2.Where(t => t["FCONTRACTNUMBER2"] != null && t["FCONTRACTNUMBER2"].ToString() != "" && t["F_RowNew"].ToString() == "1").ToList();
} // foreach (var item in list)
//for (int i = 0; i < entryGrid2.Count; i++) // {
//{ // //entryGrid.ExpandedRow(int.Parse(item["SEQ"].ToString()) - 1);
// entryGrid.ExpandedRow(i);
//}
} // var backColor = "#ead1dc";
// // 常规操作是直接使用grid.SetRowBackcolor函数如果不生效可以尝试用自定义封装的GridSetRowBackcolor函数
// GridSetRowBackcolor(this.View, entityKey, backColor, int.Parse(item["SEQ"].ToString()) - 1);
// //grid.SetRowBackcolor(backColor, int.Parse(item["SEQ"].ToString()) - 1);
// }
//}
var FEndTime = DateTime.Now; var FEndTime = DateTime.Now;
TimeSpan timeSpan = FEndTime - FStartTime; TimeSpan timeSpan = FEndTime - FStartTime;
@ -1385,6 +1558,8 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
F_Ordercategory2 = Convert.ToString(item["F_Ordercategory2"]), F_Ordercategory2 = Convert.ToString(item["F_Ordercategory2"]),
F_Ordercategory = Convert.ToString(item["F_Ordercategory"]), F_Ordercategory = Convert.ToString(item["F_Ordercategory"]),
FInvoiceAmount = Convert.ToDecimal(item["FInvoiceAmount"]), FInvoiceAmount = Convert.ToDecimal(item["FInvoiceAmount"]),
FaHuoAmount30Days = Convert.ToDouble(item["FaHuoAmount30Days"]),
FInvoiceAmount30Days = Convert.ToDouble(item["FInvoiceAmount30Days"]),
}).ToList(); }).ToList();
@ -1399,7 +1574,7 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
FClient = Convert.ToInt32(item["FCONTACTUNIT"]), FClient = Convert.ToInt32(item["FCONTACTUNIT"]),
FCreated = Convert.ToInt32(item["FCREATORID"]), FCreated = Convert.ToInt32(item["FCREATORID"]),
FRemark = Convert.ToString(item["FREMARK"]), FRemark = Convert.ToString(item["FREMARK"]),
FSalesman = Convert.ToInt32(item["FSALEERID"]), FSalesman = Convert.ToInt32(item["FSALEERID"]),
F_RowNew = 1, F_RowNew = 1,
BenCi = 0, BenCi = 0,
}).ToList(); }).ToList();
@ -1491,38 +1666,38 @@ namespace Pilot_KD_Parino.QPHY_AutoWrire
///// <summary> /// <summary>
///// 设置表格背景色 /// 设置表格背景色
///// </summary> /// </summary>
///// <param name="view">当前动态表单的View层接口</param> /// <param name="view">当前动态表单的View层接口</param>
///// <param name="entityKey">单据体的标识</param> /// <param name="entityKey">单据体的标识</param>
///// <param name="color">颜色代码</param> /// <param name="color">颜色代码</param>
///// <param name="rowIndex">要设置颜色的数据行的行索引</param> /// <param name="rowIndex">要设置颜色的数据行的行索引</param>
//private static void GridSetRowBackcolor(IDynamicFormView view, string entityKey, string color, int rowIndex) private static void GridSetRowBackcolor(IDynamicFormView view, string entityKey, string color, int rowIndex)
//{ {
// var value = new JSONObject(); var value = new JSONObject();
// value[rowIndex.ToString()] = color; value[rowIndex.ToString()] = color;
// var jo = new JSONObject(); var jo = new JSONObject();
// jo["backcolor"] = value; jo["backcolor"] = value;
// var grid = view.GetControl<EntryGrid>(entityKey); var grid = view.GetControl<EntryGrid>(entityKey);
// var formState = view.GetService<IDynamicFormState>(); var formState = view.GetService<IDynamicFormState>();
// formState.AftInvokeControlMethod(grid.ControlAppearance, "UpdateFieldStates", jo); formState.AftInvokeControlMethod(grid.ControlAppearance, "UpdateFieldStates", jo);
//} }
} }
} }

View File

@ -12,101 +12,7 @@ namespace Pilot_KD_Parino.SQL
{ {
public class SqlManage_yuyubo public class SqlManage_yuyubo
{ {
/// <summary>
/// 更新销售订单核销金额
/// </summary>
/// <returns></returns>
public static void UpdateSalOrderAmount(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC UpdateSalOrderAmount {0} ", FID);
//执行SQL
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 反审核,更新销售订单核销金额
/// </summary>
/// <returns></returns>
public static void FUpdateSalOrderAmount(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC FUpdateSalOrderAmount {0} ", FID);
//执行SQL
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取销售订单数据(创建 otherItem 对象)
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetSaleOrderData4(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetSaleOrderData4 {0} ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取核销收款单信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetAutoWrireRecordId(Context ctx, string FBILLNO)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
SELECT FID FROM T_AutoWrireRecordEntry WHERE FBILLNO2 = '{0}'
UNION ALL
SELECT FID FROM T_AutoWrireRecordEntry2 WHERE FBILLNO3 = '{0}'
", FBILLNO);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取核销收款单信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetWriteReceiveDate(Context ctx, string FORGID, string FCUSTID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetWriteReceiveDate '{0}','{1}' ", FORGID, FCUSTID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取核销收款单信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetWriteReceiveDate2(Context ctx, string FORGID, string FCUSTID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
SELECT
A.FCONTACTUNIT,
A.FREMARK,
A.FBILLNO AS 'FBILLNO',
DATEDIFF(D, A.FDATE, GETDATE()) AS 'FDATE',
A.FRECAMOUNT AS 'FALLAMOUNT',
A.FRECAMOUNTFOR as 'FALLAMOUNTY',
A.FCURRENCYID as 'FCurr'
FROM T_AR_RECEIVEBILL A
LEFT JOIN T_AutoWrireRecordEntry2 B ON B.FBILLNO3 = A.FBILLNO
WHERE B.FBILLNO3 IS NULL
AND A.FCONTACTUNIT in ({1})
AND A.FDOCUMENTSTATUS = 'C'
AND A.FSALEORGID = {0}", FORGID, FCUSTID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary> /// <summary>
/// 获取核销收款单信息 /// 获取核销收款单信息
/// </summary> /// </summary>
@ -137,81 +43,7 @@ namespace Pilot_KD_Parino.SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null); return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
} }
/// <summary>
/// 获取核销销售订单信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetWriteOrderDate(Context ctx, string FORGID, string FCUSTID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetWriteOrderDate '{0}','{1}' ", FORGID, FCUSTID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取核销销售订单信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetWriteOrderDate2(Context ctx, string FORGID, string FCUSTID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
SELECT * FROM
(
SELECT
A.F_CONTRACTNUMBER,
A.FCUSTID,
A.F_PROJECTNAME,
A.FCREATORID,
A.FBILLNO AS 'FBILLNO',
DATEDIFF(D, A.FDATE, GETDATE()) AS 'FDATE',
C.FBILLALLAMOUNT_LC AS 'FALLAMOUNT' ,
C.FBILLALLAMOUNT as 'FALLAMOUNTY',
C.FSETTLECURRID as 'FCurr',
case when DATEDIFF(MONTH, A.FDATE, GETDATE())<3 then 'True' else 'False' end as 'FIs30' ,
'' as 'FTYPE'
FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERFIN C ON C.FID =A.FID
LEFT JOIN T_AutoWrireRecordEntry B ON B.FBILLNO2 = A.FBILLNO
LEFT JOIN V_ASSISTANTDATA D ON D.FENTRYID = A.F_Ordercategory
WHERE B.FBILLNO2 IS NULL
AND C.FBILLALLAMOUNT_LC <>0
AND A.FCUSTID in ({1})
AND A.FSALEORGID = {0}
--AND DATEDIFF(MONTH, A.FDATE, GETDATE())<3
AND A.FDOCUMENTSTATUS = 'C'
AND d.FNUMBER = 'P'
UNION ALL
SELECT
A.F_PAPERCONTRACT,
A.FCUSTOMERID,
A.F_PROJECTNAME,
A.FCREATORID,
A.FBILLNO AS 'FBILLNO',
DATEDIFF(D, A.FDATE, GETDATE()) AS 'FDATE',
F.FALLAMOUNT AS 'FALLAMOUNT' ,
A.FALLAMOUNTFOR AS 'FALLAMOUNTY' ,
A.FCURRENCYID AS 'FCurr' ,
case when DATEDIFF(MONTH, A.FDATE, GETDATE())<3 then 'True' else 'False' end as 'FIs30' ,
'' as 'FTYPE'
FROM t_AR_receivable A
INNER JOIN T_AR_RECEIVABLEENTRY C ON C.FID =A.FID
INNER JOIN T_AR_RECEIVABLEFIN F ON F.FID = A.FID
INNER JOIN T_SAL_ORDER E ON E.FBILLNO = C.FORDERNUMBER
LEFT JOIN T_AutoWrireRecordEntry B ON B.FBILLNO2 = A.FBILLNO
LEFT JOIN V_ASSISTANTDATA D ON D.FENTRYID = e.F_Ordercategory
WHERE B.FBILLNO2 IS NULL
AND F.FALLAMOUNT <>0
AND A.FCUSTOMERID in ({1})
AND A.FSALEORGID = {0}
--AND DATEDIFF(MONTH, A.FDATE, GETDATE())<3
AND A.FDOCUMENTSTATUS = 'C'
AND d.FNUMBER <> 'P'
) A ORDER BY A.FTYPE,a.FDATE ", FORGID, FCUSTID);
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary> /// <summary>
/// 获取核销销售订单信息 /// 获取核销销售订单信息
/// </summary> /// </summary>
@ -251,310 +83,33 @@ INNER JOIN T_SAL_ORDER aa1 WITH(NOLOCK) ON t0.F_PAPERNUMBER=aa1.F_contractnumbe
--WHERE F_PaperNumber='P202502070004' --WHERE F_PaperNumber='P202502070004'
) AD WHERE AD.F_PaperNumber = A.F_contractnumber AND ad.FSALEORGID=a.FSALEORGID ) AD WHERE AD.F_PaperNumber = A.F_contractnumber AND ad.FSALEORGID=a.FSALEORGID
GROUP BY F_PaperNumber, FSALEORGID GROUP BY F_PaperNumber, FSALEORGID
) as FInvoiceAmount ) as FInvoiceAmount,
(select SUM(bb.F_TotalAmoun) from dbo.T_SAL_DELIVERYNOTICE bb WITH(NOLOCK) WHERE bb.FSaleOrgId=a.FSALEORGID AND bb.F_Papercontract=a.F_contractnumber
AND 30 >= DATEDIFF(DAY,bb.FDATE,GETDATE()) AND bb.FDocumentStatus='C' ) as FaHuoAmount30Days,
(
SELECT SUM(F_GeneralInvoice) AS '' FROM (
SELECT F_PaperNumber, t0.FSALEORGID,
CASE WHEN F_ORDERCATEGORY ='67283ced82f38d' THEN FAFTERTOTALTAX
WHEN F_ORDERCATEGORY !='67283ced82f38d' AND F_GENERALINVOICE='Y' THEN 0 ELSE FAFTERTOTALTAX END AS F_GeneralInvoice
FROM T_IV_SALESIC t0 WITH(NOLOCK)
INNER JOIN T_SAL_ORDER aa1 WITH(NOLOCK) ON t0.F_PAPERNUMBER=aa1.F_contractnumber AND t0.FSETTLEORGID=aa1.FSALEORGID
WHERE 30 >= DATEDIFF(DAY,t0.FDATE,GETDATE())
) AD WHERE AD.F_PaperNumber = A.F_contractnumber AND ad.FSALEORGID=a.FSALEORGID
GROUP BY F_PaperNumber, FSALEORGID
) as FInvoiceAmount30Days
FROM T_SAL_ORDER A FROM T_SAL_ORDER A
INNER JOIN T_SAL_ORDERFIN C ON C.FID =A.FID INNER JOIN T_SAL_ORDERFIN C ON C.FID =A.FID
WHERE WHERE
C.FBILLALLAMOUNT_LC <>0 C.FBILLALLAMOUNT_LC >0
AND A.FDOCUMENTSTATUS = 'C' AND ISNULL(A.F_CONTRACTNUMBER,'')!='' AND A.FDOCUMENTSTATUS = 'C' AND ISNULL(A.F_CONTRACTNUMBER,'')!=''
AND (A.F_AMOUNT < C.FBILLALLAMOUNT_LC AND (A.F_AMOUNT < C.FBILLALLAMOUNT_LC
or A.F_AMOUNT IS NULL) AND A.FBusinessType='NORMAL' {where} or A.F_AMOUNT IS NULL) {where}
) A ORDER BY A.FCUSTID,a.FID desc "); ) A ORDER BY A.FCUSTID,a.FID desc ");
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null); return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
} }
/// <summary>
/// 获取BMP流程信息
/// </summary>
/// <returns></returns>
public static void UpdateData(Context ctx, string FID, String sfsj)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
UPDATE T_SAL_ORDER SET FNOTE = FNOTE + '{0}' WHERE FID = '{1}' ", sfsj, FID);
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取BMP流程信息
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetBmpData(Context ctx, string F_contractnumber)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
select * from erptobpm.pilotdb.dbo.v_erp_CustMadeAgain where ContactNo = '{0}' ", F_contractnumber);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/// <summary>
/// 更新特价
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection UPDATESpecialContracts(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
exec UPDATESpecialContracts '{0}' ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/// <summary>
/// 更新销售订单SN信息
/// </summary>
/// <returns></returns>
public static void UpdateBMPSN(Context ctx, string FID, string SN)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
Update T_SAL_ORDER SET F_FailorBPM = '{1}' WHERE FID ={0} ", FID, SN);
//执行SQL
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取销售订单数据(创建BPM流程发起)
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetSaleOrderData3(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetSaleOrderData3 {0} ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取销售订单数据(创建BPM流程发起)
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetSaleOrderData2(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetSaleOrderData2 {0} ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取销售订单数据(创建BPM流程发起)
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetSaleOrderData(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetSaleOrderData {0} ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 判断该组织是否存在工程项目
/// </summary>
/// <returns></returns>
public static void UpdateItemData(Context ctx, string FID, string FlexNumber)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC UpdateItemData {0},{1}", FlexNumber, FID);
//执行SQL
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 判断该组织是否存在工程项目
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection CheckItem(Context ctx, string FlexNumber, string FORGID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC CheckItem '{0}','{1}'", FlexNumber, FORGID);
//执行SQL
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
return result;
}
/// <summary>
/// 获取纸质合同号
/// </summary>
/// <returns></returns>
public static string GetFlexNumber(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetFlexNumber {0}", FID);
//执行SQL
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
if (result.Count > 0)
{
return Convert.ToString(result[0]["F_contractnumber"]);
}
else
{
return "";
}
}
/// <summary>
/// 获取文件名
/// </summary>
/// <returns></returns>
public static string GetFolderName(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
EXEC GetFolderName {0}", FID);
//执行SQL
var result = DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
if (result.Count > 0)
{
return Convert.ToString(result[0]["FolderName"]);
}
else
{
return "";
}
}
/// <summary>
/// 更新销售订单创建文件夹状态
/// </summary>
/// <returns></returns>
public static void UpdateSaleOrderisdoccreate(Context ctx, string FID, string Path)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
Update T_SAL_ORDER SET Fisdoccreate = 1,Fdocpath = '{1}' WHERE FID ={0} ", FID, Path);
//执行SQL
DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null);
}
/// <summary>
/// 获取内容
/// </summary>
/// <returns></returns>
public static DataSet GetTempModelData(Context ctx, string FID, string FType)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
exec GetTempModelData '{0}','{1}' ", FID, FType);
//执行SQL
return DBServiceHelper.ExecuteDataSet(ctx, sql);
}
/// <summary>
/// 获取模板地址
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetTempModelPath(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
SELECT FTempPath FROM T_TempModelPath WHERE FKeyId = '{0}' ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/// <summary>
/// 更新销售订单的是否分摊
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection UpdateFlexNumber(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
exec UpdateFlexNumber '{0}' ", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/// <summary>
/// 更新销售订单的是否分摊
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection UpdateSaleOrderFisShared(Context ctx)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/
UPDATE A SET FIsShare = case when b.FID is null then '否' else '是' end FROM T_SAL_ORDER A
LEFT JOIN T_PerformanceSharing B ON A.FBILLNO = B.FSOURCEBILLNO");
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/// <summary>
/// 更新销售订单的物流单号
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection UpdateSaleOrderLogisticsNumber(Context ctx, string FID)
{
//定义SQL,调用物料视图
string sql = string.Format(" EXEC UpdateSaleOrderLogisticsNumber {0}", FID);
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
/// <summary>
/// 获取采购订单最大的入库日期
/// </summary>
/// <returns></returns>
public static DynamicObjectCollection GetInStockDate(Context ctx)
{
//定义SQL,调用物料视图
string sql = string.Format(@"/*dialect*/ select CONCAT( FPOORDERENTRYID,'-', A.FMATERIALID) as 'FKey',MAX(CONVERT(NVARCHAR(10), B.FDATE,23)) AS 'FDate'
from T_STK_INSTOCKENTRY A
INNER JOIN T_STK_INSTOCK B ON A.FID = B.FID
WHERE FPOORDERENTRYID <> 0
GROUP BY CONCAT(FPOORDERENTRYID, '-', A.FMATERIALID)");
//执行SQL
return DBServiceHelper.ExecuteDynamicObject(ctx, sql.ToString(), null, null, CommandType.Text, null) as DynamicObjectCollection;
}
} }
} }