项目穿透控制器,修复接口签名post请求问题,增加自动登录信号接口
7个文件已修改
2个文件已添加
353 ■■■■■ 已修改文件
Model/Model.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/基础资料/基础资料/ClsPM_ProjectCommunicationBillMain_Model.cs 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/BaseSet/Gy_SampleSchemeController.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/PM_ProjectCommunicationBillListController.cs 243 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/WebAPIController.cs 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Controllers/基础资料/基础资料/Cb_OtherOutBill_CostSubjectDetailController.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Service/SignatureVerifyAttribute.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/Web.config 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebAPI/WebAPI.csproj 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Model/Model.csproj
@@ -121,6 +121,7 @@
    <Compile Include="基础资料\基础资料\ClsGy_OperatorGroup.cs" />
    <Compile Include="基础资料\基础资料\ClsGy_SampleSchemeSub_Model.cs" />
    <Compile Include="基础资料\基础资料\ClsGy_SampleScheme_Model.cs" />
    <Compile Include="基础资料\基础资料\ClsPM_ProjectCommunicationBillMain_Model.cs" />
    <Compile Include="基础资料\基础资料\ClsSc_PackUnionBillBarCode_temp_Model.cs" />
    <Compile Include="基础资料\基础资料\ClsGy_PatrolCheckItemClass_Model.cs" />
    <Compile Include="仓库管理\ClsKf_WorkShopICStockBillMain.cs" />
Model/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/ClsPM_ProjectCommunicationBillMain_Model.cs
New file
@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Model
{
    public class ClsPM_ProjectCommunicationBillMain_Model :DBUtility.ClsXt_BaseBillMain
    {
        public int HProjectID { get; set; }
        public string HProNumber { get; set; }
        public string HProName { get; set; }
        public int HCusID { get; set; }
        public int HPMEmpID { get; set; }
        public int HWorkEmpID { get; set; }
        public int HReportEmpID { get; set; }
        public string HProRisk { get; set; }
        public string HProProgramme { get; set; }
        public string HProSituation { get; set; }
        public int HPrintQty { get; set; }
    }
}
WebAPI/Controllers/BaseSet/Gy_SampleSchemeController.cs
@@ -12,6 +12,7 @@
using System.Web;
using WebAPI.Controllers.SCGL.日计划管理;
using System.IO;
using WebAPI.Service;
namespace WebAPI.Controllers.BaseSet
{
@@ -72,6 +73,7 @@
        /// <summary>
        /// ä¿å­˜æŒ‰é’®
        /// </summary>
        [RequireSignature]
        [Route("Gy_SampleScheme/ModifyByID")]
        [HttpPost]
        public object ModifyByID([FromBody] JObject oMain)
WebAPI/Controllers/PM_ProjectCommunicationBillListController.cs
New file
@@ -0,0 +1,243 @@
using Model;
using Newtonsoft.Json.Linq;
using Pub_Class;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Web.Http;
using WebAPI.Models;
using Newtonsoft.Json;
using System.Web;
using WebAPI.Controllers.SCGL.日计划管理;
using System.IO;
namespace WebAPI.Controllers
{
    public class PM_ProjectCommunicationBillListController : ApiController
    {
        private json objJsonResult = new json();
        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        DataSet ds;
        [Route("PM_ProjectCommunicationBillList/list")]
        [HttpGet]
        public object list(string sWhere, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                //查看权限
                if (!DBUtility.ClsPub.Security_Log("Gy_SampleScheme_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无查看权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                ds = oCN.RunProcReturn("select * from h_v_PM_ProjectCommunicationBillMain where 1 = 1 " + sWhere, "h_v_PM_ProjectCommunicationBillMain");
                //添加列名
                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;
            }
        }
        [Route("PM_ProjectCommunicationBillList/getOriginalBill")]
        [HttpGet]
        public object getOriginalBill(string InterID, string EntryID)
        {
            try
            {
                DataSet ds;
                string sql = $"select * from h_v_PM_ProjectBillList where HInterID ={InterID} and HEntryID={EntryID}";
                ds = oCN.RunProcReturn(sql, "h_v_PM_ProjectBillList");
                if (ds != null && ds.Tables.Count > 0)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "fail!";
                    objJsonResult.data = "";
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "fail!" + e.ToString();
                objJsonResult.data = "";
                return objJsonResult;
            }
        }
        [Route("PM_ProjectCommunicationBillList/Saver")]
        [HttpPost]
        public object Saver([FromBody] JObject oMain)
        {
            try
            {
                var _value = oMain["oMain"].ToString();
                string msg1 = _value.ToString();
                string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
                string msg2 = sArray[0].ToString();
                string refSav = sArray[1].ToString();
                string msg4 = sArray[2].ToString();
                //判断权限
                if (!ClsPub.Security_Log("Gy_SampleScheme_Edit", 1, false, msg4))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "无保存权限!";
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                //反序列化
                msg2 = "[" + msg2.ToString() + "]";
                List<ClsPM_ProjectCommunicationBillMain_Model> list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<ClsPM_ProjectCommunicationBillMain_Model>>(msg2);
                string UserName = list[0].HMaker;  //制单人
                list[0].HBillType = "4764";
                list[0].HBillSubType = "4764";
                //oItem.HYear = DBUtility.ClsPub.isLong(DateTime.Now.Year);
                list[0].HPeriod = DBUtility.ClsPub.isLong(DateTime.Now.Month);
                list[0].HMakeDate = DBUtility.ClsPub.isStrNull(DateTime.Now.ToString("yyyy-MM-dd"));
                if (DBUtility.ClsPub.isStrNull(list[0].HDate) == "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "保存失败!没有单据日期,无法保存!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                //保存完毕后处理
                if (refSav == "1")
                {
                    //单据号是否重复
                    string sql = $@"
                INSERT INTO [PM_ProjectCommunicationBillMain] (
                    [HYear], [HPeriod], [HBillType], [HBillSubType], [HInterID], [HDate], [HBillNo],
                    [HBillStatus], [HCheckItemNowID], [HCheckItemNextID], [HCheckFlowID],
                    [HRemark], [HBacker], [HBackDate], [HBackRemark], [HChecker], [HCheckDate],
                    [HMaker], [HMakeDate], [HUpDater], [HUpDateDate], [HCloseMan], [HCloseDate], [HCloseType],
                    [HDeleteMan], [HDeleteDate], [HMainSourceBillType], [HMainSourceInterID], [HMainSourceEntryID],
                    [HMainSourceBillNo], [HPrintQty], [HProjectID], [HProNumber], [HProName],
                    [HCusID], [HPMEmpID], [HWorkEmpID], [HProSituation], [HProRisk], [HProProgramme],
                    [HReportEmpID], [HOrgID]
                )
                VALUES ({DateTime.Now.Year}, {DateTime.Now.Month},  '{list[0].HBillType}',  '{list[0].HBillSubType}', {list[0].HInterID},  '{list[0].HDate}',  '{list[0].HBillNo}',  1, 0,  0, 0, '{list[0].HRemark ?? ""}',  '{list[0].HBacker ?? ""}',  '{(list[0].HBackDate)}',  '{list[0].HBackRemark ?? ""}', '{list[0].HChecker ?? ""}',  '{(list[0].HCheckDate)}',  '{list[0].HMaker ?? ""}',  '{(list[0].HMakeDate)}',  '{list[0].HUpDater ?? ""}',  '{(list[0].HUpDateDate)}',  '{list[0].HCloseMan ?? ""}',  '{(list[0].HCloseDate)}',  '{list[0].HCloseType }',  '{list[0].HDeleteMan ?? ""}',  '{(list[0].HDeleteDate)}',  '{list[0].HMainSourceBillType ?? ""}',  '{list[0].HMainSourceInterID}',  '{list[0].HMainSourceEntryID}',  '{list[0].HMainSourceBillNo ?? ""}',  '{list[0].HPrintQty}',   {list[0].HProjectID },  '{list[0].HProNumber ?? ""}',  '{list[0].HProName ?? ""}',  {list[0].HCusID },  {list[0].HPMEmpID }, {list[0].HWorkEmpID }, '{list[0].HProSituation ?? ""}', '{list[0].HProRisk ?? ""}', '{list[0].HProProgramme ?? ""}', {list[0].HReportEmpID}, {100038} );";
                    oCN.RunProc(sql);
                    objJsonResult.code = "0";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "保存成功!";
                    objJsonResult.data = 1;
                    return objJsonResult;
                    //==================================================================================
                }
                else
                {
                    //若MAINDI重复则重新获取
                    oCN.BeginTran();
                    //主表
                    oCN.RunProc("Update PM_ProjectCommunicationBillMain" + " set " +
                    " HProSituation='" + list[0].HProSituation + "'" +
                    ",HProRisk='" + list[0].HProRisk + "'" +
                    ",HProProgramme='" + list[0].HProProgramme + "'" +
                    ",HReportEmpID=" + list[0].HReportEmpID +
                    " Where HInterID=" + list[0].HInterID, ref DBUtility.ClsPub.sExeReturnInfo);
                }
                objJsonResult.code = "0";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
            {
                //oCN.RollBack();
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.Message;
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        [Route("PM_ProjectCommunicationBillList/getBill")]
        [HttpGet]
        public object getBill(string InterID)
        {
            try
            {
                DataSet ds;
                string sql = $"select * from h_v_PM_ProjectCommunicationBillMain where HInterID ={InterID}";
                ds = oCN.RunProcReturn(sql, "h_v_PM_ProjectCommunicationBillMain");
                if (ds != null && ds.Tables.Count > 0)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "Sucess!";
                    objJsonResult.data = ds.Tables[0];
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "fail!";
                    objJsonResult.data = "";
                    return objJsonResult;
                }
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "fail!" + e.ToString();
                objJsonResult.data = "";
                return objJsonResult;
            }
        }
    }
}
WebAPI/Controllers/WebAPIController.cs
@@ -24080,5 +24080,48 @@
                return objJsonResult;
            }
        }
        [HttpGet]
        [Route("Web/getSysParameter")]
        public object getSysParameter(string HClientID)
        {
            var HValue = oSystemParameter.GetSingleSystemParameter("uni-app_savelogin", ref DBUtility.ClsPub.sExeReturnInfo);
            if (HValue == "3" && HClientID != null)
            {
                DataSet ds = oCN.RunProcReturn("select * from Gy_UserClientIdRelation where HClientID= '" + HClientID + "'", "Gy_UserClientIdRelation");
                if (ds != null && ds.Tables.Count > 0)
                {
                    objJsonResult.code = "1";
                    objJsonResult.count = 1;
                    objJsonResult.Message = "根据设备自动登录";
                    objJsonResult.data = HValue;
                    return objJsonResult;
                }
                else
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "系统参数不存在,请联系管理";
                    objJsonResult.data = 0;
                    return objJsonResult;
                }
            }
            else if (HValue == "2" || HValue == "1")
            {
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功";
                objJsonResult.data = HValue;
                return objJsonResult;
            }
            else
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "系统参数不存在,请联系管理";
                objJsonResult.data = 0;
                return objJsonResult;
            }
        }
    }
}
WebAPI/Controllers/»ù´¡×ÊÁÏ/»ù´¡×ÊÁÏ/Cb_OtherOutBill_CostSubjectDetailController.cs
@@ -32,7 +32,7 @@
            {
                List<object> columnNameList = new List<object>();
                //判断是否有查询权限
                if (!DBUtility.ClsPub.Security_Log("Gy_CostAverageType_Query", 1, false, user))
                if (!DBUtility.ClsPub.Security_Log("Cb_OtherOutBill_CostSubjectDetail_Query", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -371,7 +371,7 @@
            try
            {
                //删除权限
                if (!DBUtility.ClsPub.Security_Log("Gy_CostAverageType_Drop", 1, false, user))
                if (!DBUtility.ClsPub.Security_Log("Cb_OtherOutBill_CostSubjectDetail_Delete", 1, false, user))
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
WebAPI/Service/SignatureVerifyAttribute.cs
@@ -74,17 +74,33 @@
            }
            else
            {
                var originalContentType = actionContext.Request.Content.Headers.ContentType;
                var bodyBytes = await actionContext.Request.Content.ReadAsByteArrayAsync();
                rawData = Encoding.UTF8.GetString(bodyBytes);
                actionContext.Request.Content = new ByteArrayContent(bodyBytes);
                if (actionContext.Request.Content.Headers.ContentType != null)
                if (originalContentType != null)
                {
                    actionContext.Request.Content.Headers.ContentType =
                        new System.Net.Http.Headers.MediaTypeHeaderValue(
                            actionContext.Request.Content.Headers.ContentType.MediaType);
                    actionContext.Request.Content.Headers.ContentType = originalContentType;
                }
            }
            //else
            //{
            //    var bodyBytes = await actionContext.Request.Content.ReadAsByteArrayAsync();
            //    rawData = Encoding.UTF8.GetString(bodyBytes);
            //    actionContext.Request.Content = new ByteArrayContent(bodyBytes);
            //    if (actionContext.Request.Content.Headers.ContentType != null)
            //    {
            //        actionContext.Request.Content.Headers.ContentType =
            //            new System.Net.Http.Headers.MediaTypeHeaderValue(
            //                actionContext.Request.Content.Headers.ContentType.MediaType);
            //    }
            //}
            rawData = rawData.Replace("'", "%27");
            var signStr = rawData + "&timestamp=" + timestamp + "&nonce=" + nonce + "&key=" + SecretKey;
            var serverSign = ComputeHmacSha256(signStr, SecretKey);
WebAPI/Web.config
@@ -142,15 +142,15 @@
            </basicHttpBinding>
        </bindings>
        <client>
            <!-- <endpoint address="http://47.96.97.237/WEBS-WMS/WebService1.asmx" binding="basicHttpBinding" bindingConfiguration="WebService1Soap" contract="Webs1.WebService1Soap" name="WebService1Soap" /> -->
            <endpoint address="http://localhost:81/MESWMS-WEBS/webservice1.asmx" binding="basicHttpBinding" bindingConfiguration="WebService1Soap" contract="Webs1.WebService1Soap" name="WebService1Soap" />
             <endpoint address="http://47.96.97.237/WEBS-WMS/WebService1.asmx" binding="basicHttpBinding" bindingConfiguration="WebService1Soap" contract="Webs1.WebService1Soap" name="WebService1Soap" />
            <!--<endpoint address="http://localhost:81/MESWMS-WEBS/webservice1.asmx" binding="basicHttpBinding" bindingConfiguration="WebService1Soap" contract="Webs1.WebService1Soap" name="WebService1Soap" />-->
        </client>
    </system.serviceModel>
 <applicationSettings>
  <WebAPI.Properties.Settings>
   <setting name="WebAPI_WebS_WebService1" serializeAs="String">
    <!-- <value>http://47.96.97.237/WEBS-WMS/WebService1.asmx</value> -->
    <value>http://localhost:81/MESWMS-WEBS/webservice1.asmx</value>
     <value>http://47.96.97.237/WEBS-WMS/WebService1.asmx</value>
    <!--<value>http://localhost:81/MESWMS-WEBS/webservice1.asmx</value>-->
   </setting>
  </WebAPI.Properties.Settings>
 </applicationSettings>
WebAPI/WebAPI.csproj
@@ -514,6 +514,7 @@
    <Compile Include="Controllers\MJGL\Sc_MouldInRequestBillController.cs" />
    <Compile Include="Controllers\MJGL\Sc_MouldMoveStockRequestBillController.cs" />
    <Compile Include="Controllers\MJGL\Gy_MaterialPackingRelationController.cs" />
    <Compile Include="Controllers\PM_ProjectCommunicationBillListController.cs" />
    <Compile Include="Controllers\QC_InStockCheckBillController.cs" />
    <Compile Include="Controllers\SBGL\SBBB\Sb_EquipMentReportController.cs" />
    <Compile Include="Controllers\SBGL\Sb_EquipPatrolCheckRuleBillController.cs" />
@@ -1388,6 +1389,7 @@
    <Folder Include="Views\Mes_OrderProcFlowAllReport\" />
    <Folder Include="Views\MoveStockBill\" />
    <Folder Include="Views\Pay_Report\" />
    <Folder Include="Views\PM_ProjectCommunicationBillList\" />
    <Folder Include="Views\ProductionPlanReport\" />
    <Folder Include="Views\ProductionReturnBill\" />
    <Folder Include="Views\QC_Management\" />