[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
}