yxj
2025-10-24 ae36a4639fff74935c27c8e7bb0ce6b39ad039a5
WebAPI/Controllers/BaseSet/Gy_PropertyController.cs
@@ -365,50 +365,85 @@
        }
        #endregion
        //#region 辅助属性 金蝶同步
        //[Route("Gy_Property/SaveGy_PropertyListApi")]
        //[HttpPost]
        //public object SaveGy_PropertyListApi([FromBody] JObject msg)
        //{
        //    try
        //    {
        //        var _value = msg["model"].ToString();
        //        SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
        //        ListModels oListModels = new ListModels();
        //        List<Model.ClsGy_Property_Model> lsmain = new List<Model.ClsGy_Property_Model>();
        //        lsmain = oListModels.getObjectByJson_Gy_Property(_value);
        //        string sql = string.Empty;
        //        //保存
        //        oCN.BeginTran();
        //        sql = $"delete Gy_Property where HItemID = {lsmain[0].HItemID}";
        //        oCN.RunProc(sql);
        //        sql = "set identity_insert Gy_Property on";
        //        oCN.RunProc(sql);
        #region 辅助属性 金蝶同步
        [Route("Gy_Property/SaveGy_PropertyListApi")]
        [HttpPost]
        public object SaveGy_PropertyListApi([FromBody] JObject msg)
        {
            LogService.Write("开始同步");
            try
            {
                var _value = msg["model"].ToString();
                LogService.Write("1" + _value);
                var entry = msg["model"]["HENTRY"].ToString();
                LogService.Write("1" + _value);
                LogService.Write("12" + entry);
                entry = entry.Replace("\"hendflag\": \"1\"", "\"hendflag\": true")
                               .Replace("\"hstopflag\": \"0\"", "\"hstopflag\": false")
                               .Replace("\"hendflag\": \"0\"", "\"hendflag\": false")
                               .Replace("\"hstopflag\": \"1\"", "\"hstopflag\": true");
        //        oCN.RunProc($@"insert into Gy_Property(HItemID,HNumber,HName,HHelpCode,HShortNumber,HParentID
        //            ,HLevel,HEndFlag,HStopflag,HRemark,HPropertyTypeID,HUseFlag,HERPItemID,HMakeTime)
        //          values({lsmain[0].HItemID},'{lsmain[0].HNumber}','{lsmain[0].HName}','{lsmain[0].HHelpCode}','{lsmain[0].HShortNumber}',{lsmain[0].HParentID},{lsmain[0].HLevel}
        //   ,{Convert.ToString(lsmain[0].HEndFlag ? 1 : 0)},{Convert.ToString(lsmain[0].HStopflag ? 1 : 0) },'{lsmain[0].HRemark}',{lsmain[0].HPropertyTypeID},'{lsmain[0].HUseFlag}',{lsmain[0].HERPItemID},'{lsmain[0].HMakeTime}')", ref DBUtility.ClsPub.sExeReturnInfo);
        //        //修改上级为非末级代码
        //        sql = "set identity_insert Gy_Property off";
        //        oCN.RunProc(sql);
        //        oCN.Commit();
                LogService.Write($"处理后的JSON: {_value}");
                _value = "[" + _value.ToString() + "]";
                SQLHelper.ClsCN oCN = new SQLHelper.ClsCN();
                List<Model.ClsGy_PropertyType_Model> lsmain = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_PropertyType_Model>>(_value);
                List<Model.ClsGy_Property_Model> lssub = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Model.ClsGy_Property_Model>>(entry);
                string sql = string.Empty;
                LogService.Write(lsmain);
                //保存
                oCN.BeginTran();
                foreach (var osub in lssub)
                {
                    sql = $"delete Gy_Property where HItemID = {osub.HItemID}";
                    oCN.RunProc(sql);
                }
                foreach (var osub in lsmain)
                {
                    sql = $"delete Gy_PropertyEntry where HItemID = {osub.HItemID}";
                    oCN.RunProc(sql);
                }
                sql = "set identity_insert Gy_Property on";
                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 = 1;
        //        return objJsonResult;
        //    }
        //}
        //#endregion
                oCN.RunProc($@"insert into Gy_Property(HItemID,HNumber,HShortNumber,HName,HHelpCode,HParentID
                    ,HLevel,HEndFlag,HStopflag,HRemark,HPropertyTypeID,HUseFlag,HERPItemID,HMakeTime)
                  values({lssub[0].HItemID},'{lssub[0].HNumber}','{lssub[0].HShortNumber}','{lssub[0].HName}','{lssub[0].HHelpCode}',{lssub[0].HParentID},{lssub[0].HLevel}
           ,{Convert.ToString(lssub[0].HEndFlag ? 1 : 0)},{Convert.ToString(lssub[0].HStopflag ? 1 : 0) },'{lssub[0].HRemark}',{lssub[0].HPropertyTypeID},'{lssub[0].HUseFlag}',{lssub[0].HERPItemID},'{lssub[0].HMakeTime}')", ref DBUtility.ClsPub.sExeReturnInfo);
                LogService.Write("辅助属性表插入成功");
                //新增辅助子表:
                oCN.RunProc($@"insert into Gy_PropertyEntry
                            (HItemID,HERPItemID,HAuxpuID,HMaterID,HISDefault,HStopflag,HSno)
                  values({lsmain[0].HItemID},'{lsmain[0].HERPItemID}','{lsmain[0].HAuxpuID}','{lsmain[0].HMaterID}','{lsmain[0].HISDefault}',{Convert.ToString(lsmain[0].HStopflag ? 1 : 0) },'{lsmain[0].HSno}')", ref DBUtility.ClsPub.sExeReturnInfo);
                //修改上级为非末级代码
                sql = "set identity_insert Gy_Property off";
                LogService.Write("辅助属性值表插入成功");
                oCN.RunProc(sql);
                oCN.Commit();
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "保存成功!";
                objJsonResult.data = 1;
                return objJsonResult;
            }
            catch (Exception e)
            {
                LogService.Write("异常信息:" + e.ToString());
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "保存失败!" + e.ToString();
                objJsonResult.data = 1;
                return objJsonResult;
            }
        }
        #endregion
    }
}