diff --git a/DSWeb/Areas/SoftMng/Controllers/ExportController.cs b/DSWeb/Areas/SoftMng/Controllers/ExportController.cs
index b4441e12..e36f4715 100644
--- a/DSWeb/Areas/SoftMng/Controllers/ExportController.cs
+++ b/DSWeb/Areas/SoftMng/Controllers/ExportController.cs
@@ -1255,6 +1255,18 @@ namespace DSWeb.SoftMng.Controllers
}
+ //20230824 增加校验:
+ //1:货值超过50万,提示确认币值
+ //2、进出口报关单分项净重合计要与净重一致,系统比对提示
+ //3、境内收发货人与生产销售单位保持一致,不一致需要提示是否确认(用查询条件方式解决)
+ //4、进口报关单添加复核提示:特殊关系确认(用查询条件方式解决)
+ //5、原产国与启运国一致,否则提示(用查询条件方式解决)
+ //6、分项价格合计总数
+
+ var ch = 报关数值校验.getHelper(model, list);
+
+ ch.GetErrorString(ref errorstr);
+
if (errorstr != "") {
return Json(new { success = false, message ="审核条件不通过:"+errorstr});
@@ -1326,6 +1338,106 @@ namespace DSWeb.SoftMng.Controllers
}
}
+ ///
+ ///20230824 增加校验:
+ ///1:货值超过50万,提示确认币值
+ ///2、进出口报关单分项净重合计要与净重一致,系统比对提示
+ ///3、境内收发货人与生产销售单位保持一致,不一致需要提示是否确认(用查询条件方式解决)
+ ///4、进口报关单添加复核提示:特殊关系确认(用查询条件方式解决)
+ ///5、原产国与启运国一致,否则提示(用查询条件方式解决)
+ ///6、分项价格合计总数
+ ///
+ public class 报关数值校验 {
+ public DecHead head { get; set; }
+ public List body { get; set; }
+
+ public 报关数值校验() { }
+
+ public static 报关数值校验 getHelper(DecHead Head, List Body) {
+ var result = new 报关数值校验();
+
+ result.head = Head;
+ result.body = Body;
+
+ return result;
+ }
+
+ public DBResult DoCheck(string checktype) {
+ var result = new DBResult();
+ result.OK();
+
+ if (checktype=="明细净重")
+ { ///2、进出口报关单分项净重合计要与净重一致,系统比对提示
+ //用declist.FirstQty 的合计 与 dechead.NetWt 比对 如不一致则提示
+
+
+
+ var 第一法定数量合计 = 0M;
+ foreach (var item in body) {
+ if (item.FirstUnit_Text == "千克")
+ {
+ 第一法定数量合计 += item.FirstQty == null ? 0 : (decimal)item.FirstQty;
+ }
+ }
+
+ if (第一法定数量合计!=0M && 第一法定数量合计 != head.NetWt) {
+ result.SetErrorInfo($"明细合计净重{第一法定数量合计},与报关单净重{head.NetWt}不相等,请注意核对!");
+ }
+
+ }
+ if (checktype == "明细价格")
+ {
+ ///1:货值超过50万,提示确认币值
+ //用declist.DeclTotal 的合计 高于系统配置的50w则提示
+
+ var 金额合计 = 0M;
+ foreach (var item in body)
+ {
+ 金额合计 += item.DeclTotal == null ? 0 : (decimal)item.DeclTotal;
+ }
+
+ var maxvalue = 500000M;
+
+ var setamountmax= MsSysParamSetDAL.GetSysParamValue("OpApply_Check_MaxAmount");
+
+ if (!string.IsNullOrEmpty(setamountmax))
+ {
+ try {
+ maxvalue = Convert.ToDecimal(setamountmax);
+ }catch (Exception) { }
+
+ }
+
+ if (金额合计 > maxvalue)
+ {
+ result.SetErrorInfo($"金额合计{金额合计}大于警戒值{maxvalue},请注意核对!");
+ }
+
+ ///6、分项价格合计总数
+ //用declist.FirstQty 的合计 与 dechead.NetWt 比对 如不一致则提示
+ //头表没有金额合计 放弃
+ }
+ return result;
+
+
+
+ }
+
+ public void GetErrorString(ref string errorstr)
+ {
+ var _r = DoCheck("明细净重");
+ if (!_r.Success) {
+ errorstr += "
序号:9001 (" + _r.Message + ")";
+ }
+
+ _r = DoCheck("明细价格");
+ if (!_r.Success)
+ {
+ errorstr += "
序号:9002 (" + _r.Message + ")";
+ }
+ }
+ }
+
public JsonResult GetHead(string gid)
{
var model = bll.GetModel(gid);