/// <summary>
        /// 保存行政村危险区转移人员信息
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        public BaseResult SaveVillageTransferPerson(SaveVillageTransferPerson request)
        {
            using (var db = DbFactory.Open())
            {
                var adcdInfo = ZZTXManager.GetADCDInfoByADCD(request.adcd);
                var info     = new VillageTransferPerson();
                info.adcd                            = request.adcd;
                info.DangerZoneName                  = request.DangerZoneName;
                info.DangerZoneType                  = request.DangerZoneType;
                info.DisasterPreventionManager       = request.DisasterPreventionManager;
                info.DisasterPreventionManagerMobile = request.DisasterPreventionManagerMobile;
                info.DisasterPreventionName          = request.DisasterPreventionName;
                info.HouseholderMobile               = request.HouseholderMobile;
                info.HouseholderName                 = request.HouseholderName;
                info.HouseholderNum                  = request.HouseholderNum;
                info.Lat = request.Lat;
                info.Lng = request.Lng;
                info.PersonLiableMobile     = request.PersonLiableMobile;
                info.PersonLiableName       = request.PersonLiableName;
                info.PersonLiablePost       = request.PersonLiablePost;
                info.Position               = request.Position;
                info.SafetyIdentification   = request.SafetyIdentification;
                info.WarnPersonLiableMobile = request.WarnPersonLiableMobile;
                info.WarnPersonLiablePost   = request.WarnPersonLiablePost;
                info.WarnPersonLiableName   = request.WarnPersonLiableName;
                info.Year   = DateTime.Now.Year;
                info.Remark = request.Remark;
                //新数据
                List <VillageTransferPerson> _newdata = new List <VillageTransferPerson>();
                _newdata.Add(info);
                //
                operateLog log = new operateLog();
                log.userName    = RealName;
                log.operateTime = DateTime.Now;

                if (request.Id != 0)
                {
                    #region 旧数据,新数据
                    //取出数据
                    //写入更新记录
                    var rf       = db.Single <VillageTransferPerson>(w => w.ID == request.Id);
                    var _olddata = new VillageTransferPerson()
                    {
                        adcd                            = rf.adcd,
                        DangerZoneName                  = rf.DangerZoneName,
                        DangerZoneType                  = rf.DangerZoneType,
                        DisasterPreventionManager       = rf.DisasterPreventionManager,
                        DisasterPreventionManagerMobile = rf.DisasterPreventionManagerMobile,
                        DisasterPreventionName          = rf.DisasterPreventionName,
                        HouseholderMobile               = rf.HouseholderMobile,
                        HouseholderName                 = rf.HouseholderName,
                        HouseholderNum                  = rf.HouseholderNum,
                        Lat = rf.Lat,
                        Lng = rf.Lng,
                        PersonLiableMobile     = rf.PersonLiableMobile,
                        PersonLiableName       = rf.PersonLiableName,
                        PersonLiablePost       = rf.PersonLiablePost,
                        Position               = rf.Position,
                        SafetyIdentification   = rf.SafetyIdentification,
                        WarnPersonLiableMobile = rf.WarnPersonLiableMobile,
                        WarnPersonLiablePost   = rf.WarnPersonLiablePost,
                        WarnPersonLiableName   = rf.WarnPersonLiableName,
                        Year = rf.Year
                    };
                    if (AuditNums != null)
                    {
                        List <VillageTransferPerson> _listOldData = new List <VillageTransferPerson>();
                        _listOldData.Add(_olddata);
                        info.AuditNums = AuditNums.Value + 1;
                        //旧数据写入实体
                        info.OldData = JsonTools.ObjectToJson(_listOldData);
                        //新数据写入实体
                        info.NewData = JsonTools.ObjectToJson(_newdata);
                    }
                    #endregion
                    //数据更新前取出历史数据
                    var rlist = db.Select <VillageTransferPerson>(w => w.ID == request.Id);
                    //
                    info.ID        = request.Id;
                    log.operateMsg = "更新" + request.Year + "年" + adcdInfo.adnm + ",名为:" + request.DangerZoneName + "危险区(点)转移人员信息";
                    List <operateLog> listLog = new List <operateLog>();
                    listLog.Add(log);
                    info.operateLog = JsonTools.ObjectToJson(listLog);
                    var r = db.Update(info) == 1;
                    #region 日志
                    StringBuilder sb = new StringBuilder();
                    sb.Append("在栏目{组织责任/行政村危险区人员转移清单}下,更新数据{");
                    sb.Append("村ADCD:" + adcdInfo.adnm + ";");
                    sb.Append("危险区(点)名称:" + _olddata.DangerZoneName + ";");
                    sb.Append("类别:" + _olddata.DangerZoneType + ";");
                    sb.Append("避灾场所管理员:" + _olddata.DisasterPreventionManager + ";");
                    sb.Append("避灾场所管理员手机:" + _olddata.DisasterPreventionManagerMobile + ";");
                    sb.Append("避灾场所名称:" + _olddata.DisasterPreventionName + ";");
                    sb.Append("户主手机:" + _olddata.HouseholderMobile + ";");
                    sb.Append("户主姓名:" + _olddata.HouseholderName + ";");
                    sb.Append("居住人数:" + _olddata.HouseholderNum + ";");
                    sb.Append("纬度:" + _olddata.Lat + ";");
                    sb.Append("经度:" + _olddata.Lng + ";");
                    sb.Append("责任人手机:" + _olddata.PersonLiableMobile + ";");
                    sb.Append("责任人姓名:" + _olddata.PersonLiableName + ";");
                    sb.Append("责任人职务:" + _olddata.PersonLiablePost + ";");
                    sb.Append("位置:" + _olddata.Position + ";");
                    sb.Append("有无安全鉴定:" + _olddata.SafetyIdentification + ";");
                    sb.Append("预警责任人手机:" + _olddata.WarnPersonLiableMobile + ";");
                    sb.Append("预警责任人职务:" + _olddata.WarnPersonLiablePost + ";");
                    sb.Append("预警责任人姓名:" + _olddata.WarnPersonLiableName + ";");
                    sb.Append("年度:" + _olddata.Year + ";");
                    sb.Append("}为{");
                    sb.Append("村ADCD:" + adcdInfo.adnm + ";");
                    sb.Append("危险区(点)名称:" + info.DangerZoneName + ";");
                    sb.Append("类别:" + info.DangerZoneType + ";");
                    sb.Append("避灾场所管理员:" + info.DisasterPreventionManager + ";");
                    sb.Append("避灾场所管理员手机:" + info.DisasterPreventionManagerMobile + ";");
                    sb.Append("避灾场所名称:" + info.DisasterPreventionName + ";");
                    sb.Append("户主手机:" + info.HouseholderMobile + ";");
                    sb.Append("户主姓名:" + info.HouseholderName + ";");
                    sb.Append("居住人数:" + info.HouseholderNum + ";");
                    sb.Append("纬度:" + info.Lat + ";");
                    sb.Append("经度:" + info.Lng + ";");
                    sb.Append("责任人手机:" + info.PersonLiableMobile + ";");
                    sb.Append("责任人姓名:" + info.PersonLiableName + ";");
                    sb.Append("责任人职务:" + info.PersonLiablePost + ";");
                    sb.Append("位置:" + info.Position + ";");
                    sb.Append("有无安全鉴定:" + info.SafetyIdentification + ";");
                    sb.Append("预警责任人手机:" + info.WarnPersonLiableMobile + ";");
                    sb.Append("预警责任人职务:" + info.WarnPersonLiablePost + ";");
                    sb.Append("预警责任人姓名:" + info.WarnPersonLiableName + ";");
                    sb.Append("年度:" + info.Year + ";");
                    sb.Append("}");
                    _ILogHelper.WriteLog(sb.ToString(), OperationTypeEnums.更新);
                    #endregion
                    //if (r)
                    //{
                    //    //村 受灾点 受灾害影响人口 更新
                    //    var oldNum = rlist.FirstOrDefault().HouseholderNum;
                    //    var newNum = request.HouseholderNum;
                    //    var newhouseholdernum = newNum - oldNum;
                    //    using (var dbADCDStatics = DbFactory.Open())
                    //    {
                    //        var _year = request.Year == 0 ? DateTime.Now.Year : request.Year;
                    //        var dbbuilder = dbADCDStatics.From<ADCDDisasterInfo>().Where(w => w.adcd == request.adcd && w.Year==_year).Update(x => new { x.PopulationNum });
                    //        dbADCDStatics.UpdateAdd(() => new ADCDDisasterInfo { PopulationNum = newhouseholdernum }, dbbuilder);
                    //    }
                    //}
                    BaseResult br = new BaseResult();
                    br.IsSuccess = r;
                    return(br);
                }
                else
                {
                    BaseResult br = null;
                    var        f  = db.Single <VillageTransferPerson>(w => w.adcd == request.adcd && w.IfTransfer == 1);
                    if (f != null)
                    {
                        br           = new BaseResult();
                        br.IsSuccess = false;
                        br.ErrorMsg  = "保存失败!村被标记过无转移人员,新增人员时请先在已上报里删除村。";
                        return(br);
                    }
                    #region 旧数据,新数据
                    //写入更新记录
                    if (AuditNums != null)
                    {
                        info.AuditNums = AuditNums.Value + 1;
                    }
                    #endregion
                    info.CreateTime = DateTime.Now;
                    log.operateMsg  = "新增" + request.Year + "年" + adcdInfo.adnm + ",名为:" + request.DangerZoneName + "危险区(点)转移人员信息";
                    List <operateLog> listLog = new List <operateLog>();
                    listLog.Add(log);
                    info.operateLog = JsonTools.ObjectToJson(listLog);
                    var r = db.Insert(info) == 1;
                    #region 日志
                    StringBuilder sb = new StringBuilder();
                    sb.Append("在栏目{组织责任/行政村危险区人员转移清单}下,新增数据{");
                    sb.Append("村ADCD:" + adcdInfo.adnm + ";");
                    sb.Append("危险区(点)名称:" + info.DangerZoneName + ";");
                    sb.Append("类别:" + info.DangerZoneType + ";");
                    sb.Append("避灾场所管理员:" + info.DisasterPreventionManager + ";");
                    sb.Append("避灾场所管理员手机:" + info.DisasterPreventionManagerMobile + ";");
                    sb.Append("避灾场所名称:" + info.DisasterPreventionName + ";");
                    sb.Append("户主手机:" + info.HouseholderMobile + ";");
                    sb.Append("户主姓名:" + info.HouseholderName + ";");
                    sb.Append("居住人数:" + info.HouseholderNum + ";");
                    sb.Append("纬度:" + info.Lat + ";");
                    sb.Append("经度:" + info.Lng + ";");
                    sb.Append("责任人手机:" + info.PersonLiableMobile + ";");
                    sb.Append("责任人姓名:" + info.PersonLiableName + ";");
                    sb.Append("责任人职务:" + info.PersonLiablePost + ";");
                    sb.Append("位置:" + info.Position + ";");
                    sb.Append("有无安全鉴定:" + info.SafetyIdentification + ";");
                    sb.Append("预警责任人手机:" + info.WarnPersonLiableMobile + ";");
                    sb.Append("预警责任人职务:" + info.WarnPersonLiablePost + ";");
                    sb.Append("预警责任人姓名:" + info.WarnPersonLiableName + ";");
                    sb.Append("年度:" + info.Year + ";");
                    sb.Append("}");
                    _ILogHelper.WriteLog(sb.ToString(), OperationTypeEnums.新增);
                    #endregion
                    //if (r)
                    //{
                    //    //村 受灾点 受灾害影响人口 更新
                    //    using (var dbADCDStatics = DbFactory.Open())
                    //    {
                    //        var _year = request.Year == 0 ? DateTime.Now.Year : request.Year;
                    //        var dbbuilder = dbADCDStatics.From<ADCDDisasterInfo>().Where(w=>w.adcd==request.adcd && w.Year == _year).Update(x => new { x.PointNum, x.PopulationNum });
                    //        dbADCDStatics.UpdateAdd(()=>new ADCDDisasterInfo { PointNum=1,PopulationNum=request.HouseholderNum }, dbbuilder);
                    //    }
                    //}
                    br           = new BaseResult();
                    br.IsSuccess = r;
                    return(br);
                }
            }
        }
Пример #2
0
 public BaseResult POST(SaveVillageTransferPerson request)
 {
     return(VillageTransferPersonManager.SaveVillageTransferPerson(request));
 }