188 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			188 lines
		
	
	
		
			7.9 KiB
		
	
	
	
		
			C#
		
	
	
	
| namespace BLL
 | |
| {
 | |
|     using Model;
 | |
|     using System;
 | |
|     using System.Collections.Generic;
 | |
|     using System.Linq;
 | |
|     using System.Web.UI.WebControls;
 | |
| 
 | |
|     public static class InterFaceService
 | |
|     {
 | |
|         public static Model.SGGLDB db = Funs.DB;
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 获取接口设置信息
 | |
|         /// </summary>
 | |
|         /// <param name="InterFaceSetId">设置Id</param>
 | |
|         /// <returns>接口设置信息</returns>
 | |
|         public static Model.InterFaceSet GetFaceSetById(string InterFaceSetId)
 | |
|         {
 | |
|             return Funs.DB.InterFaceSet.FirstOrDefault(e => e.InterFaceSetId == InterFaceSetId);
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 增加接口设置信息
 | |
|         /// </summary>
 | |
|         /// <param name="faceset">接口设置</param>
 | |
|         public static void AddFaceSet(Model.InterFaceSet faceset)
 | |
|         {
 | |
|             Model.SGGLDB db = Funs.DB;
 | |
|             string newKeyID = SQLHelper.GetNewID(typeof(Model.InterFaceSet));
 | |
|             List<InterFaceDetail> detailList = new List<InterFaceDetail>();
 | |
|             Model.InterFaceSet newSet = new Model.InterFaceSet
 | |
|             {
 | |
|                 InterFaceSetId = newKeyID,
 | |
|                 InterFaceName = faceset.InterFaceName,
 | |
|                 AuthUnitIds = faceset.AuthUnitIds,
 | |
|                 AuthUnitName = faceset.AuthUnitName,
 | |
|                 InterFaceUrl = faceset.InterFaceUrl,
 | |
|                 InterFaceForUrl = faceset.InterFaceForUrl,
 | |
|                 ValidPeriod = faceset.ValidPeriod,
 | |
|                 UnitId = faceset.UnitId,
 | |
|                 TxtRemarks = faceset.TxtRemarks,
 | |
|                 IsOpen = faceset.IsOpen,
 | |
|                 IsReqPost = faceset.IsReqPost,
 | |
|                 IsCallBack= faceset.IsCallBack,
 | |
|                 InterFaceCallBackUrl= faceset.InterFaceCallBackUrl,
 | |
|             };
 | |
|             //明细表
 | |
|             foreach (var AuthUnitId in newSet.AuthUnitIds.Split(','))
 | |
|             {
 | |
|                 Model.InterFaceDetail deteil = new Model.InterFaceDetail
 | |
|                 {
 | |
|                     InterFaceDetailId = SQLHelper.GetNewID(typeof(Model.InterFaceDetail)),
 | |
|                     InterFaceName = newSet.InterFaceName,
 | |
|                     UnitId = newSet.UnitId,
 | |
|                     AuthUnitIds = AuthUnitId,
 | |
|                     InterFaceSetlId = newSet.InterFaceSetId,
 | |
|                     ReportState = false,
 | |
|                     GainState = false,
 | |
|                 };
 | |
|                 detailList.Add(deteil);
 | |
|             }
 | |
|             db.InterFaceDetail.InsertAllOnSubmit(detailList);
 | |
|             db.InterFaceSet.InsertOnSubmit(newSet);
 | |
|             db.SubmitChanges();
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 修改接口设置信息
 | |
|         /// </summary>
 | |
|         /// <param name="user">接口设置实体</param>
 | |
|         public static void UpdateFaceSet(Model.InterFaceSet user)
 | |
|         {
 | |
|             Model.SGGLDB db = Funs.DB;
 | |
|             List<InterFaceDetail> detailList = new List<InterFaceDetail>();
 | |
|             Model.InterFaceSet newSet = db.InterFaceSet.FirstOrDefault(e => e.InterFaceSetId == user.InterFaceSetId);
 | |
|             if (newSet != null)
 | |
|             {
 | |
|                 newSet.InterFaceName = user.InterFaceName;
 | |
|                 newSet.AuthUnitIds = user.AuthUnitIds;
 | |
|                 newSet.AuthUnitName = user.AuthUnitName;
 | |
|                 newSet.InterFaceUrl = user.InterFaceUrl;
 | |
|                 newSet.InterFaceForUrl = user.InterFaceForUrl;
 | |
|                 newSet.UnitId = user.UnitId;
 | |
|                 newSet.ValidPeriod = user.ValidPeriod;
 | |
|                 newSet.UnitId = user.UnitId;
 | |
|                 newSet.TxtRemarks = user.TxtRemarks;
 | |
|                 newSet.IsOpen = user.IsOpen;
 | |
|                 newSet.IsReqPost = user.IsReqPost;
 | |
|                 newSet.IsCallBack = user.IsCallBack;
 | |
|                 newSet.InterFaceCallBackUrl= user.InterFaceCallBackUrl;
 | |
|                 var AuthUnitIds = newSet.AuthUnitIds.Split(',');
 | |
|                 //明细表
 | |
|                 List<Model.InterFaceDetail> FaceDetailList = db.InterFaceDetail.Where(e => e.InterFaceSetlId == user.InterFaceSetId).ToList();
 | |
|                 //删除无效明细
 | |
|                 var oldDetails = FaceDetailList.Where(p=> !AuthUnitIds.Equals(p.AuthUnitIds)) ;
 | |
|                 if (oldDetails.Count() > 0)
 | |
|                 {
 | |
|                     db.InterFaceDetail.DeleteAllOnSubmit(oldDetails);
 | |
|                 }
 | |
|                 foreach (var AuthUnitId in AuthUnitIds)
 | |
|                 {
 | |
|                     Model.InterFaceDetail deteil = new Model.InterFaceDetail
 | |
|                     {
 | |
|                         InterFaceDetailId = SQLHelper.GetNewID(typeof(Model.InterFaceDetail)),
 | |
|                         InterFaceName = newSet.InterFaceName,
 | |
|                         UnitId = newSet.UnitId,
 | |
|                         AuthUnitIds = AuthUnitId,
 | |
|                         InterFaceSetlId = newSet.InterFaceSetId,
 | |
|                     };
 | |
|                     var FaceDetail = FaceDetailList.FirstOrDefault(p => p.AuthUnitIds == AuthUnitId);
 | |
|                     if (FaceDetail == null)
 | |
|                     {
 | |
|                         detailList.Add(deteil);
 | |
|                     }
 | |
|                 }
 | |
|                 db.InterFaceDetail.InsertAllOnSubmit(detailList);
 | |
|                 db.SubmitChanges();
 | |
|             }
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 根据Id删除信息
 | |
|         /// </summary>
 | |
|         /// <param name="SetId"></param>
 | |
|         public static void DeleteFaceSet(string SetId)
 | |
|         {
 | |
|             Model.SGGLDB db = Funs.DB;
 | |
|             Model.InterFaceSet FaceSet = db.InterFaceSet.FirstOrDefault(e => e.InterFaceSetId == SetId);
 | |
|             if (FaceSet != null)
 | |
|             {
 | |
|                 var logs = from x in db.Sys_Log where x.UserId == SetId select x;
 | |
|                 if (logs.Count() > 0)
 | |
|                 {
 | |
|                     db.Sys_Log.DeleteAllOnSubmit(logs);
 | |
|                 }
 | |
|                 db.InterFaceSet.DeleteOnSubmit(FaceSet);
 | |
|                 db.SubmitChanges();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 保存上报数据记录
 | |
|         /// </summary>
 | |
|         /// <param name="newItem">上报数据</param>
 | |
|         /// <returns></returns>
 | |
|         public static string SaveUpData(Model.InterFaceItem newItem)
 | |
|         {
 | |
|             if (newItem.FaceLogDate.Count() == 0)
 | |
|                 return "数据不可为空!";
 | |
|             using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
 | |
|             {
 | |
|                 List<string> InterFaceLogIdList = new List<string>();
 | |
|                 List<Model.InterFaceLog> logList = new List<Model.InterFaceLog>();
 | |
|                 string message = string.Empty;
 | |
|                 var FaceDetailList = db.InterFaceDetail.Where(x => newItem.FaceLogDate.Select(p=>p.UnitId).Equals(x.UnitId));
 | |
|                 foreach (var item in newItem.FaceLogDate)
 | |
|                 {
 | |
|                     //如果配置接口名称存在 进行数据保存
 | |
|                     var faceDetail = FaceDetailList.FirstOrDefault(p => p.InterFaceName == item.InterFaceName);
 | |
|                     if (faceDetail != null)
 | |
|                     {
 | |
|                         faceDetail.ReportDate = DateTime.Now;
 | |
|                         faceDetail.ReportState = true;
 | |
|                         Model.InterFaceLog FaceLog = new Model.InterFaceLog();
 | |
|                         FaceLog.InterFaceLogId = SQLHelper.GetNewID(typeof(Model.InterFaceLog));
 | |
|                         FaceLog.TxtContent = item.TxtContent;
 | |
|                         FaceLog.InterFaceLogDate = Convert.ToDateTime(item.InterFaceLogDate);
 | |
|                         FaceLog.LogSate = false;
 | |
|                         FaceLog.CollCropCode = item.CollCropCode;
 | |
|                         FaceLog.IP = item.IP;
 | |
|                         FaceLog.UnitId = item.UnitId;
 | |
|                         FaceLog.InterFaceDetailId = faceDetail.InterFaceDetailId;
 | |
|                         logList.Add(FaceLog);
 | |
|                     }
 | |
|                     else //配置接口名称不存在 记录反馈给前端提示
 | |
|                     {
 | |
|                         InterFaceLogIdList.Add(item.InterFaceName);
 | |
|                     }
 | |
|                 }
 | |
|                 db.InterFaceLog.InsertAllOnSubmit(logList);
 | |
|                 db.SubmitChanges();
 | |
|             }
 | |
| 
 | |
|             return "数据同步成功";
 | |
|         }
 | |
|     }
 | |
| }
 |