1
This commit is contained in:
parent
37b23a2eaa
commit
3076efb620
@ -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; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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,6 +547,94 @@ 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.FBIllNO).ToList();
|
||||||
|
ReceiveBILLLIST = ReceiveBILLLIST2.Where(a => a.F_RowNew == 1 && a.FISHX != "已核销配对" && a.FDAMOUNT > 0).OrderBy(t => t.FClient).ThenByDescending(t => t.FBIllNO).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天开票金额(只有医院客户)
|
||||||
|
|
||||||
|
|
||||||
//先挑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.FBIllNO).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.FBIllNO).ToList();
|
||||||
@ -702,17 +791,12 @@ 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 +858,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)
|
|
||||||
{
|
|
||||||
entryGrid.ExpandedRow(int.Parse(item["SEQ"].ToString()) - 1);
|
|
||||||
}
|
|
||||||
//for (int i = 0; i < entryGrid2.Count; i++)
|
|
||||||
//{
|
//{
|
||||||
// entryGrid.ExpandedRow(i);
|
// var entityKey = "FEntity2";
|
||||||
|
// var grid = this.View.GetControl<EntryGrid>(entityKey);
|
||||||
|
// var list = entryGrid2.Where(t => t["FCONTRACTNUMBER2"] != null && t["FCONTRACTNUMBER2"].ToString() != "" && t["F_RowNew"].ToString() == "1").ToList();
|
||||||
|
// foreach (var item in list)
|
||||||
|
// {
|
||||||
|
// //entryGrid.ExpandedRow(int.Parse(item["SEQ"].ToString()) - 1);
|
||||||
|
|
||||||
|
|
||||||
|
// 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 +1477,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();
|
||||||
|
|
||||||
|
|
||||||
@ -1491,38 +1585,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);
|
||||||
|
|
||||||
//}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,100 +12,6 @@ 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>
|
||||||
/// 获取核销收款单信息
|
/// 获取核销收款单信息
|
||||||
@ -137,80 +43,6 @@ 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>
|
||||||
/// 获取核销销售订单信息
|
/// 获取核销销售订单信息
|
||||||
@ -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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user