Esempio n. 1
0
        /// <summary>
        /// 保存Check_CheckSpecial
        /// </summary>
        /// <param name="newItem">处罚通知单</param>
        /// <returns></returns>
        public static string SaveCheckSpecial(Model.CheckSpecialItem newItem)
        {
            using (Model.SUBHSSEDB db = new Model.SUBHSSEDB(Funs.ConnString))
            {
                string message = string.Empty;
                Model.Check_CheckSpecial newCheckSpecial = new Model.Check_CheckSpecial
                {
                    CheckSpecialId    = newItem.CheckSpecialId,
                    CheckSpecialCode  = newItem.CheckSpecialCode,
                    CheckItemSetId    = newItem.CheckItemSetId,
                    CheckType         = newItem.CheckType,
                    ProjectId         = newItem.ProjectId,
                    CheckPerson       = newItem.CheckPersonId,
                    CheckTime         = Funs.GetNewDateTime(newItem.CheckTime),
                    DaySummary        = System.Web.HttpUtility.HtmlEncode(newItem.DaySummary),
                    PartInUnits       = newItem.PartInUnitIds,
                    PartInPersonIds   = newItem.PartInPersonIds,
                    PartInPersons     = UserService.getUserNamesUserIds(newItem.PartInPersonIds),
                    PartInPersonNames = newItem.PartInPersonNames2,
                    CompileMan        = newItem.CompileManId,
                    States            = Const.State_2,
                };
                if (newItem.States != "1")
                {
                    newCheckSpecial.States = Const.State_0;
                }

                var updateCheckSpecial = db.Check_CheckSpecial.FirstOrDefault(x => x.CheckSpecialId == newItem.CheckSpecialId);
                if (updateCheckSpecial == null)
                {
                    newCheckSpecial.CheckSpecialId   = SQLHelper.GetNewID();
                    newCheckSpecial.CheckSpecialCode = CodeRecordsService.ReturnCodeByMenuIdProjectId(Const.ProjectCheckSpecialMenuId, newCheckSpecial.ProjectId, string.Empty);
                    db.Check_CheckSpecial.InsertOnSubmit(newCheckSpecial);
                    db.SubmitChanges();
                    ////增加一条编码记录
                    BLL.CodeRecordsService.InsertCodeRecordsByMenuIdProjectIdUnitId(BLL.Const.ProjectCheckSpecialMenuId, newCheckSpecial.ProjectId, null, newCheckSpecial.CheckSpecialId, newCheckSpecial.CheckTime);
                }
                else
                {
                    Check_CheckSpecialService.UpdateCheckSpecial(newCheckSpecial);
                    //// 删除专项检查明细项
                    Check_CheckSpecialDetailService.DeleteCheckSpecialDetails(newCheckSpecial.CheckSpecialId);
                }
                if (newCheckSpecial.States == "1")
                {
                    CommonService.btnSaveData(newCheckSpecial.ProjectId, Const.ProjectCheckSpecialMenuId, newCheckSpecial.CheckSpecialId, newCheckSpecial.CompileMan, true, newCheckSpecial.CheckSpecialCode, "../Check/CheckSpecialView.aspx?CheckSpecialId={0}");
                }
                ////保存附件
                if (!string.IsNullOrEmpty(newItem.AttachUrl1))
                {
                    UploadFileService.SaveAttachUrl(UploadFileService.GetSourceByAttachUrl(newItem.AttachUrl1, 10, null), newItem.AttachUrl1, Const.ProjectCheckSpecialMenuId, newCheckSpecial.CheckSpecialId);
                }
                else
                {
                    CommonService.DeleteAttachFileById(Const.ProjectCheckSpecialMenuId, newCheckSpecial.CheckSpecialId);
                }

                ///// 新增检查项
                if (newItem.CheckSpecialDetailItems != null && newItem.CheckSpecialDetailItems.Count() > 0)
                {
                    foreach (var item in newItem.CheckSpecialDetailItems)
                    {
                        item.CheckSpecialId = newCheckSpecial.CheckSpecialId;
                        SaveCheckSpecialDetail(item);
                    }
                    //// 单据完成后 系统自动按照单位 整改要求生成隐患整改单
                    if (newCheckSpecial.States == Const.State_2)
                    {
                        SaveNewRectifyNotices(newItem);
                        message = "已生成整改单,请在隐患整改单待提交中签发!";
                    }
                }
                return(message);
            }
        }
Esempio n. 2
0
        /// <summary>
        ///  生成隐患整改单
        /// </summary>
        /// <param name="newItem"></param>
        public static void SaveNewRectifyNotices(Model.CheckSpecialItem newItem)
        {
            var newDetail = newItem.CheckSpecialDetailItems.Where(x => x.HandleStep == "3" && (!x.CompleteStatus.HasValue || x.CompleteStatus == false));

            if (newDetail.Count() > 0)
            {
                var getUnitIdList = newDetail.Select(x => x.UnitId).Distinct();
                foreach (var uItem in getUnitIdList)
                {
                    Model.RectifyNoticesItem newRectifyNotices = new Model.RectifyNoticesItem
                    {
                        ProjectId        = newItem.ProjectId,
                        UnitId           = uItem,
                        CheckManNames    = newItem.PartInPersonNames,
                        CheckManIds      = newItem.CheckPersonId,
                        CheckedDate      = newItem.CheckTime,
                        HiddenHazardType = "1",
                        CompleteManId    = newItem.CompileManId,
                        States           = Const.State_0,
                        AttachUrl        = newItem.AttachUrl1,
                    };
                    if (!string.IsNullOrEmpty(newItem.PartInPersonIds))
                    {
                        newRectifyNotices.CheckManIds += (',' + newItem.PartInPersonIds);
                    }
                    var getDetails = newDetail.Where(x => x.UnitId == uItem);
                    if (getDetails.Count() > 0)
                    {
                        string workAreaIds = null;
                        newRectifyNotices.RectifyNoticesItemItem = new List <Model.RectifyNoticesItemItem>();
                        foreach (var dItem in getDetails)
                        {
                            Model.RectifyNoticesItemItem newRectifyNoticesItem = new Model.RectifyNoticesItemItem
                            {
                                WrongContent   = dItem.CheckItemSetName + dItem.CheckContent + dItem.Unqualified,
                                Requirement    = dItem.Suggestions,
                                LimitTime      = dItem.LimitedDate,
                                PhotoBeforeUrl = dItem.AttachUrl1,
                            };
                            if (string.IsNullOrEmpty(workAreaIds))
                            {
                                workAreaIds = dItem.WorkAreaId;
                            }
                            else
                            {
                                workAreaIds += "," + dItem.WorkAreaId;
                            }
                            if (string.IsNullOrEmpty(dItem.CheckSpecialDetailId))
                            {
                                newRectifyNotices.CheckSpecialDetailId = dItem.CheckSpecialDetailId;
                            }
                            else
                            {
                                newRectifyNotices.CheckSpecialDetailId += "," + dItem.CheckSpecialDetailId;
                            }
                            newRectifyNotices.RectifyNoticesItemItem.Add(newRectifyNoticesItem);
                        }

                        newRectifyNotices.WorkAreaId = workAreaIds;
                        APIRectifyNoticesService.SaveRectifyNotices(newRectifyNotices);
                    }
                }
            }
        }