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/BaseSet/Gy_UnitController.cs | 304 +++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 270 insertions(+), 34 deletions(-)
diff --git a/WebAPI/Controllers/BaseSet/Gy_UnitController.cs b/WebAPI/Controllers/BaseSet/Gy_UnitController.cs
index ce6c01c..0ae73fd 100644
--- a/WebAPI/Controllers/BaseSet/Gy_UnitController.cs
+++ b/WebAPI/Controllers/BaseSet/Gy_UnitController.cs
@@ -1,4 +1,7 @@
-锘縰sing Newtonsoft.Json.Linq;
+锘縰sing Model;
+using Newtonsoft.Json;
+using Newtonsoft.Json.Linq;
+using NPOI.SS.Formula.Functions;
using Pub_Class;
using System;
using System.Collections;
@@ -6,6 +9,7 @@
using System.Data;
using System.Data.SqlClient;
using System.Web.Http;
+using WebAPI.Controllers.SCGL.鏃ヨ鍒掔鐞�;
using WebAPI.Models;
using WebAPI.Service;
@@ -13,6 +17,8 @@
{
public class Gy_UnitController : ApiController
{
+ //鑾峰彇绯荤粺鍙傛暟
+ Pub_Class.ClsXt_SystemParameter oSystemParameter = new Pub_Class.ClsXt_SystemParameter();
public DBUtility.ClsPub.Enum_BillStatus BillStatus;
private json objJsonResult = new json();
@@ -27,36 +33,46 @@
/// </summary>
[Route("Gy_Unit/list1")]
[HttpGet]
- public object list(string sWhere,string Organization)
+ public object list(string sWhere, string user, string Organization)
{
try
{
- string sql1 = string.Format(@"select * from h_v_Gy_UnitList where 绂佺敤鏍囪='' and 缁勭粐鍚嶇О='" + Organization + "'");
- if (sWhere == null || sWhere.Equals(""))
- {
- ds = oCN.RunProcReturn(sql1 + sWhere + "order by HItemID desc", "h_v_Gy_UnitList");
- }
- else
- {
- string sql = sql1 + sWhere + "order by HItemID desc";
- ds = oCN.RunProcReturn(sql, "h_v_Gy_UnitList");
- }
- if (ds == null || ds.Tables[0].Rows.Count == 0)
+ List<object> columnNameList = new List<object>();
+ //缂栬緫鏉冮檺
+ if (!DBUtility.ClsPub.Security_Log_second("Gy_UnitGroup", 1, false, user))
{
objJsonResult.code = "0";
objJsonResult.count = 0;
- objJsonResult.Message = "false锛�";
+ objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒";
objJsonResult.data = null;
return objJsonResult;
}
+
+ string sql1 = string.Format(@"select * from h_v_Gy_UnitList where 绂佺敤鏍囪='' and 缁勭粐鍚嶇О='" + Organization + "'");
+ if (sWhere == null || sWhere.Equals(""))
+ {
+ ds = oCN.RunProcReturn(sql1 + sWhere + "order by 璁¢噺鍗曚綅浠g爜 ", "h_v_Gy_UnitList");
+ }
else
{
- objJsonResult.code = "1";
- objJsonResult.count = 1;
- objJsonResult.Message = "Sucess锛�";
- objJsonResult.data = ds.Tables[0];
- return objJsonResult;
+ string sql = sql1 + sWhere + "order by 璁¢噺鍗曚綅浠g爜 ";
+ ds = oCN.RunProcReturn(sql, "h_v_Gy_UnitList");
}
+
+ //娣诲姞鍒楀悕
+ foreach (DataColumn col in ds.Tables[0].Columns)
+ {
+ Type dataType = col.DataType;
+ string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
+ columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//鑾峰彇鍒癉ataColumn鍒楀璞$殑鍒楀悕
+ }
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "Sucess锛�";
+ objJsonResult.data = ds.Tables[0];
+ objJsonResult.list = columnNameList;
+ return objJsonResult;
}
catch (Exception e)
{
@@ -106,12 +122,15 @@
{
DataSet ds;
var _value = msg["msg"].ToString();
- string msg1 = _value.ToString();
- //string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
- //string msg2 = sArray[0].ToString();
- //string msg3 = sArray[1].ToString();
+ string msg4 = _value.ToString();
+ string[] sArray = msg4.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
+ string msg1 = sArray[0].ToString();
+ string msg3 = sArray[1].ToString();
+ string msg_HUSEORGID = sArray[2].ToString();
+ Single msg_HRate = float.Parse(sArray[3]);
Int64 HItemID = 0;
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+
//鑾峰彇鏈�澶D鍊艰祴鍊�
DataSet Maxds = oCN.RunProcReturn("select MAX(HItemID) HItemID from Gy_Unit ", "Gy_Unit");
if (Maxds != null || Maxds.Tables[0].Rows.Count > 0)
@@ -124,6 +143,16 @@
ListModels oListModels = new ListModels();
try
{
+ //缂栬緫鏉冮檺
+ if (!DBUtility.ClsPub.Security_Log_second("Gy_UnitGroup_Edit", 1, false, msg3))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鏃犱繚瀛樻潈闄愶紒";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
DAL.ClsGy_Unit_Ctl oBill = new DAL.ClsGy_Unit_Ctl();
List<Model.ClsGy_Unit_Model> lsmain = new List<Model.ClsGy_Unit_Model>();
msg1 = msg1.Replace("\\", "");
@@ -240,10 +269,11 @@
objJsonResult.data = 1;
return objJsonResult;
}
+ oItem.HUSEORGID = Convert.ToInt32(msg_HUSEORGID); //缁勭粐id
oItem.HShortNumber = sShortNumber;//鐭唬鐮�
oItem.HEndFlag = true;//鏈骇鏍囧織
oItem.HLevel = DBUtility.ClsPub.GetLevel(oItem.HNumber.Trim()); //绛夌骇
- oItem.HRate= DBUtility.ClsPub.GetLevel(oItem.HRate.ToString().Trim());//鎹㈢畻姣斾緥
+ oItem.HRate = msg_HRate;//鎹㈢畻姣斾緥
oBill.oModel = oItem;
}
@@ -287,6 +317,50 @@
}
}
+ [Route("Gy_Unit/SaveGy_UnitListApi")]
+ [HttpPost]
+ public object SaveGy_UnitListApi([FromBody] JObject msg)
+ {
+ try
+ {
+ var _value = msg["model"].ToString();
+ SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
+ ListModels oListModels = new ListModels();
+ List<Model.ClsGy_Unit_Model> lsmain = new List<Model.ClsGy_Unit_Model>();
+ lsmain = oListModels.getObjectByJson_Gy_Unit(_value);
+ string sql = string.Empty;
+ //淇濆瓨
+ oCN.BeginTran();
+ sql = $"delete Gy_Unit where HItemID = {lsmain[0].HItemID}";
+ oCN.RunProc(sql);
+ sql = "set identity_insert Gy_Unit on";
+ oCN.RunProc(sql);
+ oCN.RunProc("Insert into Gy_Unit" +
+ " (HItemID,HNumber,HName,HHelpCode,HShortNumber,HParentID" +
+ ",HLevel,HEndFlag,HStopflag,HRemark,HRate,HStandard,HUSEORGID,HCREATEORGID) " +
+ " Values('" + lsmain[0].HItemID + "','" + lsmain[0].HNumber + "','" + lsmain[0].HName + "','" + lsmain[0].HHelpCode + "','" + lsmain[0].HShortNumber + "'," + lsmain[0].HParentID.ToString() +
+ "," + lsmain[0].HLevel.ToString() + "," + Convert.ToString(lsmain[0].HEndFlag ? 1 : 0) + "," + Convert.ToString(lsmain[0].HStopflag ? 1 : 0) + ",'" + lsmain[0].HRemark +
+ "'," + lsmain[0].HRate.ToString() + "," + DBUtility.ClsPub.BoolToString(lsmain[0].HStandard) + "," + lsmain[0].HUSEORGID + "," + lsmain[0].HCREATEORGID + ")", ref DBUtility.ClsPub.sExeReturnInfo);
+ //淇敼涓婄骇涓洪潪鏈骇浠g爜
+ sql = "set identity_insert Gy_Unit off";
+ oCN.RunProc(sql);
+ oCN.Commit();
+
+ objJsonResult.code = "1";
+ objJsonResult.count = 1;
+ objJsonResult.Message = "淇濆瓨鎴愬姛锛�";
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ catch (Exception e)
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "淇濆瓨澶辫触锛�" + e.ToString();
+ objJsonResult.data = 1;
+ return objJsonResult;
+ }
+ }
/// <summary>
/// 璁¢噺鍗曚綅鑾峰彇淇℃伅
/// </summary>
@@ -305,21 +379,21 @@
/// <returns></returns>
[Route("DeltetGy_Unit")]
[HttpGet]
- public object DeltetGy_Unit(string HItemID)
+ public object DeltetGy_Unit(string HItemID, string user)
{
DataSet ds;
//string ModRightNameCheck = "Sc_ProcessReport_check";
try
{
//鍒犻櫎鏉冮檺
- //if (!DBUtility.ClsPub.Security_Log(ModRightNameCheck, 1, true, CurUserName))
- //{
- // objJsonResult.code = "0";
- // objJsonResult.count = 0;
- // objJsonResult.Message = "瀹℃牳澶辫触锛佹棤鏉冮檺锛�";
- // objJsonResult.data = null;
- // return objJsonResult;
- //}
+ if (!DBUtility.ClsPub.Security_Log("Gy_UnitGroup_Delete", 1, false, user))
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "鏃犲垹闄ゆ潈闄�";
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
if (string.IsNullOrWhiteSpace(HItemID))
@@ -351,7 +425,7 @@
return objJsonResult;
}
- oCN.RunProc("update Gy_Unit set HStopflag=1 where HItemID=" + HItemID);
+ oCN.RunProc("delete from Gy_Unit where HItemID=" + HItemID);
oCN.Commit();//鎻愪氦浜嬪姟
objJsonResult.code = "0";
objJsonResult.count = 1;
@@ -370,7 +444,169 @@
}
}
+ #region [鍚屾鍩虹璧勬枡]
+ [Route("Gy_Unit/Gy_UnitViewApi")]
+ [HttpGet]
+ public json Gy_UnitViewApi(string Number, string Type)
+ {
+ 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_ERPBasicInfoToLocal '" + Number + "','" + Type + "'", "h_p_WMS_ERPBasicInfoToLocal");
+ 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 = Number,
+ 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("BD_UNIT", JsonConvert.SerializeObject(json));
+ var _saveObj = JObject.Parse(_result);
+ //鍒ゆ柇鏁版嵁鏄惁鑾峰彇鎴愬姛
+ if (_saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper() != "TRUE")
+ {
+ objJsonResult.code = "0";
+ objJsonResult.count = 0;
+ objJsonResult.Message = "閲戣澏璁¢噺鍗曚綅鍚屾澶辫触jsonRoot锛�" + _result;
+ objJsonResult.data = null;
+ return objJsonResult;
+ }
+
+ #endregion
+ //鑾峰彇鏁版嵁
+ DataSet Ds;
+ Ds = oCN.RunProcReturn("select * from Gy_Unit where HNumber = '" + Number + "'", "Gy_Unit");
+ if (Ds.Tables[0].Rows.Count != 0 && ClsPub.isLong(Ds.Tables[0].Rows[0]["HItemID"].ToString()) != 0)
+ {
+
+ }
+
+ #region [琛ㄦ暟鎹祴鍊糫
+ var jsonData = new
+ {
+ HItemID = _saveObj["Result"]["Result"]["Id"],
+ HERPItemID = _saveObj["Result"]["Result"]["Id"],
+ HNumber = _saveObj["Result"]["Result"]["Number"],
+ HName = _saveObj["Result"]["Result"]["Name"][0]["Value"],
+ HShortNumber = _saveObj["Result"]["Result"]["Number"],
+ HParentID = 0,
+ HLevel = 1,
+ HEndFlag = 1,
+ HStopflag = _saveObj["Result"]["Result"]["ForbidStatus"].ToString() == "A" ? 0 : 1,
+ HRemark = "CLD-ERP瀵煎叆",
+ HUseFlag = "鏈娴�",
+ HRate = "1",
+ HMakeTime = _saveObj["Result"]["Result"]["CreateDate"],
+ HStandard = 1,
+ HCREATEORGID = _saveObj["Result"]["Result"]["CreatorId_Id"],
+ HUSEORGID = 0,
+ };
+ #endregion
+ // 鍒犻櫎涓昏〃瀵瑰簲鏁版嵁
+ sql = $"delete from Gy_Unit where HItemID = " + jsonData.HItemID + " and HNumber = '" + Number + "'";
+ oCN.RunProc(sql);
+
+ sql = "set identity_insert Gy_Unit on";
+ oCN.RunProc(sql);
+
+ //鎻掑叆琛�
+ sql = $@"
+ insert into Gy_Unit
+ (HItemID,HERPItemID,HNumber,HName,HShortNumber,HParentID
+ ,HLevel,HEndFlag,HStopflag,HRemark,HUseFlag,HRate,HMakeTime,HStandard,HCREATEORGID,HUSEORGID
+ )
+ values
+ ({jsonData.HItemID},{jsonData.HERPItemID},'{jsonData.HNumber}','{jsonData.HName}',
+ '{jsonData.HShortNumber}',{jsonData.HParentID},{jsonData.HLevel},{jsonData.HEndFlag},{jsonData.HStopflag},'{jsonData.HRemark}','{jsonData.HUseFlag}','{jsonData.HRate}','{jsonData.HMakeTime}',{jsonData.HStandard},{jsonData.HCREATEORGID},{jsonData.HUSEORGID})";
+
+ oCN.RunProc(sql);
+
+ sql = "set identity_insert Gy_Unit off";
+ 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