王 垚
2020-12-08 20720f693791f2cbbfd432d31e3bde3f0ca7a07c
解锁操作
1个文件已添加
4个文件已修改
341 ■■■■ 已修改文件
src/BLL/Demo.BillView/Config/kdapi.config 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/Demo.BillView.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/LogService.cs 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs 239 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/BLL/Demo.BillView/Config/kdapi.config
@@ -4,6 +4,6 @@
        <add key="DbId" value="5f9258a311401c"></add>
    <add key="UserName" value="Administrator"></add>
        <add key="PassWord" value="888888"></add>
        <add key="KDApiUrl" value="http://localhost/K3Cloud/"></add>
        <add key="KDApiUrl" value="http://erp-windows002/K3Cloud/"></add>
    </appSettings>
</configuration>
src/BLL/Demo.BillView/Demo.BillView.csproj
@@ -194,6 +194,7 @@
    </Reference>
  </ItemGroup>
  <ItemGroup>
    <Compile Include="PRD\LogService.cs" />
    <Compile Include="PRD\PODemandPlanListLoad.cs" />
    <Compile Include="PRD\ProCompleteAnalysisMateriel.cs" />
    <Compile Include="PRD\ProCompleteAnalysisDetails.cs" />
src/BLL/Demo.BillView/PRD/LogService.cs
New file
@@ -0,0 +1,73 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Demo.BillView.PRD
{
    public class LogService
    {
        private static readonly object lockObj = new object();
        public static void WriteAsync(object obj, string filePath = "Vlog", bool isAppend = true)
        {
            Task.Run(() =>
            {
                Write(obj, filePath, isAppend);
            });
        }
        public static void WriteAsync<T>(object obj, string filePath = "Vlog", bool isAppend = true)
        {
            Task.Run(() =>
            {
                Write(obj, $@"{filePath}\{typeof(T).Name}", isAppend);
            });
        }
        #region 日志
        public static void Write(object obj, string filePath = "Vlog", bool isAppend = true)
        {
            try
            {
                lock (lockObj)
                {
                    filePath = $@"{filePath}\webapi{DateTime.Now.ToString("yyyyMMdd")}.txt";
                    filePath = AppDomain.CurrentDomain.BaseDirectory + filePath;
                    if (!System.IO.Directory.Exists(Path.GetDirectoryName(filePath)))
                    {
                        System.IO.Directory.CreateDirectory(Path.GetDirectoryName(filePath));
                    }
                    bool fileExists = System.IO.File.Exists(filePath);
                    //不存在 则创建该文件
                    if (!fileExists)
                    {
                        System.IO.File.Create(filePath).Close();
                    }
                    using (StreamWriter writer = new StreamWriter(filePath, isAppend))
                    {
                        //存在的时候才写一行
                        if (fileExists && isAppend)
                        {
                            writer.WriteLine();
                        }
                        var content = obj is string ? obj : JsonConvert.SerializeObject(obj);
                        writer.WriteLine($"{DateTime.Now} {content}");
                    }
                }
            }
            catch (Exception ex)
            {
            }
        }
        #endregion
    }
}
src/BLL/Demo.BillView/PRD/Pro_ScDayImport.cs
@@ -19,6 +19,7 @@
using Demo.TimedTaskPlugIn.PRD;
using ZD.Cloud.Logger;
namespace Demo.BillView.PRD
{
@@ -200,6 +201,8 @@
        {
            try
            {
                LogService.WriteAsync("测试");
                string sql;
                DateTime date = Convert.ToDateTime(this.Model.GetValue("F_Paez_Date"));
                //获取单据体信息
@@ -343,11 +346,11 @@
                    {
                        jsonModel.Add("FID", Convert.ToString(current["FDayPlanID"])); ;//源单编号
                        jsonRoot.Add("Model", jsonModel);
                        CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
                        CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                        var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString());
                        JObject saveObj = JObject.Parse(result);
                        string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
                        LogService.WriteAsync(jsonRoot);
                        if (saveIsSuc == "TRUE")
                        {
                            string FDayPlanBillNo = saveObj["Result"]["Number"].ToString();
@@ -358,21 +361,27 @@
                            this.View.ShowMessage("导入成功");
                        }
                        else
                        {
                            this.View.ShowErrMessage("导入失败");
                            //LogService.WriteAsync(saveIsSuc);
                            LogService.WriteAsync(jsonRoot);
                            LogHelper.Error(jsonRoot.ToString());
                            this.View.ShowErrMessage(jsonRoot.ToString());
                        }
                    }
                    else
                    {
                        jsonRoot.Add("Model", jsonModel);
                        CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
                        CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                        var result = cloudClient.Save("Paez_Sc_WorkBillAutoSortBill", jsonRoot.ToString());
                        JObject saveObj = JObject.Parse(result);
                        string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
                        LogService.WriteAsync(jsonRoot);
                        if (saveIsSuc == "TRUE")
                        {
                            string FDayPlanBillNo = saveObj["Result"]["Number"].ToString();
@@ -387,7 +396,12 @@
                        }
                        else
                        {
                            this.View.ShowErrMessage("导入失败");
                            // LogService.WriteAsync(saveIsSuc);
                            LogService.WriteAsync(jsonRoot);
                            LogHelper.Error(jsonRoot.ToString());
                            this.View.ShowErrMessage(jsonRoot.ToString());
                        }
                    }
src/BLL/Demo.BillView/PRD/Pro_WorkBillPlatform.cs
@@ -83,7 +83,11 @@
                {
                    Lock();
                }
                //解锁
                if (e.BarItemKey.ToUpper() == "TBRELIEVELOCK")
                {
                    RelieveLock();
                }
                if (e.BarItemKey.ToUpper() == "BTNSAVE")
                {
                    Save();
@@ -271,8 +275,9 @@
            string sql;
            foreach (var item in entityDataObjoct)
            {
                sql = $"/*dialect*/update t1 set t1.FHLockedSub=1 from Sc_WorkBillSortBillSub t1  join Sc_WorkBillSortBillMain t2 on  t1.FID = t2.FID  where  FHMASTERDATE between  DATEADD(day,-1,getdate()) and DATEADD(day,{day - 1},getdate())   and t1.FID = { Convert.ToString(item["FDayPlanWorkID"])} ";
                sql = $"/*dialect*/update Sc_WorkBillSortBillSub set FHLockedSub=1    where FEntryID in  (select TOP({day}) FEntryID from Sc_WorkBillSortBillSub where FHLOCKEDSUB = 0 AND FID = { Convert.ToString(item["FDayPlanWorkID"])} AND DATEDIFF(DAY, GETDATE(), FHMASTERDATE) >= 0 ORDER BY FEntryID)  ";
                //sql = $"/*dialect*/update Sc_WorkBillSortBillSub set FHLockedSub=1    where FEntryID in  (select TOP({day}) FEntryID from Sc_WorkBillSortBillSub where FHLOCKEDSUB = 0 AND FID = { Convert.ToString(item["FDayPlanWorkID"])} AND DATEDIFF(DAY, GETDATE(), FHMASTERDATE) >= 0 ORDER BY FEntryID)  ";
                sqlList.Add(sql);
            }
@@ -286,9 +291,51 @@
            else
                this.View.ShowMessage("操作失败,联系管理员!");
        }
        /// <summary>
        /// 解锁
        /// </summary>
        public void RelieveLock()
        {
            int day = Convert.ToInt32(this.Model.GetValue("FLockDays"));
            string sqlwhere = " and 1=1";
            string FSalOrder = Convert.ToString((this.Model.GetValue("FSalOrder")));
            if (string.IsNullOrEmpty(FSalOrder))
            {
            }
            else
                sqlwhere += $" and FHSeOrderBillNo='{FSalOrder}'";
            //获取单据体信息
            Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");
            //单据体信息转换为列表集合
            DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity);
            List<string> sqlList = new List<string>();
            string sql;
            foreach (var item in entityDataObjoct)
            {
                sql = $"/*dialect*/update t1 set t1.FHLockedSub=0 from Sc_WorkBillSortBillSub t1  join Sc_WorkBillSortBillMain t2 on  t1.FID = t2.FID  where  FHMASTERDATE between  DATEADD(day,-1,getdate()) and DATEADD(day,{day - 1},getdate())   and t1.FID = { Convert.ToString(item["FDayPlanWorkID"])} ";
                //sql = $"/*dialect*/update Sc_WorkBillSortBillSub set FHLockedSub=1    where FEntryID in  (select TOP({day}) FEntryID from Sc_WorkBillSortBillSub where FHLOCKEDSUB = 0 AND FID = { Convert.ToString(item["FDayPlanWorkID"])} AND DATEDIFF(DAY, GETDATE(), FHMASTERDATE) >= 0 ORDER BY FEntryID)  ";
                sqlList.Add(sql);
            }
            int result = DBServiceHelper.ExecuteBatch(Context, sqlList);
            if (result > 0)
            {
                SearchList222();
                this.View.ShowMessage("操作成功");
            }
            else
                this.View.ShowMessage("操作失败,联系管理员!");
        }
        /// <summary>
        /// 保存功能
        /// </summary>
        /// </summary>
        public void Save()
        {
@@ -300,10 +347,24 @@
            DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity);
            DateTime date = DateTime.Now;
            string _result = "";
            foreach (DynamicObject current in entityDataObjoct)
            {
                if (Convert.ToInt32(current["FNoScheduled"]) < 0)
                    _result += "序号:" + Convert.ToString(current["SEQ"]) + ",日计划总数量超出生产订单数量";
            }
            if (_result != "")
            {
                this.View.ShowErrMessage(_result);
                return;
            }
            foreach (DynamicObject current in entityDataObjoct)
            {
                sql = $"/*dialect*/ update Sc_WorkBillSortBillMain set FOrderQuantity={current["FOrderQuantity"]},FDayPlanQuantity={current["FDayPlanQuantity"]},FNoScheduled={current["FNoScheduled"]} where FID = {current["FDayPlanWorkID"]}";
                sqlList.Add(sql);
                DateTime FBzDate = Convert.ToDateTime(Convert.ToDateTime(current["FBzDate"]));
                DateTime end = Convert.ToDateTime(Convert.ToDateTime(current["FBzDate"]).AddDays(60).ToShortDateString());//最大日期
                for (int i = 0; i <= 60; i++)
@@ -419,6 +480,14 @@
            if (entityDataObjoct.Count > 0)
            {
                int m = 0;
                //删除齐套数量
                foreach (DynamicObject current in entityDataObjoct)
                {
                    //FDayPlanWorkID日计划工单ID去删除现有的齐套分析数据
                    DBServiceHelper.Execute(Context, "/*dialect*/delete JIT_MOMaterReadysBill where FHICMOInterID = '" + current["FDayPlanWorkID"].ToString() + "'");
                }
                foreach (DynamicObject current in entityDataObjoct)
                {
                    //计划总数量
@@ -578,7 +647,7 @@
                _jsonRoot.Add("Model", _jsonModel);
                CloudClient _cloudClient = new CloudClient("http://localhost/K3Cloud/");
                CloudClient _cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                var _result = _cloudClient.Save("paez_CompleteAnalysisTemp", _jsonRoot.ToString());
                JObject _saveObj = JObject.Parse(_result);
                string _saveIsSuc = _saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
@@ -651,7 +720,7 @@
                    jsonRoot.Add("Model", jsonModel);
                    CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
                    CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                    var result = cloudClient.Save("paez_CompleteAnalysisTemp", jsonRoot.ToString());
                    JObject saveObj = JObject.Parse(result);
                    string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
@@ -827,145 +896,6 @@
        /// 提料计划
        /// </summary>
        public void Extraction2()
        {
            //获取单据体信息
            Entity entity = this.View.BillBusinessInfo.GetEntity("FEntity");
            //单据体信息转换为列表集合
            DynamicObjectCollection entityDataObjoct = this.View.Model.GetEntityDataObject(entity);
            EntryGrid grid = this.View.GetControl<EntryGrid>("FEntity");
            if (entityDataObjoct.Count == 0)
            {
                this.View.ShowMessage("请先加载数据!");
            }
            else
            {
                foreach (DynamicObject current in entityDataObjoct)
                {
                    string FDayPlanWorkID = Convert.ToString(current["FDayPlanWorkID"]);//日工单ID
                    string FPRDMOMAINID = Convert.ToString(current["FHMainSourceInterID"]);//生产订单id
                    //是否有过齐套分析 找出齐套数量 日计划数量
                    string sql = string.Format(@"
/*dialect*/
 SELECT T1.FID,FHMATERID,FHMASTERDATE,FHQTY,FCOMPLETECOUNT,FPRDMOMAINID,T2.FENTRYID,T1.FBILLNO FROM  SC_WORKBILLSORTBILLMAIN T1
JOIN SC_WORKBILLSORTBILLSUB T2 ON T1.FID=T2.FID
WHERE  DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0
AND FPLANCOUNT>FCOMPLETECOUNT
AND T1.FID='{0}' AND FPRDMOMAINID='{1}'
", FDayPlanWorkID, FPRDMOMAINID);
                    DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
                    DataTable dt = ds.Tables[0];
                    if (dt.Rows.Count > 0)
                    {
                        string FMATERIALID = dt.Rows[0]["FHMaterID"].ToString();//物料编码
                        decimal FCompleteCount = Convert.ToDecimal(dt.Rows[0]["FCompleteCount"].ToString());//齐套数量
                        //按主物料查询子物料单位用料 最小采购 和 提前期
                        sql = string.Format(@"
/*dialect*/
SELECT  FNeedQty,t5.FFIXLEADTIME,t5.FMAXPOQTY,t5.FMINPOQTY,t2.FMATERIALID,t3.FNumber FROM T_PRD_PPBOM T1
LEFT JOIN(SELECT FID, MAX(FENTRYID) FENTRYID, SUM(convert(decimal(18, 2), FBASENUMERATOR / FBASEDENOMINATOR))FNeedQty, FMATERIALID from T_PRD_PPBOMENTRY where FMoId = '{0}'
group by FMATERIALID, FID) T2 on T1.FID = t2.FID
JOIN T_BD_MATERIAL T3 ON T2.FMATERIALID = t3.FMATERIALID
join t_BD_MaterialBase t4 on t3.FMATERIALID = t4.FMATERIALID
join t_BD_MaterialPlan t5 on t3.FMATERIALID = t5.FMATERIALID
WHERE T1.FMaterialID = '{1}'
AND FMoId = '{0}'
AND FERPCLSID=1
", FPRDMOMAINID, FMATERIALID);
                        DataTable _dt = DBServiceHelper.ExecuteDataSet(Context, sql).Tables[0];
                        //根据bom去循环
                        foreach (DataRow drDetail in _dt.Rows)
                        {
                            string DetailFmaterialID = drDetail["FNumber"].ToString();//子物料
                            int FfixleadTime = Convert.ToInt32(drDetail["FFIXLEADTIME"].ToString());//提前天数
                            decimal FminPoqty = Convert.ToDecimal(drDetail["FMINPOQTY"].ToString());//最小采购量
                            decimal FNeedQty = Convert.ToDecimal(drDetail["FNeedQty"].ToString());//单位用料
                            //日计划数量(套数)
                            decimal FHQTY = 0;
                            foreach (DataRow dr in dt.Rows)
                            {
                                //日计划数量
                                decimal DayFHQTY = Convert.ToDecimal(dr["FHQTY"].ToString());
                                if (FCompleteCount >= DayFHQTY)
                                {
                                    FCompleteCount -= DayFHQTY;
                                    continue;
                                }
                                else if (FCompleteCount != 0)
                                {
                                    FHQTY = DayFHQTY - FCompleteCount;
                                    FCompleteCount = 0;
                                }
                                //提料计划日期
                                DateTime FHDate;
                                //套数*单位用料是否满足最小需求量
                                if (FHQTY * FNeedQty >= FminPoqty)
                                {
                                    FHDate = Convert.ToDateTime(dr["FHMASTERDATE"]);
                                    JObject model = new JObject();
                                    model.Add("FHDate", FHDate.AddDays(-FfixleadTime));
                                    model.Add("FHRemark", "生产订单号:" + "测试呢呢");
                                    JArray Fentity = new JArray();
                                    JObject FentityModel = new JObject();
                                    FentityModel.Add("FHMaterID", new JObject() { ["Fnumber"] = DetailFmaterialID });//物料
                                    FentityModel.Add("FHQty", FHQTY * FNeedQty);//数量
                                    FentityModel.Add("FHSourceInterID", dr["FID"].ToString());//日计划工单FID
                                    FentityModel.Add("FHSourceEntryID", dr["FENTRYID"].ToString());//日计划工单FENTRYID
                                    FentityModel.Add("FHSourceBillNo", dr["FBILLNO"].ToString());//日计划工单单号
                                    FentityModel.Add("FHSourceBillType", "");//日计划工单类型
                                    Fentity.Add(FentityModel);
                                    model.Add("FEntity", Fentity);
                                    JObject jsonRoot = new JObject()
                                    {
                                        ["Creator"] = "",
                                        ["NeedUpDateFields"] = new JArray(),
                                        ["NeedReturnFields"] = new JArray(),
                                        ["IsDeleteEntry"] = "false",
                                        ["SubSystemId"] = "",
                                        ["IsVerifyBaseDataField"] = "false",
                                        ["Model"] = model
                                    };
                                    CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
                                    var result = cloudClient.Save("paez_PODemandPlan", jsonRoot.ToString());
                                    JObject saveObj = JObject.Parse(result);
                                    string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
                                    if (saveIsSuc == "TRUE")
                                    {
                                        //清空值
                                        FHQTY = 0;
                                        LogHelper.Info("单据日期:" + FHDate.AddDays(-FfixleadTime).ToString());
                                    }
                                    else
                                    {
                                        LogHelper.Error(saveIsSuc);
                                    }
                                }
                                else
                                {
                                    FHQTY += DayFHQTY;
                                    continue;
                                }
                            }
                        }
                    }
                }
            }
        }
        public void Extraction3()
        {
@@ -1010,6 +940,8 @@
 and FCloseStatus in('A') and FMRPCLOSESTATUS in('A')
";
            List<PurchaseInventory> PurchaseInventory = DBServiceHelper.ExecuteDataSet(Context, sql).ToModelList<PurchaseInventory>();
            LogHelper.Info("采购订单数据" + sql);
            sql = string.Format(@"
 /*dialect*/
@@ -1022,13 +954,13 @@
join t_BD_MaterialBase t4 on t3.FMATERIALID = t4.FMATERIALID
join t_BD_MaterialPlan t5 on t3.FMATERIALID = t5.FMATERIALID
WHERE  DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0
AND FPLANCOUNT>FCOMPLETECOUNT
AND FDayPlanQuantity>FCOMPLETECOUNT
AND FERPCLSID=1 
AND T2.FENTRYID not in (select distinct FHSOURCEENTRYID from CG_PODEMANDPLANBILLSUB where FHSOURCEINTERID IN ({0}))
AND T1.FID in ({0})
order by FHMASTERDATE
", FDayPlanWorkID);
            LogHelper.Info("提料数据" + sql);
            DataSet ds = DBServiceHelper.ExecuteDataSet(Context, sql);
            List<DayPlanPpbom> DayPlanPpbom = ds.ToModelList<DayPlanPpbom>();
@@ -1067,8 +999,8 @@
            sql = @"select T1.FID,FPLANCOUNT,FCOMPLETECOUNT,t2.FHQTY, FHPRDORGID FStockOrgId from    SC_WORKBILLSORTBILLMAIN T1
JOIN SC_WORKBILLSORTBILLSUB T2 ON T1.FID=T2.FID WHERE  DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0 AND FPLANCOUNT>FCOMPLETECOUNT AND T1.FID in (" + FDayPlanWorkID + ")";
            sql = @"select T1.FID,FDayPlanQuantity,FCOMPLETECOUNT,t2.FHQTY, FHPRDORGID FStockOrgId from    SC_WORKBILLSORTBILLMAIN T1
JOIN SC_WORKBILLSORTBILLSUB T2 ON T1.FID=T2.FID WHERE  DATEDIFF(D,GETDATE(),FHMASTERDATE) >=0 AND FDayPlanQuantity>FCOMPLETECOUNT AND T1.FID in (" + FDayPlanWorkID + ")";
            DataSet Complete = DBServiceHelper.ExecuteDataSet(Context, sql);
            List<DayPlanPpbom> CompleteList = ds.ToModelList<DayPlanPpbom>();
            #region
@@ -1115,6 +1047,8 @@
            var MaterialIDList = DayPlanPpbom.GroupBy(p => new { p.FMATERIALID, p.FStockOrgId }).Select(x => new PODemandPlanTemp { FMATERIALID = x.Key.FMATERIALID, FStockOrgId = x.Key.FStockOrgId }).ToList();
            var _MaterialIDList = MaterialIDList.Where(p => p.FMATERIALID == "105773").ToList();
            LogHelper.Info("物料行数" + MaterialIDList.Count);
            //提料计划数据集临时存储集合
            List<PODemandPlanTemp> PODemandPlanTemp = new List<PODemandPlanTemp>();
            //sql集合 更新采购订单占用的提料计划数量
@@ -1122,6 +1056,7 @@
            //MaterialIDList = new List<string> { "105773" };
            foreach (var item in MaterialIDList)
            {
                LogHelper.Info(item.FMATERIALID.ToString());
                List<DayPlanPpbom> _DayPlanPpbom = DayPlanPpbom.Where(x => x.FMATERIALID == item.FMATERIALID && x.FStockOrgId == item.FStockOrgId).ToList();
                decimal FMINPOQTY = _DayPlanPpbom.FirstOrDefault().FMINPOQTY;//最小起订量
@@ -1133,6 +1068,7 @@
                List<int> FEntryIdList = new List<int>();
                foreach (var _item in _DayPlanPpbom)
                {
                    if (NeedQty == 0)
                        DATE = Convert.ToDateTime(_item.FHMASTERDATE).AddDays(-FFIXLEADTIME);
@@ -1150,6 +1086,9 @@
                        foreach (var Purchase in _PurchaseInventory)
                        {
                            LogHelper.Info("Purchase");
                            LogHelper.Info("物料:" + Purchase.FMATERIALID + ",数量:" + Purchase.FQTY);
                            if (Purchase.FQTY >= NeedQty)
                            {
                                List<int> mmm = new List<int>();
@@ -1430,11 +1369,13 @@
                    ["Model"] = model
                };
                CloudClient cloudClient = new CloudClient("http://localhost/K3Cloud/");
                CloudClient cloudClient = new CloudClient("http://erp-windows002/K3Cloud/");
                var result = cloudClient.Save("paez_PODemandPlan", jsonRoot.ToString());
                JObject saveObj = JObject.Parse(result);
                string saveIsSuc = saveObj["Result"]["ResponseStatus"]["IsSuccess"].ToString().ToUpper();
                LogHelper.Info("最后");
                LogHelper.Info(jsonRoot.ToString());
                if (saveIsSuc == "TRUE")
                {
                }