From 89ae937aaca1cfb6a5f18a388c4ba5e0b0d7f035 Mon Sep 17 00:00:00 2001 From: duhe <226547893@qq.com> Date: 星期日, 09 七月 2023 22:49:13 +0800 Subject: [PATCH] 项目阶段汇报 --- WebAPI/Controllers/项目管理/项目阶段/Gy_ProjectStageController.cs | 474 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 474 insertions(+), 0 deletions(-) diff --git "a/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\351\241\271\347\233\256\351\230\266\346\256\265/Gy_ProjectStageController.cs" "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\351\241\271\347\233\256\351\230\266\346\256\265/Gy_ProjectStageController.cs" index 5b3ca0d..856cc03 100644 --- "a/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\351\241\271\347\233\256\351\230\266\346\256\265/Gy_ProjectStageController.cs" +++ "b/WebAPI/Controllers/\351\241\271\347\233\256\347\256\241\347\220\206/\351\241\271\347\233\256\351\230\266\346\256\265/Gy_ProjectStageController.cs" @@ -790,5 +790,479 @@ } } #endregion + + + #region 椤圭洰闃舵姹囨姤 鏂板/缂栬緫-淇濆瓨 + #region 椤圭洰闃舵姹囨姤 琛ㄥご鏁版嵁 + public class PM_ProjectReportBill_Main + { + public int HInterID; + public string HBillNo; + public string HDate; + public string HProNumber; + public int HProjectStageID; + public string HProjectStageName; + public string HStageNote; + public string HRelationGoods; + public int HIsKey; + public int HReportEmpID; + public string HReportEmpName; + public string HReportNote; + public string HReportGoods; + public string HReceiveEmp; + public string HCopyEmp; + public double HRate; + public int HOrgID; + public string HRemark; + public string HMaker; + public string HUpdater; + public string HChecker; + public string HMakerDate; + public string HUpdaterDate; + public string HCheckerDate; + public string HCloseMan; + public string HDeleteMan; + public string HBacker; + public string HCloseManDate; + public string HDeleteManDate; + public string HBackerDate; + public string HBackRemark; + } + #endregion + #region 椤圭洰闃舵姹囨姤 瀛愯〃鏁版嵁 + public class PM_ProjectReportBill_Sub + { + public int RowID; + public int HEmpID; + public string HEmpName; + public int HIsPM; + public double HRate; + public double HAvgMoney; + public double HCountMoney; + public string HRemarkSub; + } + #endregion + #region 椤圭洰闃舵姹囨姤 鏂板/缂栬緫-淇濆瓨 + /// <summary> + /// 鏂板鍗曟嵁-淇濆瓨鎸夐挳 + ///鍙傛暟锛歴tring sql銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("PM_ProjectReportBill/AddBill")] + [HttpPost] + public object AddBill_ProjectReportBill([FromBody] JObject sMainSub) + { + //鑾峰彇鍙傛暟 + var _value = sMainSub["sMainSub"].ToString(); + string msg1 = _value.ToString(); + //寮�濮嬩簨鍔� + oCN.BeginTran(); + //淇濆瓨涓昏〃 + objJsonResult = AddBillMain_ProjectReportBill(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 = ds.Tables[0]; + return objJsonResult; + } + #endregion + #region 娣诲姞 椤圭洰闃舵姹囨姤 涓昏〃 + public json AddBillMain_ProjectReportBill(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淇敼 2 澶嶅埗 + string user = sArray[3].ToString();//鐢ㄦ埛鍚� + string HComputerName = SystemInformation.ComputerName; //璁惧鍚嶇О + user_LongShan = sArray[3].ToString();//鐢ㄦ埛鍚� + + try + { + if (OperationType == 1) + { + //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄� + if (!DBUtility.ClsPub.Security_Log("Pm_ProjectReportBill_add", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犳柊澧炴潈闄�!"; + objJsonResult.data = null; + return objJsonResult; + } + } + else if (OperationType == 3) + { + //鍒ゆ柇鏄惁鏈夌紪杈戞潈闄� + if (!DBUtility.ClsPub.Security_Log("Pm_ProjectReportBill_edit", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犵紪杈戞潈闄�!"; + objJsonResult.data = null; + return objJsonResult; + } + } + + msg2 = "[" + msg2.ToString() + "]"; + List<PM_ProjectReportBill_Main> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_ProjectReportBill_Main>>(msg2); + + int HYear = int.Parse(mainList[0].HDate.Split('-')[0]); + int HPeriod = int.Parse(mainList[0].HDate.Split('-')[1]); + string HBillType = "4752"; + string HBillSubType = ""; + int HBillStatus = 1; + + int HInterID = mainList[0].HInterID; + string HBillNo = mainList[0].HBillNo; + string HDate = mainList[0].HDate; + string HProNumber = mainList[0].HProNumber; + int HProjectStageID = mainList[0].HProjectStageID; + string HStageNote = mainList[0].HStageNote; + string HRelationGoods = mainList[0].HRelationGoods; + int HIsKey = mainList[0].HIsKey; + int HReportEmpID = mainList[0].HReportEmpID; + string HReportNote = mainList[0].HReportNote; + string HReportGoods = mainList[0].HReportGoods; + string HReceiveEmp = mainList[0].HReceiveEmp; + string HCopyEmp = mainList[0].HCopyEmp; + double HRate = mainList[0].HRate; + int HOrgID = mainList[0].HOrgID; + string HRemark = mainList[0].HRemark; + string HMaker = mainList[0].HMaker; + string HMakerDate = mainList[0].HMakerDate; + + + if (OperationType == 2) + { + ds = oCN.RunProcReturn("select * from PM_ProjectReportBillMain where HBillNo ='" + HBillNo + "'", "PM_ProjectReportBillMain"); + if (ds.Tables[0].Rows.Count > 0) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鍗曟嵁鍙烽噸澶�,璇烽噸鏂拌緭鍏�!"; + objJsonResult.data = null; + return objJsonResult; + } + } + + ds = oCN.RunProcReturn("select * from PM_ProjectReportBillMain where HInterID = " + HInterID + " and HBillNo = '" + HBillNo + "'", "PM_ProjectReportBillMain"); + + if ((OperationType == 1 || OperationType == 2) && ds.Tables[0].Rows.Count == 0)//鏂板 + { + string sql = "insert into PM_ProjectReportBillMain" + + "(HYear,HPeriod,HBillType,HBillSubType,HInterID,HDate,HBillNo,HBillStatus,HRemark,HMaker,HMakeDate" + + ",HProNumber,HProjectStageID,HStageNote,HRelationGoods,HIsKey,HReportEmpID,HReportNote,HReportGoods,HReceiveEmp,HCopyEmp,HRate,HOrgID) " + + "values(" + + "" + HYear + + "," + HPeriod + + ",'" + HBillType + + "','" + HBillSubType + + "'," + HInterID + + ",'" + HDate + + "','" + HBillNo + + "'," + HBillStatus + + ",'" + HRemark + + "','" + HMaker + + "','" + HMakerDate + + "','" + HProNumber + + "'," + HProjectStageID + + ",'" + HStageNote + + "','" + HRelationGoods + + "'," + HIsKey + + "," + HReportEmpID + + ",'" + HReportNote + + "','" + HReportGoods + + "','" + HReceiveEmp + + "','" + HCopyEmp + + "'," + HRate + + "," + HOrgID + + ")"; + + //涓昏〃 + oCN.RunProc(sql); + LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",鏂板椤圭洰闃舵姹囨姤:" + HBillNo); + oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "鏂板椤圭洰闃舵姹囨姤锛�" + HBillNo + "','LMES-椤圭洰闃舵姹囨姤妯″潡','" + DBUtility.ClsPub.IPAddress + "','鏂板鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo); + } + else if (OperationType == 3 || ds.Tables[0].Rows.Count != 0) //缂栬緫 + { + string sql = "update PM_ProjectReportBillMain set " + + "HYear = " + HYear + + ",HPeriod = " + HPeriod + + ",HBillType = '" + HBillType + + "',HBillSubType = '" + HBillSubType + + "',HDate = '" + HDate + + "',HBillNo = '" + HBillNo + + "',HBillStatus = " + HBillStatus + + ",HRemark = '" + HRemark + + "',HMaker = '" + HMaker + + "',HMakeDate = '" + HMakerDate + + "',HProNumber = '" + HProNumber + + "',HProjectStageID = " + HProjectStageID + + ",HStageNote = '" + HStageNote + + "',HRelationGoods = '" + HRelationGoods + + "',HIsKey = " + HIsKey + + ",HReportEmpID = " + HReportEmpID + + ",HReportNote = '" + HReportNote + + "',HReportGoods = '" + HReportGoods + + "',HReceiveEmp = '" + HReceiveEmp + + "',HCopyEmp = '" + HCopyEmp + + "',HRate = " + HRate + + ",HOrgID = " + HOrgID + + " where HInterID = " + HInterID; + + oCN.RunProc(sql); + + //鍒犻櫎瀛愯〃 + oCN.RunProc("delete from PM_ProjectReportBillSub where HInterID='" + HInterID + "'"); + //璁板綍鏃ュ織 + LogService.Write("鐢ㄦ埛:" + user + ",鏃ユ湡:" + DateTime.Now + ",淇敼椤圭洰闃舵姹囨姤:" + HBillNo); + oCN.RunProc("Insert into System_log (GeginDate, userid, WorkstationName, WorkList, SystemName, NetuserName, State) select GETDATE(),'" + user + "','" + HComputerName + "','" + "淇敼椤圭洰闃舵姹囨姤锛�" + HBillNo + "','LMES-椤圭洰闃舵姹囨姤妯″潡','" + DBUtility.ClsPub.IPAddress + "','淇敼鍗曟嵁'", ref DBUtility.ClsPub.sExeReturnInfo); + } + //淇濆瓨瀛愯〃 + objJsonResult = AddBillSub_ProjectReportBill(msg3, HInterID, HBillNo, 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; + } + } + #endregion + #region 娣诲姞椤圭洰闃舵娓呭崟 瀛愯〃 + public json AddBillSub_ProjectReportBill(string msg3, long HInterID, string HBillNo, int OperationType) + { + List<PM_ProjectReportBill_Sub> DetailColl = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PM_ProjectReportBill_Sub>>(msg3); + int i = 0; //浣滀负瀛愯〃鍐呯爜 + foreach (PM_ProjectReportBill_Sub oSub in DetailColl) + { + i++; //鍚屼竴涓富琛ㄤ笅鐨勫瓙琛ㄧ殑鍐呯爜鑷 + + int HEntryID = i; + int HEmpID = oSub.HEmpID; + int HIsPM = oSub.HIsPM; + double HRate = oSub.HRate; + double HAvgMoney = oSub.HAvgMoney; + double HCountMoney = oSub.HCountMoney; + string HRemarkSub = oSub.HRemarkSub; + string sql = "insert into PM_ProjectReportBillSub" + + "(HInterID,HBillNo_bak,HEntryID,HRemark,HEmpID,HIsPM,HRate,HAvgMoney,HCountMoney) " + + "values(" + + "" + HInterID + + ",'" + HBillNo + + "'," + HEntryID + + ",'" + HRemarkSub + + "'," + HEmpID + + "," + HIsPM + + "," + HRate + + "," + HAvgMoney + + "," + HCountMoney + + ")"; + oCN.RunProc(sql); + } + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = null; + objJsonResult.data = null; + return objJsonResult; + } + #endregion + #endregion + + #region 椤圭洰闃舵姹囨姤 鏌ヨ + /// <summary> + /// 杩斿洖椤圭洰闃舵鍒楄〃 + ///鍙傛暟锛歴tring sql銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("PM_ProjectReportBill/list")] + [HttpGet] + public object getProjectReportBill(string sWhere, string user) + { + try + { + List<object> columnNameList = new List<object>(); + //鏌ョ湅鏉冮檺 + //if (!DBUtility.ClsPub.Security_Log("Gy_ProjectStage_Query", 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 PM_ProjectReportBillMain order by HBillNo desc ", "PM_ProjectReportBillMain"); + } + else + { + string sql1 = "select * from PM_ProjectReportBillMain where 1 = 1 "; + string sql = sql1 + sWhere + " order by HBillNo desc "; + ds = oCN.RunProcReturn(sql, "PM_ProjectReportBillMain"); + } + + //娣诲姞鍒楀悕 + 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) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 椤圭洰闃舵娓呭崟 缂栬緫-椤甸潰璧嬪�� + /// <summary> + ///鍙傛暟锛歴tring HInterID銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("PM_ProjectReportBill/editInit")] + [HttpGet] + public object getProjectReportBilleditInit(string HInterID, string user) + { + try + { + List<DataTable> tableList = new List<DataTable>(); + + //鏌ョ湅鏉冮檺 + //if (!DBUtility.ClsPub.Security_Log("Pm_ProjectStageBill_edit", 1, false, user)) + //{ + // objJsonResult.code = "0"; + // objJsonResult.count = 0; + // objJsonResult.Message = "鏃犳煡鐪嬫潈闄愶紒"; + // objJsonResult.data = null; + // return objJsonResult; + //} + + if (HInterID == null || HInterID.Equals("")) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + ds = oCN.RunProcReturn("exec h_p_PM_ProjectReportBill_EditInit " + HInterID, "h_p_PM_ProjectReportBill_EditInit"); + tableList.Add(ds.Tables[0]); + tableList.Add(ds.Tables[1]); + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + objJsonResult.data = tableList; + return objJsonResult; + } + catch (Exception e) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "Exception锛�" + e.ToString(); + objJsonResult.data = null; + return objJsonResult; + } + } + #endregion + + #region 椤圭洰闃舵姹囨姤 鍒犻櫎 + /// <summary> + ///鍙傛暟锛歴tring HInterID銆� + ///杩斿洖鍊硷細object銆� + /// </summary> + [Route("PM_ProjectReportBill/delete")] + [HttpGet] + public object deleteProjectReportBill(string HInterID, string user) + { + try + { + //鏌ョ湅鏉冮檺 + if (!DBUtility.ClsPub.Security_Log("Pm_ProjectReportBill_delete", 1, false, user)) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "鏃犲垹闄ゆ潈闄愶紒"; + objJsonResult.data = null; + return objJsonResult; + } + + if (HInterID == null || HInterID.Equals("")) + { + objJsonResult.code = "0"; + objJsonResult.count = 0; + objJsonResult.Message = "HInterID涓嶈兘涓虹┖锛�"; + objJsonResult.data = null; + return objJsonResult; + } + + oCN.BeginTran(); + + oCN.RunProc("delete from PM_ProjectReportBillMain where HInterID = " + HInterID); + oCN.RunProc("delete from PM_ProjectReportBillSub where HInterID='" + HInterID + "'"); + + oCN.Commit(); + + objJsonResult.code = "1"; + objJsonResult.count = 1; + objJsonResult.Message = "Sucess锛�"; + 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 } } \ No newline at end of file -- Gitblit v1.9.1