WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WebAPI/Controllers/生产管理/质量汇报单/Sc_QualityReportBillController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WebAPI/DLL/钉钉消息/Cls_DDMsg.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WebAPI/Web.config | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WebAPI/WebAPI.csproj | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
WebAPI/packages.config | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
WebAPI/Controllers/SCGL/Sc_MESTransFerWorkBillController.cs
@@ -1,4 +1,6 @@ using DBUtility; using DAL; using DBUtility; using DLL; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; @@ -7,8 +9,11 @@ using System.Linq; using System.Net; using System.Net.Http; using System.Timers; using System.Threading.Tasks; using System.Web.Http; using WebAPI.Models; using System.Threading; namespace WebAPI.Controllers.SCGL { @@ -43,7 +48,7 @@ /// <returns></returns> [Route("Sc_MESTransFerWorkBill/SaveGetMESTransFerWorkFrom")] [HttpPost] public object SaveGetMESTransFerWorkFrom([FromBody] JObject msg) public object SaveGetMESTransFerWorkFromAsync([FromBody] JObject msg) { var _value = msg["msg"].ToString(); @@ -198,6 +203,7 @@ } } } SaveOA_ErrMsgBackBillSub(msg2);//ç¬¬ä¸æ¬¡ä¿ååééé } else @@ -6590,5 +6596,57 @@ #endregion #endregion #region å¼å¸¸åé¦åä¿åå,å¾å表éé¢å»æå ¥æ°æ® public object SaveOA_ErrMsgBackBillSub(string msg2) { msg2 = "[" + msg2.ToString() + "]"; List<ClsOA_ErrMsgBackBillMain> mainList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsOA_ErrMsgBackBillMain>>(msg2); long HInterID = mainList[0].HInterID;//éå ¥typeå¾å°çåæ®ID string HReceiveMan = mainList[0].HReceiveMan;//æ¥æ¶äºº string HDescription = mainList[0].HDescription;//å 容 int HEntryID = 1; string sql = "insert into OA_ErrMsgBackBillSub2 values('" + HInterID + "','" + HEntryID + "','" + HReceiveMan + "','0')"; oCN.RunProcReturn(sql, "OA_ErrMsgBackBillSub2"); //ç´æ¥åéééæ¶æ¯ s FistDingDingMesAsync(HReceiveMan, HDescription); objJsonResult.code = "0"; objJsonResult.count = 0; objJsonResult.Message = "æå ¥æå,å¼å§æ§è¡å®æ¶ä»»å¡,ééåéæ¶æ¯"; objJsonResult.data = 1; return objJsonResult; } /// <summary> /// å¼å¸¸åé¦åç¬¬ä¸æ¬¡ä¿åçæ¶åè¿è¡åéæ¶æ¯ /// </summary> /// <param name="HReceiveMan"></param> /// <param name="HDescription"></param> public async void FistDingDingMesAsync(string HReceiveMan, string HDescription) { ds = oCN.RunProcReturn("select * from Gy_Czygl where Czymc='" + HReceiveMan + "'", "Gy_Czygl"); string DDUserID = ds.Tables[0].Rows[0]["DDUserID"].ToString(); //ééç¨æ·çid Cls_DDMsg msg = new Cls_DDMsg(); string appKey = "dingrsrzhdyn3mlaof95"; string appSecret = "RAqH6YtZnPLCpDbuqfaYQkKkVtVdS0wqfC8I26X6qiS-8eoCJCNrzx3fubGND4Sq"; //è·åä¼ä¸çaccess_tokençå¼ string response = msg.GetAccessToken(appKey, appSecret); JObject responseJson = JObject.Parse(response); // è·åaccess_tokençå¼ string accessToken = responseJson["accessToken"].ToString(); //è°ç¨æ¹æ³åéæ¶æ¯ string agentId = "3118119317"; //ä¼ä¸å é¨å°ç¨åºid string deptIdList = "0"; // 空åç¬¦ä¸²è¡¨ç¤ºä¸æå®é¨é¨ string toAllUser = "false"; string message = HDescription;//å¼å¸¸åé¦åçå 容 response = await msg.SendTextMessage(accessToken, agentId, DDUserID, deptIdList, toAllUser, message); Console.WriteLine($"åå§æ¶æ¯åéç»æ: {response}"); } #endregion } } WebAPI/Controllers/Éú²ú¹ÜÀí/ÖÊÁ¿»ã±¨µ¥/Sc_QualityReportBillController.cs
@@ -631,7 +631,7 @@ #region æäº¤ä¿åï¼å主å表åæç»è¡¨ [Route("Sc_QualityReportBill/set_SaveBill")] [HttpGet] public object set_SaveBill(long HInterID,string HBillNo, string HChecker) public object set_SaveBill(long HInterID,string HBillNo, string HChecker,string HBadReasonHQty) { try { @@ -659,7 +659,7 @@ } //========================================================= //ä¿å oCN.RunProc("exec h_p_save_Sc_QualityReportBill " + HInterID); oCN.RunProc("exec h_p_save_Sc_QualityReportBill " + HInterID+",'"+ HBadReasonHQty +"'"); //夿æ¯å¦å 许ä¿åï¼ä¸å 许ååæ» ds = oCN.RunProcReturn("exec h_p_JIT_ICMOBillQualityStatus_SaveCtrl", "h_p_JIT_ICMOBillQualityStatus_SaveCtrl"); if (ClsPub.isStrNull(ds.Tables[0].Rows[0]["HBack"]) == "2") @@ -1613,5 +1613,63 @@ } } #endregion #region çäº§è´¨éæ¥æ±æ¥åå表 æ¥è¯¢ [Route("Sc_QualityReportBill/getSc_QualityReportBillDay")] [HttpGet] public object getSc_QualityReportBillDay(string sWhere, string user) { try { List<object> columnNameList = new List<object>(); //æ¥çæé if (!DBUtility.ClsPub.Security_Log("Sc_QualityReportBill_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 h_v_Sc_StationOutBillMainList order by åæ®å· desc", "h_v_Sc_StationOutBillMainList"); } else { string sql1 = "select * from h_v_Sc_StationOutBillMainList where 1 = 1 "; string sql = sql1 + sWhere + " order by åæ®å· desc"; ds = oCN.RunProcReturn(sql, "h_v_Sc_StationOutBillMainList"); } //æ·»å åå 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));//è·åå°DataColumnå对象çåå } 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 } } WebAPI/DLL/¶¤¶¤ÏûÏ¢/Cls_DDMsg.cs
New file @@ -0,0 +1,75 @@ using System; using System.IO; using System.Net; using System.Net.Http; using System.Text; using System.Threading.Tasks; namespace DLL { public class Cls_DDMsg { private HttpClient _client; private string _baseUrl; //è·åä¼ä¸çaccessToken public string GetAccessToken(string appKey, string appSecret) { string url = "https://api.dingtalk.com/v1.0/oauth2/accessToken"; string postData = "{\"appKey\":\"" + appKey + "\", \"appSecret\":\"" + appSecret + "\"}"; byte[] byteArray = Encoding.UTF8.GetBytes(postData); WebRequest request = WebRequest.Create(url); request.Method = "POST"; request.ContentType = "application/json"; request.ContentLength = byteArray.Length; using (Stream dataStream = request.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); } using (WebResponse response = request.GetResponse()) using (Stream responseStream = response.GetResponseStream()) using (StreamReader reader = new StreamReader(responseStream)) { string responseString = reader.ReadToEnd(); return responseString; } } //åéå·¥ä½éç¥ public async Task<string> SendTextMessage(string accessToken, string agentId, string userIdList, string deptIdList, string toAllUser, string message) { try { _client = new HttpClient(); _baseUrl = "https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2"; string url = $"{_baseUrl}?access_token={accessToken}"; DateTimeOffset now = DateTimeOffset.Now; string currentTime = now.ToString("yyyy-MM-dd HH:mm:ss"); string messageWithTimestamp = $"{currentTime}-{message}"; // 卿¶æ¯å 容ä¹åæ·»å æ¶é´æ³ string messageJson = $"{{\"msgtype\": \"text\", \"text\": {{ \"content\": \"{messageWithTimestamp}\" }} }}"; string requestBody = $"agent_id={agentId}&userid_list={userIdList}&dept_id_list={deptIdList}&to_all_user={toAllUser}&msg={messageJson}"; HttpResponseMessage response = await _client.PostAsync(url, new StringContent(requestBody, Encoding.UTF8, "application/x-www-form-urlencoded")); if (response.IsSuccessStatusCode) { return await response.Content.ReadAsStringAsync(); } else { return $"Failed to send message. Status code: {response.StatusCode}"; } } catch (Exception ex) { return "An error occurred: " + ex.Message; } } } } WebAPI/Web.config
@@ -67,7 +67,7 @@ </dependentAssembly> <dependentAssembly> <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /> <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> <bindingRedirect oldVersion="0.0.0.0-13.0.0.0" newVersion="13.0.0.0" /> </dependentAssembly> <dependentAssembly> <assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" /> @@ -106,9 +106,7 @@ </basicHttpBinding> </bindings> <client> <endpoint address="http://61.130.182.102:18181/WEBSCS/WebService1.asmx" binding="basicHttpBinding" bindingConfiguration="WebService1Soap" contract="Webs1.WebService1Soap" name="WebService1Soap" /> <endpoint address="http://61.130.182.102:18181/WEBSCS/WebService1.asmx" binding="basicHttpBinding" bindingConfiguration="WebService1Soap" contract="Webs1.WebService1Soap" name="WebService1Soap" /> </client> </system.serviceModel> WebAPI/WebAPI.csproj
@@ -46,6 +46,33 @@ <Prefer32Bit>false</Prefer32Bit> </PropertyGroup> <ItemGroup> <Reference Include="AlibabaCloud.EndpointUtil, Version=0.1.1.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\AlibabaCloud.EndpointUtil.0.1.1\lib\net45\AlibabaCloud.EndpointUtil.dll</HintPath> </Reference> <Reference Include="AlibabaCloud.GatewayDingTalk, Version=1.0.2.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\AlibabaCloud.GatewayDingTalk.1.0.2\lib\net45\AlibabaCloud.GatewayDingTalk.dll</HintPath> </Reference> <Reference Include="AlibabaCloud.GatewaySpi, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\AlibabaCloud.GatewaySpi.0.0.2\lib\net45\AlibabaCloud.GatewaySpi.dll</HintPath> </Reference> <Reference Include="AlibabaCloud.OpenApiClient, Version=0.1.8.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\AlibabaCloud.OpenApiClient.0.1.9\lib\net45\AlibabaCloud.OpenApiClient.dll</HintPath> </Reference> <Reference Include="AlibabaCloud.OpenApiUtil, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\AlibabaCloud.OpenApiUtil.1.1.1\lib\net45\AlibabaCloud.OpenApiUtil.dll</HintPath> </Reference> <Reference Include="AlibabaCloud.SDK.Dingtalk, Version=0.0.1.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\AlibabaCloud.SDK.Dingtalk.2.1.24\lib\net45\AlibabaCloud.SDK.Dingtalk.dll</HintPath> </Reference> <Reference Include="AlibabaCloud.TeaUtil, Version=0.1.14.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\AlibabaCloud.TeaUtil.0.1.18\lib\net45\AlibabaCloud.TeaUtil.dll</HintPath> </Reference> <Reference Include="AlibabaCloud.TeaXML, Version=0.0.5.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\AlibabaCloud.TeaXML.0.0.5\lib\net45\AlibabaCloud.TeaXML.dll</HintPath> </Reference> <Reference Include="Aliyun.Credentials, Version=1.3.2.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Aliyun.Credentials.1.3.2\lib\net45\Aliyun.Credentials.dll</HintPath> </Reference> <Reference Include="Antlr3.Runtime, Version=3.4.1.9004, Culture=neutral, PublicKeyToken=eb42632606e9261f, processorArchitecture=MSIL"> <HintPath>..\packages\Antlr.3.4.1.9004\lib\Antlr3.Runtime.dll</HintPath> <Private>True</Private> @@ -80,9 +107,8 @@ <HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath> <Private>True</Private> </Reference> <Reference Include="Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <SpecificVersion>False</SpecificVersion> <HintPath>..\packages\Newtonsoft.Json.6.0.4\lib\net45\Newtonsoft.Json.dll</HintPath> <Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"> <HintPath>..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll</HintPath> </Reference> <Reference Include="NPOI, Version=2.5.5.0, Culture=neutral, PublicKeyToken=0df73ec7942b34e1, processorArchitecture=MSIL"> <HintPath>..\packages\NPOI.2.5.5\lib\net45\NPOI.dll</HintPath> @@ -119,15 +145,23 @@ <Reference Include="System.Net.Http"> <Private>True</Private> </Reference> <Reference Include="System.Net.Http.Extensions, Version=2.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Extensions.dll</HintPath> </Reference> <Reference Include="System.Net.Http.Formatting, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.AspNet.WebApi.Client.5.2.7\lib\net45\System.Net.Http.Formatting.dll</HintPath> </Reference> <Reference Include="System.Net.Http.Primitives, Version=4.2.29.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.Net.Http.2.2.29\lib\net45\System.Net.Http.Primitives.dll</HintPath> </Reference> <Reference Include="System.Net.Http.WebRequest" /> <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.2\lib\netstandard1.0\System.Runtime.CompilerServices.Unsafe.dll</HintPath> </Reference> <Reference Include="System.Runtime.Serialization"> <Private>True</Private> </Reference> <Reference Include="System.Security" /> <Reference Include="System.ServiceModel" /> <Reference Include="System.Web.Cors, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.AspNet.Cors.5.2.7\lib\net45\System.Web.Cors.dll</HintPath> @@ -212,6 +246,9 @@ </Reference> <Reference Include="System.Xml.Linq"> <Private>True</Private> </Reference> <Reference Include="Tea, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL"> <HintPath>..\packages\Tea.1.1.2\lib\net45\Tea.dll</HintPath> </Reference> <Reference Include="WebActivatorEx, Version=2.0.0.0, Culture=neutral, PublicKeyToken=7b26dc2a43f6a0d4, processorArchitecture=MSIL"> <HintPath>..\packages\WebActivatorEx.2.0.6\lib\net40\WebActivatorEx.dll</HintPath> @@ -731,6 +768,7 @@ <Compile Include="DLL\å·¥èµç®¡ç\ClsPay_GroupBalBill.cs" /> <Compile Include="DLL\å·¥èµç®¡ç\ClsGy_GroupEmpBill.cs" /> <Compile Include="DLL\å·¥èµç®¡ç\ClsPay_WorkTimesBill.cs" /> <Compile Include="DLL\ééæ¶æ¯\Cls_DDMsg.cs" /> <Compile Include="HttpClient.cs" /> <Compile Include="InvokeHelper.cs" /> <Compile Include="Log.cs" /> @@ -1230,6 +1268,11 @@ </PropertyGroup> <Error Condition="!Exists('..\packages\Grpc.Core.2.45.0\build\net45\Grpc.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Grpc.Core.2.45.0\build\net45\Grpc.Core.targets'))" /> </Target> <Import Project="..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets" Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" /> <Target Name="EnsureBclBuildImported" BeforeTargets="BeforeBuild" Condition="'$(BclBuildImported)' == ''"> <Error Condition="!Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=317567." HelpKeyword="BCLBUILD2001" /> <Error Condition="Exists('..\packages\Microsoft.Bcl.Build.1.0.14\tools\Microsoft.Bcl.Build.targets')" Text="The build restored NuGet packages. Build the project again to include these packages in the build. For more information, see http://go.microsoft.com/fwlink/?LinkID=317568." HelpKeyword="BCLBUILD2002" /> </Target> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> WebAPI/packages.config
@@ -1,5 +1,14 @@ <?xml version="1.0" encoding="utf-8"?> <packages> <package id="AlibabaCloud.EndpointUtil" version="0.1.1" targetFramework="net45" /> <package id="AlibabaCloud.GatewayDingTalk" version="1.0.2" targetFramework="net45" /> <package id="AlibabaCloud.GatewaySpi" version="0.0.2" targetFramework="net45" /> <package id="AlibabaCloud.OpenApiClient" version="0.1.9" targetFramework="net45" /> <package id="AlibabaCloud.OpenApiUtil" version="1.1.1" targetFramework="net45" /> <package id="AlibabaCloud.SDK.Dingtalk" version="2.1.24" targetFramework="net45" /> <package id="AlibabaCloud.TeaUtil" version="0.1.18" targetFramework="net45" /> <package id="AlibabaCloud.TeaXML" version="0.0.5" targetFramework="net45" /> <package id="Aliyun.Credentials" version="1.3.2" targetFramework="net45" /> <package id="Antlr" version="3.4.1.9004" targetFramework="net45" /> <package id="bootstrap" version="3.0.0" targetFramework="net45" /> <package id="Dapper" version="1.50.2" targetFramework="net45" /> @@ -21,10 +30,13 @@ <package id="Microsoft.AspNet.WebApi.WebHost.zh-Hans" version="5.2.3" targetFramework="net45" /> <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net45" /> <package id="Microsoft.Azure.AppService.ApiApps.Service" version="0.9.16" targetFramework="net45" /> <package id="Microsoft.Bcl" version="1.1.10" targetFramework="net45" /> <package id="Microsoft.Bcl.Build" version="1.0.14" targetFramework="net45" /> <package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net45" /> <package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net45" /> <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" /> <package id="Modernizr" version="2.6.2" targetFramework="net45" /> <package id="Newtonsoft.Json" version="6.0.4" targetFramework="net45" /> <package id="Newtonsoft.Json" version="13.0.3" targetFramework="net45" /> <package id="NPOI" version="2.5.5" targetFramework="net45" /> <package id="Portable.BouncyCastle" version="1.8.9" targetFramework="net45" /> <package id="RestSharp" version="104.0" targetFramework="net45" /> @@ -35,6 +47,7 @@ <package id="System.IdentityModel.Tokens.Jwt" version="4.0.0" targetFramework="net45" /> <package id="System.Memory" version="4.5.3" targetFramework="net45" /> <package id="System.Runtime.CompilerServices.Unsafe" version="4.5.2" targetFramework="net45" /> <package id="Tea" version="1.1.2" targetFramework="net45" /> <package id="WebActivatorEx" version="2.0.6" targetFramework="net45" /> <package id="WebGrease" version="1.5.2" targetFramework="net45" /> </packages>