From db896a65c463ac90d73db4ab889c720c63cc160f Mon Sep 17 00:00:00 2001
From: cnf <3200815559@qq.com>
Date: 星期三, 23 七月 2025 11:16:54 +0800
Subject: [PATCH] 工序信息维护
---
.gitignore | 1
WebApi/Gs.Entity/Sys/MesProcInfo.cs | 309 ++++++++++++++++
WebApi/Gs.Wom/Service/MesProcInfoController.cs | 303 +++++++++++++++
WebApi/Gs.Wom/Service/MesProdGx0Controller.cs | 481 +++++++++++++++++++++++++
4 files changed, 1,094 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
index 1c38a68..94e26fa 100644
--- a/.gitignore
+++ b/.gitignore
@@ -184,3 +184,4 @@
# Microsoft Fakes
FakesAssemblies/
+/WebApi/.vs/GsMesSolution/FileContentIndex
diff --git a/WebApi/Gs.Entity/Sys/MesProcInfo.cs b/WebApi/Gs.Entity/Sys/MesProcInfo.cs
new file mode 100644
index 0000000..adb373c
--- /dev/null
+++ b/WebApi/Gs.Entity/Sys/MesProcInfo.cs
@@ -0,0 +1,309 @@
+锘縰sing SqlSugar;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Gs.Entity.Sys;
+
+/// <summary>
+/// 宸ュ簭淇℃伅琛� (SQLServer 鐗堟湰)
+/// </summary>
+[SugarTable("MES_PROC_INFO")]
+public class MesProcInfo
+ {
+ /// <summary>
+ /// 涓婚敭ID (GUID 绫诲瀷)
+ /// </summary>
+ [SugarColumn(ColumnName = "GUID", IsPrimaryKey = true)]
+ public Guid Guid { get; set; }
+
+ /// <summary>
+ /// 宸ュ簭鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "PROC_NO")]
+ public string ProcNo { get; set; }
+
+ /// <summary>
+ /// 宸ュ簭鍚嶇О
+ /// </summary>
+ [SugarColumn(ColumnName = "PROC_NAME")]
+ public string ProcName { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ [SugarColumn(ColumnName = "MEMO")]
+ public string Memo { get; set; }
+
+ /// <summary>
+ /// 鏄惁涓诲伐搴�(0鍚�1鏄紝涓烘槸鍒欏湪鍗曟澘鍩虹淇℃伅涓嚜鍔ㄧ敓鎴愬伐鑹鸿矾寰�)
+ /// </summary>
+ [SugarColumn(ColumnName = "PRIMARY_PROC")]
+ public int PrimaryProc { get; set; }
+
+ /// <summary>
+ /// 濡傛灉鏄弻闈㈡澘,鏄惁涓ら潰閮借鍔犲伐(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "TWICE_SIDE")]
+ public int TwiceSide { get; set; }
+
+ /// <summary>
+ /// 榛樿棣栨鏍囧噯鏁�(鑷姩鐢熸垚鍗曟澘宸ヨ壓璺緞淇℃伅浣跨敤)
+ /// </summary>
+ [SugarColumn(ColumnName = "FIRST_QC_QTY")]
+ public decimal? FirstQcQty { get; set; }
+
+ /// <summary>
+ /// 榛樿棣栨涓ラ噸缂洪櫡鏁�(鑷姩鐢熸垚鍗曟澘宸ヨ壓璺緞淇℃伅浣跨敤)
+ /// </summary>
+ [SugarColumn(ColumnName = "FQQ_AB_QTY")]
+ public decimal? FqqAbQty { get; set; }
+
+ /// <summary>
+ /// 榛樿棣栨杞诲井缂洪櫡鏁�(鑷姩鐢熸垚鍗曟澘宸ヨ壓璺緞淇℃伅浣跨敤)
+ /// </summary>
+ [SugarColumn(ColumnName = "FQQ_C_QTY")]
+ public decimal? FqqCQty { get; set; }
+
+ /// <summary>
+ /// 宸ュ簭椤哄簭鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "PROC_ORDER")]
+ public int? ProcOrder { get; set; }
+
+ /// <summary>
+ /// MRPII杞Щ灞炴��(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "MRP_ATTR")]
+ public int MrpAttr { get; set; }
+
+ /// <summary>
+ /// 宸ュ簭杞Щ灞炴��(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "TRANSFER_ATTR")]
+ public int TransferAttr { get; set; }
+
+ /// <summary>
+ /// 棣栨灞炴��(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "FIRST_CHK_ATTR")]
+ public int FirstChkAttr { get; set; }
+
+ /// <summary>
+ /// 杩囩▼灞炴��(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "JOB_ATTR")]
+ public int JobAttr { get; set; }
+
+ /// <summary>
+ /// 璐ㄩ噺灞炴��(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "QUA_ATTR")]
+ public int QuaAttr { get; set; }
+
+ /// <summary>
+ /// 杩囩▼閲囬泦宸ュ簭鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "COLLECTION_PROC")]
+ public string CollectionProc { get; set; }
+
+ /// <summary>
+ /// 棣栨鏂瑰紡(缂洪櫡鏁般�佸搧鏁�)
+ /// </summary>
+ [SugarColumn(ColumnName = "FIRST_CHK_TYPE")]
+ public string FirstChkType { get; set; }
+
+ /// <summary>
+ /// MRPII宸ュ簭杞Щ椤哄簭鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "MRP_ORDER")]
+ public string MrpOrder { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_BY")]
+ public string CreateBy { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "CREATE_DATE")]
+ public DateTime? CreateDate { get; set; }
+
+ /// <summary>
+ /// 鏇存柊浜�
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_BY")]
+ public string LastupdateBy { get; set; }
+
+ /// <summary>
+ /// 鏇存柊鏃堕棿
+ /// </summary>
+ [SugarColumn(ColumnName = "LASTUPDATE_DATE")]
+ public DateTime? LastupdateDate { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍙備笌DPMO缁熻(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "DPMO_ATTR")]
+ public int DpmoAttr { get; set; }
+
+ /// <summary>
+ /// 鏄惁棰勮(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "PRECAUTION_ATTR")]
+ public int PrecautionAttr { get; set; }
+
+ /// <summary>
+ /// 鏍囧噯宸ュ簭鍙�
+ /// </summary>
+ [SugarColumn(ColumnName = "STANDARD_PROC_NO")]
+ public string StandardProcNo { get; set; }
+
+ /// <summary>
+ /// 宸ユ缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "WORKSHOP_SECTION_CODE")]
+ public string WorkshopSectionCode { get; set; }
+
+ /// <summary>
+ /// 鏈満绉嶅綋鍓嶅伐搴忕洿閫氱巼棰勮鍊硷紙灏忔暟浠h〃鐧惧垎姣旓級榛勭墝
+ /// </summary>
+ [SugarColumn(ColumnName = "ALARM_PASS_PERCENT")]
+ public decimal? AlarmPassPercent { get; set; }
+
+ /// <summary>
+ /// 鏈満绉嶅綋鍓嶅伐搴忕洿閫氱巼鍋滄満棰勮鍊硷紙灏忔暟浠h〃鐧惧垎姣旓級绾㈢墝
+ /// </summary>
+ [SugarColumn(ColumnName = "STOP_PASS_PERCENT")]
+ public decimal? StopPassPercent { get; set; }
+
+ /// <summary>
+ /// 鍚庣户宸ュ簭鏄惁鍙楁宸ュ簭鐨勫姞宸ユ暟閲忛檺鍒�(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "QTY_ATTR")]
+ public int QtyAttr { get; set; }
+
+ /// <summary>
+ /// 鍙岄潰鏉垮湪褰撳墠宸ュ簭鏄惁鍙互闅忔剰鍏堝姞宸闈㈡垨T闈�(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "AS_ORDER_FLAG")]
+ public int AsOrderFlag { get; set; }
+
+ /// <summary>
+ /// 鎶ュ簾鏍囩ず(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "WS_OS_FLAG")]
+ public int WsOsFlag { get; set; }
+
+ /// <summary>
+ /// 鎶ュ伐鏍囩ず(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "WS_CP_FLAG")]
+ public int WsCpFlag { get; set; }
+
+ /// <summary>
+ /// 璁板綍宸ュ簭灞炰簬鍝釜QC宸ユ
+ /// </summary>
+ [SugarColumn(ColumnName = "QC_SECTION_NO")]
+ public string QcSectionNo { get; set; }
+
+ /// <summary>
+ /// 鎺掍骇鏂瑰紡(鏍囧噯鑺傛媿,鍔犲伐鑺傛媿)
+ /// </summary>
+ [SugarColumn(ColumnName = "SCHEME_TYPE")]
+ public string SchemeType { get; set; }
+
+ /// <summary>
+ /// 鎺掍骇鏍囪瘑(0鍚�1鏄紝鎺掍骇宸ュ簭锛屽伐娈靛仠鐣欐椂闂翠娇鐢�)
+ /// </summary>
+ [SugarColumn(ColumnName = "SCHEME_FLAG")]
+ public int SchemeFlag { get; set; }
+
+ /// <summary>
+ /// 鎺掍骇鏄惁鍖哄垎鐝(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "SCHEME_CLASS_FLAG")]
+ public int SchemeClassFlag { get; set; }
+
+ /// <summary>
+ /// 瀵瑰簲灞炴��
+ /// </summary>
+ [SugarColumn(ColumnName = "COP_ATTR")]
+ public string CopAttr { get; set; }
+
+ /// <summary>
+ /// 宸ヤ綔涓績缂栫爜
+ /// </summary>
+ [SugarColumn(ColumnName = "WORKSHOP_CENTER_CODE")]
+ public string WorkshopCenterCode { get; set; }
+
+ /// <summary>
+ /// 铏氭嫙鏉$爜閲囬泦(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "VIRTUAL_BARCODE_FLAG")]
+ public int VirtualBarcodeFlag { get; set; }
+
+ /// <summary>
+ /// 鍙傛暟鑼冨洿1
+ /// </summary>
+ [SugarColumn(ColumnName = "PR_1")]
+ public string Pr1 { get; set; }
+
+ /// <summary>
+ /// 鍙傛暟鑼冨洿2
+ /// </summary>
+ [SugarColumn(ColumnName = "PR_2")]
+ public string Pr2 { get; set; }
+
+ /// <summary>
+ /// 鍙傛暟鑼冨洿3
+ /// </summary>
+ [SugarColumn(ColumnName = "PR_3")]
+ public string Pr3 { get; set; }
+
+ /// <summary>
+ /// 鍙傛暟鑼冨洿4
+ /// </summary>
+ [SugarColumn(ColumnName = "PR_4")]
+ public string Pr4 { get; set; }
+
+ /// <summary>
+ /// 姝h礋鏋�
+ /// </summary>
+ [SugarColumn(ColumnName = "FPM_MARK")]
+ public string FpmMark { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍏佽閲嶅鎶曟枡(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "SFCFTL")]
+ public int Sfcftl { get; set; }
+
+ /// <summary>
+ /// 鏄惁鎸夌収宸ュ崟鎶曟枡(0鍚�1鏄�)
+ /// </summary>
+ [SugarColumn(ColumnName = "IS_TASK_FALAG")]
+ public int IsTaskFalag { get; set; }
+
+ /// <summary>
+ /// 宸ュ巶
+ /// </summary>
+ [SugarColumn(ColumnName = "FACTORY")]
+ public string Factory { get; set; }
+
+ /// <summary>
+ /// 鍏徃
+ /// </summary>
+ [SugarColumn(ColumnName = "COMPANY")]
+ public string Company { get; set; }
+
+ /// <summary>
+ /// 璁′欢鏂瑰紡
+ /// </summary>
+ [SugarColumn(ColumnName = "SALARY_TYPE")]
+ public string SalaryType { get; set; }
+ }
diff --git a/WebApi/Gs.Wom/Service/MesProcInfoController.cs b/WebApi/Gs.Wom/Service/MesProcInfoController.cs
new file mode 100644
index 0000000..d636e1a
--- /dev/null
+++ b/WebApi/Gs.Wom/Service/MesProcInfoController.cs
@@ -0,0 +1,303 @@
+锘縰sing Gs.Toolbox.ApiCore.Common.Mvc;
+using Gs.Toolbox;
+using Gs.Toolbox.ApiCore.Group;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Data.SqlClient;
+using System.Dynamic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Gs.Toolbox.ApiCore.Abstract.Mvc;
+using static Gs.Toolbox.UtilityHelper;
+
+namespace Gs.Wom.Service
+{
+ [ApiGroup(ApiGroupNames.WOM)]
+ public class MesProcInfoController : IRomteService
+ {
+
+ private readonly IHttpContextAccessor _http;
+ private readonly string _userCode, _userGuid, _orgFids;
+
+ public MesProcInfoController(IHttpContextAccessor httpContextAccessor)
+ {
+ _http = httpContextAccessor;
+ (_userCode, _userGuid, _orgFids) =
+ GetUserGuidAndOrgGuid(_http);
+ }
+
+
+ /// <summary>
+ /// 璇诲彇鍒楄〃锛屾敮鎸佸垎椤�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<PageList<dynamic>> GetListPage([FromBody] dynamic model)
+ {
+ int currentPage = model.currentPage;
+ int everyPageSize = model.everyPageSize;
+ string sortName = model.sortName;
+ string keyWhere = model.keyWhere;
+ SqlParameter[] parameters =
+ {
+ new("@inCurrentPage", currentPage),
+ new("@inEveryPageSize", everyPageSize),
+ new("@inSortName", sortName),
+ new("@inSortOrder", ""),
+ new("@inQueryWhere", keyWhere),
+ new("@inFid", ""),
+ new("@inP1", ""),
+ new("@inP2", ""),
+ new("@inP3", ""),
+ new("@inP4", "")
+ };
+ var dset = new DataSet();
+ var _pglist = new PageList<dynamic>
+ {
+ total = 0,
+ everyPageSize = 0,
+ pages = 0,
+ list = new List<dynamic>()
+ };
+ try
+ {
+ dset = DbHelperSQL.RunProcedure("[prc_proc_info_lst]", parameters, "0");
+
+ if (dset != null && dset.Tables.Count > 0 &&
+ dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹�
+ {
+ var intTotal =
+ int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString());
+ var pages = intTotal % everyPageSize != 0
+ ? intTotal / everyPageSize + 1
+ : intTotal / everyPageSize;
+ _pglist.total = intTotal;
+ _pglist.everyPageSize = everyPageSize;
+ _pglist.pages = pages;
+ var _dy = dset.Tables[0].TableToDynamicList();
+ _pglist.list = _dy;
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Debug(ToString(), ex.Message);
+ return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
+ ReturnCode.Exception, ex.Message);
+ }
+ return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
+ ReturnCode.Success, "璇诲彇鎴愬姛");
+ }
+
+ /// <summary>
+ /// 澧炲姞鎴栫紪杈戝疄浣�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<ExpandoObject> EditModel([FromBody] dynamic model)
+ {
+ // 涓婚敭澶勭悊
+ Guid? guid = model.guid; //涓婚敭
+ // 鍩烘湰瀛楁澶勭悊
+ string procOrder = model.procOrder;
+ string procNo = model.procNo;
+ string workshopCenterCode = model.workshopCenterCode;
+ string procName = model.procName;
+ string memo = model.memo;
+ string org = model.org;
+ string salaryType = model.salaryType;
+
+ //var _sb = new StringBuilder();
+ //var _split = "|";
+ //foreach (var m in model.list)
+ //{
+ // string _guid = m.Guid.ToString();
+ // var _line = m.ProcOrder + _split
+ // + m.ProcNo + _split
+ // + m.WorkshopCenterCode + _split
+ // + m.Memo + _split
+ // + (CheckGuid(_guid) ? _guid : Guid.Empty.ToString());
+ // if (_sb.Length > 0)
+ // _sb.Append("~");
+ // _sb.Append(_line);
+ //}
+ //string memo = model.memo;
+ //string extDate = model.extDate;
+ ////
+ //string quantity = model.quantity;
+ //string psnQty_1 = model.psnQty_1;
+ //string iCount_1 = model.iCount_1;
+ dynamic mObj = new ExpandoObject();
+ mObj.outMsg = "";
+ mObj.outSum = -1;
+ mObj.outGuid = "";
+ mObj.outNo = "";
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("[prc_proc_info_edt]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@outMsg", SqlDbType.NVarChar, 300),
+ new("@outSum", SqlDbType.Int),
+ new("@outGuid", SqlDbType.UniqueIdentifier),
+ new("@outNo", SqlDbType.NVarChar, 300),
+ new("@inOrderGuid", CheckGuid(guid) ? guid : DBNull.Value),
+ new("@procOrder", procOrder),
+ new("@procNo", procNo),
+ new("@workshopCenterCode", workshopCenterCode),
+ new("@procName", procName),
+ new("@memo", memo),
+ new("@org",org),
+ new("@salaryType", salaryType),
+ //new("@memo", memo),
+ //new("@extDate", extDate),
+ //new("@quantity", quantity),
+ //new("@psnQty_1", psnQty_1),
+ //new("@iCount_1", iCount_1),
+ new("@inEdtUserGuid", _userGuid),
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ parameters[2].Direction = ParameterDirection.Output;
+ parameters[3].Direction = ParameterDirection.Output;
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ cmd.ExecuteNonQuery();
+ mObj.outMsg = parameters[0].Value.ToString();
+ mObj.outSum = int.Parse(parameters[1].Value.ToString());
+ mObj.outGuid = parameters[2].Value.ToString();
+ mObj.outNo = parameters[3].Value.ToString();
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Debug(ToString(),
+ "box_edt error锛�" + ex.Message);
+ mObj.outMsg = ex.Message;
+ mObj.outSum = -1;
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ if (mObj.outSum <= 0)
+ return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Exception, mObj.outMsg);
+ return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Success, mObj.outMsg);
+ }
+
+
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<int?> DeleteModel([FromBody] dynamic model)
+ {
+ int? rtnInt = (int)ReturnCode.Default;
+ Guid? guid = model.guid; //鍒拌揣鍗曚富閿�
+ //string mxGuid = model.mxGuid;
+ var _outMsg = "";
+ var _outSum = -1;
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("[prc_proc_info_del]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@outMsg", SqlDbType.NVarChar, 300),
+ new("@outSum", SqlDbType.Int),
+ new("@inOrderGuid",
+ CheckGuid(guid)
+ ? guid
+ : DBNull.Value),
+ new("@inEdtUserGuid", _userGuid),
+ //new("@inMxGuid", mxGuid)
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+
+ cmd.ExecuteNonQuery();
+ _outMsg = parameters[0].Value.ToString();
+ _outSum = int.Parse(parameters[1].Value.ToString());
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Debug(ToString(),
+ "prc_proc_info_del error锛�" + ex.Message);
+ _outMsg = ex.Message;
+ _outSum = -1;
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+
+ if (_outSum <= 0)
+ return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception,
+ _outMsg);
+ return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, _outMsg);
+ }
+
+ /// <summary>
+ /// 璇诲彇
+ /// </summary>
+ /// <param name="guid"></param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<ExpandoObject> GetModel([FromBody] dynamic model)
+ {
+ string guid = model.guid.ToString();
+ dynamic m = new ExpandoObject();
+ m.list = new List<dynamic>();
+ m.list2 = new List<dynamic>();
+ SqlParameter[] parameters =
+ {
+ new("@inMainGuid", guid),
+ new("@inP1", ""),
+ new("@inP2", ""),
+ new("@inP3", ""),
+ new("@inP4", "")
+ };
+ var dset = new DataSet();
+ try
+ {
+ dset = DbHelperSQL.RunProcedure("[prc_proc_info_mx]", parameters, "0");
+ if (dset != null && dset.Tables.Count > 0 &&
+ dset.Tables[0].Rows.Count > 0)
+ {
+ var dr = dset.Tables[0].Rows[0];
+ m = dr.RowToDynamic();
+ //var _tb = dset.Tables[1].TableToDynamicList();
+ //m.list = _tb;
+ //var _tb2 = dset.Tables[2].TableToDynamicList();
+ //m.list2 = _tb2;
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Debug(ToString(), ex.Message);
+ }
+
+ if (m != null)
+ return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success,
+ "璇诲彇鎴愬姛锛�");
+ return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "璇诲彇澶辫触锛�");
+ }
+
+ }
+}
diff --git a/WebApi/Gs.Wom/Service/MesProdGx0Controller.cs b/WebApi/Gs.Wom/Service/MesProdGx0Controller.cs
new file mode 100644
index 0000000..0eb7ba0
--- /dev/null
+++ b/WebApi/Gs.Wom/Service/MesProdGx0Controller.cs
@@ -0,0 +1,481 @@
+锘縰sing System.Data;
+using System.Data.SqlClient;
+using System.Dynamic;
+using System.Text;
+using Gs.Toolbox;
+using Gs.Toolbox.ApiCore.Abstract.Mvc;
+using Gs.Toolbox.ApiCore.Common.Mvc;
+using Gs.Toolbox.ApiCore.Group;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json.Linq;
+using static Gs.Toolbox.UtilityHelper;
+
+namespace Gs.Wom.Service
+{
+ [ApiGroup(ApiGroupNames.WOM)]
+ public class MesProdGx0Controller : IRomteService
+ {
+
+ private readonly IHttpContextAccessor _http;
+
+ private readonly string _userCode, _userGuid, _orgFids;
+ public MesProdGx0Controller(IHttpContextAccessor httpContextAccessor)
+ {
+ _http = httpContextAccessor;
+ (_userCode, _userGuid, _orgFids) =
+ GetUserGuidAndOrgGuid(_http);
+ }
+
+ /// <summary>
+ /// 璇诲彇鍒楄〃锛屾敮鎸佸垎椤�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<PageList<dynamic>> GetListPage([FromBody] dynamic model)
+ {
+ int currentPage = model.currentPage;
+ int everyPageSize = model.everyPageSize;
+ string sortName = model.sortName;
+ string keyWhere = model.keyWhere;
+ SqlParameter[] parameters =
+ {
+ new("@inCurrentPage", currentPage),
+ new("@inEveryPageSize", everyPageSize),
+ new("@inSortName", sortName),
+ new("@inSortOrder", ""),
+ new("@inQueryWhere", keyWhere),
+ new("@inFid", ""),
+ new("@inP1", ""),
+ new("@inP2", ""),
+ new("@inP3", ""),
+ new("@inP4", "")
+ };
+ var dset = new DataSet();
+ var _pglist = new PageList<dynamic>
+ {
+ total = 0,
+ everyPageSize = 0,
+ pages = 0,
+ list = new List<dynamic>()
+ };
+ try
+ {
+ dset = DbHelperSQL.RunProcedure("prc_prod_gx_lst", parameters, "0");
+ if (dset != null && dset.Tables.Count > 0 &&
+ dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹�
+ {
+ var intTotal =
+ int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString());
+ var pages = intTotal % everyPageSize != 0
+ ? intTotal / everyPageSize + 1
+ : intTotal / everyPageSize;
+ _pglist.total = intTotal;
+ _pglist.everyPageSize = everyPageSize;
+ _pglist.pages = pages;
+ var _dy = dset.Tables[0].TableToDynamicList();
+ _pglist.list = _dy;
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Debug(ToString(), ex.Message);
+ return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
+ ReturnCode.Exception, ex.Message);
+ }
+ return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
+ ReturnCode.Success, "璇诲彇鎴愬姛");
+ }
+
+ /// <summary>
+ /// 璇诲彇
+ /// </summary>
+ /// <param name="guid"></param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<ExpandoObject> GetModel([FromBody] dynamic model)
+ {
+ string guid = model.guid.ToString();
+ dynamic m = new ExpandoObject();
+ m.list = new List<dynamic>();
+ m.list2 = new List<dynamic>();
+ SqlParameter[] parameters =
+ {
+ new("@inMainGuid", guid),
+ new("@inP1", ""),
+ new("@inP2", ""),
+ new("@inP3", ""),
+ new("@inP4", "")
+ };
+ var dset = new DataSet();
+ try
+ {
+ dset = DbHelperSQL.RunProcedure("[prc_item_tbl_mx]", parameters, "0");
+ if (dset != null && dset.Tables.Count > 0 &&
+ dset.Tables[0].Rows.Count > 0)
+ {
+ var dr = dset.Tables[0].Rows[0];
+ m = dr.RowToDynamic();
+ var _tb = dset.Tables[1].TableToDynamicList();
+ m.list = _tb;
+ var _tb2 = dset.Tables[2].TableToDynamicList();
+ m.list2 = _tb2;
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Debug(ToString(), ex.Message);
+ }
+
+ if (m != null)
+ return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success,
+ "璇诲彇鎴愬姛锛�");
+ return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default, "璇诲彇澶辫触锛�");
+ }
+
+ /// <summary>
+ /// 澧炲姞鎴栫紪杈戝疄浣�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<ExpandoObject> EditModel([FromBody] dynamic model)
+ {
+ Guid? guid = model.guid; //涓婚敭
+ string bz = model.bz; //澶囨敞
+ string yy = model.yy; //鍘熷洜
+ string inDaaGuid = model.inDaaGuid;//宸ュ崟
+ string inOrgId = model.inOrgId;//缁勭粐
+ var _sb = new StringBuilder();
+ var _split = "|";
+ foreach (var m in model.list)
+ {
+ string _guid = m.Guid.ToString();
+ var _line = m.AboutGuid + _split
+ + m.Sl + _split
+ + m.Remark + _split
+ + m.Bllb + _split
+ + (CheckGuid(_guid) ? _guid : Guid.Empty.ToString());
+ if (_sb.Length > 0)
+ _sb.Append("~");
+ _sb.Append(_line);
+ }
+ dynamic mObj = new ExpandoObject();
+ mObj.outMsg = "";
+ mObj.outSum = -1;
+ mObj.outGuid = "";
+ mObj.outNo = "";
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("[prc_item_tbl_edt]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@outMsg", SqlDbType.NVarChar, 300),
+ new("@outSum", SqlDbType.Int),
+ new("@outGuid", SqlDbType.UniqueIdentifier),
+ new("@outNo", SqlDbType.NVarChar, 300),
+ new("@inOrderGuid", CheckGuid(guid) ? guid : DBNull.Value),
+ new("@inBz", bz),
+ new("@inYy", yy),
+ new("@inDaaGuid", inDaaGuid),
+ new("@inOrgId", inOrgId),
+ new("@inEdtUserGuid", _userGuid),
+ new("@inLineList", _sb.ToString())
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ parameters[2].Direction = ParameterDirection.Output;
+ parameters[3].Direction = ParameterDirection.Output;
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ cmd.ExecuteNonQuery();
+ mObj.outMsg = parameters[0].Value.ToString();
+ mObj.outSum = int.Parse(parameters[1].Value.ToString());
+ mObj.outGuid = parameters[2].Value.ToString();
+ mObj.outNo = parameters[3].Value.ToString();
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Debug(ToString(),
+ "prc_item_tbl_edt error锛�" + ex.Message);
+ mObj.outMsg = ex.Message;
+ mObj.outSum = -1;
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ if (mObj.outSum <= 0)
+ return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Exception, mObj.outMsg);
+ return ReturnDto<dynamic>.QuickReturn(mObj, ReturnCode.Success, mObj.outMsg);
+ }
+
+
+ /// <summary>
+ /// 鏍规嵁渚涘簲鍟唅d 璇诲彇閫�璐х墿鏂�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<PageList<dynamic>> SelectPba([FromBody] dynamic model)
+ {
+ int currentPage = model.currentPage;
+ int everyPageSize = model.everyPageSize;
+ string sortName = model.sortName;
+ string keyWhere = model.keyWhere;
+ string daaGuid = model.daaGuid;
+ var dset = new DataSet();
+ try
+ {
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("[prc_item_tbl_select]", conn))
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@inCurrentPage", currentPage),
+ new("@inEveryPageSize", everyPageSize),
+ new("@inSortName", sortName),
+ new("@inSortOrder", ""),
+ new("@inQueryWhere", keyWhere),
+ new("@daaGuid", daaGuid),
+ new("@inP1", ""),
+ new("@inP2", "")
+ };
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ using (var dt = new SqlDataAdapter(cmd))
+ {
+ dt.Fill(dset, "0");
+ }
+ }
+
+ conn.Close();
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Debug(ToString(), "prc_item_tbl_select error锛�" + ex.Message);
+ return ReturnDto<PageList<dynamic>>.QuickReturn(
+ default(PageList<dynamic>), ReturnCode.Exception, "璇诲彇澶辫触");
+ }
+
+ var _pglist = new PageList<dynamic>
+ {
+ total = 0,
+ everyPageSize = 0,
+ pages = 0,
+ list = new List<dynamic>()
+ };
+ if (dset != null && dset.Tables.Count > 0 &&
+ dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹�
+ {
+ var intTotal =
+ int.Parse(dset.Tables[1].Rows[0]["intTotal"].ToString());
+ var pages = intTotal % everyPageSize != 0
+ ? intTotal / everyPageSize + 1
+ : intTotal / everyPageSize;
+ _pglist.total = intTotal;
+ _pglist.everyPageSize = everyPageSize;
+ _pglist.pages = pages;
+ var _dy = dset.Tables[0].TableToDynamicList();
+ _pglist.list = _dy;
+ }
+
+ return ReturnDto<PageList<dynamic>>.QuickReturn(_pglist,
+ ReturnCode.Success, "璇诲彇鎴愬姛");
+ }
+
+
+ /// <summary>
+ /// 鏍规嵁鐢ㄦ埛閫夋嫨鐨勯噰璐槑缁唃uid锛岃鍙栭渶瑕佷綔鍏ュ簱鍒拌揣鍗曠殑鏄庣粏
+ /// </summary>
+ /// <param name="query"></param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<List<dynamic>> SelectPbaToView(
+ JArray guidList)
+ {
+ var intArray = guidList.ToObject<string[]>();
+ var sbLine = new StringBuilder();
+ foreach (var str in intArray)
+ {
+ if (sbLine.Length > 0)
+ sbLine.Append(",");
+ sbLine.Append(str);
+ }
+
+ var lst = new List<dynamic>();
+ var dset = new DataSet();
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd =
+ new SqlCommand("[prc_item_tbl_select_to_grid]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@inP1", sbLine.ToString())
+ };
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ using (var dt = new SqlDataAdapter(cmd))
+ {
+ dt.Fill(dset, "0");
+ }
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Debug(ToString(),
+ "prc_item_tbl_select_to_grid error锛�" + ex.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+
+ if (dset != null && dset.Tables.Count > 0 &&
+ dset.Tables[0].Rows.Count > 0) //鏈夋暟鎹�
+ lst = dset.Tables[0].TableToDynamicList();
+ return ReturnDto<List<dynamic>>.QuickReturn(lst, ReturnCode.Success,
+ "璇诲彇鎴愬姛锛�");
+ }
+
+
+ /// <summary>
+ /// 鍒犻櫎涓昏〃鎴栨槑缁�
+ /// </summary>
+ /// <param name="model"></param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<int?> DeleteModelOrMx([FromBody] dynamic model)
+ {
+ int? rtnInt = (int)ReturnCode.Default;
+ Guid? guid = model.guid; //鍒拌揣鍗曚富閿�
+ string mxGuid = model.mxGuid;
+ var _outMsg = "";
+ var _outSum = -1;
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand("[prc_item_tbl_del]", conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@outMsg", SqlDbType.NVarChar, 300),
+ new("@outSum", SqlDbType.Int),
+ new("@inOrderGuid",
+ CheckGuid(guid)
+ ? guid
+ : DBNull.Value),
+ new("@inEdtUserGuid", _userGuid),
+ new("@inMxGuid", mxGuid)
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+
+ cmd.ExecuteNonQuery();
+ _outMsg = parameters[0].Value.ToString();
+ _outSum = int.Parse(parameters[1].Value.ToString());
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Debug(ToString(),
+ "prc_item_tbl_del error锛�" + ex.Message);
+ _outMsg = ex.Message;
+ _outSum = -1;
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+
+ if (_outSum <= 0)
+ return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Exception,
+ _outMsg);
+ return ReturnDto<int>.QuickReturn(rtnInt, ReturnCode.Success, _outMsg);
+ }
+
+
+ /// <summary>
+ /// 鎻愪氦妫�楠�
+ /// </summary>
+ /// <param name="mode"></param>
+ /// <returns></returns>
+ [RequestMethod(RequestMethods.POST)]
+ public ReturnDto<ExpandoObject> EditModelSubmit([FromBody] dynamic mode)
+ {
+ string _guid = mode.guid;
+ string _inFieldValue = mode.inFieldValue;
+ string _chkOut = mode.chkOut;
+ string _proName = "prc_item_tbl_submit";
+ dynamic m = new ExpandoObject();
+ m.outSum = -1;
+ m.outMsg = "";
+ using (var conn = new SqlConnection(DbHelperSQL.strConn))
+ {
+ using (var cmd = new SqlCommand(_proName, conn))
+ {
+ try
+ {
+ conn.Open();
+ cmd.CommandType = CommandType.StoredProcedure;
+ SqlParameter[] parameters =
+ {
+ new("@outMsg", SqlDbType.NVarChar, 2500),
+ new("@outSum", SqlDbType.Int),
+ new("@inEdtUserGuid", _userGuid),
+ new("@inOrderGuid", _guid),
+ new("@inFieldValue", _inFieldValue),
+ new("@in1", _chkOut),
+ new("@in2", "")
+ };
+ parameters[0].Direction = ParameterDirection.Output;
+ parameters[1].Direction = ParameterDirection.Output;
+ foreach (var parameter in parameters)
+ cmd.Parameters.Add(parameter);
+ cmd.ExecuteNonQuery();
+ m.outMsg = parameters[0].Value.ToString();
+ m.outSum = int.Parse(parameters[1].Value.ToString());
+ }
+ catch (Exception ex)
+ {
+ LogHelper.Debug(ToString(),
+ "prc_item_tbl_submit error锛�" + ex.Message);
+ m.outMsg = ex.Message;
+ return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Default,
+ ex.Message);
+ }
+ finally
+ {
+ conn.Close();
+ }
+ }
+ }
+ return ReturnDto<dynamic>.QuickReturn(m, ReturnCode.Success, "鎿嶄綔鎴愬姛锛�");
+ }
+
+ }
+}
--
Gitblit v1.9.3