Esempio n. 1
0
        public ActionResult Edit(RiskPointEntity model)
        {
            var resultModel = new RespResultCountViewModel();

            try
            {
                #region 验证
                if (string.IsNullOrEmpty(model.OrgId))
                {
                    resultModel.code = -1;
                    resultModel.msg  = "机构Id不能为空!";
                    return(Ok(resultModel));
                }
                if (string.IsNullOrEmpty(model.BH))
                {
                    resultModel.code = -1;
                    resultModel.msg  = "编号不能为空!";
                    return(Ok(resultModel));
                }
                model.RiskPointBH = model.RiskUnitBH + "-" + model.BH;
                if (_riskmanageService.IsExist(model.OrgId, model.RiskPointBH, model.Id))
                {
                    resultModel.code = -1;
                    resultModel.msg  = "请勿重复添加风险点编号!";
                    return(Ok(resultModel));
                }
                #endregion

                string activeDir = XYDbContext.QRPath;
                string newPath   = activeDir + "/" + model.OrgName;

                #region 生成二维码 先删除原来的二维码
                RiskPointDto riskPointDto = new RiskPointDto();
                riskPointDto.RiskBH   = model.RiskPointBH;
                riskPointDto.RiskName = model.Name;
                riskPointDto.OrgId    = model.OrgId;
                riskPointDto.OrgName  = model.OrgName;
                string jsonStr = JsonConvert.SerializeObject(riskPointDto);
                var    bitmap  = _qrcodeService.GetQRCode(jsonStr, 10);
                var    QRUrl   = "/" + Guid.NewGuid().ToString() + ".bmp";
                var    path    = newPath + QRUrl;
                #endregion

                model.QRCodeUrl = path;
                var  delePath = _riskmanageService.GetQRCodeUrl(model.Id);  //获取修改前的编号  记录并删除二维码
                bool result   = _riskmanageService.Update(model);
                if (result)
                {
                    if (System.IO.File.Exists(delePath))
                    {
                        System.IO.File.Delete(delePath);
                    }
                    bitmap.Save(path, System.Drawing.Imaging.ImageFormat.Bmp);
                    resultModel.code = 0;
                    resultModel.msg  = "修改成功";
                    resultModel.data = null;
                }
                else
                {
                    resultModel.code = -1;
                    resultModel.msg  = "修改失败";
                    resultModel.data = null;
                }
                return(Ok(resultModel));
            }
            catch (Exception ex)
            {
                resultModel.code = -1;
                resultModel.msg  = "操作失败:" + ex.Message;
                resultModel.data = null;
                return(Ok(resultModel));
            }
        }
Esempio n. 2
0
        public ActionResult Create(RiskPointEntity model)
        {
            var resultModel = new RespResultCountViewModel();

            try
            {
                #region 验证
                if (string.IsNullOrEmpty(model.OrgId))
                {
                    resultModel.code = -1;
                    resultModel.msg  = "机构Id不能为空!";
                    return(Ok(resultModel));
                }
                if (string.IsNullOrEmpty(model.BH))
                {
                    resultModel.code = -1;
                    resultModel.msg  = "编号不能为空!";
                    return(Ok(resultModel));
                }
                model.RiskPointBH = model.RiskUnitBH + "-" + model.BH;
                if (_riskmanageService.IsExist(model.OrgId, model.RiskPointBH, model.Id))
                {
                    resultModel.code = -1;
                    resultModel.msg  = "请勿重复添加风险点编号!";
                    return(Ok(resultModel));
                }
                #endregion
                model.Id         = ConstDefine.CreateGuid();
                model.CreateTime = DateTime.Now;
                model.DeleteMark = 1;

                //创建目录
                string activeDir = XYDbContext.QRPath;
                string newPath   = activeDir + "/" + model.OrgName;
                if (!Directory.Exists(newPath))//如果不存在就创建 dir 文件夹
                {
                    Directory.CreateDirectory(newPath);
                }

                #region 生成二维码
                RiskPointDto riskPointDto = new RiskPointDto();
                riskPointDto.RiskBH   = model.RiskPointBH;
                riskPointDto.RiskName = model.Name;
                riskPointDto.OrgId    = model.OrgId;
                riskPointDto.OrgName  = model.OrgName;
                string jsonStr = JsonConvert.SerializeObject(riskPointDto);
                var    bitmap  = _qrcodeService.GetQRCode(jsonStr, 10);
                var    QRUrl   = "/" + Guid.NewGuid().ToString() + ".bmp";
                var    path    = newPath + QRUrl;
                #endregion

                model.QRCodeUrl = path;
                bool result = _riskmanageService.Insert(model);
                if (result)
                {
                    bitmap.Save(path, System.Drawing.Imaging.ImageFormat.Bmp);
                    resultModel.code = 0;
                    resultModel.msg  = "新增成功";
                }
                else
                {
                    resultModel.code = -1;
                    resultModel.msg  = "新增失败";
                }
                return(Ok(resultModel));
            }
            catch (Exception ex)
            {
                resultModel.code = -1;
                resultModel.msg  = "操作失败:" + ex.Message;
                return(Ok(resultModel));
            }
        }
        public List <RiskPointDto> GetRiskPointList(string userid)
        {
            var DataResult = new List <RiskPointDto>();

            using (var db = _dbContext.GetIntance())
            {
                var planEntity = db.Queryable <CheckPlanEnity>()
                                 .Where(it => it.DeleteMark == 1 && it.UserId == userid).First();
                if (planEntity == null)
                {
                    return(null);
                }
                else
                {
                    if (planEntity.RiskBH.Contains(","))
                    {
                        string   ExecutionMode = planEntity.ExecutionMode;
                        string[] names         = planEntity.RiskName.Split(',');
                        int      i             = 0;
                        foreach (var obj in planEntity.RiskBH.Split(','))
                        {
                            RiskPointDto riskPointDto = new RiskPointDto();
                            riskPointDto.RiskBH   = obj;
                            riskPointDto.RiskName = names[i];
                            int count1 = db.Queryable <CheckTableEntity>()
                                         .Where(it => it.DeleteMark == 1 && it.UserId == userid && it.RiskPointBH == obj).Count();
                            if (ExecutionMode == "1")
                            {
                                int count2 = db.Queryable <CheckResultRecordEntity>()
                                             .Where(it => it.RiskPointBH == obj && it.UserId == userid && it.CreateTime.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd")).Count();
                                if (count1 == count2)
                                {
                                    riskPointDto.states = "1";
                                }
                                else
                                {
                                    riskPointDto.states = "0";
                                }
                            }
                            else
                            {
                                var checkDate = db.Queryable <CheckPlanEnity>().Where(it => it.DeleteMark == 1 && it.UserId == userid).First().CheckDate;
                                int leadtime  = CommonHelper.GetDateTimeSubtract(Convert.ToDateTime(checkDate.ToString("yyyy-MM-dd")), Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")));
                                if (leadtime % Convert.ToInt32(ExecutionMode) != 0)
                                {
                                    riskPointDto.states = "2";
                                }
                                else
                                {
                                    if (db.Queryable <CheckResultRecordEntity>().Any(it => it.RiskPointBH == obj && it.UserId == userid))
                                    {
                                        DateTime completeTime = db.Queryable <CheckResultRecordEntity>()
                                                                .Where(it => it.RiskPointBH == obj && it.UserId == userid).OrderBy(it => it.CreateTime, OrderByType.Desc).First().CreateTime;
                                        int days   = CommonHelper.GetDateTimeSubtract(Convert.ToDateTime(completeTime.ToString("yyyy-MM-dd")), Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")));
                                        int count2 = db.Queryable <CheckResultRecordEntity>()
                                                     .Where(it => it.RiskPointBH == obj && it.UserId == userid && it.CreateTime == completeTime).Count();
                                        if (days % Convert.ToInt32(ExecutionMode) == 0 && count1 == count2)
                                        {
                                            riskPointDto.states = "1";
                                        }
                                        if (days % Convert.ToInt32(ExecutionMode) == 0 && count1 != count2)
                                        {
                                            riskPointDto.states = "0";
                                        }
                                        else
                                        {
                                            riskPointDto.states = "2";
                                        }
                                    }
                                    else
                                    {
                                        var checkdate = planEntity.CheckDate;
                                        int days      = CommonHelper.GetDateTimeSubtract(Convert.ToDateTime(checkdate.ToString("yyyy-MM-dd")), Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")));
                                        if (days % Convert.ToInt32(ExecutionMode) == 0)
                                        {
                                            riskPointDto.states = "0";
                                        }
                                        else
                                        {
                                            riskPointDto.states = "2";
                                        }
                                    }
                                }
                            }
                            i++;
                            DataResult.Add(riskPointDto);
                        }
                    }
                    else
                    {
                        string       ExecutionMode = planEntity.ExecutionMode;
                        RiskPointDto riskPointDto  = new RiskPointDto();
                        riskPointDto.RiskBH   = planEntity.RiskBH;
                        riskPointDto.RiskName = planEntity.RiskName;
                        int count1 = db.Queryable <CheckTableEntity>()
                                     .Where(it => it.DeleteMark == 1 && it.UserId == userid && it.RiskPointBH == planEntity.RiskBH).Count();
                        if (ExecutionMode == "1")
                        {
                            int count2 = db.Queryable <CheckResultRecordEntity>()
                                         .Where(it => it.RiskPointBH == planEntity.RiskBH && it.UserId == userid && it.CreateTime.ToString("yyyy-MM-dd") == DateTime.Now.ToString("yyyy-MM-dd")).Count();
                            if (count1 == count2)
                            {
                                riskPointDto.states = "1";
                            }
                            else
                            {
                                riskPointDto.states = "0";
                            }
                        }
                        else
                        {
                            if (db.Queryable <CheckResultRecordEntity>().Any(it => it.RiskPointBH == planEntity.RiskBH && it.UserId == userid))
                            {
                                DateTime completeTime2 = db.Queryable <CheckResultRecordEntity>()
                                                         .Where(it => it.RiskPointBH == planEntity.RiskBH && it.UserId == userid).OrderBy(it => it.CreateTime, OrderByType.Desc).First().CreateTime;
                                int days2   = CommonHelper.GetDateTimeSubtract(Convert.ToDateTime(completeTime2.ToString("yyyy-MM-dd")), Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")));
                                int count22 = db.Queryable <CheckResultRecordEntity>()
                                              .Where(it => it.RiskPointBH == planEntity.RiskBH && it.UserId == userid && it.CreateTime == completeTime2).Count();
                                if (days2 % Convert.ToInt32(ExecutionMode) == 0 && count1 == count22)
                                {
                                    riskPointDto.states = "1";
                                }
                                if (days2 % Convert.ToInt32(ExecutionMode) == 0 && count1 != count22)
                                {
                                    riskPointDto.states = "0";
                                }
                                else
                                {
                                    riskPointDto.states = "2";
                                }
                            }
                            else
                            {
                                var checkdate = planEntity.CheckDate;
                                int days2     = CommonHelper.GetDateTimeSubtract(Convert.ToDateTime(checkdate.ToString("yyyy-MM-dd")), Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd")));
                                if (days2 % Convert.ToInt32(ExecutionMode) == 0)
                                {
                                    riskPointDto.states = "0";
                                }
                                else
                                {
                                    riskPointDto.states = "2";
                                }
                            }
                        }
                        DataResult.Add(riskPointDto);
                    }
                }
            }
            return(DataResult);
        }