554 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			554 lines
		
	
	
		
			25 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using APT.BaseData.Domain.Entities;
 | 
						|
using APT.BaseData.Domain.Entities.FM;
 | 
						|
using APT.BaseData.Domain.Enums;
 | 
						|
using APT.BaseData.Domain.Enums.PF;
 | 
						|
using APT.BaseData.Domain.IServices;
 | 
						|
using APT.BaseData.Domain.IServices.FM;
 | 
						|
using APT.Infrastructure.Core;
 | 
						|
using APT.MS.Domain.Entities.TL;
 | 
						|
using APT.MS.Domain.Enums;
 | 
						|
using APT.Utility;
 | 
						|
using Microsoft.AspNetCore.Mvc;
 | 
						|
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Linq;
 | 
						|
 | 
						|
namespace APT.SC.WebApi.Controllers.Api.SC
 | 
						|
{
 | 
						|
    [Route("api/TL/TLWatchDayly")]
 | 
						|
    public class TLWatchDaylyController : AuthorizeApiController<T_TL_WATCH_DAYLY>
 | 
						|
    {
 | 
						|
        IFMFlowPermitService MFlowPermitService { get; set; }
 | 
						|
        IFMNotificationTaskService NotificationTaskService { get; set; }
 | 
						|
        IPFApproveCallBackService ApproveCallBackService { get; set; }
 | 
						|
        public TLWatchDaylyController(IFMFlowPermitService mFlowPermitService, IFMNotificationTaskService notificationTaskService, IPFApproveCallBackService approveCallBackService)
 | 
						|
        {
 | 
						|
            MFlowPermitService = mFlowPermitService;
 | 
						|
            NotificationTaskService = notificationTaskService;
 | 
						|
            ApproveCallBackService = approveCallBackService;
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 日常观测记录
 | 
						|
        /// 保存 即保存
 | 
						|
        /// 保存并发送 需要观测人确认  确认完 走审批流
 | 
						|
        ///            不需要确认 
 | 
						|
        ///                      如果有配置审批流 直接走审批流
 | 
						|
        ///                      否则归档
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="entity"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("FullUpdate")]
 | 
						|
        public JsonActionResult<bool> FullUpdate([FromBody] T_TL_WATCH_DAYLY entity)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                T_FM_NOTIFICATION_TASK taskDo = null;
 | 
						|
                List<Guid> listTaskRemoveID = null; //只要有一个人操作了 检测待办 其余 删除  同一个 SOURCE_DATA_ID   TL037
 | 
						|
                var loginID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID;
 | 
						|
 | 
						|
                #region   代办处理
 | 
						|
 | 
						|
                if (!loginID.HasValue)
 | 
						|
                {
 | 
						|
                    throw new Exception("获取您的登录信息失败,请重新登录后再操作!");
 | 
						|
                }
 | 
						|
                if ((entity.CREATE_TIME == null || (entity.CREATE_TIME.Value - DateTime.Now).TotalHours < 1) && entity.SUM_ID == Guid.Empty && entity.TaskID == Guid.Empty)
 | 
						|
                {
 | 
						|
                    //判断为新增 无需任何处理
 | 
						|
                }
 | 
						|
                else if (entity.USER_ID.HasValue)
 | 
						|
                {
 | 
						|
                    if (entity.USER_ID.Value != loginID)
 | 
						|
                    {
 | 
						|
                        var userSend = GetEntity<T_FM_USER>(entity.USER_ID.Value);
 | 
						|
                        if (userSend != null)
 | 
						|
                        {
 | 
						|
                            throw new Exception("您不是【" + userSend.NAME + "】无权限操作此单!");
 | 
						|
                        }
 | 
						|
                        else
 | 
						|
                        {
 | 
						|
                            throw new Exception("您无权限操作此单!");
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else if (entity.TaskID == Guid.Empty)
 | 
						|
                {
 | 
						|
                    var listTaskTemp = GetEntities<T_FM_NOTIFICATION_TASK>(e => e.SOURCE_DATA_ID.HasValue && e.SOURCE_DATA_ID.Value == entity.ID && e.SOURCE_FORMCODE == "TL041", null, null);
 | 
						|
 | 
						|
                    if (listTaskTemp != null && listTaskTemp.Any())
 | 
						|
                    {
 | 
						|
                        taskDo = listTaskTemp.FirstOrDefault(e => e.USER_ID == loginID.Value);
 | 
						|
                        if (taskDo == null)
 | 
						|
                        {
 | 
						|
                            var listUserName = listTaskTemp.Where(e => e.USER_ID != loginID).Select(e => e.USER_NAME);
 | 
						|
                            if (listUserName == null)
 | 
						|
                            {
 | 
						|
                                throw new Exception("您无权限操作此单!");
 | 
						|
                            }
 | 
						|
                            else
 | 
						|
                            {
 | 
						|
                                throw new Exception("您不是【" + String.Join(",", listUserName) + "】无权限操作此单!");
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                        else
 | 
						|
                        {
 | 
						|
                            listTaskRemoveID = listTaskTemp.Where(e => e.USER_ID != loginID.Value).Select(e => e.ID).ToList();
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    taskDo = GetEntity<T_FM_NOTIFICATION_TASK>(entity.TaskID, null);
 | 
						|
                    if (taskDo == null)
 | 
						|
                    {
 | 
						|
                        throw new Exception("该日常观测已处理,您无需再次处理!");
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        var listTaskTemp = GetEntities<T_FM_NOTIFICATION_TASK>(e => e.SOURCE_DATA_ID.HasValue && e.SOURCE_DATA_ID.Value == taskDo.SOURCE_DATA_ID.Value && e.ID != taskDo.ID && e.SOURCE_FORMCODE == "TL037", null, null);
 | 
						|
                        if (listTaskTemp != null && listTaskTemp.Any())
 | 
						|
                        {
 | 
						|
                            listTaskRemoveID = listTaskTemp.Select(e => e.ID).ToList();
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
 | 
						|
                #endregion
 | 
						|
 | 
						|
                var liatDetail = entity.Nav_ListDetail;//明细
 | 
						|
                entity.Nav_ListDetail = null;
 | 
						|
                entity.DATE = entity.DATETIME.Value.Date;
 | 
						|
                var listUsers = entity.Nav_ListUser;
 | 
						|
                entity.Nav_ListUser = null;
 | 
						|
 | 
						|
                if (!entity.USER_ID.HasValue || entity.USER_ID == Guid.Empty)
 | 
						|
                {
 | 
						|
                    entity.USER_ID = loginID.Value;
 | 
						|
                    entity.DEPARTMENT_ID = APT.Infrastructure.Api.AppContext.CurrentSession.DepartmentID;
 | 
						|
                }
 | 
						|
                if (entity.USER_ID != loginID.Value)
 | 
						|
                {
 | 
						|
                    throw new Exception("只能操作自己提交的记录!");
 | 
						|
                }
 | 
						|
 | 
						|
                T_TL_WATCH_SUM sum = null;
 | 
						|
                if (entity.SUM_ID == Guid.Empty)
 | 
						|
                {
 | 
						|
                    sum = GetEntity<T_TL_WATCH_SUM>(e => e.DATE == DateTime.Now.Date);
 | 
						|
                    if (sum == null)
 | 
						|
                    {
 | 
						|
                        sum = new T_TL_WATCH_SUM();
 | 
						|
                        sum.ID = Guid.NewGuid();
 | 
						|
                        sum.ORG_ID = entity.ORG_ID;
 | 
						|
                        sum.DATE = DateTime.Now.Date;
 | 
						|
                        sum.TAILING_NAME = entity.TAILING_NAME;
 | 
						|
                        sum.TAILING_ID = entity.TAILING_ID;
 | 
						|
                    }
 | 
						|
                    entity.SUM_ID = sum.ID;
 | 
						|
                }
 | 
						|
 | 
						|
                if (entity.STATUS == PFStandardStatus.Approving)
 | 
						|
                {
 | 
						|
                    if (entity.DATE.Date > DateTime.Now.Date)
 | 
						|
                    {
 | 
						|
                        throw new Exception("日期不能大于今天【" + DateTime.Now.ToString("yyyy-MM-dd") + "】!");
 | 
						|
                    }
 | 
						|
                    if (liatDetail == null || !liatDetail.Any())
 | 
						|
                    {
 | 
						|
                        throw new Exception("日常观测明细不能为空!");
 | 
						|
                    }
 | 
						|
 | 
						|
                    //taskDo = GetEntity<T_FM_NOTIFICATION_TASK>(entity.TaskID, null);
 | 
						|
                    if (taskDo != null)
 | 
						|
                    {
 | 
						|
                        //操作待办处理
 | 
						|
                        taskDo.TASK_DT = DateTime.Now;
 | 
						|
                        taskDo.SOURCE_FORMCODE = "TL037_SHOWPRINT";
 | 
						|
                        if (taskDo.TASK_ENDDT >= taskDo.TASK_DT)
 | 
						|
                            taskDo.NOTICE_STATUS = (int)FMNoticeStatusEnum.正常已办;
 | 
						|
                        else
 | 
						|
                            taskDo.NOTICE_STATUS = (int)FMNoticeStatusEnum.超期办理;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                List<Guid> listUserID = null;
 | 
						|
                //List<T_TL_WATCH_DAYLY_DETAIL_USER> listUsers = null;//观测人
 | 
						|
                //List<T_TL_WATCH_DAYLY_DETAIL_USER> listUserTemp = null;//观测人
 | 
						|
                if (liatDetail != null && liatDetail.Any())
 | 
						|
                {
 | 
						|
                    int rowIndex = 0;
 | 
						|
                    foreach (var item in liatDetail)
 | 
						|
                    {
 | 
						|
                        #region    数据填充
 | 
						|
                        if (entity.TAILING_ID != Guid.Empty)
 | 
						|
                        {
 | 
						|
                            item.TAILING_ID = entity.TAILING_ID;
 | 
						|
                        }
 | 
						|
                        if (string.IsNullOrEmpty(item.TAILING_NAME) && !string.IsNullOrEmpty(entity.TAILING_NAME))
 | 
						|
                        {
 | 
						|
                            item.TAILING_NAME = entity.TAILING_NAME;
 | 
						|
                        }
 | 
						|
 | 
						|
                        item.DATE = entity.DATETIME;
 | 
						|
                        item.DAYLY_ID = entity.ID;
 | 
						|
                        item.SUM_ID = entity.SUM_ID;
 | 
						|
 | 
						|
                        #endregion
 | 
						|
                        rowIndex++;
 | 
						|
                        if (entity.STATUS != PFStandardStatus.Approving)
 | 
						|
                        {
 | 
						|
                            continue;
 | 
						|
                        }
 | 
						|
                        if (!item.IS_DELETED && !item.ITEM_VALUE.HasValue)
 | 
						|
                        {
 | 
						|
                            throw new Exception("观测项行【" + rowIndex + "】不能为空!");
 | 
						|
                        }
 | 
						|
 | 
						|
                        //if (item.DATE == DateTime.MinValue)
 | 
						|
                        //{
 | 
						|
                        //    throw new Exception("观测日期行【" + rowIndex + "】不能为空!");
 | 
						|
                        //}
 | 
						|
                        //if (!item.LONG.HasValue)
 | 
						|
                        //{
 | 
						|
                        //    throw new Exception("干滩长度/m行【" + rowIndex + "】不能为空!");
 | 
						|
                        //}
 | 
						|
                        //if (!item.WATERLINE.HasValue)
 | 
						|
                        //{
 | 
						|
                        //    throw new Exception("库水位/m行【" + rowIndex + "】不能为空!");
 | 
						|
                        //}
 | 
						|
                        //if (!item.DREEP.HasValue)
 | 
						|
                        //{
 | 
						|
                        //    throw new Exception("降雨量/mm行【" + rowIndex + "】不能为空!");
 | 
						|
                        //}
 | 
						|
                        //if (!item.HIGHTEST.HasValue)
 | 
						|
                        //{
 | 
						|
                        //    throw new Exception("滩顶高程行【" + rowIndex + "】不能为空!");
 | 
						|
                        //}
 | 
						|
                        //if (!item.HIGHT_MORE.HasValue)
 | 
						|
                        //{
 | 
						|
                        //    throw new Exception("安全超高行【" + rowIndex + "】不能为空!");
 | 
						|
                        //}
 | 
						|
                        //if (item.Nav_ListUser == null || !item.Nav_ListUser.Any())
 | 
						|
                        //{
 | 
						|
                        //    throw new Exception("观测人员行【" + rowIndex + "】不能为空!");
 | 
						|
                        //}
 | 
						|
                    }
 | 
						|
                }
 | 
						|
 | 
						|
 | 
						|
                if (listUsers != null && listUsers.Any())
 | 
						|
                {
 | 
						|
                    foreach (var itemWatch in listUsers)
 | 
						|
                    {
 | 
						|
                        if (itemWatch.USER_ID == entity.USER_ID)
 | 
						|
                        {
 | 
						|
                            itemWatch.ISCHECK = true;
 | 
						|
                        }
 | 
						|
                        else
 | 
						|
                        {
 | 
						|
                            itemWatch.ISCHECK = false;
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    if (entity.STATUS == PFStandardStatus.Approving && listUsers.Count() > 0)
 | 
						|
                    {
 | 
						|
                        if (listUserID == null)
 | 
						|
                        {
 | 
						|
                            listUserID = new List<Guid>();
 | 
						|
                        }
 | 
						|
                        foreach (var itemUser in listUsers)
 | 
						|
                        {
 | 
						|
                            if (itemUser.USER_ID != entity.USER_ID && !listUserID.Contains(itemUser.USER_ID) && !itemUser.IS_DELETED)
 | 
						|
                            {
 | 
						|
                                listUserID.Add(itemUser.USER_ID);
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
 | 
						|
 | 
						|
                List<T_FM_NOTIFICATION_TASK> listTask = null;
 | 
						|
                //发送 确认单 待办
 | 
						|
                if (listUserID != null && listUserID.Any())
 | 
						|
                {
 | 
						|
                    //接收确认 待办
 | 
						|
                    List<T_FM_USER> listUserSend = GetEntities<T_FM_USER>(e => listUserID.Contains(e.ID), null, null).ToList();
 | 
						|
                    entity.STATUS = PFStandardStatus.Sign;
 | 
						|
                    List<Guid> listSendUserID = new List<Guid>();
 | 
						|
                    List<string> listSendUserNAME = new List<string>();
 | 
						|
                    foreach (var item in listUserSend)
 | 
						|
                    {
 | 
						|
                        listSendUserID.Add(item.ID);
 | 
						|
                        listSendUserNAME.Add(item.NAME);
 | 
						|
                    }
 | 
						|
                    listTask = NotificationTaskService.InsertUserNoticeTaskModels("尾矿库日常观测记录确认-" + entity.DATE.ToString("MMdd"), entity.ID, entity.ORG_ID, listSendUserID, listSendUserNAME, DateTime.Now, 0, "TL037_SHOWPRINT", FMTASKTYPE.Default);
 | 
						|
                }
 | 
						|
 | 
						|
 | 
						|
                bool isApprove = false;
 | 
						|
                if (entity.STATUS == PFStandardStatus.Approving)
 | 
						|
                {
 | 
						|
                    var approveTemp = GetEntity<T_PF_APPROVE_TEMP>(e => e.CODE == "TL037");
 | 
						|
                    if (approveTemp != null)
 | 
						|
                    {
 | 
						|
                        isApprove = true;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                if (listUsers != null && listUsers.Any())
 | 
						|
                {
 | 
						|
                    foreach (var item in listUsers)
 | 
						|
                    {
 | 
						|
                        item.Nav_User = null;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                if (isApprove)
 | 
						|
                {
 | 
						|
                    MFlowPermitService.InsertApprove(DateTime.Now.ToString("yyyyMMddHHmmss"), "TL037", null, entity.ID, "TL037_SHOWPRINT", null, true, () =>
 | 
						|
                    {
 | 
						|
                        if (sum != null)
 | 
						|
                            UpdateEntityNoCommit(sum);
 | 
						|
                        if (entity != null)//待办信息主题保存
 | 
						|
                            UpdateEntityNoCommit(entity);
 | 
						|
                        if (liatDetail != null && liatDetail.Any())//明细
 | 
						|
                            BantchSaveEntityNoCommit(liatDetail);
 | 
						|
                        if (listUsers != null && listUsers.Any())//观测人
 | 
						|
                            BantchSaveEntityNoCommit(listUsers);
 | 
						|
 | 
						|
                        if (entity.STATUS != PFStandardStatus.Draft && taskDo != null)//检测记录待办删除
 | 
						|
                            UpdateEntityNoCommit(taskDo);
 | 
						|
                        if (listTaskRemoveID != null && listTaskRemoveID.Any())//同部门岗位人员检测待办 删除
 | 
						|
                            BantchDeleteEntity<T_FM_NOTIFICATION_TASK>(listTaskRemoveID);
 | 
						|
                        if (listTask != null && listTask.Any())//多检测人添加确认待办
 | 
						|
                            BantchSaveEntityNoCommit(listTask);
 | 
						|
                    }, null, null, null, null, null, "TL037_SHOWPRINT", null, null, FMTASKTYPE.Default);
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    this.UnifiedCommit(() =>
 | 
						|
                    {
 | 
						|
                        if (sum != null)
 | 
						|
                            UpdateEntityNoCommit(sum);
 | 
						|
                        if (entity != null)//待办信息主题保存
 | 
						|
                            UpdateEntityNoCommit(entity);
 | 
						|
                        if (liatDetail != null && liatDetail.Any())//明细
 | 
						|
                            BantchSaveEntityNoCommit(liatDetail);
 | 
						|
                        if (listUsers != null && listUsers.Any())//观测人
 | 
						|
                            BantchSaveEntityNoCommit(listUsers);
 | 
						|
 | 
						|
                        if (entity.STATUS != PFStandardStatus.Draft && taskDo != null)//检测记录待办删除
 | 
						|
                            UpdateEntityNoCommit(taskDo);
 | 
						|
                        if (listTaskRemoveID != null && listTaskRemoveID.Any())//同部门岗位人员检测待办 删除
 | 
						|
                            BantchDeleteEntity<T_FM_NOTIFICATION_TASK>(listTaskRemoveID);
 | 
						|
                        if (listTask != null && listTask.Any())//多检测人添加确认待办
 | 
						|
                            BantchSaveEntityNoCommit(listTask);
 | 
						|
                    });
 | 
						|
                }
 | 
						|
 | 
						|
                //if (listUsers != null && listUsers.Any())
 | 
						|
                //{
 | 
						|
                //    foreach (var item in listUsers)
 | 
						|
                //    {
 | 
						|
                //        item.Nav_User = null;
 | 
						|
                //    }
 | 
						|
                //}
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 确认
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("sendCheck")]
 | 
						|
        public JsonActionResult<bool> sendCheck([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute<bool>(() =>
 | 
						|
            {
 | 
						|
                if (string.IsNullOrEmpty(filter.Keyword) || string.IsNullOrEmpty(filter.Parameter1))
 | 
						|
                    throw new Exception("获取参数有误");
 | 
						|
 | 
						|
                Guid id = Guid.Empty;
 | 
						|
                try
 | 
						|
                {
 | 
						|
                    id = new Guid(filter.Keyword);
 | 
						|
                }
 | 
						|
                catch
 | 
						|
                {
 | 
						|
                    throw new Exception("获取参数有误");
 | 
						|
                }
 | 
						|
 | 
						|
                Guid taskID = Guid.Empty;
 | 
						|
                if (!string.IsNullOrEmpty(filter.Parameter1))
 | 
						|
                {
 | 
						|
                    try
 | 
						|
                    {
 | 
						|
                        taskID = new Guid(filter.Parameter1);
 | 
						|
                    }
 | 
						|
                    catch
 | 
						|
                    {
 | 
						|
                        throw new Exception("获取参数有误");
 | 
						|
                    }
 | 
						|
                }
 | 
						|
 | 
						|
                Guid LoginID = APT.Infrastructure.Api.AppContext.CurrentSession.UserID.Value;
 | 
						|
 | 
						|
                var detail = GetEntities<T_TL_WATCH_DAYLY_DETAIL>(e => e.DAYLY_ID == id, null, "Nav_ListUser");
 | 
						|
                List<T_TL_WATCH_DAYLY_DETAIL_USER> listDestUserLogin = new List<T_TL_WATCH_DAYLY_DETAIL_USER>();
 | 
						|
                bool isOther = false;
 | 
						|
                if (detail != null && detail.Any())
 | 
						|
                {
 | 
						|
                    foreach (var item in detail)
 | 
						|
                    {
 | 
						|
                        if (item.Nav_ListUser != null && item.Nav_ListUser.Any())
 | 
						|
                        {
 | 
						|
                            try
 | 
						|
                            {
 | 
						|
                                var listDestUserTempLogin = item.Nav_ListUser.Where(e => !e.ISCHECK && e.USER_ID == LoginID);
 | 
						|
                                if (listDestUserTempLogin != null && listDestUserTempLogin.Any())
 | 
						|
                                {
 | 
						|
                                    listDestUserLogin.AddRange(listDestUserTempLogin);
 | 
						|
                                }
 | 
						|
 | 
						|
                                if (!isOther)
 | 
						|
                                {
 | 
						|
                                    var listDestUserTempNotLogin = item.Nav_ListUser.Where(e => !e.ISCHECK && e.USER_ID != LoginID);
 | 
						|
                                    if (listDestUserTempNotLogin != null && listDestUserTempNotLogin.Any())
 | 
						|
                                    {
 | 
						|
                                        isOther = true;
 | 
						|
                                    }
 | 
						|
                                }
 | 
						|
                            }
 | 
						|
                            catch { }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
 | 
						|
                var task = NotificationTaskService.GetEntityTask(taskID);
 | 
						|
                if (listDestUserLogin != null && listDestUserLogin.Any())
 | 
						|
                    listDestUserLogin.ForEach(e => { e.ISCHECK = true; e.MODIFY_TIME = DateTime.Now; });
 | 
						|
 | 
						|
                T_TL_WATCH_DAYLY modelLine = null;
 | 
						|
                //如果没有未确认的观测人 修改主表状态
 | 
						|
                bool isApprove = false;
 | 
						|
                if (!isOther)
 | 
						|
                {
 | 
						|
                    modelLine = GetEntity<T_TL_WATCH_DAYLY>(id);
 | 
						|
                    modelLine.MODIFY_TIME = DateTime.Now;
 | 
						|
                    var approveTemp = GetEntity<T_PF_APPROVE_TEMP>(e => e.CODE == "TL037");
 | 
						|
                    if (approveTemp != null)
 | 
						|
                    {
 | 
						|
                        isApprove = true;
 | 
						|
                        modelLine.STATUS = PFStandardStatus.Approving;
 | 
						|
                    }
 | 
						|
                    else
 | 
						|
                    {
 | 
						|
                        modelLine.STATUS = PFStandardStatus.Archived;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                if (isApprove)
 | 
						|
                {
 | 
						|
                    MFlowPermitService.InsertApprove(DateTime.Now.ToString("yyyyMMddHHmmss"), "TL037", null, id, "TL037_SHOWPRINT", null, true, () =>
 | 
						|
                    {
 | 
						|
                        if (task != null)//代办消息 清除
 | 
						|
                            UpdateEntityNoCommit(task);//状态修改
 | 
						|
                        if (listDestUserLogin != null && listDestUserLogin.Count > 0)
 | 
						|
                            BantchSaveEntityNoCommit(listDestUserLogin);
 | 
						|
                        if (modelLine != null)//代办消息 清除
 | 
						|
                            UpdateEntityNoCommit(modelLine);//状态修改
 | 
						|
                    }, null, null, null, null, null, "TL037_SHOWPRINT", null, null, FMTASKTYPE.Default);
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    this.UnifiedCommit(() =>
 | 
						|
                    {
 | 
						|
                        if (task != null)//代办消息 清除
 | 
						|
                            UpdateEntityNoCommit(task);//状态修改
 | 
						|
                        if (listDestUserLogin != null && listDestUserLogin.Count > 0)
 | 
						|
                            BantchSaveEntityNoCommit(listDestUserLogin);
 | 
						|
                        if (modelLine != null)//代办消息 清除
 | 
						|
                            UpdateEntityNoCommit(modelLine);//状态修改
 | 
						|
                    });
 | 
						|
                }
 | 
						|
                return true;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 获取日常观测配置信息
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="filter"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("GetItemsByTailingID")]
 | 
						|
        public JsonActionResult<List<T_TL_WATCH_DAYLY_DETAIL>> GetItemsByTailingID([FromBody] KeywordFilter filter)
 | 
						|
        {
 | 
						|
            return SafeExecute(() =>
 | 
						|
            {
 | 
						|
                Guid? TAILING_ID = null;
 | 
						|
                if (string.IsNullOrEmpty(filter.Keyword))
 | 
						|
                {
 | 
						|
                    throw new Exception("获取传参信息失败!");
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    TAILING_ID = new Guid(filter.Keyword);
 | 
						|
                }
 | 
						|
                if (!TAILING_ID.HasValue)
 | 
						|
                {
 | 
						|
                    throw new Exception("获取传参信息失败!");
 | 
						|
                }
 | 
						|
                var listItems = GetEntities<T_TL_SET_WATCH_DAYLY_ITEM>(e => e.TAILING_ID == TAILING_ID.Value && e.ENABLE_STATUS == FMEnableStatusEnum.启用 && !e.IS_DELETED, null, null);
 | 
						|
                if (listItems == null || !listItems.Any())
 | 
						|
                {
 | 
						|
                    throw new Exception("请去后台完善该尾矿库的日常观测点位配置信息!");
 | 
						|
                }
 | 
						|
                List<T_TL_WATCH_DAYLY_DETAIL> listResult = new List<T_TL_WATCH_DAYLY_DETAIL>();
 | 
						|
                listItems = listItems.OrderBy(e => e.ROW_NO);
 | 
						|
                string REMIND = string.Empty;
 | 
						|
                foreach (var item in listItems)
 | 
						|
                {
 | 
						|
                    REMIND = "单位:" + item.UNITE;
 | 
						|
                    if (item.MIN.HasValue || item.MAX.HasValue)
 | 
						|
                    {
 | 
						|
                        if (item.MIN.HasValue && item.MAX.HasValue)
 | 
						|
                        {
 | 
						|
                            REMIND += " 范围:" + item.MIN.Value + " ~ " + item.MAX.Value;
 | 
						|
                        }
 | 
						|
                        else if (item.MIN.HasValue)
 | 
						|
                        {
 | 
						|
                            REMIND += " 下限值:" + item.MIN.Value;
 | 
						|
                        }
 | 
						|
                        else
 | 
						|
                        {
 | 
						|
                            REMIND += " 上限值:" + item.MAX.Value;
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    listResult.Add(new T_TL_WATCH_DAYLY_DETAIL()
 | 
						|
                    {
 | 
						|
                        ID = Guid.NewGuid(),
 | 
						|
                        ORG_ID = filter.OrgId,
 | 
						|
                        TAILING_ID = TAILING_ID.Value,
 | 
						|
                        ITEM_ID = item.ID,
 | 
						|
                        Nav_Item = item,
 | 
						|
                        REMIND = REMIND
 | 
						|
                    });
 | 
						|
                }
 | 
						|
                return listResult;
 | 
						|
            });
 | 
						|
        }
 | 
						|
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// 日常观测审批
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="entity"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [HttpPost, Route("BackUpdateNew")]
 | 
						|
        public JsonActionResult<bool> BackUpdateNew([FromBody] T_PF_APPROVE entity)
 | 
						|
        {
 | 
						|
            return SafeExecute(() =>
 | 
						|
            {
 | 
						|
                return ApproveCallBackService.CallBackNew("TL/TLWatchDayly/BackUpdateNew", entity);
 | 
						|
            });
 | 
						|
        }
 | 
						|
    }
 | 
						|
} |