食品经营许可中各种类型业务中记录的编号的代码

  [DontNeedPermit]
        [HttpPost]
        public ExtJsUpdateResult<Guid> Update([FromBody]object obj)
        {
            #region 实现
            var entities = obj.ToEntities<ShenQingShenHeBiaoSPJYXK>();  // 前端传来的实体List集合
            var r = new ExtJsUpdateResult<Guid>() {
                Success = entities.Update().OnlySaveFields(_saveFields)     // 由于前端界面编辑的往往只是实体的部分属性,所以在此指定只更新这些属性。
                    .SaveToDBAsync().Result == entities.Count()   // 从数据库中更新实体List集合中包含的所有实体,并检查更新的实体数与集合中的实体数是否一致,一致的话返回true否则返回false。
            };
            if(r.Success)
            {
                if (entities[0].ShenQingLeiXing == "新办")
                {
                    var xuKeZheng = _ioc.Query<ShiPinJingYingXuKeZheng>()
                                      .Where(e => e.JingYingZheID == entities[0].JingYingZheID && e.ShenQingShenHeBiaoID == entities[0].ID)
                                      .OrderByDescending(e => e.CreatedTime)
                                      .FirstOrDefault();
                    if (xuKeZheng == null)
                        throw new Exception("没有找到相应的记录!");
                    else
                    {
                        xuKeZheng.FaZhengJiGuan = entities[0].BanLiBuMen;
                        xuKeZheng.QianFaRen = entities[0].FaZhengRen;
                        xuKeZheng.QianFaRiQi = entities[0].FaZhengRiQi;
                        xuKeZheng.RiChangJianDuGuanLiJiGou = entities[0].RiChangJianDuGuanLiJiGou;
                        xuKeZheng.RiChangJianDuGuanLiRenYuan = entities[0].RiChangJianDuGuanLiRenYuan;
                        xuKeZheng.XuKeKaiShiRiQi = entities[0].FaZhengRiQi;
                        xuKeZheng.TouSuJuBaoDianHua = "12331";
                        //xuKeZheng.XuKeZhengFuBenShu = entities[0].ShenQingFuBenShu;
                        xuKeZheng.YouXiaoQi = entities[0].YouXiaoQi;
                        var t = entities[0].YouXiaoQi;
                        DateTime dt = DateTime.Parse(entities[0].FaZhengRiQi?.ToString("yyyy-MM-dd"));
                        xuKeZheng.XuKeJieShuRiQi = dt.AddYears(t ?? 0);
                        //entities[0].XuKeZhengDeJieShuRiQi = xuKeZheng.XuKeJieShuRiQi;
                        entities[0].XuKeZhengDeJieShuRiQi = dt.AddYears(t ?? 0);
                        xuKeZheng.ShiYongZhuangTai = "正常";
                        entities[0].Update().SaveToDB();
                    }
                    xuKeZheng.Update().SaveToDB();
                }
                if (entities[0].ShenQingLeiXing == "延续")
                {
                    var xuKeZheng = _ioc.Query<ShiPinJingYingXuKeZheng>()
                              .Where(e => e.JingYingZheID == entities[0].JingYingZheID && e.XuKeZhengBianHao == entities[0].XuKeZhengBianHao)
                              .OrderByDescending(e => e.CreatedTime)
                              .FirstOrDefault();
                    if (xuKeZheng == null)
                        throw new Exception("没有找到相应的记录!");
                    else
                    {
                        xuKeZheng.QianFaRen = entities[0].FaZhengRen;
                        xuKeZheng.QianFaRiQi = entities[0].FaZhengRiQi;
                        xuKeZheng.YouXiaoQi = entities[0].YouXiaoQi;
                        var t = entities[0].YouXiaoQi;
                        DateTime dt = DateTime.Parse(entities[0].FaZhengRiQi?.ToString("yyyy-MM-dd"));
                        xuKeZheng.XuKeJieShuRiQi = dt.AddYears(t ?? 0);
                        entities[0].XuKeZhengDeJieShuRiQi = xuKeZheng.XuKeJieShuRiQi;
                        xuKeZheng.ShiYongZhuangTai = "正常";
                        entities[0].Update().SaveToDB();
                    }
                    xuKeZheng.Update().SaveToDB();
                }
                if (entities[0].ShenQingLeiXing == "变更")
                {
                    var xuKeZheng = _ioc.Query<ShiPinJingYingXuKeZheng>()
                              .Where(e => e.JingYingZheID == entities[0].JingYingZheID && e.XuKeZhengBianHao == entities[0].XuKeZhengBianHao)
                              .OrderByDescending(e => e.CreatedTime)
                              .FirstOrDefault();
                    if (xuKeZheng == null)
                        throw new Exception("没有找到相应的记录!");
                    else
                    {
                        xuKeZheng.QianFaRen = entities[0].FaZhengRen;
                        xuKeZheng.QianFaRiQi = entities[0].FaZhengRiQi;
                        xuKeZheng.YouXiaoQi = entities[0].YouXiaoQi;
                        xuKeZheng.ShiYongZhuangTai = "正常";
                        xuKeZheng.Update().SaveToDB();
                        var t = entities[0].YouXiaoQi;
                        DateTime dt = DateTime.Parse(entities[0].FaZhengRiQi?.ToString("yyyy-MM-dd"));
                        xuKeZheng.XuKeJieShuRiQi = dt.AddYears(t ?? 0);
                        entities[0].XuKeZhengDeJieShuRiQi = xuKeZheng.XuKeJieShuRiQi;
                        entities[0].Update().SaveToDB();
                    }
                }
                if (entities[0].ShenQingLeiXing == "补正")
                {
                    var xuKeZheng = _ioc.Query<ShiPinJingYingXuKeZheng>()
                              .Where(e => e.JingYingZheID == entities[0].JingYingZheID && e.XuKeZhengBianHao == entities[0].XuKeZhengBianHao)
                              .OrderByDescending(e => e.CreatedTime)
                              .FirstOrDefault();
                    if (xuKeZheng == null)
                        throw new Exception("没有找到相应的记录!");
                    else
                    {
                        xuKeZheng.QianFaRen = entities[0].FaZhengRen;
                        xuKeZheng.QianFaRiQi = entities[0].FaZhengRiQi;
                        xuKeZheng.YouXiaoQi = entities[0].YouXiaoQi;
                        xuKeZheng.ShiYongZhuangTai = "正常";
                        xuKeZheng.Update().SaveToDB();
                        var t = entities[0].YouXiaoQi;
                        DateTime dt = DateTime.Parse(entities[0].FaZhengRiQi?.ToString("yyyy-MM-dd"));
                        xuKeZheng.XuKeJieShuRiQi = dt.AddYears(t ?? 0);
                        entities[0].XuKeZhengDeJieShuRiQi = xuKeZheng.XuKeJieShuRiQi;
                        entities[0].Update().SaveToDB();
                    }
                }
                if (entities[0].ShenQingLeiXing == "新办")
                {
                    //审批通过时向【食品经营许可归档】实体插入新纪录
                    //档案号编码规则:1、    档案号:行政区域6位,年号2位,许可类型1位+5位,许可类型用A、B、C、D、E、F分别表示新办、变更、延续、补正、注销、撤销
                    var xingZhengQuYu = entities[0].JianGuanPianOu;
                    var jingyingleibie = 1;
                    var nianfen = DateTime.Now.ToString("yy");
                    var xuKeLeiXing = "A";
                    var DangAnBaianHao = xingZhengQuYu + jingyingleibie + nianfen + xuKeLeiXing;
                    var shiPinJingYingXuKeGuiDang = _ioc.Query<ShiPinJingYingXuKeGuiDang>()
                        .Where(e => e.DangAnHao.Contains(DangAnBaianHao))
                        .OrderByDescending(e => e.DangAnHao)
                        .FirstOrDefault();
                    if(shiPinJingYingXuKeGuiDang==null)
                    {
                        var dangAnBaianHao = DangAnBaianHao + "00001";
                        var shiPinJingYingXuKeGuiDang1 = new ShiPinJingYingXuKeGuiDang
                        {
                            ShenQingShenHeBiaoID = entities[0].ID,
                            JingYingZheID = entities[0].JingYingZheID,
                            JingYingZheMingChen = entities[0].JingYingZheMingChen,
                            SheHuiXinYongDaiMa = entities[0].SheHuiXinYongDaiMa,
                            XuKeZhengBianHao = entities[0].XuKeZhengBianHao,
                            XuKeLeiXing = entities[0].ShenQingLeiXing,
                            DiZhi = entities[0].JingYingChangSuo,
                            FaZhengJiGuan = entities[0].RiChangJianDuGuanLiJiGou,
                            GuiDangRen = null,
                            GuiDangRiQi = DateTime.Now,
                            JingYingLeiBie = "食品经营",
                            IsGuiDang = false,
                            DangAnHao = dangAnBaianHao
                        };
                        shiPinJingYingXuKeGuiDang1.Insert().SaveToDB();
                    }
                    else
                    {
                        var dangAnBaianHao1 = shiPinJingYingXuKeGuiDang.DangAnHao.Remove(0, 10);
                        var danganhao = int.Parse(dangAnBaianHao1)+1;
                        var danganhao2 = danganhao.ToString("00000");
                        danganhao2= danganhao2.ToString().PadLeft(5, '0');
                        var danganhao3 = DangAnBaianHao + danganhao2;
                        var shiPinJingYingXuKeGuiDangs = new ShiPinJingYingXuKeGuiDang
                        {
                            ShenQingShenHeBiaoID = entities[0].ID,
                            JingYingZheID = entities[0].JingYingZheID,
                            JingYingZheMingChen = entities[0].JingYingZheMingChen,
                            SheHuiXinYongDaiMa = entities[0].SheHuiXinYongDaiMa,
                            XuKeZhengBianHao = entities[0].XuKeZhengBianHao,
                            XuKeLeiXing = entities[0].ShenQingLeiXing,
                            DiZhi = entities[0].JingYingChangSuo,
                            FaZhengJiGuan = entities[0].RiChangJianDuGuanLiJiGou,
                            GuiDangRen = null,
                            GuiDangRiQi = DateTime.Now,
                            IsGuiDang = false,
                            JingYingLeiBie = "食品经营",
                            DangAnHao = danganhao3
                        };
                        shiPinJingYingXuKeGuiDangs.Insert().SaveToDB();
                    }                   
                }
                if (entities[0].ShenQingLeiXing == "变更")
                {
                    //审批通过时向【食品经营许可归档】实体插入新纪录
                    //档案号编码规则:1、    档案号:行政区域6位,年号2位,许可类型1位+5位,许可类型用A、B、C、D、E、F分别表示新办、变更、延续、补正、注销、撤销
                    var xingZhengQuYu = entities[0].JianGuanPianOu;
                    var jingyingleibie = 1;
                    var nianfen = DateTime.Now.ToString("yy");
                    var xuKeLeiXing = "B";
                    var DangAnBaianHao = xingZhengQuYu + jingyingleibie + nianfen + xuKeLeiXing;
                    var shiPinJingYingXuKeGuiDang = _ioc.Query<ShiPinJingYingXuKeGuiDang>()
                        .Where(e => e.DangAnHao.Contains(DangAnBaianHao))
                        .OrderByDescending(e => e.DangAnHao)
                        .FirstOrDefault();
                    if (shiPinJingYingXuKeGuiDang == null)
                    {
                        var dangAnBaianHao = DangAnBaianHao + "00001";
                        var shiPinJingYingXuKeGuiDang1 = new ShiPinJingYingXuKeGuiDang
                        {
                            ShenQingShenHeBiaoID = entities[0].ID,
                            JingYingZheID = entities[0].JingYingZheID,
                            JingYingZheMingChen = entities[0].JingYingZheMingChen,
                            SheHuiXinYongDaiMa = entities[0].SheHuiXinYongDaiMa,
                            XuKeZhengBianHao = entities[0].XuKeZhengBianHao,
                            XuKeLeiXing = entities[0].ShenQingLeiXing,
                            DiZhi = entities[0].JingYingChangSuo,
                            FaZhengJiGuan = entities[0].RiChangJianDuGuanLiJiGou,
                            GuiDangRen = null,
                            GuiDangRiQi = DateTime.Now,
                            JingYingLeiBie = "食品经营",
                            IsGuiDang = false,
                            DangAnHao = dangAnBaianHao
                        };
                        shiPinJingYingXuKeGuiDang1.Insert().SaveToDB();
                    }
                    else
                    {
                        var dangAnBaianHao1 = shiPinJingYingXuKeGuiDang.DangAnHao.Remove(0, 10);
                        var danganhao = int.Parse(dangAnBaianHao1) + 1;
                        var danganhao2 = danganhao.ToString("00000");
                        danganhao2 = danganhao2.ToString().PadLeft(5, '0');
                        var danganhao3 = DangAnBaianHao + danganhao2;
                        var shiPinJingYingXuKeGuiDangs = new ShiPinJingYingXuKeGuiDang
                        {
                            ShenQingShenHeBiaoID = entities[0].ID,
                            JingYingZheID = entities[0].JingYingZheID,
                            JingYingZheMingChen = entities[0].JingYingZheMingChen,
                            SheHuiXinYongDaiMa = entities[0].SheHuiXinYongDaiMa,
                            XuKeZhengBianHao = entities[0].XuKeZhengBianHao,
                            XuKeLeiXing = entities[0].ShenQingLeiXing,
                            DiZhi = entities[0].JingYingChangSuo,
                            FaZhengJiGuan = entities[0].RiChangJianDuGuanLiJiGou,
                            GuiDangRen = null,
                            GuiDangRiQi = DateTime.Now,
                            JingYingLeiBie = "食品经营",
                            IsGuiDang = false,
                            DangAnHao = danganhao3
                        };
                        shiPinJingYingXuKeGuiDangs.Insert().SaveToDB();
                    }
                }
                if (entities[0].ShenQingLeiXing == "延续")
                {
                    //审批通过时向【食品经营许可归档】实体插入新纪录
                    //档案号编码规则:1、    档案号:行政区域6位,年号2位,许可类型1位+5位,许可类型用A、B、C、D、E、F分别表示新办、变更、延续、补正、注销、撤销
                    var xingZhengQuYu = entities[0].JianGuanPianOu;
                    var jingyingleibie = 1;
                    var nianfen = DateTime.Now.ToString("yy");
                    var xuKeLeiXing = "C";
                    var DangAnBaianHao = xingZhengQuYu + jingyingleibie + nianfen + xuKeLeiXing;
                    var shiPinJingYingXuKeGuiDang = _ioc.Query<ShiPinJingYingXuKeGuiDang>()
                        .Where(e => e.DangAnHao.Contains(DangAnBaianHao))
                        .OrderByDescending(e => e.DangAnHao)
                        .FirstOrDefault();
                    if (shiPinJingYingXuKeGuiDang == null)
                    {
                        var dangAnBaianHao = DangAnBaianHao + "00001";
                        var shiPinJingYingXuKeGuiDang1 = new ShiPinJingYingXuKeGuiDang
                        {
                            ShenQingShenHeBiaoID = entities[0].ID,
                            JingYingZheID = entities[0].JingYingZheID,
                            JingYingZheMingChen = entities[0].JingYingZheMingChen,
                            SheHuiXinYongDaiMa = entities[0].SheHuiXinYongDaiMa,
                            XuKeZhengBianHao = entities[0].XuKeZhengBianHao,
                            XuKeLeiXing = entities[0].ShenQingLeiXing,
                            DiZhi = entities[0].JingYingChangSuo,
                            FaZhengJiGuan = entities[0].RiChangJianDuGuanLiJiGou,
                            GuiDangRen = null,
                            GuiDangRiQi = DateTime.Now,
                            JingYingLeiBie = "食品经营",
                            IsGuiDang = false,
                            DangAnHao = dangAnBaianHao
                        };
                        shiPinJingYingXuKeGuiDang1.Insert().SaveToDB();
                    }
                    else
                    {
                        var dangAnBaianHao1 = shiPinJingYingXuKeGuiDang.DangAnHao.Remove(0, 10);
                        var danganhao = int.Parse(dangAnBaianHao1) + 1;
                        var danganhao2 = danganhao.ToString("00000");
                        danganhao2 = danganhao2.ToString().PadLeft(5, '0');
                        var danganhao3 = DangAnBaianHao + danganhao2;
                        var shiPinJingYingXuKeGuiDangs = new ShiPinJingYingXuKeGuiDang
                        {
                            ShenQingShenHeBiaoID = entities[0].ID,
                            JingYingZheID = entities[0].JingYingZheID,
                            JingYingZheMingChen = entities[0].JingYingZheMingChen,
                            SheHuiXinYongDaiMa = entities[0].SheHuiXinYongDaiMa,
                            XuKeZhengBianHao = entities[0].XuKeZhengBianHao,
                            XuKeLeiXing = entities[0].ShenQingLeiXing,
                            DiZhi = entities[0].JingYingChangSuo,
                            FaZhengJiGuan = entities[0].RiChangJianDuGuanLiJiGou,
                            GuiDangRen = null,
                            GuiDangRiQi = DateTime.Now,
                            JingYingLeiBie = "食品经营",
                            IsGuiDang = false,
                            DangAnHao = danganhao3
                        };
                        shiPinJingYingXuKeGuiDangs.Insert().SaveToDB();
                    }
                }
                if (entities[0].ShenQingLeiXing == "补证")
                {
                    //审批通过时向【食品经营许可归档】实体插入新纪录
                    //档案号编码规则:1、    档案号:行政区域6位,年号2位,许可类型1位+5位,许可类型用A、B、C、D、E、F分别表示新办、变更、延续、补正、注销、撤销
                    var xingZhengQuYu = entities[0].JianGuanPianOu;
                    var jingyingleibie = 1;
                    var nianfen = DateTime.Now.ToString("yy");
                    var xuKeLeiXing = "D";
                    var DangAnBaianHao = xingZhengQuYu + jingyingleibie + nianfen + xuKeLeiXing;
                    var shiPinJingYingXuKeGuiDang = _ioc.Query<ShiPinJingYingXuKeGuiDang>()
                        .Where(e => e.DangAnHao.Contains(DangAnBaianHao))
                        .OrderByDescending(e => e.DangAnHao)
                        .FirstOrDefault();
                    if (shiPinJingYingXuKeGuiDang == null)
                    {
                        var dangAnBaianHao = DangAnBaianHao + "00001";
                        var shiPinJingYingXuKeGuiDang1 = new ShiPinJingYingXuKeGuiDang
                        {
                            ShenQingShenHeBiaoID = entities[0].ID,
                            JingYingZheID = entities[0].JingYingZheID,
                            JingYingZheMingChen = entities[0].JingYingZheMingChen,
                            SheHuiXinYongDaiMa = entities[0].SheHuiXinYongDaiMa,
                            XuKeZhengBianHao = entities[0].XuKeZhengBianHao,
                            XuKeLeiXing = entities[0].ShenQingLeiXing,
                            DiZhi = entities[0].JingYingChangSuo,
                            FaZhengJiGuan = entities[0].RiChangJianDuGuanLiJiGou,
                            GuiDangRen = null,
                            GuiDangRiQi = DateTime.Now,
                            JingYingLeiBie = "食品经营",
                            IsGuiDang = false,
                            DangAnHao = dangAnBaianHao
                        };
                        shiPinJingYingXuKeGuiDang1.Insert().SaveToDB();
                    }
                    else
                    {
                        var dangAnBaianHao1 = shiPinJingYingXuKeGuiDang.DangAnHao.Remove(0, 10);
                        var danganhao = int.Parse(dangAnBaianHao1) + 1;
                        var danganhao2 = danganhao.ToString("00000");
                        danganhao2 = danganhao2.ToString().PadLeft(5, '0');
                        var danganhao3 = DangAnBaianHao + danganhao2;
                        var shiPinJingYingXuKeGuiDangs = new ShiPinJingYingXuKeGuiDang
                        {
                            ShenQingShenHeBiaoID = entities[0].ID,
                            JingYingZheID = entities[0].JingYingZheID,
                            JingYingZheMingChen = entities[0].JingYingZheMingChen,
                            SheHuiXinYongDaiMa = entities[0].SheHuiXinYongDaiMa,
                            XuKeZhengBianHao = entities[0].XuKeZhengBianHao,
                            XuKeLeiXing = entities[0].ShenQingLeiXing,
                            DiZhi = entities[0].JingYingChangSuo,
                            FaZhengJiGuan = entities[0].RiChangJianDuGuanLiJiGou,
                            GuiDangRen = null,
                            GuiDangRiQi = DateTime.Now,
                            JingYingLeiBie = "食品经营",
                            IsGuiDang = false,
                            DangAnHao = danganhao3
                        };
                        shiPinJingYingXuKeGuiDangs.Insert().SaveToDB();
                    }
                }
                r.Data = entities.ToExtJsUpdateResultData<ShenQingShenHeBiaoSPJYXK, Guid>();    // 将更新后的实体的ID和时间戳返回前端
                r.Messages.Add($"更新{entities.Count}条记录成功!");
            }
            return r;
            #endregion
        }

 

posted on 2018-11-03 09:40  叫我谣叔  阅读(654)  评论(0编辑  收藏  举报