|
@@ -7455,7 +7455,7 @@ FROM
|
|
|
.Where((dac, ntf, sd) => dac.IsDel == 0 && dac.DiId == dto.DiId)
|
|
|
.Select((dac, ntf, sd) => new DayAndCostMobileInfoView
|
|
|
{
|
|
|
- Id = dac.Id,
|
|
|
+ SubId = dac.Id,
|
|
|
DiId = dac.DiId,
|
|
|
Type = dac.Type,
|
|
|
Days = dac.Days,
|
|
@@ -7485,7 +7485,7 @@ FROM
|
|
|
.OrderBy((dop, sd1, sd2) => dop.Index)
|
|
|
.Select((dop, sd1, sd2) => new DayOtherPriceMobileInfoView
|
|
|
{
|
|
|
- Id = dop.Id,
|
|
|
+ SubId = dop.Id,
|
|
|
DiId = dop.Diid,
|
|
|
Index = dop.Index,
|
|
|
SetDataId = dop.SetDataId,
|
|
@@ -7564,7 +7564,7 @@ FROM
|
|
|
.Where((dac, ntf, sd) => dac.IsDel == 0 && dac.DiId == dto.DiId && dac.Type == 1)
|
|
|
.Select((dac, ntf, sd) => new DayAndCostMobileInfoView
|
|
|
{
|
|
|
- Id = dac.Id,
|
|
|
+ SubId = dac.Id,
|
|
|
DiId = dac.DiId,
|
|
|
Type = dac.Type,
|
|
|
Days = dac.Days,
|
|
@@ -7578,7 +7578,7 @@ FROM
|
|
|
.ToArray();
|
|
|
|
|
|
var data = new ChoiceThreeMobileSubInfoView() {
|
|
|
- Id = eecInfo.Id,
|
|
|
+ ParentId = eecInfo.Id,
|
|
|
ChoiceThree = eecInfo.ChoiceThree,
|
|
|
ChoiceThreeTotalCost = dayAndCostDatas.Sum(x => x.SubTotal),
|
|
|
Details = dayAndCostDatas
|
|
@@ -7594,7 +7594,7 @@ FROM
|
|
|
.Where((dac, ntf, sd) => dac.IsDel == 0 && dac.DiId == dto.DiId && dac.Type == 2)
|
|
|
.Select((dac, ntf, sd) => new DayAndCostMobileInfoView
|
|
|
{
|
|
|
- Id = dac.Id,
|
|
|
+ SubId = dac.Id,
|
|
|
DiId = dac.DiId,
|
|
|
Type = dac.Type,
|
|
|
Days = dac.Days,
|
|
@@ -7609,7 +7609,7 @@ FROM
|
|
|
|
|
|
var data = new ChoiceFourMobileSubInfoView()
|
|
|
{
|
|
|
- Id = eecInfo.Id,
|
|
|
+ ParentId = eecInfo.Id,
|
|
|
ChoiceFour = eecInfo.ChoiceFour,
|
|
|
ChoiceFourTotalCost = dayAndCostDatas.Sum(x => x.SubTotal),
|
|
|
Details = dayAndCostDatas
|
|
@@ -7624,7 +7624,7 @@ FROM
|
|
|
.Where((dac, ntf, sd) => dac.IsDel == 0 && dac.DiId == dto.DiId && dac.Type == 3)
|
|
|
.Select((dac, ntf, sd) => new DayAndCostMobileInfoView
|
|
|
{
|
|
|
- Id = dac.Id,
|
|
|
+ SubId = dac.Id,
|
|
|
DiId = dac.DiId,
|
|
|
Type = dac.Type,
|
|
|
Days = dac.Days,
|
|
@@ -7639,7 +7639,7 @@ FROM
|
|
|
|
|
|
var data = new ChoiceFiveMobileSubInfoView()
|
|
|
{
|
|
|
- Id = eecInfo.Id,
|
|
|
+ ParentId = eecInfo.Id,
|
|
|
ChoiceFive = eecInfo.ChoiceFive,
|
|
|
ChoiceFiveTotalCost = dayAndCostDatas.Sum(x => x.SubTotal),
|
|
|
Details = dayAndCostDatas
|
|
@@ -7654,7 +7654,7 @@ FROM
|
|
|
.Where((dac, ntf, sd) => dac.IsDel == 0 && dac.DiId == dto.DiId && dac.Type == 4)
|
|
|
.Select((dac, ntf, sd) => new DayAndCostMobileInfoView
|
|
|
{
|
|
|
- Id = dac.Id,
|
|
|
+ SubId = dac.Id,
|
|
|
DiId = dac.DiId,
|
|
|
Type = dac.Type,
|
|
|
Days = dac.Days,
|
|
@@ -7669,7 +7669,7 @@ FROM
|
|
|
|
|
|
var data = new ChoiceSixMobileSubInfoView()
|
|
|
{
|
|
|
- Id = eecInfo.Id,
|
|
|
+ ParentId = eecInfo.Id,
|
|
|
ChoiceSix = eecInfo.ChoiceSix,
|
|
|
ChoiceSixTotalCost = dayAndCostDatas.Sum(x => x.SubTotal),
|
|
|
Details = dayAndCostDatas
|
|
@@ -7686,7 +7686,7 @@ FROM
|
|
|
.OrderBy((dop, sd1, sd2) => dop.Index)
|
|
|
.Select((dop, sd1, sd2) => new DayOtherPriceMobileInfoView
|
|
|
{
|
|
|
- Id = dop.Id,
|
|
|
+ SubId = dop.Id,
|
|
|
DiId = dop.Diid,
|
|
|
Index = dop.Index,
|
|
|
SetDataId = dop.SetDataId,
|
|
@@ -7701,7 +7701,7 @@ FROM
|
|
|
|
|
|
var data = new ChoiceSevenMobileSubInfoView()
|
|
|
{
|
|
|
- Id = eecInfo.Id,
|
|
|
+ ParentId = eecInfo.Id,
|
|
|
OtherExpenses_Checked = eecInfo.OtherExpenses_Checked,
|
|
|
OtherExpensesTotalCost = otherData.Sum(x => x.SubTotal),
|
|
|
Details = otherData
|
|
@@ -7921,8 +7921,7 @@ FROM
|
|
|
|
|
|
var info = _mapper.Map<Grp_EnterExitCost>(dto);
|
|
|
info.InsidePay = dto.Visa + dto.Service + dto.Safe + dto.Ticket + dto.HeSuan + dto.YiMiao;
|
|
|
- info.ChoiceOne = dto.IsSelected;
|
|
|
-
|
|
|
+
|
|
|
int id = dto.Id;
|
|
|
if (id <= 0) //add
|
|
|
{
|
|
@@ -7936,6 +7935,7 @@ FROM
|
|
|
{
|
|
|
var upd = await _sqlSugar.Updateable(info)
|
|
|
.UpdateColumns(x => new {
|
|
|
+ x.ChoiceOne,
|
|
|
x.InsidePay,
|
|
|
x.VisaRemark,
|
|
|
x.Visa,
|
|
@@ -7970,6 +7970,9 @@ FROM
|
|
|
if (dto.CurrUserId < 1) return Ok(JsonView(false, MsgTips.UserId));
|
|
|
|
|
|
var info = _mapper.Map<Grp_EnterExitCost>(dto);
|
|
|
+ info.AirJJC_Checked = dto.ChoiceTwoJJ;
|
|
|
+ info.AirGWC_Checked = dto.ChoiceTwoGW;
|
|
|
+ info.AirTDC_Checked = dto.ChoiceTwoTD;
|
|
|
|
|
|
int id = dto.Id;
|
|
|
decimal jjcItemTotal = 0.00M, gwcItemTotal = 0.00M, tdcItemTotal = 0.00M;
|
|
@@ -7985,8 +7988,11 @@ FROM
|
|
|
{
|
|
|
var upd = await _sqlSugar.Updateable(info)
|
|
|
.UpdateColumns(x => new {
|
|
|
+ x.AirJJC_Checked,
|
|
|
x.OutsideJJPay,
|
|
|
+ x.AirGWC_Checked,
|
|
|
x.OutsideGWPay,
|
|
|
+ x.AirTDC_Checked,
|
|
|
x.OutsideTDPay,
|
|
|
x.AirJJ,
|
|
|
x.AirGW,
|
|
@@ -8006,7 +8012,15 @@ FROM
|
|
|
//消息通知
|
|
|
await EnterExitCostMobileOpNotice(dto.DiId, id, dto.CurrUserId);
|
|
|
|
|
|
- return Ok(JsonView(new { jjcItemTotal = jjcItemTotal, gwcItemTotal = gwcItemTotal, tdcItemTotal = tdcItemTotal }));
|
|
|
+ return Ok(JsonView(new
|
|
|
+ {
|
|
|
+ choiceTwoJJ = dto.ChoiceTwoJJ,
|
|
|
+ jjcItemTotal = jjcItemTotal,
|
|
|
+ choiceTwoGW = dto.ChoiceTwoGW,
|
|
|
+ gwcItemTotal = gwcItemTotal,
|
|
|
+ choiceTwoTD = dto.ChoiceTwoTD,
|
|
|
+ tdcItemTotal = tdcItemTotal
|
|
|
+ }));
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -8081,43 +8095,122 @@ FROM
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
public async Task<IActionResult> PostEnterExitCostMobileOpSingleStep3To6(PostEnterExitCostMobileOpSingleStep3To6Dto dto)
|
|
|
{
|
|
|
+ var feeTypeIds = new List<int>() { 1, 2, 3, 4, };
|
|
|
+ int parentId = dto.ParentId, subId = dto.SubId, feeType = dto.FeeType;
|
|
|
+
|
|
|
if (!_portTypeData.Contains(dto.PortType)) return Ok(JsonView(false, MsgTips.Port));
|
|
|
if (dto.DiId < 1) return Ok(JsonView(false, MsgTips.DiId));
|
|
|
if (dto.CurrUserId < 1) return Ok(JsonView(false, MsgTips.UserId));
|
|
|
|
|
|
- var feeTypeIds = new List<int>() { 1, 2, 3, 4, };
|
|
|
- if (!feeTypeIds.Contains(dto.FeeType)) return Ok(JsonView(false, "请传入有效的费用类型!"));
|
|
|
- var info = _mapper.Map<Grp_DayAndCost>(dto);
|
|
|
- info.CreateUserId = dto.CurrUserId;
|
|
|
+ if (!feeTypeIds.Contains(feeType)) return Ok(JsonView(false, "请传入有效的费用类型!"));
|
|
|
|
|
|
- if (info.Id < 1) //添加
|
|
|
+ var parentInfo = new Grp_EnterExitCost();
|
|
|
+ parentInfo.Id = dto.ParentId;
|
|
|
+ parentInfo.CreateUserId = dto.CurrUserId;
|
|
|
+
|
|
|
+ if (feeType == 1) parentInfo.ChoiceThree = dto.IsSelect;
|
|
|
+ else if (feeType == 2) parentInfo.ChoiceFour = dto.IsSelect;
|
|
|
+ else if (feeType == 3) parentInfo.ChoiceFive = dto.IsSelect;
|
|
|
+ else if (feeType == 4) parentInfo.ChoiceSix = dto.IsSelect;
|
|
|
+
|
|
|
+ var subInfo = _mapper.Map<Grp_DayAndCost>(dto);
|
|
|
+ subInfo.Id = subId;
|
|
|
+ subInfo.CreateUserId = dto.CurrUserId;
|
|
|
+
|
|
|
+ _sqlSugar.BeginTran();
|
|
|
+ //主表op
|
|
|
+ if (parentId < 1) //添加
|
|
|
{
|
|
|
- var add = await _sqlSugar.Insertable(info).ExecuteCommandAsync();
|
|
|
- if (add < 1) return Ok(JsonView(false));
|
|
|
+ var parentAdd = await _sqlSugar.Insertable(parentInfo).ExecuteCommandAsync();
|
|
|
+ if (parentAdd < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false));
|
|
|
+ }
|
|
|
+
|
|
|
+ //子表op
|
|
|
+ if (subId < 1)
|
|
|
+ {
|
|
|
+ var subAdd = await _sqlSugar.Insertable(subInfo).ExecuteCommandAsync();
|
|
|
+ if (subAdd < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var subUpd = await _sqlSugar.Updateable(subInfo)
|
|
|
+ .UpdateColumns(x => new
|
|
|
+ {
|
|
|
+ x.Days,
|
|
|
+ x.NationalTravelFeeId,
|
|
|
+ x.Cost,
|
|
|
+ x.Currency,
|
|
|
+ x.SubTotal
|
|
|
+ })
|
|
|
+ .WhereColumns(x => new { x.Id })
|
|
|
+ .ExecuteCommandAsync();
|
|
|
+ if (subUpd < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false));
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- var upd = await _sqlSugar.Updateable(info)
|
|
|
- .UpdateColumns(x => new
|
|
|
- {
|
|
|
- x.Days,
|
|
|
- x.NationalTravelFeeId,
|
|
|
- x.Cost,
|
|
|
- x.Currency,
|
|
|
- x.SubTotal
|
|
|
- })
|
|
|
- .WhereColumns(x => new { x.Id })
|
|
|
+ var parentUpd = await _sqlSugar.Updateable<Grp_EnterExitCost>()
|
|
|
+ .SetColumnsIF(feeType == 1, it => it.ChoiceThree == dto.IsSelect)
|
|
|
+ .SetColumnsIF(feeType == 2, it => it.ChoiceFour == dto.IsSelect)
|
|
|
+ .SetColumnsIF(feeType == 3, it => it.ChoiceFive == dto.IsSelect)
|
|
|
+ .SetColumnsIF(feeType == 4, it => it.ChoiceSix == dto.IsSelect)
|
|
|
+ .Where(it => it.Id == parentId)
|
|
|
.ExecuteCommandAsync();
|
|
|
- if (upd < 1) return Ok(JsonView(false));
|
|
|
- }
|
|
|
|
|
|
+ if (parentUpd < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false));
|
|
|
+ }
|
|
|
+
|
|
|
+ //子表op
|
|
|
+ if (subId < 1)
|
|
|
+ {
|
|
|
+ var subAdd = await _sqlSugar.Insertable(subInfo).ExecuteCommandAsync();
|
|
|
+ if (subAdd < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var subUpd = await _sqlSugar.Updateable(subInfo)
|
|
|
+ .UpdateColumns(x => new
|
|
|
+ {
|
|
|
+ x.Days,
|
|
|
+ x.NationalTravelFeeId,
|
|
|
+ x.Cost,
|
|
|
+ x.Currency,
|
|
|
+ x.SubTotal
|
|
|
+ })
|
|
|
+ .WhereColumns(x => new { x.Id })
|
|
|
+ .ExecuteCommandAsync();
|
|
|
+ if (subUpd < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ _sqlSugar.CommitTran();
|
|
|
var itemTotal = _sqlSugar.Queryable<Grp_DayAndCost>().Where(x => x.IsDel == 0 && x.DiId == dto.DiId && x.Type == dto.FeeType).Sum(x => x.SubTotal);
|
|
|
|
|
|
//消息通知
|
|
|
- var id = _sqlSugar.Queryable<Grp_EnterExitCost>().Where(x => x.IsDel == 0 && x.DiId == dto.DiId).First()?.Id ?? 0;
|
|
|
- await EnterExitCostMobileOpNotice(dto.DiId, id, dto.CurrUserId);
|
|
|
+ await EnterExitCostMobileOpNotice(dto.DiId, parentId, dto.CurrUserId);
|
|
|
|
|
|
- return Ok(JsonView(new { itemTotal = itemTotal }));
|
|
|
+ return Ok(JsonView(new { isSelect = dto.IsSelect, itemTotal = itemTotal }));
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
@@ -8186,42 +8279,118 @@ FROM
|
|
|
[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
|
|
|
public async Task<IActionResult> PostEnterExitCostMobileOpSingleStep7(PostEnterExitCostMobileOpSingleStep7Dto dto)
|
|
|
{
|
|
|
+ int parentId = dto.ParentId, subId = dto.SubId;
|
|
|
if (!_portTypeData.Contains(dto.PortType)) return Ok(JsonView(false, MsgTips.Port));
|
|
|
if (dto.DiId < 1) return Ok(JsonView(false, MsgTips.DiId));
|
|
|
if (dto.CurrUserId < 1) return Ok(JsonView(false, MsgTips.UserId));
|
|
|
|
|
|
- var info = _mapper.Map<Grp_DayOtherPrice>(dto);
|
|
|
- info.CreateUserId = dto.CurrUserId;
|
|
|
+ var parentInfo = new Grp_EnterExitCost();
|
|
|
+ parentInfo.Id = parentId;
|
|
|
+ parentInfo.OtherExpenses_Checked = dto.IsSelect;
|
|
|
+ parentInfo.CreateUserId = dto.CurrUserId;
|
|
|
+
|
|
|
+ var subInfo = _mapper.Map<Grp_DayOtherPrice>(dto);
|
|
|
+ subInfo.Id = subId;
|
|
|
+ subInfo.CreateUserId = dto.CurrUserId;
|
|
|
|
|
|
- if (info.Id < 1)//add
|
|
|
+ #region 主表op
|
|
|
+ _sqlSugar.BeginTran();
|
|
|
+ //主表op
|
|
|
+ if (parentId < 1)
|
|
|
{
|
|
|
- var add = await _sqlSugar.Insertable(info).ExecuteCommandAsync();
|
|
|
- if (add < 1) return Ok(JsonView(false));
|
|
|
+ var parentAdd = await _sqlSugar.Insertable(parentInfo).ExecuteCommandAsync();
|
|
|
+ if (parentAdd < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false));
|
|
|
+ }
|
|
|
+
|
|
|
+ #region 子表op
|
|
|
+ if (subId < 1)//add
|
|
|
+ {
|
|
|
+ var subAdd = await _sqlSugar.Insertable(subInfo).ExecuteCommandAsync();
|
|
|
+ if (subAdd < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else //upd
|
|
|
+ {
|
|
|
+ var subUpd = await _sqlSugar.Updateable(subInfo)
|
|
|
+ .UpdateColumns(x => new
|
|
|
+ {
|
|
|
+ x.Index,
|
|
|
+ x.SetDataId,
|
|
|
+ x.Cost,
|
|
|
+ x.Currency,
|
|
|
+ x.SubTotal,
|
|
|
+ x.Remark
|
|
|
+ })
|
|
|
+ .WhereColumns(x => new { x.Id })
|
|
|
+ .ExecuteCommandAsync();
|
|
|
+ if (subUpd < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
}
|
|
|
- else //upd
|
|
|
+ else
|
|
|
{
|
|
|
- var upd = await _sqlSugar.Updateable(info)
|
|
|
- .UpdateColumns(x => new
|
|
|
- {
|
|
|
- x.Index,
|
|
|
- x.SetDataId,
|
|
|
- x.Cost,
|
|
|
- x.Currency,
|
|
|
- x.SubTotal,
|
|
|
- x.Remark
|
|
|
- })
|
|
|
- .WhereColumns(x => new { x.Id })
|
|
|
+ var parentUpd = await _sqlSugar.Updateable<Grp_EnterExitCost>()
|
|
|
+ .SetColumns(it => it.OtherExpenses_Checked == dto.IsSelect)
|
|
|
+ .Where(it => it.Id == parentId)
|
|
|
.ExecuteCommandAsync();
|
|
|
- if (upd < 1) return Ok(JsonView(false));
|
|
|
+
|
|
|
+ if (parentUpd < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false));
|
|
|
+ }
|
|
|
+
|
|
|
+ #region 子表op
|
|
|
+ if (subId < 1)//add
|
|
|
+ {
|
|
|
+ var subAdd = await _sqlSugar.Insertable(subInfo).ExecuteCommandAsync();
|
|
|
+ if (subAdd < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else //upd
|
|
|
+ {
|
|
|
+ var subUpd = await _sqlSugar.Updateable(subInfo)
|
|
|
+ .UpdateColumns(x => new
|
|
|
+ {
|
|
|
+ x.Index,
|
|
|
+ x.SetDataId,
|
|
|
+ x.Cost,
|
|
|
+ x.Currency,
|
|
|
+ x.SubTotal,
|
|
|
+ x.Remark
|
|
|
+ })
|
|
|
+ .WhereColumns(x => new { x.Id })
|
|
|
+ .ExecuteCommandAsync();
|
|
|
+ if (subUpd < 1)
|
|
|
+ {
|
|
|
+ _sqlSugar.RollbackTran();
|
|
|
+ return Ok(JsonView(false));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ #endregion
|
|
|
}
|
|
|
+ _sqlSugar.CommitTran();
|
|
|
+ #endregion
|
|
|
|
|
|
var itemTotal = _sqlSugar.Queryable<Grp_DayOtherPrice>().Where(x => x.IsDel == 0 && x.Diid == dto.DiId).Sum(x => x.SubTotal);
|
|
|
|
|
|
//消息通知
|
|
|
- var id = _sqlSugar.Queryable<Grp_EnterExitCost>().Where(x => x.IsDel == 0 && x.DiId == dto.DiId).First()?.Id ?? 0;
|
|
|
- await EnterExitCostMobileOpNotice(dto.DiId, id, dto.CurrUserId);
|
|
|
+ await EnterExitCostMobileOpNotice(dto.DiId, parentId, dto.CurrUserId);
|
|
|
|
|
|
- return Ok(JsonView(new { itemTotal = itemTotal }));
|
|
|
+ return Ok(JsonView(new { isSelect = dto.IsSelect, itemTotal = itemTotal }));
|
|
|
}
|
|
|
|
|
|
#endregion
|