From 4f23c4da3c004c530fda95bf21294b786918f12b Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期五, 28 七月 2023 18:06:40 +0800
Subject: [PATCH] 工资计算模块
---
WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs | 736 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 714 insertions(+), 22 deletions(-)
diff --git a/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs b/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
index 266338f..62a6989 100644
--- a/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
+++ b/WebAPI/Controllers/XSGL/Xs_SeOrderBillController.cs
@@ -1,4 +1,6 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
using System.Collections;
@@ -13,6 +15,8 @@
//閿�鍞鍗旵ontroller
public class Xs_SeOrderBillController : ApiController
{
+ //鑾峰彇绯荤粺鍙傛暟
+ Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
public DBUtility.ClsPub.Enum_BillStatus BillStatus;
private json objJsonResult = new json();
@@ -31,7 +35,7 @@
try
{
- ds = oCN.RunProcReturn("select * from h_v_IF_SeOrderBillList where HitemID=" + HInterID, "h_v_IF_SeOrderBillList");
+ ds = oCN.RunProcReturn("select * from h_v_IF_SeOrderBillList where hmainid =" + HInterID, "h_v_IF_SeOrderBillList");
if (ds == null || ds.Tables[0].Rows.Count == 0)
{
objJsonResult.code = "0";
@@ -65,36 +69,36 @@
/// </summary>
[Route("Xs_SeOrderBill/list")]
[HttpGet]
- public object list(string sWhere)
+ public object list(string sWhere,string user)
{
try
{
+ //鍒ゆ柇鏌ヨ鏉冮檺
+ if (!DBUtility.ClsPub.Security_Log("Xs_SeOrderBillQuery", 1, false, user))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鏃犳潈闄愭煡璇�!";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
if (sWhere == null || sWhere.Equals(""))
{
- ds = oCN.RunProcReturn("select * from h_v_IF_SeOrderBillList " + sWhere, "h_v_IF_SeOrderBillList");
+ ds = oCN.RunProcReturn("select * from h_v_IF_SeOrderBillList order by hmainid desc", "h_v_IF_SeOrderBillList");
}
else
{
string sql1 = "select * from h_v_IF_SeOrderBillList where 1 = 1 ";
- string sql = sql1 + sWhere;
+ string sql = sql1 + sWhere+ " order by hmainid desc";
ds = oCN.RunProcReturn(sql, "h_v_IF_SeOrderBillList");
}
- if (ds == null || ds.Tables[0].Rows.Count == 0)
- {
- objJsonResult.code = "0";
- objJsonResult.count = 0;
- objJsonResult.Message = "娌℃湁杩斿洖浠讳綍璁板綍锛�";
- objJsonResult.data = null;
- return objJsonResult;
- }
- else
- {
- objJsonResult.code = "1";
- objJsonResult.count = 1;
- objJsonResult.Message = "Sucess锛�";
- objJsonResult.data = ds.Tables[0];
- return objJsonResult;
- }
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "Sucess锛�";
+ objJsonResult.data = ds.Tables[0];
+ return objJsonResult;
}
catch (Exception e)
{
@@ -105,6 +109,298 @@
return objJsonResult;
}
}
+
+ /// <summary>
+ /// 杩斿洖閿�鍞鍗曞姩鎬佸垪琛�
+ /// </summary>
+ /// <param name="sWhere"></param>
+ /// <param name="user"></param>
+ /// <returns></returns>
+ [Route("Xs_SeOrderBill/DyColList")]
+ [HttpGet]
+ public object DyColList(string sWhere, string user)
+ {
+ try
+ {
+ //鍒ゆ柇鏌ヨ鏉冮檺
+ if (!DBUtility.ClsPub.Security_Log("Xs_SeOrderBillQuery", 1, false, user))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鏃犳潈闄愭煡璇�!";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ ds = oCN.RunProcReturn("select * from h_v_IF_SeOrderBillList where 1 = 1 " + sWhere + " order by hmainid desc ", "h_v_IF_SeOrderBillList");
+ List<object> listCol = new List<object>();
+ foreach (DataColumn col in ds.Tables[0].Columns)
+ {
+ Type dataType = col.DataType;
+ string str = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+ listCol.Add(JsonConvert.DeserializeObject(str));
+ }
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "Sucess锛�";
+ objJsonResult.data = ds.Tables[0];
+ objJsonResult.list = listCol;
+ return objJsonResult;
+
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
+ #region 閿�鍞鍗� 淇濆瓨/缂栬緫鍔熻兘
+ [Route("Xs_SeOrder/SeOrderBillEdit")]
+ [HttpPost]
+ public object SeOrderBillEdit([FromBody] JObject sMainSub)
+ {
+ try
+ {
+ var _value = sMainSub["sMainSub"].ToString();
+ string msg1 = _value.ToString();
+ oCN.BeginTran();
+ //淇濆瓨涓昏〃
+ objJsonResult = AddBillMain(msg1);
+ if (objJsonResult.code == "0")
+ {
+ oCN.RollBack();
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = objJsonResult.Message;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ oCN.Commit();
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "鍗曟嵁淇濆瓨鎴愬姛锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+
+ }
+ catch (Exception e)
+ {
+ oCN.RollBack();
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
+ public json AddBillMain(string msg1)
+ {
+ string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+ string msg2 = sArray[0].ToString(); //涓昏〃鏁版嵁
+ string msg3 = sArray[1].ToString(); //瀛愯〃鏁版嵁
+ int OperationType = int.Parse(sArray[2].ToString()); // 鏁版嵁绫诲瀷 1娣诲姞 3淇敼
+ string user = sArray[3].ToString();
+ string msg_allVal = sArray[4].ToString(); //涓昏〃+瀛愯〃鎵�鏈夋暟鎹�
+
+ try
+ {
+ msg2 = "[" + msg2.ToString() + "]";
+ List<ClsXs_SeOrderBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_SeOrderBillMain>>(msg2);
+
+ long HInterID = mainList[0].HInterID;//閫掑叆type寰楀埌鐨勫崟鎹甀D
+ string HBillNo = mainList[0].HBillNo;//閫掑叆type寰楀埌鐨勫崟鎹彿
+ long HPRDORGID = mainList[0].HPRDORGID;//缁勭粐
+ DateTime HDate = mainList[0].HDate;//鏃ユ湡
+ string HRemark = mainList[0].HRemark;//澶囨敞
+ long HCusID = mainList[0].HCusID;//瀹㈡埛
+ long HEmpID = mainList[0].HEmpID;//涓氬姟鍛�
+ long HDeptID = mainList[0].HDeptID;//閮ㄩ棬
+ long HCurID = mainList[0].HCurID;//甯佸埆
+ Single HExRate = mainList[0].HExRate;//姹囩巼
+ long HManagerID = mainList[0].HManagerID;//涓荤
+ long HSellSID = mainList[0].HSellSID;//閿�鍞柟寮�
+ long HSSID = mainList[0].HSSID;//缁撶畻鏂瑰紡
+ DateTime HSSDate = mainList[0].HSSDate;//缁撶畻鏃ユ湡
+ string HMaker = user;//鍒跺崟浜�
+ string HAddress = mainList[0].HAddress;//鍦板潃
+
+ List<ClsXs_SeOrderBillMain> mainList2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_SeOrderBillMain>>(msg2);
+ DateTime dt = DateTime.Now;
+ long HYear = mainList2[0].HYear == null ? 0 : mainList2[0].HYear;
+ long HPeriod = mainList2[0].HPeriod == null ? 0 : mainList2[0].HPeriod;
+ string HBillType = mainList2[0].HBillType == null ? "''" : mainList2[0].HBillType;
+ string HBillSubType = mainList2[0].HBillSubType == null ? "''" : mainList2[0].HBillSubType;
+ int HBillStatus = mainList2[0].HBillStatus == null ? 0 : mainList2[0].HBillStatus;
+ string HChecker = mainList2[0].HChecker == null ? "''" : mainList2[0].HChecker;
+ string HCheckDate = mainList2[0].HCheckDate == null ? "''" : mainList2[0].HCheckDate;
+ string HMakeDate = mainList2[0].HMakeDate == null ? "''" : mainList2[0].HMakeDate;
+ string HCloseMan = mainList2[0].HCloseMan == null ? "''" : mainList2[0].HCloseMan;
+ string HCloseDate = mainList2[0].HCloseDate == null ? "''" : mainList2[0].HCloseDate;
+ long HERPInterID = mainList2[0].HERPInterID == null ? 0 : mainList2[0].HERPInterID;
+ string HERPBillType = mainList2[0].HERPBillType == null ? "''" : mainList2[0].HERPBillType;
+ long HSALEORGID = mainList2[0].HSALEORGID == null ? 0 : mainList2[0].HSALEORGID;
+
+ ds = oCN.RunProcReturn("select * from h_v_IF_SeOrderBillList where hmainid=" + HInterID + " and 鍗曟嵁鍙�='" + HBillNo + "'", "h_v_IF_SeOrderBillList");
+
+ if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板
+ {
+ DataSet Ds;
+ Int64 NewHInterID = 1;
+ Ds = oCN.RunProcReturn("select MAX(HInterID)HInterID from Xs_SeOrderBillMain", "Xs_SeOrderBillMain");
+ if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()) != 0)
+ {
+ NewHInterID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString());
+ NewHInterID += 1;
+ }
+ //涓昏〃
+ oCN.RunProc(@"Insert Into Xs_SeOrderBillMain
+ (HBillType,HInterID,HBillNo,HDate
+ ,HYear,HPeriod,HRemark,HMaker,HMakeDate
+ ,HEmpID,HCusID
+ ,HBillSubType,HAddress,HSSDate,HSSID,HSellSID,HCurID,HExRate, HManagerID,HDeptID
+ ,HExplanation,HCheckFlow,HBillStatus,HInnerBillNo
+ ,HICMOFlag,HChangeMan,HSALEORGID,HERPInterID,HERPBillType
+ ,HCloseDate,HCloseMan)
+ values(" + "1401," + HInterID + ",'" + HBillNo + "','" + HDate + "','" +
+ DateTime.Now.Year + "','" + DateTime.Now.Month + "','" + HRemark + "','" + HMaker + "','" + HMakeDate +
+ "'," + HEmpID + "," + HCusID + ",'" + HBillType + "','" + HAddress + "','" + HSSDate +
+ "'," + HSSID + "," + HSellSID + "," + HCurID + "," + HExRate + "," + HManagerID + "," + HDeptID + ",'" + "''" + "'," + "0," + HBillStatus + ",'" + "''" + "'," +
+ 0 + ",'" + "''" + "'," + HSALEORGID + "," + HERPInterID + ",'" + HERPBillType + "','" + HCloseDate + "','" + HCloseMan + "')");
+ }
+ else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0)
+ { //淇敼
+ oCN.RunProc("update Xs_SeOrderBillMain set " +
+ "HRemark='" + HRemark + "', HChecker='" + HMaker + "', HCheckDate=getdate()" +
+ ", HEmpID=" + HEmpID + ", HCusID=" + HCusID + ",HAddress='" + HAddress + "',HDeptID=" + HDeptID
+ + ",HCurID=" + HCurID + ",HExRate=" + HExRate + ",HManagerID=" + HManagerID + ",HSellSID=" + HSellSID
+ + ",HSSID=" + HSSID + ",HSSDate='" + HSSDate + "' where HInterID=" + HInterID);
+
+ //鍒犻櫎瀛愯〃
+ oCN.RunProc("delete from Xs_SeOrderBillSub where HInterID='" + HInterID + "'");
+ }
+ //淇濆瓨瀛愯〃
+ objJsonResult = AddBillSub(msg3, HInterID, OperationType);
+
+ if (objJsonResult.code == "0")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = objJsonResult.Message;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = null;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
+ public json AddBillSub(string msg3, long HInterID, int OperationType)
+ {
+ List<ClsXs_SeOrderBillSub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_SeOrderBillSub>>(msg3);
+
+ List<ClsXs_SeOrderBillSub> DetailColl2 = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_SeOrderBillSub>>(msg3);
+
+ long HSourceInterID = DetailColl2[0].HSourceInterID == null ? 0 : DetailColl2[0].HSourceInterID;
+ long HSourceEntryID = DetailColl2[0].HSourceEntryID == null ? 0 : DetailColl2[0].HSourceEntryID;
+ string HSourceBillNo = DetailColl2[0].HSourceBillNo == null ? "''" : DetailColl2[0].HSourceBillNo;
+ string HSourceBillType = DetailColl2[0].HSourceBillType == null ? "''" : DetailColl2[0].HSourceBillType;
+ double HRelationQty = DetailColl2[0].HRelationQty == null ? 0 : DetailColl2[0].HRelationQty;
+ long HPropertyID = DetailColl2[0].HPropertyID == null ? 0 : DetailColl2[0].HPropertyID;
+ string HBatChNo = DetailColl2[0].HBatChNo == null ? "''" : DetailColl2[0].HBatChNo;
+ long HAuxPropID = DetailColl2[0].HAuxPropID == null ? 0 : DetailColl2[0].HAuxPropID;
+ string HMTONo = DetailColl2[0].HMTONo == null ? "''" : DetailColl2[0].HMTONo;
+ long HERPInterID = DetailColl2[0].HERPInterID == null ? 0 : DetailColl2[0].HERPInterID;
+ long HERPEntryID = DetailColl2[0].HERPEntryID == null ? 0 : DetailColl2[0].HERPEntryID;
+ decimal HBackRelationQty = DetailColl2[0].HBackRelationQty == null ? 0 : DetailColl2[0].HBackRelationQty;
+ long HWhID = DetailColl2[0].HWhID == null ? 0 : DetailColl2[0].HWhID;
+ long HSPID = DetailColl2[0].HSPID == null ? 0 : DetailColl2[0].HSPID;
+
+ int i = 0;
+ foreach (ClsXs_SeOrderBillSub oSub in DetailColl)
+ {
+ i++;
+ if (oSub.HQty <= 0 || oSub.HQty == null)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "绗�" + i + "琛岋紝鏁伴噺涓嶈兘涓�0鎴栬�呭皬浜�0";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ if (oSub.HMaterID == 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "绗�" + i + "琛岋紝鐗╂枡涓嶈兘涓虹┖";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ //if (oSub.HSourceID == 0)
+ //{
+ // objJsonResult.code = "0";
+ // objJsonResult.count = 0;
+ // objJsonResult.Message = "绗�" + i + "琛岋紝鐢熶骇璧勬簮涓嶈兘涓虹┖";
+ // objJsonResult.data = null;
+ // return objJsonResult;
+ //}
+
+ if (oSub.HUnitID == 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "绗�" + i + "琛岋紝璁¢噺鍗曚綅涓嶈兘涓虹┖";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ DataSet Cs;
+ Int64 NewHEntryID = 1;
+ Cs = oCN.RunProcReturn("select MAX(HEntryID)HEntryID from Xs_SeOrderBillSub", "Xs_SeOrderBillSub");
+ if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString()) != 0)
+ {
+ NewHEntryID = ClsPub.isLong(Cs.Tables[0].Rows[0]["HEntryID"].ToString());
+ NewHEntryID += 1;
+ }
+
+ oCN.RunProc($@"Insert into Xs_SeOrderBillSub
+ (HInterID,HENTRYID,HQty,HMaterID,HUnitID,HRemark
+ ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+ ,HRelationQty,HRelationMoney,HPrice,HTaxPrice,HMoney,HDiscountRate
+ ,HRelTaxPrice,HTaxRate,HTaxMoney,HlineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty
+ ,HPropertyID,HBatChNo,HAuxPropID,HMTONo,HERPInterID,HERPEntryID,HBackRelationQty,HWhID,HSPID)
+ values({HInterID},{NewHEntryID},{(oSub.HQty == null ? 0 : oSub.HQty)}
+ ,{oSub.HMaterID},{oSub.HUnitID},'{oSub.HRemark}',{HSourceInterID},{HSourceEntryID},{HSourceBillNo},{HSourceBillType},{HRelationQty},0,{oSub.HPrice},{oSub.HTaxPrice},{oSub.HMoney},{oSub.HDiscountRate},{oSub.HRelTaxPrice},{oSub.HTaxRate},{oSub.HTaxMoney},{oSub.HlineTotal},{oSub.HlineTotalBB},getdate(),{oSub.HOutStockQty},{oSub.HInvoiceQty},{HPropertyID},{HBatChNo},{HAuxPropID},
+ {HMTONo},{HERPInterID},{HERPEntryID},{HBackRelationQty},{HWhID},{HSPID})");
+ }
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = null;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ #endregion
/// <summary>
///鍒犻櫎鍔熻兘
@@ -137,7 +433,403 @@
}
}
+ #region [鍚屾鎻掍欢]
+ [Route("Xs_SeOrderBill/Xs_SeOrderBillSaveApi")]
+ [HttpPost]
+ public object Xs_SeOrderBillSaveApi([FromBody] JObject sMainSub)
+ {
+ try
+ {
+ //LogService.Write("閿�鍞鍗曞悓姝�,淇濆瓨鏂规硶鎵ц瀹屾垚寮傚父锛�" + sMainSub.ToString());
+ var model = sMainSub["model"].ToString();
+ var entry = sMainSub["model"]["HENTRY"].ToString();
- //
+ model = "[" + model.ToString() + "]";
+ LogService.Write("閿�鍞鍗曞悓姝� sMainSub:" + sMainSub);
+ List<ClsXs_SeOrderBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_SeOrderBillMain>>(model);
+ List<ClsXs_SeOrderBillSub> subList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsXs_SeOrderBillSub>>(entry);
+ string sql = string.Empty;
+ oCN.BeginTran();
+ sql = $"delete Xs_SeOrderBillMain where HinterID = {mainList[0].HInterID}";
+ oCN.RunProc(sql);
+ sql = $"delete Xs_SeOrderBillSub where HinterID = {mainList[0].HInterID}";
+ oCN.RunProc(sql);
+ //涓昏〃
+ oCN.RunProc(@"Insert Into Xs_SeOrderBillMain
+ (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+ ,HBillNo,HBillStatus
+ ,HAddress,HSSID,HSSDate,HCusID,HCurID,HExRate
+ ,HEmpID,HManagerID,HDeptID,HExplanation,HRemark,HInnerBillNo
+ ,HChecker,HCheckDate,HMaker,HMakeDate,HCloseMan,HCloseDate
+ ,HERPInterID,HERPBillType,HSALEORGID,HSALEGROUPID,HRECEIVEID,HSETTLEID
+ ,HCHARGEID,HHEADLOCID,HRECCONTACTID,HCORRESPONDORGID,HBUSINESSTYPE)
+ values(" + mainList[0].HInterID + "," + DateTime.Now.Year + "," + DateTime.Now.Month + ",'" + 1401 + "','" +
+ mainList[0].HBillSubType + "','" + mainList[0].HDate + "','" + mainList[0].HBillNo + "','" + mainList[0].HBillStatus + "','" + mainList[0].HAddress + "'," + mainList[0].HSSID +
+ ",'" + mainList[0].HSSDate + "'," + mainList[0].HCusID + "," + mainList[0].HCurID + "," + mainList[0].HExRate + "," + mainList[0].HEmpID + "," + mainList[0].HManagerID + "," + mainList[0].HDeptID + ",'" + mainList[0].HExplanation + "','" + mainList[0].HRemark + "','" +
+ mainList[0].HInnerBillNo + "','" + mainList[0].HChecker + "','" + mainList[0].HCheckDate + "','" + mainList[0].HMaker + "','" + mainList[0].HMakeDate + "','"
+ + mainList[0].HCloseMan + "','" + mainList[0].HCloseDate + "'," + mainList[0].HERPInterID + ",'"
+ + mainList[0].HERPBillType + "'," + mainList[0].HSALEORGID + "," + mainList[0].HSALEGROUPID + "," + mainList[0].HRECEIVEID + "," + mainList[0].HSETTLEID + "," + mainList[0].HCHARGEID + "," + mainList[0].HHEADLOCID + "," + mainList[0].HRECCONTACTID + "," + mainList[0].HCORRESPONDORGID + ",'" + mainList[0].HBUSINESSTYPE + "'" + ")");
+ //淇濆瓨瀛愯〃
+ foreach (var oSub in subList)
+ {
+ sql = $@"
+Insert into Xs_SeOrderBillSub
+(HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice
+ ,HTaxPrice,HDiscountRate,HRelTaxPrice,HMoney,HTaxRate,HTaxMoney
+ ,HLineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty,HRemark
+ ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+ ,HRelationQty,HPropertyID,HBatChNo,HAuxPropID,HMTONo
+ ,HERPInterID,HERPEntryID,HBackRelationQty,HWhID,HSPID
+ ,HSTOCKORGID,HOWNERID,HOWNERTYPEID,HMAPID,HSTOCKUNITID,HBASEUNITID
+ ,HBFLOWID,HSETTLEORGID,HTAXCOMBINATION,HPRICEUNITID,HISFREE,HPRICECOEFFICIENT
+ ,HSYSPRICE,HLIMITDOWNPRICE,HPARENTMATID,HROWTYPE,HROWID,HPARENTROWID
+ ,HDELIVERYCONTROL,HLOCALCURRID,HEXCHANGETYPEID,HSETTLECURRID,HSETTLEMODEID
+ ,HRECCONDITIONID,HISINCLUDEDTAX,HISPRICEEXCLUDETAX,HEXCHANGERATE,HTAXRATEID
+ ,HCOSTPERCENT,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING,HPRICELISTENTRY)
+values('{oSub.HInterID}','{oSub.HEntryID}','{oSub.HMaterID}','{oSub.HUnitID}','{oSub.HQty}','{oSub.HPrice}','{oSub.HTaxPrice}','{oSub.HDiscountRate}','{oSub.HRelTaxPrice}','{oSub.HMoney}','{oSub.HTaxRate}','{oSub.HTaxMoney}','{oSub.HLineTotal}','{oSub.HlineTotalBB}','{oSub.HDate}','{oSub.HOutStockQty}','{oSub.HInvoiceQty}','{oSub.HRemark}','{oSub.HSourceInterID}','{oSub.HSourceEntryID}','{oSub.HSourceBillNo}','{oSub.HSourceBillType}','{oSub.HRelationQty}','{oSub.HPropertyID}','{oSub.HBatChNo}','{oSub.HAuxPropID}','{oSub.HMTONo}','{oSub.HERPInterID}','{oSub.HERPEntryID}','{oSub.HBackRelationQty}','{oSub.HWhID}','{oSub.HSPID}','{oSub.HSTOCKORGID}','{oSub.HOWNERID}','{oSub.HOWNERTYPEID}','{oSub.HMAPID}','{oSub.HSTOCKUNITID}','{oSub.HBASEUNITID}','{oSub.HBFLOWID}','{oSub.HSETTLEORGID}','{oSub.HTAXCOMBINATION}','{oSub.HPRICEUNITID}','{oSub.HISFREE}','{oSub.HPRICECOEFFICIENT}','{oSub.HSYSPRICE}','{oSub.HLIMITDOWNPRICE}','{oSub.HPARENTMATID}','{oSub.HROWTYPE}','{oSub.HROWID}','{oSub.HPARENTROWID}','{oSub.HDELIVERYCONTROL}','{oSub.HLOCALCURRID}','{oSub.HEXCHANGETYPEID}','{oSub.HSETTLECURRID}','{oSub.HSETTLEMODEID}','{oSub.HRECCONDITIONID}','{oSub.HISINCLUDEDTAX}','{oSub.HISPRICEEXCLUDETAX}','{oSub.HEXCHANGERATE}','{oSub.HTAXRATEID}','{oSub.HCOSTPERCENT}','{oSub.HVAT}','{oSub.HSELLERWITHHOLDING}','{oSub.HBUYERWITHHOLDING}','{oSub.HPRICELISTENTRY}')";
+ oCN.RunProc(sql);
+ }
+ oCN.Commit();
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "鍗曟嵁淇濆瓨鎴愬姛锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+
+ }
+ catch (Exception e)
+ {
+ LogService.Write("閿�鍞鍗曞悓姝ュ紓甯�,淇濆瓨鏂规硶鎵ц瀹屾垚寮傚父锛�" + e.Message.ToString());
+
+ oCN.RollBack();
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+ #endregion
+
+ #region [鍚屾鍗曟嵁]
+ [Route("Xs_SeOrderBill/Xs_SeOrderBillViewApi")]
+ [HttpGet]
+ public json Xs_SeOrderBillViewApi(string BillNo, string BillType)
+ {
+ string sql = string.Empty;
+ string sReturn = "";
+ if (oSystemParameter.ShowBill(ref sReturn) == true)
+ {
+ //绯荤粺鍙傛暟鏄惁涓虹鏈変簯妯″紡,N涓哄叕鏈変簯妯″紡锛孻涓虹鏈変簯妯″紡
+ if (oSystemParameter.omodel.WMS_CloudMode == "Y")
+ {
+ #region [绉佹湁浜戞ā寮忥紝鐩存帴璋冪敤鏁版嵁搴撳瓨鍌ㄨ繃绋嬫洿鏂癩
+ try
+ {
+ oCN.BeginTran();
+ SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
+ DataSet DS = oCn.RunProcReturn("exec h_p_WMS_ERPSourceBillToLocal '" + BillNo + "','" + BillType + "'", "h_p_WMS_ERPSourceBillToLocal");
+ if (DS == null)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鍗曟嵁鍚屾澶辫触";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ else
+ {
+ if (DBUtility.ClsPub.isStrNull(DS.Tables[0].Rows[0]["HBack"]) == "2")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "ERP涓笉瀛樺湪璇ュ崟鎹彿";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ else
+ {
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "鍗曟嵁鍚屾鎴愬姛";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "Exception锛�" + e.ToString();
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ #endregion
+ }
+ else
+ {
+ #region [鍏湁浜戞ā寮忥紝璋冪敤WEBAPI鐨勬柟寮忚繘琛屾洿鏂癩
+ var json = new
+ {
+ CreateOrgId = 0,
+ Number = BillNo,
+ Id = ""
+ };
+ #region [閲戣澏閮ㄥ垎]
+ //鐧诲綍閲戣澏
+ var loginRet = InvokeHelper.Login();
+ var isSuccess = JObject.Parse(loginRet)["LoginResultType"].Value<int>();
+ //鍒ゆ柇鏄惁鐧诲綍鎴愬姛
+ if (isSuccess < 0)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = loginRet;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ //鏌ョ湅 鑾峰彇鏁版嵁
+ var _result = InvokeHelper.View("SAL_SaleOrder", JsonConvert.SerializeObject(json));
+ var _saveObj = JObject.Parse(_result);
+ //鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛
+ if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "閲戣澏閿�鍞鍗曞悓姝ュけ璐sonRoot锛�" + _result;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ #endregion
+ //鑾峰彇涓昏〃鏁版嵁
+ DataSet Ds;
+ Int64 InterID = 0;
+ Ds = oCN.RunProcReturn("select * from Xs_SeOrderBillMain where HBillNo = '" + BillNo + "'", "Xs_SeOrderBillMain");
+ if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString()) != 0)
+ {
+ InterID = ClsPub.isLong(Ds.Tables[0].Rows[0]["HInterID"].ToString());
+ }
+
+ #region [涓昏〃鏁版嵁璧嬪�糫
+ var jsonData = new
+ {
+ HInterID = _saveObj["Result"]["Result"]["Id"],
+ HYear = DateTime.Now.Year,
+ HPeriod = DateTime.Now.Month,
+ HBillType = 1401,
+ HBillSubType = 1401,
+ HDate = _saveObj["Result"]["Result"]["Date"],
+ HBillNo = _saveObj["Result"]["Result"]["BillNo"],
+ HBillStatus = _saveObj["Result"]["Result"]["ApproverId_Id"].ToString() == Convert.ToString(0) ? 1 : 2,
+ HAddress = _saveObj["Result"]["Result"]["ReceiveAddress"],
+ HSSID = 0,
+ HSSDate = _saveObj["Result"]["Result"]["Date"],
+ HCusID = _saveObj["Result"]["Result"]["CustId_Id"],
+ HCurID = 0,
+ HExRate = 0,
+ HEmpID = _saveObj["Result"]["Result"]["SalerId_Id"],
+ HManagerID = 0,
+ HDeptID = _saveObj["Result"]["Result"]["SaleDeptId_Id"],
+ HExplanation = "",
+ HRemark = "CLOUD瀵煎叆",
+ HInnerBillNo = _saveObj["Result"]["Result"]["Note"],
+ HChecker = _saveObj["Result"]["Result"]["ApproverId"]["Name"],
+ HCheckDate = _saveObj["Result"]["Result"]["ApproveDate"],
+ HMaker = _saveObj["Result"]["Result"]["CreatorId"]["Name"],
+ HMakeDate = _saveObj["Result"]["Result"]["CreateDate"],
+ HCloseMan = _saveObj["Result"]["Result"]["CloserId_Id"],
+ HCloseDate = _saveObj["Result"]["Result"]["CloseDate"],
+ HERPInterID = _saveObj["Result"]["Result"]["Id"],
+ HERPBillType = _saveObj["Result"]["Result"]["BillTypeId_Id"],
+ HSALEORGID = _saveObj["Result"]["Result"]["SaleOrgId_Id"],
+ HSALEGROUPID = _saveObj["Result"]["Result"]["SaleGroupId_Id"],
+ HRECEIVEID = _saveObj["Result"]["Result"]["ReceiveId_Id"],
+ HSETTLEID = _saveObj["Result"]["Result"]["SettleId_Id"],
+ HCHARGEID = _saveObj["Result"]["Result"]["ChargeId_Id"],
+ HHEADLOCID = _saveObj["Result"]["Result"]["HeadLocId_Id"],
+ HRECCONTACTID = 0,
+ HCORRESPONDORGID = _saveObj["Result"]["Result"]["CorrespondOrgId_Id"],
+ HBUSINESSTYPE = _saveObj["Result"]["Result"]["BusinessType"],
+ };
+ #endregion
+ // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+ sql = $"delete from Xs_SeOrderBillMain where HInterID = " + InterID;
+ oCN.RunProc(sql);
+
+ //鎻掑叆涓昏〃
+ sql = $@"
+ insert into Xs_SeOrderBillMain
+ (HInterID,HYear,HPeriod,HBillType,HBillSubType,HDate
+ ,HBillNo,HBillStatus
+ ,HAddress,HSSID,HSSDate,HCusID,HCurID,HExRate
+ ,HEmpID,HManagerID,HDeptID,HExplanation,HRemark,HInnerBillNo
+ ,HChecker,HCheckDate,HMaker,HMakeDate,HCloseMan,HCloseDate
+ ,HERPInterID,HERPBillType,HSALEORGID,HSALEGROUPID,HRECEIVEID,HSETTLEID
+ ,HCHARGEID,HHEADLOCID,HRECCONTACTID,HCORRESPONDORGID,HBUSINESSTYPE
+ )
+ values
+ ({jsonData.HInterID},{jsonData.HYear},{jsonData.HPeriod},{jsonData.HBillType},{jsonData.HBillSubType},
+ '{jsonData.HDate}','{jsonData.HBillNo}',{jsonData.HBillStatus},'{jsonData.HAddress}',{jsonData.HSSID},'{jsonData.HSSDate}',{jsonData.HCusID},
+ {jsonData.HCurID},{jsonData.HExRate},{jsonData.HEmpID},{jsonData.HManagerID},{jsonData.HDeptID},
+ '{jsonData.HExplanation}','{jsonData.HRemark}','{jsonData.HInnerBillNo}','{jsonData.HChecker}','{jsonData.HCheckDate}',
+ '{jsonData.HMaker}','{jsonData.HMakeDate}','{jsonData.HCloseMan}','{jsonData.HCloseDate}',{jsonData.HERPInterID},
+ '{jsonData.HERPBillType}',{jsonData.HSALEORGID},{jsonData.HSALEGROUPID},{jsonData.HRECEIVEID},{jsonData.HSETTLEID},{jsonData.HCHARGEID},
+ {jsonData.HHEADLOCID},{jsonData.HRECCONTACTID},{jsonData.HCORRESPONDORGID},'{jsonData.HBUSINESSTYPE}')";
+
+ oCN.RunProc(sql);
+
+ #region [鐢宠瀛愯〃鍙橀噺]
+ var dataArr = _saveObj["Result"]["Result"]["SaleOrderEntry"];
+
+ DataSet Cs;
+ double RelationQty = 0;
+ #endregion
+ int i = 0;
+
+ // 鑾峰彇瀛愯〃鏁版嵁
+ Cs = oCN.RunProcReturn("select * from Xs_SeOrderBillSub where HInterID = " + InterID, "Xs_SeOrderBillSub");
+ // 鍒犻櫎瀛愯〃瀵瑰簲鏁版嵁
+ sql = $"delete from Xs_SeOrderBillSub where HInterID = " + InterID;
+ oCN.RunProc(sql);
+
+ foreach (var oSub in dataArr)
+ {
+ #region [瀛愯〃鏁版嵁璧嬪�糫
+
+ if (Cs.Tables[0].Rows.Count != 0 && ClsPub.isLong(Cs.Tables[0].Rows[0]["HInterID"].ToString()) != 0)
+ {
+ RelationQty = ClsPub.isDoule(Cs.Tables[0].Rows[i]["HRelationQty"].ToString());
+
+ i++;
+ }
+
+ var subData = new
+ {
+ HInterID = _saveObj["Result"]["Result"]["Id"],
+ HEntryID = oSub["Id"],
+ HMaterID = oSub["MaterialId_Id"],
+ HUnitID = oSub["UnitId_Id"],
+ HQty = oSub["Qty"],
+ HPrice = oSub["Price"],
+ HTaxPrice = oSub["TaxPrice"],
+ HDiscountRate = oSub["DiscountRate"],
+ HRelTaxPrice = 0,
+ HMoney = 0,
+ HTaxRate = oSub["TaxRate"],
+ HTaxMoney = 0,
+ HLineTotal = 0,
+ HlineTotalBB = 0,
+ HDate = oSub["MinPlanDeliveryDate"],
+ HOutStockQty = oSub["StockBaseQty"],
+ HInvoiceQty = 0,
+ HRemark = oSub["Note"],
+ HSourceInterID = 0,
+ HSourceEntryID = 0,
+ HSourceBillNo = oSub["SrcBillNo"],
+ HSourceBillType = oSub["SrcType"],
+ HRelationQty = Convert.ToInt32(oSub["Qty"]) - Convert.ToInt32(oSub["BaseCanOutQty"]),
+ HPropertyID = 0,
+ HBatChNo = oSub["Lot_Text"],
+ HAuxPropID = oSub["AuxPropId_Id"],
+ HMTONo = oSub["MtoNo"],
+ HERPInterID = _saveObj["Result"]["Result"]["Id"],
+ HERPEntryID = oSub["Id"],
+ HBackRelationQty = Convert.ToInt32(oSub["Qty"]) - Convert.ToInt32(oSub["BaseCanReturnQty"]),
+ HWhID = oSub["SOStockId_Id"],
+ HSPID = oSub["SOStockLocalId_Id"],
+ HSTOCKORGID = oSub["StockOrgId_Id"],
+ HOWNERID = oSub["OwnerId_Id"],
+ HOWNERTYPEID = oSub["OwnerTypeId"],
+ HMAPID = oSub["MapId_Id"],
+ HSTOCKUNITID = oSub["StockUnitID_Id"],
+ HBASEUNITID = oSub["BaseUnitId_Id"],
+ HBFLOWID = oSub["FBFLowId_Id"],
+ HSETTLEORGID = oSub["SettleOrgId_Id"],
+ HTAXCOMBINATION = oSub["TaxCombination_Id"],
+ HPRICEUNITID = oSub["PriceUnitId_Id"],
+ HISFREE = oSub["IsFree"],
+ HPRICECOEFFICIENT = oSub["PriceCoefficient"],
+ HSYSPRICE = oSub["SysPrice"],
+ HLIMITDOWNPRICE = oSub["LimitDownPrice"],
+ HPARENTMATID = oSub["ParentMatId_Id"],
+ HROWTYPE = oSub["RowType"],
+ HROWID = oSub["RowId"],
+ HPARENTROWID = oSub["ParentRowId"],
+ HDELIVERYCONTROL = oSub["DeliveryControl"],
+ HLOCALCURRID = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["LocalCurrId_Id"],
+ HEXCHANGETYPEID = oSub["ExchangeTypeId_Id"],
+ HSETTLECURRID = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["SettleCurrId_Id"],
+ HSETTLEMODEID = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["SettleModeId_Id"],
+ HRECCONDITIONID = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["RecConditionId_Id"],
+ HISINCLUDEDTAX = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["IsIncludedTax"],
+ HISPRICEEXCLUDETAX = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["IsPriceExcludeTax"],
+ HEXCHANGERATE = _saveObj["Result"]["Result"]["SaleOrderFinance"][0]["ExchangeRate"],
+ HTAXRATEID = 0,
+ HCOSTPERCENT =0,
+ HVAT = 0,
+ HSELLERWITHHOLDING = 0,
+ HBUYERWITHHOLDING = 0,
+ HPRICELISTENTRY = oSub["PriceListEntry_Id"]
+ };
+ #endregion
+
+ //鎻掑叆瀛愯〃
+ sql = $@"
+ insert into Xs_SeOrderBillSub
+ (HInterID,HEntryID,HMaterID,HUnitID,HQty,HPrice
+ ,HTaxPrice,HDiscountRate,HRelTaxPrice,HMoney,HTaxRate,HTaxMoney
+ ,HLineTotal,HlineTotalBB,HDate,HOutStockQty,HInvoiceQty,HRemark
+ ,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType
+ ,HRelationQty,HPropertyID,HBatChNo,HAuxPropID,HMTONo
+ ,HERPInterID,HERPEntryID,HBackRelationQty,HWhID,HSPID
+ ,HSTOCKORGID,HOWNERID,HOWNERTYPEID,HMAPID,HSTOCKUNITID,HBASEUNITID
+ ,HBFLOWID,HSETTLEORGID,HTAXCOMBINATION,HPRICEUNITID,HISFREE,HPRICECOEFFICIENT
+ ,HSYSPRICE,HLIMITDOWNPRICE,HPARENTMATID,HROWTYPE,HROWID,HPARENTROWID
+ ,HDELIVERYCONTROL,HLOCALCURRID,HEXCHANGETYPEID,HSETTLECURRID,HSETTLEMODEID
+ ,HRECCONDITIONID,HISINCLUDEDTAX,HISPRICEEXCLUDETAX,HEXCHANGERATE,HTAXRATEID
+ ,HCOSTPERCENT,HVAT,HSELLERWITHHOLDING,HBUYERWITHHOLDING,HPRICELISTENTRY
+ )
+ values
+ ({subData.HInterID},{subData.HEntryID},{subData.HMaterID},{subData.HUnitID},{subData.HQty},{subData.HPrice},
+ {subData.HTaxPrice},{subData.HDiscountRate},{subData.HRelTaxPrice},{subData.HMoney},{subData.HTaxRate},{subData.HTaxMoney},
+ {subData.HLineTotal},{subData.HlineTotalBB},'{subData.HDate}',{subData.HOutStockQty},{subData.HInvoiceQty},'{subData.HRemark}',
+ {subData.HSourceInterID},{subData.HSourceEntryID},'{subData.HSourceBillNo}','{subData.HSourceBillType}',{subData.HRelationQty},
+ {subData.HPropertyID},'{subData.HBatChNo}',{subData.HAuxPropID},'{subData.HMTONo}',{subData.HERPInterID},{subData.HERPEntryID},
+ {subData.HBackRelationQty},{subData.HWhID},{subData.HSPID},{subData.HSTOCKORGID},{subData.HOWNERID},
+ '{subData.HOWNERTYPEID}','{subData.HMAPID}',{subData.HSTOCKUNITID},{subData.HBASEUNITID},'{subData.HBFLOWID}',
+ {subData.HSETTLEORGID},{subData.HTAXCOMBINATION},{subData.HPRICEUNITID},'{subData.HISFREE}',
+ {subData.HPRICECOEFFICIENT},{subData.HSYSPRICE},{subData.HLIMITDOWNPRICE},{subData.HPARENTMATID},'{subData.HROWTYPE}',
+ '{subData.HROWID}','{subData.HPARENTROWID}','{subData.HDELIVERYCONTROL}',{subData.HLOCALCURRID},'{subData.HEXCHANGETYPEID}',
+ {subData.HSETTLECURRID},{subData.HSETTLEMODEID},{subData.HRECCONDITIONID},'{subData.HISINCLUDEDTAX}','{subData.HISPRICEEXCLUDETAX}',
+ {subData.HEXCHANGERATE},{subData.HTAXRATEID},{subData.HCOSTPERCENT},{subData.HVAT},{subData.HSELLERWITHHOLDING},
+ {subData.HBUYERWITHHOLDING},{subData.HPRICELISTENTRY})";
+
+ oCN.RunProc(sql);
+ }
+
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "鍗曟嵁鍚屾鎴愬姛锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+
+ #endregion
+ }
+ }
+ else
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鍗曟嵁璇诲彇澶辫触锛�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+ }
+ #endregion
+
}
}
\ No newline at end of file
--
Gitblit v1.9.1