智云SRM-WEBAPI(目前客户通用API)
yusijie
2024-09-12 c05f1964fc49bebb9ea64e189400337f8d4f0c42
WebAPI/Controllers/POOrderController.cs
@@ -1,4 +1,5 @@
using DBUtility;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using SQLHelper;
using System;
@@ -18,7 +19,7 @@
    {
        private JsonResult objJsonResult = new JsonResult();
        private json objjson = new json();
        SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM();
        SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
        /// <summary>
        /// 采购单列表
@@ -28,61 +29,52 @@
        /// <param name="OnePage"></param>
        /// <returns></returns>
        [Route("GetPOOrderBill")]
        [HttpGet]
        [HttpPost]
        //采购订单列表
        public object GetPOOrderBill(string HSupNo, string sqlWhere)
        public object GetPOOrderBill([FromBody] JObject msg)
        {
            string msg = "";
            string HSupNo = msg["HSupNo"].ToString(); string sqlWhere = msg["sqlWhere"].ToString();
            //string msg = "";
            try
            {
                string VsWhere = "";
                string PcWhere = "";
                SQLHelper.ClsCNSRM oCn = new SQLHelper.ClsCNSRM();
                SQLHelper.ClsCN oCn = new SQLHelper.ClsCN();
                DataSet ds;
                //其他过滤
                if (msg.Trim() == "")
                {
                    msg = " Where hsupid in (select HSupID from h_v_Gy_UserSupplierList where 用户 = ^^" + HSupNo.Trim() + "^^) " + sqlWhere;
                    // msg = " Where   hsupid in (select hsupid from Gy_UserSupplierRelation where HUserID=^^" + System.Web.HttpContext.Current.Session["HUserName"].ToString() + "^^)";
                }
                else
                {
                    msg += " and hsupid in (select HSupID from h_v_Gy_UserSupplierList where 用户 =^^" + HSupNo.Trim() + "^^) " + sqlWhere;
                    //msg = msg + " and   hsupid in (select HItemID from h_v_IF_Supplier where hnumber=^^" + HSupNo.Trim() + "^^) " + sqlWhere;
                    // msg = msg + " Where   hsupid in (select hsupid from Gy_UserSupplierRelation where HUserID=^^" + System.Web.HttpContext.Current.Session["HUserName"].ToString() + "^^)";
                }
                string sql = " Where hsupid in (select HSupID from h_v_Gy_UserSupplierList where 用户 = ^^" + HSupNo.Trim() + "^^) " + sqlWhere;
                //转换特殊字符
                if (Common.SQLtoChange(msg, ref VsWhere, ref PcWhere) == false)
                if (Common.SQLtoChange(sql, ref VsWhere, ref PcWhere) == false)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "获取失败";
                    objjson.Message = "转换特殊字符失败";
                    objjson.data = null;
                    return objjson;
                }
                //获取总行数
                //Int64 RowTotal = Common.GetRowTotal("H_v_SRM_POOrderBillList", VsWhere, ref DBUtility.ClsPub.sExeReturnInfo);
                //获取返回数据
                string sql = "exec H_p_SRM_POOrderBillList '" + PcWhere + "'";
                LogService.WriteAsync(sql);
                //sql = "exec H_P_REALESEPOORDER";
                //sql = "exec H_P_REALESEPOORDER";
                //oCn.RunProc(sql);
                sql = "exec H_p_SRM_POOrderBillList '" + PcWhere + "'";
                //LogService.WriteAsync(sql);
                ds = oCn.RunProcReturn("exec H_p_SRM_POOrderBillList '" + PcWhere + "'", "H_p_SRM_POOrderBillList");
                if (ds == null || ds.Tables[0].Rows.Count == 0)
                //添加列名
                List<object> columnNameList = new List<object>();
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    objjson.code = "0";
                    objjson.count = 0;
                    objjson.Message = "无数据";
                    objjson.data = null;
                    return objjson;
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                else
                {
                    objjson.code = "0";
                    objjson.count = 10000;
                    objjson.Message = "获取成功";
                    objjson.data = ds.Tables[0];
                    return objjson;
                }
                objjson.code = "0";
                objjson.count = 10000;
                objjson.Message = "获取成功";
                objjson.data = ds.Tables[0];
                objjson.list = columnNameList;
                return objjson;
            }
            catch (Exception e)
            {
@@ -195,21 +187,26 @@
                return objjson;
            }
        }
        [Route("POOrderAccept")]
        [HttpGet]
        [HttpPost]
        /// <summary>
        /// 订单接受
        /// </summary>
        /// <param name="HInterID"></param>
        /// <returns></returns>
        public object POOrderAccept(string HInterID, string HBillNo, string HUser)
        public object POOrderAccept([FromBody] JObject oData)
        {
            var _value = oData["oData"].ToString();
            string msg1 = _value.ToString();
            string[] sArray = msg1.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);
            string HInter = sArray[0].ToString();
            string HInterID = HInter.Replace("\"", ""); //内码
            string HBillNo = sArray[1].ToString().Replace("\"", "");
            string HUser = sArray[2].ToString(); //用户名
            try
            {
                if (DBUtility.ClsPub.isLong(HInterID) == 0)
                if (DBUtility.ClsPub.isStrNull(HInterID) == "")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
@@ -217,6 +214,7 @@
                    objJsonResult.data = null;
                    return objJsonResult;
                }
                DAL.ClsCg_POOrderBill oBill = new DAL.ClsCg_POOrderBill();
                oBill.WebAccept(DBUtility.ClsPub.isLong(HInterID), DBUtility.ClsPub.isStrNull(HBillNo), DBUtility.ClsPub.isStrNull(HUser), ref DBUtility.ClsPub.sExeReturnInfo);
                objJsonResult.code = "0";
@@ -308,5 +306,51 @@
                return objJsonResult;
            }
        }
        [Route("Cg_Poorder/UpdateSupSendGoodsDateRemark")]
        [HttpGet]
        /// <summary>
        /// 更新回复交期 -- 凯贝奈特
        /// </summary>
        /// <param name=""></param>
        /// <returns></returns>
        public object UpdateSupSendGoodsDateRemark(string HInterID, string HEntryID,string HSupSendGoodsDateRemark)
        {
            try
            {
                if (HInterID == null || HInterID == "" || HInterID == "undefined" || HEntryID == null || HEntryID == "" || HEntryID == "undefined")
                {
                    objJsonResult.code = "0";
                    objJsonResult.count = 0;
                    objJsonResult.Message = "操作失败!主内码或子内码为空";
                    objJsonResult.data = 1;
                    return objJsonResult;
                }
                string sql = "";
                sql = "update Cg_POOrderBillSub set HSupSendGoodsDateRemark = '" + HSupSendGoodsDateRemark + "' where HInterID = " + HInterID + " and HEntryID = " + HEntryID;
                oCn.RunProc(sql);
                //凯贝奈特
                sql = "update AIS20210820164804..T_PUR_POORDERENTRY set F_aaaa_gysjqhf = '" + HSupSendGoodsDateRemark + "' where FID = " + HInterID + " and FENTRYID = " + HEntryID;
                oCn.RunProc(sql);
                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 = null;
                return objJsonResult;
            }
        }
    }
}