Bladeren bron

2024年1月22日17:32:21

纪新园 2 jaren geleden
bovenliggende
commit
5ffea68f8a
30 gewijzigde bestanden met toevoegingen van 1441 en 186 verwijderingen
  1. 2 2
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/basic/corps/entity/BCorpsRename.java
  2. 40 28
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/aea/entity/AeaBills.java
  3. 14 14
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/amends/entity/Amends.java
  4. 2 2
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/dto/DecisionAnalysis.java
  5. 2 2
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/dto/WaitingBox.java
  6. 20 20
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Bills.java
  7. 6 6
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Containers.java
  8. 6 6
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/ContainersBills.java
  9. 2 2
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/check/entity/LosAuditPaths.java
  10. 10 10
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/check/entity/LosAuditProecess.java
  11. 14 14
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/entity/FeeCenter.java
  12. 20 20
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/entity/FinAccBills.java
  13. 2 2
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/vo/FinAccBillsVO.java
  14. 8 8
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/invoices/entity/FinInvoicesItems.java
  15. 8 8
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/stl/entity/FinStlBillsItems.java
  16. 6 6
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/vouchers/entity/FinVouchers.java
  17. 6 6
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/vouchers/entity/FinVouchersItems.java
  18. 13 13
      blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java
  19. 3 0
      blade-service/blade-los/src/main/java/org/springblade/los/billno/service/IBusinessBillNoService.java
  20. 95 0
      blade-service/blade-los/src/main/java/org/springblade/los/billno/service/impl/BusinessBillNoServiceImpl.java
  21. 114 2
      blade-service/blade-los/src/main/java/org/springblade/los/business/aea/controller/AeaBillsController.java
  22. 71 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/aea/service/IAeaBillsService.java
  23. 639 2
      blade-service/blade-los/src/main/java/org/springblade/los/business/aea/service/impl/AeaBillsServiceImpl.java
  24. 3 6
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/BillsMapper.xml
  25. 2 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java
  26. 2 0
      blade-service/blade-los/src/main/java/org/springblade/los/check/controller/AuditProecessController.java
  27. 2 0
      blade-service/blade-los/src/main/java/org/springblade/los/check/service/IAuditProecessService.java
  28. 275 0
      blade-service/blade-los/src/main/java/org/springblade/los/check/service/impl/AuditProecessServiceImpl.java
  29. 5 7
      blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/service/impl/FinStlBillsServiceImpl.java
  30. 49 0
      blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/controller/ProductLaunchController.java

+ 2 - 2
blade-service-api/blade-los-api/src/main/java/org/springblade/los/basic/corps/entity/BCorpsRename.java

@@ -128,8 +128,8 @@ public class BCorpsRename implements Serializable {
 	/**
 	 * 操作时间
 	 */
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd:ss")
+	@JsonFormat(pattern = "yyyy-MM-dd:ss")
 	@ApiModelProperty(value = "操作时间")
 	private Date byTime;
 	/**

+ 40 - 28
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/aea/entity/AeaBills.java

@@ -117,19 +117,19 @@ public class AeaBills implements Serializable {
 	@ApiModelProperty(value = "主运单类型")
 	private String waybillType;
 	/**
-	 * 客户 id
+	 * 主运单客户 id
 	 */
-	@ApiModelProperty(value = "客户 id")
+	@ApiModelProperty(value = "主运单客户 id")
 	private Long waybillId;
 	/**
-	 * 客户中文名称
+	 * 主运单客户中文名称
 	 */
-	@ApiModelProperty(value = "客户中文名称")
+	@ApiModelProperty(value = "主运单客户中文名称")
 	private String waybillCnName;
 	/**
-	 * 客户英文名称
+	 * 主运单客户英文名称
 	 */
-	@ApiModelProperty(value = "客户英文名称")
+	@ApiModelProperty(value = "主运单客户英文名称")
 	private String waybillEnName;
 	/**
 	 * 单据编号
@@ -150,24 +150,24 @@ public class AeaBills implements Serializable {
 	 * 单据日期
 	 */
 	@ApiModelProperty(value = "单据日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date billDate;
 	/**
 	 * 入货时间
 	 */
 	@ApiModelProperty(value = "入货时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date incomingGoodsDate;
 	/**
 	 * 提单确认日期
 	 */
 	@ApiModelProperty(value = "提单确认日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date billConfirmDate;
 	/**
@@ -254,8 +254,8 @@ public class AeaBills implements Serializable {
 	 * 订舱日期
 	 */
 	@ApiModelProperty(value = "订舱日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date bookingDate;
 	/**
@@ -287,8 +287,8 @@ public class AeaBills implements Serializable {
 	 * 航班日期
 	 */
 	@ApiModelProperty(value = "航班日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date etd;
 
@@ -301,16 +301,16 @@ public class AeaBills implements Serializable {
 	 * 发运日期
 	 */
 	@ApiModelProperty(value = "发运日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date realityEtd;
 	/**
 	 * eta日期
 	 */
 	@ApiModelProperty(value = "eta日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date eta;
 	/**
@@ -377,16 +377,16 @@ public class AeaBills implements Serializable {
 	 * 中转etd日期
 	 */
 	@ApiModelProperty(value = "中转etd日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date potEtd;
 	/**
 	 * 中转eta日期
 	 */
 	@ApiModelProperty(value = "中转eta日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date potEta;
 	/**
@@ -433,8 +433,8 @@ public class AeaBills implements Serializable {
 	 * 签发日期
 	 */
 	@ApiModelProperty(value = "签发日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date issueDate;
 	/**
@@ -738,9 +738,9 @@ public class AeaBills implements Serializable {
 	@ApiModelProperty(value = "币别")
 	private String curCode;
 	/**
-	 * 宽度
+	 * 汇率
 	 */
-	@ApiModelProperty(value = "宽度")
+	@ApiModelProperty(value = "汇率")
 	private BigDecimal currency;
 	/**
 	 * 运价等级
@@ -1092,6 +1092,18 @@ public class AeaBills implements Serializable {
 	private String tenantId;
 
 	/**
+	 * 委托人
+	 */
+	@ApiModelProperty(value = "委托人")
+	private Long clientId;
+
+	/**
+	 * 委托人
+	 */
+	@ApiModelProperty(value = "委托人")
+	private String clientName;
+
+	/**
 	 * 物流-费用中心(付)
 	 */
 	@TableField(exist = false)

+ 14 - 14
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/amends/entity/Amends.java

@@ -110,8 +110,8 @@ public class Amends implements Serializable {
 	 * 单据日期
 	 */
 	@ApiModelProperty(value = "单据日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date billDate;
 
@@ -130,8 +130,8 @@ public class Amends implements Serializable {
 	 * 财务日期
 	 */
 	@ApiModelProperty(value = "财务日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date accountDate;
 	/**
@@ -163,16 +163,16 @@ public class Amends implements Serializable {
 	 * 单据日期
 	 */
 	@ApiModelProperty(value = "单据日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date origBillDate;
 	/**
 	 * 财务日期
 	 */
 	@ApiModelProperty(value = "财务日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date origAccountDate;
 	/**
@@ -254,8 +254,8 @@ public class Amends implements Serializable {
 	 * 订舱日期
 	 */
 	@ApiModelProperty(value = "订舱日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date bookingDate;
 	/**
@@ -297,8 +297,8 @@ public class Amends implements Serializable {
 	 * 开船日期
 	 */
 	@ApiModelProperty(value = "开船日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date etd;
 
@@ -317,8 +317,8 @@ public class Amends implements Serializable {
 	 * 到港日期
 	 */
 	@ApiModelProperty(value = "到港日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date eta;
 	/**

+ 2 - 2
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/dto/DecisionAnalysis.java

@@ -101,8 +101,8 @@ public class DecisionAnalysis {
 	/**
 	 * 到港日期
 	 */
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private String eta;
 
 	/**

+ 2 - 2
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/dto/WaitingBox.java

@@ -85,8 +85,8 @@ public class WaitingBox {
 	/**
 	 * 到港日期
 	 */
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date eta;
 

+ 20 - 20
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Bills.java

@@ -84,8 +84,8 @@ public class Bills implements Serializable {
 	 * 创建时间
 	 */
 	@ApiModelProperty(value = "创建时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date createTime;
 	/**
 	 * 修改人 Id
@@ -101,8 +101,8 @@ public class Bills implements Serializable {
 	 * 修改时间
 	 */
 	@ApiModelProperty(value = "修改时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date updateTime;
 	/**
 	 * 业务类型, SE=海运出口 SI=海运进口
@@ -138,16 +138,16 @@ public class Bills implements Serializable {
 	 * 单据日期
 	 */
 	@ApiModelProperty(value = "单据日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date billDate;
 	/**
 	 * 财务日期
 	 */
 	@ApiModelProperty(value = "财务日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date accountDate;
 	/**
@@ -284,16 +284,16 @@ public class Bills implements Serializable {
 	 * 订舱日期
 	 */
 	@ApiModelProperty(value = "订舱日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date bookingDate;
 	/**
 	 * 退舱时间 yyyy-MM-dd hh:nn
 	 */
 	@ApiModelProperty(value = "退舱时间 yyyy-MM-dd hh:nn")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date bookingWithdrawTime;
 	/**
@@ -354,8 +354,8 @@ public class Bills implements Serializable {
 	 * 到港日期
 	 */
 	@ApiModelProperty(value = "到港日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date eta;
 	/**
@@ -532,8 +532,8 @@ public class Bills implements Serializable {
 	 * 签单日期
 	 */
 	@ApiModelProperty(value = "签单日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date issueDate;
 	/**
@@ -1071,16 +1071,16 @@ public class Bills implements Serializable {
 	 * 场站背箱时间 yyyy-MM-dd hh:nn
 	 */
 	@ApiModelProperty(value = "场站背箱时间 yyyy-MM-dd hh:nn")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date cyTrailerTime;
 	/**
 	 * 返场(回箱)时间 yyyy-MM-dd hh:nn
 	 */
 	@ApiModelProperty(value = "返场(回箱)时间 yyyy-MM-dd hh:nn")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date cyReturnTime;
 	/**

+ 6 - 6
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Containers.java

@@ -79,8 +79,8 @@ public class Containers implements Serializable {
 	 * 创建时间
 	 */
 	@ApiModelProperty(value = "创建时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date createTime;
 	/**
 	 * 修改人 Id
@@ -96,8 +96,8 @@ public class Containers implements Serializable {
 	 * 修改时间
 	 */
 	@ApiModelProperty(value = "修改时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date updateTime;
 	/**
 	 * 主表id
@@ -283,8 +283,8 @@ public class Containers implements Serializable {
 	 * VGM 日期
 	 */
 	@ApiModelProperty(value = "VGM 日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date vgmDate;
 	/**

+ 6 - 6
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/ContainersBills.java

@@ -77,8 +77,8 @@ public class ContainersBills implements Serializable {
 	 * 创建时间
 	 */
 	@ApiModelProperty(value = "创建时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date createTime;
 	/**
 	 * 修改人 Id
@@ -94,8 +94,8 @@ public class ContainersBills implements Serializable {
 	 * 修改时间
 	 */
 	@ApiModelProperty(value = "修改时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date updateTime;
 	/**
 	 * 主表 los_sea_bills.id
@@ -179,8 +179,8 @@ public class ContainersBills implements Serializable {
 	 * 到港日期
 	 */
 	@ApiModelProperty(value = "到港日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date eta;
 	/**

+ 2 - 2
blade-service-api/blade-los-api/src/main/java/org/springblade/los/check/entity/LosAuditPaths.java

@@ -66,8 +66,8 @@ public class LosAuditPaths implements Serializable {
 	 * 维护时间
 	 */
 	@ApiModelProperty(value = "维护时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date opDate;
 	/**

+ 10 - 10
blade-service-api/blade-los-api/src/main/java/org/springblade/los/check/entity/LosAuditProecess.java

@@ -89,8 +89,8 @@ public class LosAuditProecess implements Serializable {
 	 * 请核时间
 	 */
 	@ApiModelProperty(value = "请核时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date sendTime;
 	/**
@@ -107,16 +107,16 @@ public class LosAuditProecess implements Serializable {
 	 * 审核通过时间
 	 */
 	@ApiModelProperty(value = "审核通过时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date auditItem;
 	/**
 	 * 审核时间
 	 */
 	@ApiModelProperty(value = "审核时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date auditOpTime;
 	/**
@@ -133,8 +133,8 @@ public class LosAuditProecess implements Serializable {
 	 * 业务日期
 	 */
 	@ApiModelProperty(value = "业务日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date billTime;
 
@@ -185,11 +185,11 @@ public class LosAuditProecess implements Serializable {
 	private Long corpId;
 
 	@TableField(exist = false)
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd:ss")
 	private Date applybegintime;
 
 	@TableField(exist = false)
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+	@DateTimeFormat(pattern = "yyyy-MM-dd:ss")
 	private Date applyendtime;
 
 	/**

+ 14 - 14
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/entity/FeeCenter.java

@@ -125,15 +125,15 @@ public class FeeCenter implements Serializable {
 	 * 单据日期
 	 */
 	@ApiModelProperty(value = "单据日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date billDate;
 	/**
 	 * 财务日期
 	 */
 	@ApiModelProperty(value = "财务日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date accountDate;
 	/**
 	 * 财务年
@@ -262,8 +262,8 @@ public class FeeCenter implements Serializable {
 	 * 到港日期
 	 */
 	@ApiModelProperty(value = "到港日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date eta;
 	/**
 	 * 到港日期
@@ -445,8 +445,8 @@ public class FeeCenter implements Serializable {
 	 * 账单日期
 	 */
 	@ApiModelProperty(value = "账单日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date accDate;
 	/**
@@ -483,8 +483,8 @@ public class FeeCenter implements Serializable {
 	 * 对账单日期
 	 */
 	@ApiModelProperty(value = "对账单日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date checkDate;
 	/**
 	 * 对账单金额
@@ -520,8 +520,8 @@ public class FeeCenter implements Serializable {
 	 * 结算单日期
 	 */
 	@ApiModelProperty(value = "结算单日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date stlDate;
 	/**
@@ -598,8 +598,8 @@ public class FeeCenter implements Serializable {
 	 * 凭证日期
 	 */
 	@ApiModelProperty(value = "凭证日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date voucherDate;
 	/**
 	 * 凭证状态 0 = 未开 1=已开

+ 20 - 20
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/entity/FinAccBills.java

@@ -103,8 +103,8 @@ public class FinAccBills implements Serializable {
 	 * 账单日期
 	 */
 	@ApiModelProperty(value = "账单日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date billDate;
 
 	/**
@@ -126,8 +126,8 @@ public class FinAccBills implements Serializable {
 	 * 财务日期
 	 */
 	@ApiModelProperty(value = "财务日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date accountDate;
 
 	/**
@@ -164,8 +164,8 @@ public class FinAccBills implements Serializable {
 	 * 业务单据日期(主单,直单)
 	 */
 	@ApiModelProperty(value = "业务单据日期(主单,直单)")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date businessDate;
 	/**
 	 * 业务单据日期(主单,直单)
@@ -191,8 +191,8 @@ public class FinAccBills implements Serializable {
 	 * 业务单据日期(分单)
 	 */
 	@ApiModelProperty(value = "业务单据日期(分单)")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date businessDivideDate;
 	/**
 	 * 业务单据日期(分单)
@@ -309,15 +309,15 @@ public class FinAccBills implements Serializable {
 	 * 开船日期
 	 */
 	@ApiModelProperty(value = "开船日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date etd;
 	/**
 	 * 到港日期
 	 */
 	@ApiModelProperty(value = "到港日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date eta;
 	/**
 	 * 装货港 id
@@ -414,8 +414,8 @@ public class FinAccBills implements Serializable {
 	 */
 	@ApiModelProperty(value = "结算日期")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date stlDate;
 	/**
 	 * 结算日期
@@ -476,8 +476,8 @@ public class FinAccBills implements Serializable {
 	 * 发票日期
 	 */
 	@ApiModelProperty(value = "发票日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date invoiceDate;
 	/**
 	 * 发票日期
@@ -508,8 +508,8 @@ public class FinAccBills implements Serializable {
 	 * 凭证日期
 	 */
 	@ApiModelProperty(value = "凭证日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date voucherDate;
 	/**
@@ -599,8 +599,8 @@ public class FinAccBills implements Serializable {
 	 * 审核日期
 	 */
 	@ApiModelProperty(value = "审核日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date approvedDate;
 
 	/**

+ 2 - 2
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/fee/vo/FinAccBillsVO.java

@@ -220,8 +220,8 @@ public class FinAccBillsVO extends FinAccBills {
 	/**
 	 * 签收日期
 	 */
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date signforDate;
 

+ 8 - 8
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/invoices/entity/FinInvoicesItems.java

@@ -120,15 +120,15 @@ public class FinInvoicesItems implements Serializable {
 	 * 对账/结算日期
 	 */
 	@ApiModelProperty(value = "对账/结算日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date billDate;
 	/**
 	 * 业务财务日期
 	 */
 	@ApiModelProperty(value = "业务财务日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date accountDate;
 	/**
 	 * 财务年
@@ -266,8 +266,8 @@ public class FinInvoicesItems implements Serializable {
 	 * 到港日期
 	 */
 	@ApiModelProperty(value = "到港日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date eta;
 	/**
 	 * 装货港 id
@@ -363,8 +363,8 @@ public class FinInvoicesItems implements Serializable {
 	 * 账单日期
 	 */
 	@ApiModelProperty(value = "账单日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	private Date accDate;
 	/**
 	 * 费用收付 D-Debit C=Credit

+ 8 - 8
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/stl/entity/FinStlBillsItems.java

@@ -127,16 +127,16 @@ public class FinStlBillsItems implements Serializable {
 	 * 对账/结算日期
 	 */
 	@ApiModelProperty(value = "对账/结算日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date billDate;
 	/**
 	 * 业务财务日期
 	 */
 	@ApiModelProperty(value = "业务财务日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date accountDate;
 	/**
@@ -291,8 +291,8 @@ public class FinStlBillsItems implements Serializable {
 	 * 到港日期
 	 */
 	@ApiModelProperty(value = "到港日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date eta;
 	/**
@@ -389,8 +389,8 @@ public class FinStlBillsItems implements Serializable {
 	 * 账单日期
 	 */
 	@ApiModelProperty(value = "账单日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date accDate;
 	/**

+ 6 - 6
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/vouchers/entity/FinVouchers.java

@@ -118,8 +118,8 @@ public class FinVouchers implements Serializable {
 	 * 凭证日期
 	 */
 	@ApiModelProperty(value = "凭证日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date voucherDate;
 	/**
@@ -196,8 +196,8 @@ public class FinVouchers implements Serializable {
 	 * 复核时间
 	 */
 	@ApiModelProperty(value = "复核时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date checkTime;
 	/**
@@ -214,8 +214,8 @@ public class FinVouchers implements Serializable {
 	 * 记账时间
 	 */
 	@ApiModelProperty(value = "记账时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date postTime;
 	/**

+ 6 - 6
blade-service-api/blade-los-api/src/main/java/org/springblade/los/finance/vouchers/entity/FinVouchersItems.java

@@ -127,8 +127,8 @@ public class FinVouchersItems implements Serializable {
 	 * 凭证日期
 	 */
 	@ApiModelProperty(value = "凭证日期")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date voucherDate;
 	/**
@@ -350,8 +350,8 @@ public class FinVouchersItems implements Serializable {
 	 * 复核时间
 	 */
 	@ApiModelProperty(value = "复核时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date checkTime;
 	/**
@@ -368,8 +368,8 @@ public class FinVouchersItems implements Serializable {
 	 * 记账时间
 	 */
 	@ApiModelProperty(value = "记账时间")
-	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm")
-	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+	@DateTimeFormat(pattern = "yyyy-MM-dd")
 	@TableField(updateStrategy = FieldStrategy.IGNORED)
 	private Date postTime;
 	/**

+ 13 - 13
blade-service/blade-los/src/main/java/org/springblade/los/basic/reports/service/impl/ReportsServiceImpl.java

@@ -483,7 +483,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 		} else if (MagicValues.BUSINESS.equals(reportCode) && MagicValues.MASTER_BILLS.equals(groupCode) && (MagicValues.HYCK.equals(type) || MagicValues.HYJK.equals(type))) {
 			Bills bills = billsService.getById(billId);
 			if (bills != null) {
-				bills.setFM(MagicValues.FM);
+//				bills.setFM(MagicValues.FM);
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				BigDecimal boxWeightSum = BigDecimal.ZERO;
 				List<ContainersReports> containersReportsList = new ArrayList<>();
@@ -526,7 +526,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 		} else if (MagicValues.DOCUMENT.equals(reportCode) && MagicValues.DISPATCH_NOTICE.equals(groupCode) && (MagicValues.HYCK.equals(type) || MagicValues.HYJK.equals(type))) {
 			Bills bills = billsService.getById(billId);
 			if (bills != null) {
-				bills.setFM(MagicValues.FM);
+//				bills.setFM(MagicValues.FM);
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				map.put(MagicValues.DATA, bills);
 			} else {
@@ -535,7 +535,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 		} else if (MagicValues.DOCUMENT.equals(reportCode) && MagicValues.INCOMING_NOTIFICATION.equals(groupCode) && (MagicValues.HYCK.equals(type) || MagicValues.HYJK.equals(type))) {
 			Bills bills = billsService.getById(billId);
 			if (bills != null) {
-				bills.setFM(MagicValues.FM);
+//				bills.setFM(MagicValues.FM);
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				map.put(MagicValues.DATA, bills);
 			} else {
@@ -544,7 +544,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 		} else if (MagicValues.COST.equals(reportCode) && MagicValues.RECEIVABLE.equals(groupCode) && (MagicValues.HYCK.equals(type) || MagicValues.HYJK.equals(type))) {
 			Bills bills = billsService.getById(billId);
 			if (bills != null) {
-				bills.setFM(MagicValues.FM);
+//				bills.setFM(MagicValues.FM);
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				List<FeeCenter> feeCenterList;
 				List<Long> ids = new ArrayList<>();
@@ -649,7 +649,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 		} else if (MagicValues.COST.equals(reportCode) && MagicValues.MEET.equals(groupCode) && (MagicValues.HYCK.equals(type) || MagicValues.HYJK.equals(type))) {
 			Bills bills = billsService.getById(billId);
 			if (bills != null) {
-				bills.setFM(MagicValues.FM);
+//				bills.setFM(MagicValues.FM);
 				bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				List<FeeCenter> feeCenterList;
 				List<Long> ids = new ArrayList<>();
@@ -873,9 +873,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 						finStlBills.setAttnTel(bCorps.getAttnTel());
 					}
 				}
-				finStlBills.setFrom(MagicValues.FM);
-				finStlBills.setFromName(MagicValues.FM);
-				finStlBills.setFromTel("0532-82668811");
+//				finStlBills.setFrom(MagicValues.FM);
+//				finStlBills.setFromName(MagicValues.FM);
+//				finStlBills.setFromTel("0532-82668811");
 				List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
 				LambdaQueryWrapper<FinStlBillsItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinStlBillsItems>()
 					.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
@@ -920,9 +920,9 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 						finStlBills.setAttnTel(bCorps.getAttnTel());
 					}
 				}
-				finStlBills.setFrom(MagicValues.FM);
-				finStlBills.setFromName(MagicValues.FM);
-				finStlBills.setFromTel("0532-82668811");
+//				finStlBills.setFrom(MagicValues.FM);
+//				finStlBills.setFromName(MagicValues.FM);
+//				finStlBills.setFromTel("0532-82668811");
 				List<FinStlBillsItemsReports> finStlBillsItemsReportsList = new ArrayList<>();
 				LambdaQueryWrapper<FinStlBillsItems> lambdaQueryWrapper = new LambdaQueryWrapper<FinStlBillsItems>()
 					.eq(FinStlBillsItems::getTenantId, AuthUtil.getTenantId())
@@ -981,7 +981,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 				List<FeeCenter> feeCenterList = feeCenterService.list(lambdaQueryWrapper);
 				bills = billsService.getById(amends.getOrigId());
 				if (bills != null) {
-					bills.setFM(MagicValues.FM);
+//					bills.setFM(MagicValues.FM);
 					bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				} else {
 					BeanUtil.copyProperties(amends, bills);
@@ -1069,7 +1069,7 @@ public class ReportsServiceImpl extends ServiceImpl<ReportsMapper, Reports> impl
 				List<FeeCenter> feeCenterList = feeCenterService.list(lambdaQueryWrapper);
 				bills = billsService.getById(amends.getOrigId());
 				if (bills != null) {
-					bills.setFM(MagicValues.FM);
+//					bills.setFM(MagicValues.FM);
 					bills.setVesselCnName(bills.getVesselEnName() + "/" + bills.getVoyageNo());
 				} else {
 					BeanUtil.copyProperties(amends, bills);

+ 3 - 0
blade-service/blade-los/src/main/java/org/springblade/los/billno/service/IBusinessBillNoService.java

@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import org.springblade.core.tool.api.R;
 import org.springblade.los.billno.entity.BusinessBillNo;
 import org.springblade.los.billno.vo.BusinessBillNoVO;
+import org.springblade.los.business.aea.entity.AeaBills;
 import org.springblade.los.business.sea.entity.Bills;
 
 /**
@@ -51,6 +52,8 @@ public interface IBusinessBillNoService extends IService<BusinessBillNo> {
 
 	void deteleBillNo(Bills item);
 
+	void deteleBillNoAe(AeaBills item);
+
 	/**
 	 * 新增或修改 基础资料-业务类型编号格式
 	 * @param businessBillNo

+ 95 - 0
blade-service/blade-los/src/main/java/org/springblade/los/billno/service/impl/BusinessBillNoServiceImpl.java

@@ -35,6 +35,7 @@ import org.springblade.los.billno.service.IBillNoSerialService;
 import org.springblade.los.billno.service.IBusinessBillNoService;
 import org.springblade.los.billno.vo.BillNoSerialVO;
 import org.springblade.los.billno.vo.BusinessBillNoVO;
+import org.springblade.los.business.aea.entity.AeaBills;
 import org.springblade.los.business.sea.entity.Bills;
 import org.springblade.system.entity.Dept;
 import org.springblade.system.feign.ISysClient;
@@ -282,6 +283,100 @@ public class BusinessBillNoServiceImpl extends ServiceImpl<BusinessBillNoMapper,
 	}
 
 	@Override
+	public void deteleBillNoAe(AeaBills item) {
+		String billNo = "";
+		String mbillNo = "";
+		if (ObjectUtils.isNotNull(item.getBillNo())) {
+			billNo = item.getBillNo().replaceAll("\\D", "");
+		}
+		if (ObjectUtils.isNotNull(item.getMblno())) {
+			mbillNo = item.getMblno().replaceAll("\\D", "");
+		}
+		Date date = new Date();
+		//编码开头
+		String head = "";
+		//编码日期格式
+		String yearMmDd = "";
+		//格式化后日期
+		String yyyyMM = "";
+		List<BillNoSerial> billNoSerialList = billNoSerialService.list(new LambdaQueryWrapper<BillNoSerial>()
+			.eq(BillNoSerial::getTenantId, AuthUtil.getTenantId())
+			.eq(BillNoSerial::getIsDeleted, 0)
+			.like(BillNoSerial::getResetValue, billNo));
+		if (billNoSerialList.size() > 0) {
+			BusinessBillNo detail = baseMapper.selectById(billNoSerialList.get(0).getPid());
+			//判断编码格式是否为空
+			if (ObjectUtils.isNotNull(detail.getCodeFormat())) {
+				int index = detail.getCodeFormat().indexOf("%");
+				int indexLast = detail.getCodeFormat().indexOf("%", index + 1);
+				head = detail.getCodeFormat().substring(0, index);
+				yearMmDd = detail.getCodeFormat().substring(index + 1, indexLast);
+			} else {
+				throw new RuntimeException("编码格式为空");
+			}
+			//格式化日期
+			if (ObjectUtils.isNotNull(yearMmDd)) {
+				yyyyMM = DateFormatUtils.format(date, yearMmDd);
+			}
+			if (ObjectUtils.isNotNull(detail) && 1 == detail.getIsRecyclable()) {
+				BillNoCenter billNoCenter = new BillNoCenter();
+				billNoCenter.setBusinessType(detail.getBusinessType());
+				billNoCenter.setBusinessTypeId(detail.getBusinessTypeId());
+				billNoCenter.setPid(detail.getId());
+				billNoCenter.setBillId(item.getId());
+				billNoCenter.setBillNo(item.getBillNo());
+				billNoCenter.setResetRule(detail.getResetRule());
+				billNoCenter.setResetValue(head + yyyyMM);
+				billNoCenter.setTenantId(AuthUtil.getTenantId());
+				billNoCenter.setCreateTime(new Date());
+				billNoCenter.setCreateUser(AuthUtil.getUserId());
+				billNoCenter.setCreateUserName(AuthUtil.getUserName());
+				billNoCenter.setCreateDept(AuthUtil.getDeptId());
+				billNoCenterService.save(billNoCenter);
+			}
+		}
+
+		List<BillNoSerial> billNoSerialList1 = billNoSerialService.list(new LambdaQueryWrapper<BillNoSerial>()
+			.eq(BillNoSerial::getTenantId, AuthUtil.getTenantId())
+			.eq(BillNoSerial::getIsDeleted, 0)
+			.like(BillNoSerial::getResetValue, mbillNo));
+		if (billNoSerialList1.size() > 0) {
+			BusinessBillNo detail = baseMapper.selectById(billNoSerialList1.get(0).getPid());
+			if (ObjectUtils.isNotNull(detail) && 1 == detail.getIsRecyclable()) {
+				//判断编码格式是否为空
+				if (ObjectUtils.isNotNull(detail.getCodeFormat())) {
+					int index = detail.getCodeFormat().indexOf("%");
+					int indexLast = detail.getCodeFormat().indexOf("%", index + 1);
+					head = detail.getCodeFormat().substring(0, index);
+					yearMmDd = detail.getCodeFormat().substring(index + 1, indexLast);
+				} else {
+					throw new RuntimeException("编码格式为空");
+				}
+				//格式化日期
+				if (ObjectUtils.isNotNull(yearMmDd)) {
+					yyyyMM = DateFormatUtils.format(date, yearMmDd);
+				}
+				if (ObjectUtils.isNotNull(detail) && 1 == detail.getIsRecyclable()) {
+					BillNoCenter billNoCenter = new BillNoCenter();
+					billNoCenter.setBusinessType(detail.getBusinessType());
+					billNoCenter.setBusinessTypeId(detail.getBusinessTypeId());
+					billNoCenter.setPid(detail.getId());
+					billNoCenter.setBillId(item.getId());
+					billNoCenter.setBillNo(item.getBillNo());
+					billNoCenter.setResetRule(detail.getResetRule());
+					billNoCenter.setResetValue(head + yyyyMM);
+					billNoCenter.setTenantId(AuthUtil.getTenantId());
+					billNoCenter.setCreateTime(new Date());
+					billNoCenter.setCreateUser(AuthUtil.getUserId());
+					billNoCenter.setCreateUserName(AuthUtil.getUserName());
+					billNoCenter.setCreateDept(AuthUtil.getDeptId());
+					billNoCenterService.save(billNoCenter);
+				}
+			}
+		}
+	}
+
+	@Override
 	public R submit(BusinessBillNo businessBillNo) {
 		if (businessBillNo.getId() == null) {
 			businessBillNo.setCreateTime(new Date());

+ 114 - 2
blade-service/blade-los/src/main/java/org/springblade/los/business/aea/controller/AeaBillsController.java

@@ -26,6 +26,7 @@ import lombok.AllArgsConstructor;
 
 import javax.validation.Valid;
 
+import org.springblade.common.annotation.RepeatSubmit;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
@@ -126,7 +127,7 @@ public class AeaBillsController extends BladeController {
 	/**
 	 * 分页 业务-空运进出口
 	 */
-	@GetMapping("/list")
+	@GetMapping("/listAll")
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入aeaBills")
 	public R<List<AeaBills>> list(AeaBills aeaBills) {
@@ -230,7 +231,118 @@ public class AeaBillsController extends BladeController {
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-		return R.status(aeaBillsService.removeByIds(Func.toLongList(ids)));
+		aeaBillsService.removeIds(Func.toLongList(ids));
+		return R.data("操作成功");
+	}
+
+	/**
+	 * 分单添加到主单
+	 */
+	@PostMapping("/increaseReinsurancePolicy")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "分单添加到主单", notes = "传入ids")
+	public R increaseReinsurancePolicy(@RequestParam String ids, @RequestParam String id) {
+		return aeaBillsService.increaseReinsurancePolicy(ids, id);
+	}
+
+	/**
+	 * 撤销分单添加到主单
+	 */
+	@PostMapping("/revokeReinsurancePolicy")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "撤销分单添加到主单", notes = "传入ids")
+	public R revokeReinsurancePolicy(@RequestParam String ids, @RequestParam String id) {
+		return aeaBillsService.revokeReinsurancePolicy(ids, id);
+	}
+
+
+	/**
+	 * 单据请核
+	 */
+	@PostMapping("/checkBills")
+	@ApiOperationSupport(order = 13)
+	@ApiOperation(value = "请核", notes = "传入bills")
+	@RepeatSubmit
+	public R checkOrder(@RequestBody AeaBills bills) {
+		AeaBills declare = aeaBillsService.checkBills(bills);
+		return R.data(declare);
+	}
+
+	/**
+	 * 撤销单据请核
+	 */
+	@PostMapping("/revokeCheckBills")
+	@ApiOperationSupport(order = 13)
+	@ApiOperation(value = "撤销请核", notes = "传入bills")
+	@RepeatSubmit
+	public R revokeCheckBills(@RequestBody AeaBills bills) {
+		AeaBills declare = aeaBillsService.revokeCheckOrder(bills);
+		return R.data(declare);
+	}
+
+	/**
+	 * 审核通过
+	 */
+	@PostMapping("/passCheck")
+	@ApiOperationSupport(order = 14)
+	@ApiOperation(value = "审核通过", notes = "传入id")
+	@RepeatSubmit
+	public R passCheck(@ApiParam(value = "主表id", required = true) @RequestParam Long id) {
+		return aeaBillsService.passCheck(id);
+	}
+
+	/**
+	 * 审核中
+	 */
+	@PostMapping("/underReview")
+	@ApiOperationSupport(order = 15)
+	@ApiOperation(value = "审核中", notes = "传入id")
+	@RepeatSubmit
+	public R underReview(@ApiParam(value = "主表id", required = true) @RequestParam Long id) {
+		return aeaBillsService.underReview(id);
+	}
+
+	/**
+	 * 审核不通过
+	 */
+	@PostMapping("/passCancel")
+	@ApiOperationSupport(order = 16)
+	@ApiOperation(value = "Feign-审核不通过", notes = "传入财务id")
+	@RepeatSubmit
+	public R passCancel(@ApiParam(value = "财务主表id", required = true) @RequestParam Long id) {
+		return aeaBillsService.passCancel(id);
+	}
+
+	/**
+	 * 复制单据
+	 */
+	@PostMapping("/copyBills")
+	@ApiOperationSupport(order = 13)
+	@ApiOperation(value = "复制单据", notes = "传入bills")
+	@RepeatSubmit
+	public R copyBills(@RequestBody AeaBills bills) {
+		AeaBills declare = aeaBillsService.copyBills(bills);
+		return R.data(declare);
+	}
+
+	/**
+	 * 退舱
+	 */
+	@PostMapping("/disembarking")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "退舱", notes = "传入ids")
+	public R disembarking(@RequestParam String ids) {
+		return aeaBillsService.disembarking(ids);
+	}
+
+	/**
+	 * 取消退舱
+	 */
+	@PostMapping("/revokeDisembarking")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "取消退舱", notes = "传入ids")
+	public R revokeDisembarking(@RequestParam String ids) {
+		return aeaBillsService.revokeDisembarking(ids);
 	}
 
 

+ 71 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/aea/service/IAeaBillsService.java

@@ -21,6 +21,9 @@ import org.springblade.los.business.aea.entity.AeaBills;
 import org.springblade.los.business.aea.vo.AeaBillsVO;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.los.business.sea.entity.Bills;
+
+import java.util.List;
 
 /**
  * 业务-空运进出口 服务类
@@ -47,4 +50,72 @@ public interface IAeaBillsService extends IService<AeaBills> {
 	R submit(AeaBills aeaBills);
 
 	AeaBills detail(AeaBills aeaBills);
+
+	/**
+	 * 分单添加到主单
+	 * @param ids
+	 * @param id
+	 * @return
+	 */
+    R increaseReinsurancePolicy(String ids, String id);
+
+	/**
+	 * 撤销分单添加到主单
+	 * @param ids
+	 * @param id
+	 * @return
+	 */
+	R revokeReinsurancePolicy(String ids, String id);
+
+	/**
+	 * 删除 业务-空运进出口
+	 * @param toLongList
+	 */
+	void removeIds(List<Long> toLongList);
+
+	/**
+	 * 单据请核
+	 * @param bills
+	 * @return
+	 */
+	AeaBills checkBills(AeaBills bills);
+
+	/**
+	 * 撤销单据请核
+	 * @param bills
+	 * @return
+	 */
+	AeaBills revokeCheckOrder(AeaBills bills);
+
+	/**
+	 * 审核通过
+	 * @param id
+	 * @return
+	 */
+	R passCheck(Long id);
+
+	/**
+	 * 审核中
+	 * @param id
+	 * @return
+	 */
+	R underReview(Long id);
+
+	/**
+	 * 审核不通过
+	 * @param id
+	 * @return
+	 */
+	R passCancel(Long id);
+
+	/**
+	 * 复制单据
+	 * @param bills
+	 * @return
+	 */
+	AeaBills copyBills(AeaBills bills);
+
+	R disembarking(String ids);
+
+	R revokeDisembarking(String ids);
 }

+ 639 - 2
blade-service/blade-los/src/main/java/org/springblade/los/business/aea/service/impl/AeaBillsServiceImpl.java

@@ -18,12 +18,14 @@ package org.springblade.los.business.aea.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.AllArgsConstructor;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
 import org.springblade.los.Util.IDeptUtils;
 import org.springblade.los.basic.business.entity.BusinessType;
 import org.springblade.los.basic.business.service.IBusinessTypeService;
@@ -36,8 +38,12 @@ import org.springblade.los.business.aea.service.IAeaBillsService;
 import org.springblade.los.business.aea.vo.AeaBillsVO;
 import org.springblade.los.business.files.entity.FilesCenter;
 import org.springblade.los.business.files.service.IFilesCenterService;
-import org.springblade.los.business.sea.dto.WaitingBox;
-import org.springblade.los.business.sea.entity.*;
+import org.springblade.los.check.dto.LosAuditProecessDTO;
+import org.springblade.los.check.entity.LosAuditPathsActs;
+import org.springblade.los.check.entity.LosAuditPathsLevels;
+import org.springblade.los.check.service.IAuditPathsActsService;
+import org.springblade.los.check.service.IAuditPathsLevelsService;
+import org.springblade.los.check.service.IAuditProecessService;
 import org.springblade.los.finance.fee.entity.FeeCenter;
 import org.springblade.los.finance.fee.entity.FinAccBills;
 import org.springblade.los.finance.fee.service.IFeeCenterService;
@@ -80,6 +86,12 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
 
 	private final IFilesCenterService filesCenterService;
 
+	private final IAuditPathsActsService auditPathsActsService;
+
+	private final IAuditPathsLevelsService auditPathsLevelsService;
+
+	private final IAuditProecessService auditProecessService;
+
 	@Override
 	public IPage<AeaBillsVO> selectAeaBillsPage(IPage<AeaBillsVO> page, AeaBillsVO aeaBills) {
 		return page.setRecords(baseMapper.selectAeaBillsPage(page, aeaBills));
@@ -507,4 +519,629 @@ public class AeaBillsServiceImpl extends ServiceImpl<AeaBillsMapper, AeaBills> i
 		return detail;
 	}
 
+	@Override
+	public R increaseReinsurancePolicy(String ids, String id) {
+		if (ObjectUtils.isNull(ids) || ObjectUtils.isNull(id)) {
+			throw new RuntimeException("缺少必要参数");
+		}
+		AeaBills bills = baseMapper.selectById(id);
+		List<Long> idArr = Func.toLongList(ids);
+		if (idArr.size() > 0 && bills != null) {
+			if (ObjectUtils.isNull(bills.getMblno())) {
+				throw new RuntimeException("主单提单号不能为空,操作失败");
+			}
+			List<AeaBills> billsList = baseMapper.selectList(new LambdaQueryWrapper<AeaBills>()
+				.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
+				.eq(AeaBills::getIsDeleted, 0)
+				.in(AeaBills::getId, idArr));
+			for (AeaBills item : billsList) {
+
+				item.setMasterId(bills.getId());
+				item.setMasterBillNo(bills.getBillNo());
+				item.setEtd(bills.getEtd());
+				item.setVoyageNo(bills.getVoyageNo());
+				item.setDestinationId(bills.getDestinationId());
+				item.setDestinationName(bills.getDestinationName());
+				item.setDestinationCode(bills.getDestinationCode());
+				item.setFinalDestinationId(bills.getFinalDestinationId());
+				item.setFinalDestinationCode(bills.getFinalDestinationCode());
+				item.setFinalDestinationName(bills.getFinalDestinationName());
+				item.setCyId(bills.getCyId());
+				item.setCyCode(bills.getCyCode());
+				item.setCyCnName(bills.getCyCnName());
+				item.setCyEnName(bills.getCyEnName());
+				item.setCyAddress(bills.getCyAddress());
+				item.setCyTel(bills.getCyTel());
+				item.setCyRemarks(bills.getCyRemarks());
+				item.setCarrierId(bills.getCarrierId());
+				item.setCarrierCnName(bills.getCarrierCnName());
+				item.setCarrierEnName(bills.getCarrierEnName());
+				item.setBookingDate(bills.getBookingDate());
+				item.setUpdateTime(new Date());
+				item.setUpdateUser(AuthUtil.getUserId());
+				item.setUpdateUserName(AuthUtil.getUserName());
+			}
+			this.updateBatchById(billsList);
+
+			BigDecimal amountDr = bills.getAmountDr();
+			BigDecimal amountCr = bills.getAmountCr();
+			BigDecimal amountProfit = bills.getAmountProfit();
+			BigDecimal amountDrUsd = bills.getAmountDrUsd();
+			BigDecimal amountCrUsd = bills.getAmountCrUsd();
+			BigDecimal amountProfitUsd = bills.getAmountProfitUsd();
+			BigDecimal amountDrLoc = bills.getAmountDrLoc();
+			BigDecimal amountCrLoc = bills.getAmountCrLoc();
+			BigDecimal amountProfitLoc = bills.getAmountProfitLoc();
+			BigDecimal quantity = bills.getQuantity();
+			BigDecimal grossWeight = bills.getGrossWeight();
+			BigDecimal measurement = bills.getMeasurement();
+			if (billsList.size() > 0) {
+				amountDr = amountDr.add(billsList.stream().map(AeaBills::getAmountDr).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountCr = amountCr.add(billsList.stream().map(AeaBills::getAmountCr).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountProfit = amountProfit.add(billsList.stream().map(AeaBills::getAmountProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountDrUsd = amountDrUsd.add(billsList.stream().map(AeaBills::getAmountDrUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountCrUsd = amountCrUsd.add(billsList.stream().map(AeaBills::getAmountCrUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountProfitUsd = amountProfitUsd.add(billsList.stream().map(AeaBills::getAmountProfitUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountDrLoc = amountDrLoc.add(billsList.stream().map(AeaBills::getAmountDrLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountCrLoc = amountCrLoc.add(billsList.stream().map(AeaBills::getAmountCrLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountProfitLoc = amountProfitLoc.add(billsList.stream().map(AeaBills::getAmountProfitLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				quantity = quantity.add(billsList.stream().map(AeaBills::getQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				grossWeight = grossWeight.add(billsList.stream().map(AeaBills::getGrossWeight).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				measurement = measurement.add(billsList.stream().map(AeaBills::getMeasurement).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+			}
+			bills.setAmountDr(amountDr);
+			bills.setAmountCr(amountCr);
+			bills.setAmountProfit(amountProfit);
+			bills.setAmountDrUsd(amountDrUsd);
+			bills.setAmountCrUsd(amountCrUsd);
+			bills.setAmountProfitUsd(amountProfitUsd);
+			bills.setAmountDrLoc(amountDrLoc);
+			bills.setAmountCrLoc(amountCrLoc);
+			bills.setAmountProfitLoc(amountProfitLoc);
+			bills.setQuantity(quantity);
+			bills.setGrossWeight(grossWeight);
+			bills.setMeasurement(measurement);
+			baseMapper.updateById(bills);
+		}
+		return R.data("操作成功");
+	}
+
+	@Override
+	public R revokeReinsurancePolicy(String ids, String id) {
+		if (ObjectUtils.isNull(ids) || ObjectUtils.isNull(id)) {
+			throw new RuntimeException("缺少必要参数");
+		}
+		AeaBills bills = baseMapper.selectById(id);
+		List<Long> idArr = Func.toLongList(ids);
+		if (idArr.size() > 0 && bills != null) {
+			List<AeaBills> billsList = baseMapper.selectList(new LambdaQueryWrapper<AeaBills>()
+				.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
+				.eq(AeaBills::getIsDeleted, 0)
+				.in(AeaBills::getId, idArr));
+			for (AeaBills item : billsList) {
+				item.setMasterId(0L);
+				item.setMasterBillNo("");
+				item.setUpdateTime(new Date());
+				item.setUpdateUser(AuthUtil.getUserId());
+				item.setUpdateUserName(AuthUtil.getUserName());
+			}
+			this.updateBatchById(billsList);
+			BigDecimal amountDr = bills.getAmountDr();
+			BigDecimal amountCr = bills.getAmountCr();
+			BigDecimal amountProfit = bills.getAmountProfit();
+			BigDecimal amountDrUsd = bills.getAmountDrUsd();
+			BigDecimal amountCrUsd = bills.getAmountCrUsd();
+			BigDecimal amountProfitUsd = bills.getAmountProfitUsd();
+			BigDecimal amountDrLoc = bills.getAmountDrLoc();
+			BigDecimal amountCrLoc = bills.getAmountCrLoc();
+			BigDecimal amountProfitLoc = bills.getAmountProfitLoc();
+			BigDecimal quantity = bills.getQuantity();
+			BigDecimal grossWeight = bills.getGrossWeight();
+			BigDecimal measurement = bills.getMeasurement();
+			if (billsList.size() > 0) {
+				amountDr = amountDr.subtract(billsList.stream().map(AeaBills::getAmountDr).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountCr = amountCr.subtract(billsList.stream().map(AeaBills::getAmountCr).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountProfit = amountProfit.subtract(billsList.stream().map(AeaBills::getAmountProfit).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountDrUsd = amountDrUsd.subtract(billsList.stream().map(AeaBills::getAmountDrUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountCrUsd = amountCrUsd.subtract(billsList.stream().map(AeaBills::getAmountCrUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountProfitUsd = amountProfitUsd.subtract(billsList.stream().map(AeaBills::getAmountProfitUsd).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountDrLoc = amountDrLoc.subtract(billsList.stream().map(AeaBills::getAmountDrLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountCrLoc = amountCrLoc.subtract(billsList.stream().map(AeaBills::getAmountCrLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				amountProfitLoc = amountProfitLoc.subtract(billsList.stream().map(AeaBills::getAmountProfitLoc).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				quantity = quantity.subtract(billsList.stream().map(AeaBills::getQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				grossWeight = grossWeight.subtract(billsList.stream().map(AeaBills::getGrossWeight).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+				measurement = measurement.subtract(billsList.stream().map(AeaBills::getMeasurement).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+			}
+			bills.setAmountDr(amountDr);
+			bills.setAmountCr(amountCr);
+			bills.setAmountProfit(amountProfit);
+			bills.setAmountDrUsd(amountDrUsd);
+			bills.setAmountCrUsd(amountCrUsd);
+			bills.setAmountProfitUsd(amountProfitUsd);
+			bills.setAmountDrLoc(amountDrLoc);
+			bills.setAmountCrLoc(amountCrLoc);
+			bills.setAmountProfitLoc(amountProfitLoc);
+			bills.setMasterBillNo("");
+			bills.setMasterId(0L);
+			bills.setQuantity(quantity);
+			bills.setGrossWeight(grossWeight);
+			bills.setMeasurement(measurement);
+			baseMapper.updateById(bills);
+		}
+		return R.data("操作成功");
+	}
+
+	@Override
+	public void removeIds(List<Long> ids) {
+		List<AeaBills> billsList = baseMapper.selectList(new LambdaQueryWrapper<AeaBills>()
+			.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
+			.eq(AeaBills::getIsDeleted, 0)
+			.in(AeaBills::getId, ids));
+		for (AeaBills item : billsList) {
+			if (baseMapper.selectCount(new LambdaQueryWrapper<AeaBills>()
+				.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
+				.eq(AeaBills::getIsDeleted, 0)
+				.eq(AeaBills::getMasterId, item.getId())) > 0) {
+				throw new RuntimeException("该主单存在分单,请先撤销分单");
+			}
+			businessBillNoService.deteleBillNoAe(item);
+		}
+		baseMapper.deleteBatchIds(ids);
+	}
+
+	@Override
+	public AeaBills checkBills(AeaBills bills) {
+		AeaBills declare = baseMapper.selectById(bills.getId());
+		Integer actId = null;
+		String processType = "";
+		String checkType = "";
+		if ("AE".equals(declare.getBusinessType())) {
+			actId = 1115;
+			processType = "空运出口审核";
+			checkType = "KYCK-DJ";
+		} else if ("AI".equals(declare.getBusinessType())) {
+			actId = 1114;
+			processType = "空运进口审核";
+			checkType = "KYJK-DJ";
+		}
+		//审批数据
+		LosAuditProecessDTO auditProecessDTO = new LosAuditProecessDTO();
+		//获取审批级次
+		List<LosAuditPathsLevels> auditPathsLevels = null;
+		// 判断是否有审批流,如果审批流已开启就进入审批流,否则直接走申请通过
+		LosAuditPathsActs pathsActs = null;
+		//是否开启流程
+		LambdaQueryWrapper<LosAuditPathsActs> auditPathsActsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+		auditPathsActsLambdaQueryWrapper
+			.eq(LosAuditPathsActs::getIsEnable, 1)
+			.eq(LosAuditPathsActs::getFidStatus, "status")
+			.eq(LosAuditPathsActs::getTenantId, AuthUtil.getTenantId())
+			.eq(LosAuditPathsActs::getSalesCompanyId, AuthUtil.getDeptId())
+			.eq(LosAuditPathsActs::getActId, actId);
+		pathsActs = auditPathsActsService.getOne(auditPathsActsLambdaQueryWrapper);
+		//获取审批信息
+		LosAuditPathsActs losAuditPathsActs = auditPathsActsService.getOne(new LambdaQueryWrapper<LosAuditPathsActs>()
+			.eq(LosAuditPathsActs::getActId, actId)
+			.eq(LosAuditPathsActs::getFidStatus, "status")
+			.eq(LosAuditPathsActs::getSalesCompanyId, AuthUtil.getDeptId())
+			.eq(LosAuditPathsActs::getTenantId, AuthUtil.getTenantId()));
+		Long pathId = losAuditPathsActs.getPathId();
+		auditPathsLevels = auditPathsLevelsService.list(new LambdaQueryWrapper<LosAuditPathsLevels>()
+			.eq(LosAuditPathsLevels::getTenantId, AuthUtil.getTenantId()).eq(LosAuditPathsLevels::getPathId, pathId));
+		auditProecessDTO.setTimes(1);
+		auditProecessDTO.setProcessType(processType);
+
+		// 没开启审批流直接走 通过流程
+		if (pathsActs == null || pathsActs.getIsEnable() == 2) {
+			throw new SecurityException("当前租户未查询到审批流配置");
+		} else {
+
+			if (CollectionUtils.isEmpty(auditPathsLevels)) {
+				throw new SecurityException("开启审批失败:未查询到审批信息");
+			}
+			// 绑定审核类型
+			auditProecessDTO.setCheckType(checkType);
+			// 追加跳转路由url
+			auditProecessDTO.setUrl(bills.getUrl());
+			auditProecessDTO.setPageStatus(bills.getPageStatus());
+			auditProecessDTO.setPageLabel(bills.getPageLabel());
+			auditProecessDTO.setOrderRemark(declare.getRemarks());
+			auditProecessDTO.setPathsLevelsList(auditPathsLevels);
+			auditProecessDTO.setActId(1);
+			auditProecessDTO.setSrcBillId(declare.getId());
+			auditProecessDTO.setBillId(declare.getId());
+			auditProecessDTO.setBillNo(declare.getBillNo());
+			auditProecessDTO.setSendUserId(AuthUtil.getUserId());
+			auditProecessDTO.setSendName(AuthUtil.getUserName());
+			auditProecessDTO.setSendTime(new Date());
+			auditProecessDTO.setBillTime(declare.getCreateTime());
+			auditProecessDTO.setTenantId(AuthUtil.getTenantId());
+			auditProecessDTO.setCorpId(declare.getCorpId());
+			auditProecessDTO.setSalesCompanyId(Long.parseLong(declare.getCreateDept()));
+			auditProecessDTO.setSalesCompanyName(declare.getCreateDeptName());
+			auditProecessDTO.setPayAmount(declare.getAmountCrLoc());
+			auditProecessDTO.setReceivableAmount(declare.getAmountDrLoc());
+			auditProecessDTO.setGrossProfit(declare.getAmountProfitLoc());
+			auditProecessDTO.setSalesCompanyName(declare.getCreateDeptName());
+			R financeProcess = auditProecessService.createFinanceProcess(auditProecessDTO);
+			if (!financeProcess.isSuccess()) {
+				throw new SecurityException("操作失败,请联系管理员");
+			}
+		}
+		declare.setStatus(1);
+		baseMapper.updateById(declare);
+		return declare;
+	}
+
+	@Override
+	public AeaBills revokeCheckOrder(AeaBills bills) {
+		AeaBills declare = baseMapper.selectById(bills.getId());
+		if (3 == declare.getStatus()) {
+			throw new SecurityException("审核已通过,撤销失败");
+		}
+		R financeProcess = auditProecessService.deteleByBillId(bills.getId());
+		if (!financeProcess.isSuccess()) {
+			throw new SecurityException("操作失败,请联系管理员");
+		}
+		declare.setStatus(0);
+		baseMapper.updateById(declare);
+		return declare;
+	}
+
+	@Override
+	public R passCheck(Long id) {
+		AeaBills bills = baseMapper.selectById(id);
+		if (bills == null) {
+			throw new SecurityException("审批通过失败");
+		}
+		bills.setStatus(3);
+		bills.setBillStatus(2);
+		baseMapper.updateById(bills);
+		List<FeeCenter> feeCenterList = new ArrayList<>();
+		feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+			.eq(FeeCenter::getIsDeleted, 0)
+			.eq(FeeCenter::getAccStatus, 0)
+			.eq(FeeCenter::getPid, bills.getId()));
+		if ("MM".equals(bills.getBillType())) {
+			List<AeaBills> billsList = baseMapper.selectList(new LambdaQueryWrapper<AeaBills>()
+				.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
+				.eq(AeaBills::getIsDeleted, 0)
+				.eq(AeaBills::getMasterId, bills.getId())
+				.eq(AeaBills::getMasterBillNo, bills.getMasterBillNo()));
+			if (billsList.size() > 0) {
+				List<Long> ids = billsList.stream().map(AeaBills::getId).filter(Objects::nonNull).collect(Collectors.toList());
+				if (ids.size() > 0) {
+					List<FeeCenter> feeCenters = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+						.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+						.eq(FeeCenter::getIsDeleted, 0)
+						.eq(FeeCenter::getAccStatus, 0)
+						.in(FeeCenter::getPid, ids));
+					feeCenterList.addAll(feeCenters);
+				}
+			}
+		}
+		for (FeeCenter item : feeCenterList) {
+			item.setApproverId(AuthUtil.getUserId());
+			item.setApproverName(AuthUtil.getUserName());
+			item.setApproveTime(new Date());
+		}
+		feeCenterService.saveOrUpdateBatch(feeCenterList);
+		if (feeCenterList.size() != 0) {
+			FinAccBills finAccBills = new FinAccBills();
+			finAccBills.setFeeCenterList(feeCenterList);
+			finAccBills.setBusinessTypeCode("HYZD");
+			finAccBills.setBillNoFormat("HYZD");
+			finAccBills.setAccountType("");
+			finAccBills.setRefno(bills.getRefno());
+			finAccBillsService.generateBill(finAccBills);
+		}
+		return R.success("操作成功");
+	}
+
+	@Override
+	public R underReview(Long id) {
+		AeaBills bills = baseMapper.selectById(id);
+		if (bills == null) {
+			throw new SecurityException("审批通过失败");
+		}
+		bills.setStatus(2);
+		baseMapper.updateById(bills);
+		List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+			.eq(FeeCenter::getIsDeleted, 0)
+			.eq(FeeCenter::getPid, bills.getId()));
+		for (FeeCenter item : feeCenterList) {
+			item.setApproverId(AuthUtil.getUserId());
+			item.setApproverName(AuthUtil.getUserName());
+			item.setApproveTime(new Date());
+		}
+		feeCenterService.saveOrUpdateBatch(feeCenterList);
+		return R.success("操作成功");
+	}
+
+	@Override
+	public R passCancel(Long id) {
+		AeaBills bills = baseMapper.selectById(id);
+		if (bills == null) {
+			throw new SecurityException("审批通过失败");
+		}
+
+		bills.setStatus(4);
+		baseMapper.updateById(bills);
+		List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+			.eq(FeeCenter::getIsDeleted, 0)
+			.eq(FeeCenter::getPid, bills.getId()));
+		for (FeeCenter item : feeCenterList) {
+			item.setApproverId(AuthUtil.getUserId());
+			item.setApproverName(AuthUtil.getUserName());
+			item.setApproveTime(new Date());
+		}
+		feeCenterService.saveOrUpdateBatch(feeCenterList);
+		return R.success("操作成功");
+	}
+
+	@Override
+	public AeaBills copyBills(AeaBills bills) {
+		if (bills.getId() == null) {
+			throw new SecurityException("缺少必要参数");
+		}
+		AeaBills detail = baseMapper.selectById(bills.getId());
+		List<FilesCenter> filesList = filesCenterService.list(new LambdaQueryWrapper<FilesCenter>()
+			.eq(FilesCenter::getIsDeleted, 0)
+			.eq(FilesCenter::getTenantId, AuthUtil.getTenantId())
+			.eq(FilesCenter::getPid, detail.getId()));
+		for (FilesCenter item : filesList) {
+			item.setPid(null);
+			item.setId(null);
+			item.setItemId(null);
+			item.setBillNo("");
+			item.setBusinessType(null);
+			item.setHblno("");
+			item.setMblno("");
+		}
+		List<FeeCenter> feeCenterListC = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+			.eq(FeeCenter::getIsDeleted, 0)
+			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+			.eq(FeeCenter::getBillType, detail.getBillType())
+			.eq(FeeCenter::getPid, detail.getId())
+			.eq(FeeCenter::getDc, "C")
+			.eq(FeeCenter::getBillNo, detail.getBillNo())
+		);
+		for (FeeCenter item : feeCenterListC) {
+			item.setPid(null);
+			item.setId(null);
+			item.setBusinessType(null);
+			item.setBillType(null);
+			item.setBillNo("");
+			item.setBillDate(null);
+			item.setAccountDate(null);
+			item.setMblno("");
+			item.setHblno("");
+			item.setAccountDate(null);
+			item.setAccBillId(null);
+			item.setAccBillNo("");
+			item.setAccDate(null);
+			item.setAccStatus(0);
+			item.setAccById(0L);
+			item.setAccByName("");
+			item.setCheckBillId(0L);
+			item.setCheckBillNo("");
+			item.setCheckDate(null);
+			item.setCheckAmount(new BigDecimal("0.00"));
+			item.setCheckStatus(0);
+			item.setCheckById(0L);
+			item.setCheckByName("");
+			item.setStlBillId(0L);
+			item.setStlBillNo("");
+			item.setStlDate(null);
+			item.setStlOrgAmount(new BigDecimal("0.00"));
+			item.setStlCurCode("");
+			item.setStlExrate(new BigDecimal("0.00"));
+			item.setStlExrateLoc(new BigDecimal("0.00"));
+			item.setStlAmount(new BigDecimal("0.00"));
+			item.setStlAmountLoc(new BigDecimal("0.00"));
+			item.setStlStatus(0);
+			item.setStlById(0L);
+			item.setStlByName("");
+			item.setStlTtlAmount(new BigDecimal("0.00"));
+			item.setUnsettledAmount(item.getAmount());
+			item.setVoucherBillId(0L);
+			item.setVoucherBillNo("");
+			item.setVoucherNo("");
+			item.setVoucherDate(null);
+			item.setVoucherStatus(0);
+			item.setVoucherById(0L);
+			item.setVoucherByName("");
+			item.setInvoiceBillId("");
+			item.setInvoiceBillNo("");
+			item.setInvoiceNo("");
+			item.setInvoiceDate(null);
+			item.setInvoiceStatus(0);
+			item.setInvoiceCurCode("");
+			item.setInvoiceExrate(new BigDecimal("0.00"));
+			item.setInvoiceAmount(new BigDecimal("0.00"));
+			item.setInvoiceAmountLoc(new BigDecimal("0.00"));
+			item.setUninvoicedAmount(new BigDecimal("0.00"));
+			item.setAppliedAmount(new BigDecimal("0.00"));
+			item.setAppliedInvoiceAmount(new BigDecimal("0.00"));
+			item.setReconciliationAmount(new BigDecimal("0.00"));
+			item.setInvoiceById(0L);
+			item.setInvoiceByName("");
+			item.setIsSignfor(0);
+			item.setSignforId(0);
+			item.setSignforName("");
+			item.setSignforDate(null);
+			item.setApplyId(0L);
+			item.setApplyName("");
+			item.setApplyTime(null);
+			item.setApproverId(0L);
+			item.setApproverName("");
+			item.setApproveTime(null);
+			item.setAuditStatus("0");
+		}
+		List<FeeCenter> feeCenterListD = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+			.eq(FeeCenter::getIsDeleted, 0)
+			.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+			.eq(FeeCenter::getBillType, detail.getBillType())
+			.eq(FeeCenter::getPid, detail.getId())
+			.eq(FeeCenter::getDc, "D")
+			.eq(FeeCenter::getBillNo, detail.getBillNo())
+		);
+		for (FeeCenter item : feeCenterListD) {
+			item.setPid(null);
+			item.setId(null);
+			item.setBusinessType(null);
+			item.setBillType(null);
+			item.setBillNo("");
+			item.setBillDate(null);
+			item.setAccountDate(null);
+			item.setMblno("");
+			item.setHblno("");
+			item.setAccountDate(null);
+			item.setAccBillId(null);
+			item.setAccBillNo("");
+			item.setAccDate(null);
+			item.setAccStatus(0);
+			item.setAccById(0L);
+			item.setAccByName("");
+			item.setCheckBillId(0L);
+			item.setCheckBillNo("");
+			item.setCheckDate(null);
+			item.setCheckAmount(new BigDecimal("0.00"));
+			item.setCheckStatus(0);
+			item.setCheckById(0L);
+			item.setCheckByName("");
+			item.setStlBillId(0L);
+			item.setStlBillNo("");
+			item.setStlDate(null);
+			item.setStlOrgAmount(new BigDecimal("0.00"));
+			item.setStlCurCode("");
+			item.setStlExrate(new BigDecimal("0.00"));
+			item.setStlExrateLoc(new BigDecimal("0.00"));
+			item.setStlAmount(new BigDecimal("0.00"));
+			item.setStlAmountLoc(new BigDecimal("0.00"));
+			item.setStlStatus(0);
+			item.setStlById(0L);
+			item.setStlByName("");
+			item.setStlTtlAmount(new BigDecimal("0.00"));
+			item.setUnsettledAmount(item.getAmount());
+			item.setVoucherBillId(0L);
+			item.setVoucherBillNo("");
+			item.setVoucherNo("");
+			item.setVoucherDate(null);
+			item.setVoucherStatus(0);
+			item.setVoucherById(0L);
+			item.setVoucherByName("");
+			item.setInvoiceBillId("");
+			item.setInvoiceBillNo("");
+			item.setInvoiceNo("");
+			item.setInvoiceDate(null);
+			item.setInvoiceStatus(0);
+			item.setInvoiceCurCode("");
+			item.setInvoiceExrate(new BigDecimal("0.00"));
+			item.setInvoiceAmount(new BigDecimal("0.00"));
+			item.setInvoiceAmountLoc(new BigDecimal("0.00"));
+			item.setUninvoicedAmount(new BigDecimal("0.00"));
+			item.setAppliedAmount(new BigDecimal("0.00"));
+			item.setAppliedInvoiceAmount(new BigDecimal("0.00"));
+			item.setReconciliationAmount(new BigDecimal("0.00"));
+			item.setInvoiceById(0L);
+			item.setInvoiceByName("");
+			item.setIsSignfor(0);
+			item.setSignforId(0);
+			item.setSignforName("");
+			item.setSignforDate(null);
+			item.setApplyId(0L);
+			item.setApplyName("");
+			item.setApplyTime(null);
+			item.setApproverId(0L);
+			item.setApproverName("");
+			item.setApproveTime(null);
+			item.setAuditStatus("0");
+		}
+		AeaBills copyBills = new AeaBills();
+		BeanUtil.copyProperties(detail, copyBills);
+		copyBills.setId(null);
+		copyBills.setBillNo("");
+		copyBills.setMblno("");
+		copyBills.setHblno("");
+		copyBills.setRefno("");
+		copyBills.setStatus(0);
+		copyBills.setBillStatus(0);
+		copyBills.setBillingStatus(0);
+		copyBills.setAmountDr(new BigDecimal("0.00"));
+		copyBills.setAmountCr(new BigDecimal("0.00"));
+		copyBills.setAmountProfit(new BigDecimal("0.00"));
+		copyBills.setAmountDrUsd(new BigDecimal("0.00"));
+		copyBills.setAmountCrUsd(new BigDecimal("0.00"));
+		copyBills.setAmountProfitUsd(new BigDecimal("0.00"));
+		copyBills.setAmountDrLoc(new BigDecimal("0.00"));
+		copyBills.setAmountCrLoc(new BigDecimal("0.00"));
+		copyBills.setAmountProfitLoc(new BigDecimal("0.00"));
+		copyBills.setCheckDrStatus(0);
+		copyBills.setCheckDrStatusDescr("未对账");
+		copyBills.setCheckCrStatus(0);
+		copyBills.setCheckCrStatusDescr("未对账");
+		copyBills.setStlDrStatus(0);
+		copyBills.setStlDrStatusDescr("未结");
+		copyBills.setStlCrStatus(0);
+		copyBills.setStlCrStatusDescr("未结");
+		copyBills.setInvoiceDrStatus(0);
+		copyBills.setInvoiceDrStatusDescr("未开");
+		copyBills.setInvoiceCrStatus(0);
+		copyBills.setInvoiceCrStatusDescr("未开");
+		copyBills.setBillStatus(0);
+		copyBills.setAccountStatus(0);
+		copyBills.setFeeCenterListC(feeCenterListC);
+		copyBills.setFeeCenterListD(feeCenterListD);
+		copyBills.setQuantity(new BigDecimal("0.00"));
+		copyBills.setGrossWeight(new BigDecimal("0.00"));
+		copyBills.setMeasurement(new BigDecimal("0.00"));
+		copyBills.setLength(new BigDecimal("0.00"));
+		copyBills.setWidth(new BigDecimal("0.00"));
+		copyBills.setHeight(new BigDecimal("0.00"));
+		copyBills.setFilesList(filesList);
+		return copyBills;
+	}
+
+	@Override
+	public R disembarking(String ids) {
+		List<AeaBills> billsList = baseMapper.selectList(new LambdaQueryWrapper<AeaBills>()
+			.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
+			.eq(AeaBills::getIsDeleted, 0)
+			.in(AeaBills::getId, ids));
+		for (AeaBills item : billsList) {
+			if (item.getBillStatus() == 1) {
+				throw new RuntimeException("已退舱,请勿重复操作");
+			}
+			if (item.getBillStatus() == 3) {
+				throw new RuntimeException("单据已完成,退舱失败");
+			}
+			item.setBillStatus(1);
+		}
+		this.updateBatchById(billsList);
+		return R.data("操作成功");
+	}
+
+	@Override
+	public R revokeDisembarking(String ids) {
+		List<AeaBills> billsList = baseMapper.selectList(new LambdaQueryWrapper<AeaBills>()
+			.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
+			.eq(AeaBills::getIsDeleted, 0)
+			.in(AeaBills::getId, ids));
+		for (AeaBills item : billsList) {
+			if (item.getBillStatus() == 0) {
+				throw new RuntimeException("已取消退舱,请勿重复操作");
+			}
+			if (item.getBillStatus() == 3) {
+				throw new RuntimeException("单据已完成,取消退舱失败");
+			}
+			item.setBillStatus(0);
+		}
+		this.updateBatchById(billsList);
+		return R.data("操作成功");
+	}
+
 }

+ 3 - 6
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/BillsMapper.xml

@@ -324,20 +324,17 @@
         fee.signfor_id as signforId,
         fee.signfor_name as signforName,
         fee.signfor_date as signforDate,
-        bill.operator_id as operatorId,
-        bill.operator_name as operatorName,
-        bill.quantity_packing_descr as quantityPackingDescr,
-        bill.quantity_cntr_types_descr as quantityCntrTypesDescr,
+
         corp.account_period_type as accountPeriodType
         FROM
         los_fee_center fee
-        JOIN los_sea_bills bill ON bill.id = fee.pid
+
         LEFT JOIN los_b_corps corp ON corp.id = fee.corp_id
         LEFT JOIN los_fin_acc_bills acc ON acc.id = fee.acc_bill_id
         WHERE
         acc.is_deleted = '0'
         AND fee.is_deleted = '0'
-        and bill.is_deleted = '0'
+
         <if test='acc.type != null and acc.type != "" and acc.type == "2"'>
             and acc.amount_dr_loc > acc.stl_amount_dr_loc + fee.applied_amount
         </if>

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java

@@ -1454,6 +1454,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				.eq(FeeCenter::getBillType, detail.getBillType())
 				.eq(FeeCenter::getPid, detail.getId())
 				.eq(FeeCenter::getDc, "C")
+				.eq(FeeCenter::getAccStatus, 1)
 				.eq(FeeCenter::getBillNo, detail.getBillNo())
 			));
 			detail.setFeeCenterListD(feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
@@ -1462,6 +1463,7 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				.eq(FeeCenter::getBillType, detail.getBillType())
 				.eq(FeeCenter::getPid, detail.getId())
 				.eq(FeeCenter::getDc, "D")
+				.eq(FeeCenter::getAccStatus, 1)
 				.eq(FeeCenter::getBillNo, detail.getBillNo())
 			));
 			detail.setPreContainersList(preContainersService.list(new LambdaQueryWrapper<PreContainers>()

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/check/controller/AuditProecessController.java

@@ -226,6 +226,8 @@ public class AuditProecessController extends BladeController {
 		}
 		if ("HYCK-DJ".equals(proecess.getCheckType()) || "HYJK-DJ".equals(proecess.getCheckType())) {
 			auditProecessService.losBillsCheck(auditProecess);
+		}else if ("KYCK-DJ".equals(proecess.getCheckType()) || "KYJK-DJ".equals(proecess.getCheckType())) {
+			auditProecessService.losAeBillsCheck(auditProecess);
 		}else if ("HYCK-FFSQ".equals(proecess.getCheckType())) {
 			auditProecessService.losStlBillsCheck(auditProecess);
 		}else if ("HYCK-FPSQ".equals(proecess.getCheckType())) {

+ 2 - 0
blade-service/blade-los/src/main/java/org/springblade/los/check/service/IAuditProecessService.java

@@ -62,4 +62,6 @@ public interface IAuditProecessService extends IService<LosAuditProecess> {
 	void losFinInvoicesCheck(LosAuditProecess auditProecess);
 
     void amendsCheck(LosAuditProecess auditProecess);
+
+	void losAeBillsCheck(LosAuditProecess auditProecess);
 }

+ 275 - 0
blade-service/blade-los/src/main/java/org/springblade/los/check/service/impl/AuditProecessServiceImpl.java

@@ -29,6 +29,8 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.los.basic.corps.entity.BCorps;
 import org.springblade.los.basic.corps.service.IBCorpsService;
+import org.springblade.los.business.aea.entity.AeaBills;
+import org.springblade.los.business.aea.mapper.AeaBillsMapper;
 import org.springblade.los.business.amends.entity.Amends;
 import org.springblade.los.business.amends.mapper.AmendsMapper;
 import org.springblade.los.business.sea.entity.Bills;
@@ -72,6 +74,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 
 	private final BillsMapper billsMapper;
 
+	private final AeaBillsMapper aeaBillsMapper;
+
 	private final FinStlBillsMapper finStlBillsMapper;
 
 	private final FinInvoicesMapper finInvoicesMapper;
@@ -1142,6 +1146,277 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 	}
 
 	@Override
+	public void losAeBillsCheck(LosAuditProecess auditProecess) {
+//查看最新操作记录,防止重复提交
+		LosAuditProecess proecessTemp = baseMapper.selectById(auditProecess.getId());
+		if (proecessTemp == null) {
+			throw new SecurityException("未查到此审批记录,禁止操作");
+		}
+		if ("A".equals(proecessTemp.getAuditStatus()) || "B".equals(proecessTemp.getAuditStatus())) {
+			throw new SecurityException("当前记录已经完成审批,禁止重复操作");
+		}
+
+		if (auditProecess.getAuditStatus() == null || !"S".equals(auditProecess.getAuditStatus())) {
+			throw new SecurityException("审批状态非待审,禁止操作");
+		}
+		//信息
+		Message sendMessage = new Message();
+		sendMessage.setParameter(String.valueOf(auditProecess.getBillId()));
+		sendMessage.setUserName(AuthUtil.getUserName());
+		sendMessage.setUserId(AuthUtil.getUserId());
+		sendMessage.setToUserId(auditProecess.getSendUserId());
+		sendMessage.setToUserName(auditProecess.getSendName());
+		sendMessage.setMessageType(1);
+		sendMessage.setTenantId(AuthUtil.getTenantId());
+		sendMessage.setCreateUser(AuthUtil.getUserId());
+		sendMessage.setCreateTime(new Date());
+		sendMessage.setUrl(auditProecess.getUrl());
+		sendMessage.setPageLabel(auditProecess.getPageLabel());
+		sendMessage.setPageStatus(auditProecess.getPageStatus());
+
+		//用户操作 1.通过  2.驳回
+		Integer operate = auditProecess.getOperate();
+		//查看当前审批是否为最后一级
+		String iffinalItem = auditProecess.getIffinalItem();
+		//审批人
+		auditProecess.setAuditUserId(String.valueOf(AuthUtil.getUserId()));
+		//审批时间
+		auditProecess.setAuditOpTime(new Date());
+
+		AeaBills bills = aeaBillsMapper.selectById(proecessTemp.getBillId());
+
+		//不是最后一级
+		if ("F".equals(iffinalItem)) {
+
+			//通过
+			if (operate == 1) {
+				//如果是第一级, 则修改状态为审批中
+				if (auditProecess.getLevelId() == 1) {
+					AeaBills detail = aeaBillsMapper.selectById(auditProecess.getSrcBillId());
+					if (detail == null) {
+						throw new SecurityException("审批通过失败");
+					}
+					detail.setStatus(2);
+					int count = aeaBillsMapper.updateById(detail);
+					if (count == 0) {
+						throw new SecurityException("审批开始修改审核状态失败");
+					}
+					List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+						.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+						.eq(FeeCenter::getIsDeleted, 0)
+						.eq(FeeCenter::getPid, bills.getId()));
+					for (FeeCenter item : feeCenterList) {
+						item.setApproverId(AuthUtil.getUserId());
+						item.setApproverName(AuthUtil.getUserName());
+						item.setApproveTime(new Date());
+					}
+					feeCenterService.saveOrUpdateBatch(feeCenterList);
+				}
+
+				auditProecess.setAuditStatus("A");
+				//查询下一级,开启待审
+				LambdaQueryWrapper<LosAuditProecess> auditProecessLambdaQueryWrapper = new LambdaQueryWrapper<>();
+				auditProecessLambdaQueryWrapper
+					.eq(LosAuditProecess::getBatchNo, auditProecess.getBatchNo())
+					.eq(LosAuditProecess::getSrcBillId, auditProecess.getSrcBillId())
+					.eq(LosAuditProecess::getIsDelete, 0)
+					.eq(LosAuditProecess::getActId, auditProecess.getActId())
+					.eq(LosAuditProecess::getBillId, auditProecess.getBillId())
+					.eq(LosAuditProecess::getBillNo, auditProecess.getBillNo())
+					.eq(LosAuditProecess::getTenantId, AuthUtil.getTenantId())
+					.eq(LosAuditProecess::getLevelId, auditProecess.getLevelId() + 1);
+				Integer count = baseMapper.selectCount(auditProecessLambdaQueryWrapper);
+				if (count != null && count > 1) {
+					throw new SecurityException("审核失败,获取下一级信息失败");
+				}
+				LosAuditProecess proecess = baseMapper.selectOne(auditProecessLambdaQueryWrapper);
+				if (proecess == null) {
+					throw new SecurityException("审批通过=>获取下一级信息失败");
+				}
+				proecess.setAuditStatus("S");
+				baseMapper.updateById(proecess);
+
+				SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
+
+				//获得订单创建日期
+				String billsDate = null;
+				if (proecessTemp.getBillId() != null) {
+					if (bills != null) {
+						billsDate = simpleDateFormat.format(bills.getCreateTime());
+					}
+				}
+
+				Message message = new Message();
+				message.setUserName(AuthUtil.getUserName());
+				message.setUserId(AuthUtil.getUserId());
+				message.setParameter(String.valueOf(auditProecess.getBillId()));
+				message.setMessageType(1);
+				message.setTenantId(AuthUtil.getTenantId());
+				message.setUrl(auditProecess.getUrl());
+				message.setPageLabel(auditProecess.getPageLabel());
+				message.setPageStatus(auditProecess.getPageStatus());
+				if ("空运出口审核".equals(auditProecess.getProcessType())) {
+					message.setMessageBody("您有新的空运出口审核,业务单号:" + "" + proecessTemp.getBillNo() + ","
+						+ "单据日期:" + billsDate + ",请审核。"
+						+ "提交人:" + proecessTemp.getSendName() + "  " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
+					);
+				} if ("空运进口审核".equals(auditProecess.getProcessType())) {
+					message.setMessageBody("您有新的空运进口审核,业务单号:" + "" + proecessTemp.getBillNo() + ","
+						+ "单据日期:" + billsDate + ",请审核。"
+						+ "提交人:" + proecessTemp.getSendName() + "  " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
+					);
+				}
+				message.setCreateUser(AuthUtil.getUserId());
+				message.setCreateTime(new Date());
+
+				// 消息批量通知下一级
+				sendMsgToGroup(message, proecess.getAuditUserId());
+			}
+			//不通过
+			else if (operate == 2) {
+				auditProecess.setAuditStatus("B");
+				AeaBills detail = aeaBillsMapper.selectById(auditProecess.getSrcBillId());
+				if (detail == null) {
+					throw new SecurityException("审批通过失败");
+				}
+				detail.setStatus(4);
+				int count = aeaBillsMapper.updateById(detail);
+				if (count == 0) {
+					throw new SecurityException("修改订单数据失败");
+				}
+				List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+					.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+					.eq(FeeCenter::getIsDeleted, 0)
+					.eq(FeeCenter::getPid, bills.getId()));
+				for (FeeCenter item : feeCenterList) {
+					item.setApproverId(AuthUtil.getUserId());
+					item.setApproverName(AuthUtil.getUserName());
+					item.setApproveTime(new Date());
+				}
+				feeCenterService.saveOrUpdateBatch(feeCenterList);
+				if ("空运出口审核".equals(auditProecess.getProcessType())) {
+					sendMessage.setMessageBody("您的空运出口审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				} if ("空运进口审核".equals(auditProecess.getProcessType())) {
+					sendMessage.setMessageBody("您的空运进口审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				}
+
+				R save = messageClient.save(sendMessage);
+				if (!save.isSuccess()) {
+					throw new SecurityException("发送消息失败");
+				}
+			}
+
+		}
+		//是最后一级
+		else if ("T".equals(iffinalItem)) {
+			//通过
+			if (operate == 1) {
+				auditProecess.setAuditStatus("A");
+				AeaBills detail = aeaBillsMapper.selectById(auditProecess.getSrcBillId());
+				if (bills == null) {
+					throw new SecurityException("审批通过失败");
+				}
+				detail.setStatus(3);
+				detail.setBillStatus(3);
+				int count = aeaBillsMapper.updateById(detail);
+				if (count == 0) {
+					throw new SecurityException("修改订单数据失败");
+				}
+				List<FeeCenter> feeCenterList = new ArrayList<>();
+				feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+					.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+					.eq(FeeCenter::getIsDeleted, 0)
+					.eq(FeeCenter::getAccStatus, 0)
+					.eq(FeeCenter::getPid, bills.getId()));
+				if ("MM".equals(bills.getBillType())) {
+					List<Bills> billsList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
+						.eq(Bills::getTenantId, AuthUtil.getTenantId())
+						.eq(Bills::getIsDeleted, 0)
+						.eq(Bills::getMasterId, bills.getId())
+						.eq(Bills::getMasterBillNo, bills.getMasterBillNo()));
+					if (billsList.size() > 0) {
+						List<Long> ids = billsList.stream().map(Bills::getId).filter(Objects::nonNull).collect(Collectors.toList());
+						if (ids.size() > 0) {
+							List<FeeCenter> feeCenters = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+								.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+								.eq(FeeCenter::getIsDeleted, 0)
+								.eq(FeeCenter::getAccStatus, 0)
+								.in(FeeCenter::getPid, ids));
+							feeCenterList.addAll(feeCenters);
+						}
+					}
+				}
+				for (FeeCenter item : feeCenterList) {
+					item.setApproverId(AuthUtil.getUserId());
+					item.setApproverName(AuthUtil.getUserName());
+					item.setApproveTime(new Date());
+				}
+				feeCenterService.saveOrUpdateBatch(feeCenterList);
+				if (feeCenterList.size() != 0) {
+					FinAccBills finAccBills = new FinAccBills();
+					finAccBills.setFeeCenterList(feeCenterList);
+					finAccBills.setBusinessTypeCode("HYZD");
+					finAccBills.setBillNoFormat("HYZD");
+					finAccBills.setAccountType("");
+					finAccBills.setRefno(bills.getRefno());
+					finAccBillsService.generateBill(finAccBills);
+				}
+				if ("空运出口审核".equals(auditProecess.getProcessType())) {
+					sendMessage.setMessageBody("您的空运出口审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				} if ("空运进口审核".equals(auditProecess.getProcessType())) {
+					sendMessage.setMessageBody("您的空运进口审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				}
+				R save = messageClient.save(sendMessage);
+				if (!save.isSuccess()) {
+					throw new SecurityException("发送消息失败");
+				}
+			}
+			//不通过
+			else if (operate == 2) {
+				//todo 调用feign取消
+				auditProecess.setAuditStatus("B");
+				AeaBills detail = aeaBillsMapper.selectById(auditProecess.getSrcBillId());
+				if (detail == null) {
+					throw new SecurityException("审批通过失败");
+				}
+				detail.setStatus(4);
+				int count = aeaBillsMapper.updateById(detail);
+				if (count == 0) {
+					throw new SecurityException("修改订单数据失败");
+				}
+				List<FeeCenter> feeCenterList = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
+					.eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
+					.eq(FeeCenter::getIsDeleted, 0)
+					.eq(FeeCenter::getPid, bills.getId()));
+				for (FeeCenter item : feeCenterList) {
+					item.setApproverId(AuthUtil.getUserId());
+					item.setApproverName(AuthUtil.getUserName());
+					item.setApproveTime(new Date());
+				}
+				feeCenterService.saveOrUpdateBatch(feeCenterList);
+				if ("空运出口审核".equals(auditProecess.getProcessType())) {
+					sendMessage.setMessageBody("您的空运出口审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				} if ("空运进口审核".equals(auditProecess.getProcessType())) {
+					sendMessage.setMessageBody("您的空运进口审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				}
+				R save = messageClient.save(sendMessage);
+				if (!save.isSuccess()) {
+					throw new SecurityException("发送消息失败");
+				}
+			}
+		} else {
+			throw new SecurityException("审批异常,请联系管理员");
+		}
+
+		cleanMsg(proecessTemp.getAuditUserId(), AuthUtil.getUserId(), proecessTemp.getSrcBillId());
+
+		//保存操作记录
+		auditProecess.setAuditMsg(auditProecess.getAuditMsg());
+		auditProecess.setAuditItem(new Date());
+		baseMapper.updateById(auditProecess);
+	}
+
+	@Override
 	public R deteleByBillId(Long billId) {
 		baseMapper.deteleByBillId(billId);
 		return R.data("操作成功");

+ 5 - 7
blade-service/blade-los/src/main/java/org/springblade/los/finance/stl/service/impl/FinStlBillsServiceImpl.java

@@ -92,8 +92,6 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 
 	private final IFinAccBillsService finAccBillsService;
 
-	private final BillsMapper billsMapper;
-
 	private final IBusinessBillNoService businessBillNoService;
 
 	private final IBusinessTypeService bBusinessTypeService;
@@ -460,7 +458,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 					}
 					if ("CNY".equals(item.getCurCode())) {
 						finAccBills.setReconciliationAmount(finAccBills.getReconciliationAmount().subtract(item.getCurrentStlAmount()));
-					}else{
+					} else {
 						finAccBills.setReconciliationAmountUsd(finAccBills.getReconciliationAmountUsd().subtract(item.getCurrentStlAmount()));
 					}
 					finAccBillsList.add(finAccBills);
@@ -1291,13 +1289,13 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 				if (finAccBills == null) {
 					throw new RuntimeException("未找到账单明细,操作失败");
 				}
-				if ("CNY".equals(item.getCurCode())){
+				if ("CNY".equals(item.getCurCode())) {
 					BigDecimal amount = finAccBills.getAppliedAmount().subtract(finAccBills.getAppliedAmountStl());
 					if (item.getCurrentStlAmount().compareTo(finAccBills.getAmountCrLoc().subtract(amount).subtract(finAccBills.getStlAmountCrLoc())) > 0) {
 						throw new RuntimeException("本次申请金额大于未申请金额");
 					}
 					finAccBills.setAppliedAmount(finAccBills.getAppliedAmount().add(item.getCurrentStlAmount()));
-				}else{
+				} else {
 					BigDecimal amount = finAccBills.getAppliedAmountUsd().subtract(finAccBills.getAppliedAmountStlUsd());
 					if (item.getCurrentStlAmount().compareTo(finAccBills.getAmountCrLoc().subtract(amount).subtract(finAccBills.getStlAmountCrLoc())) > 0) {
 						throw new RuntimeException("本次申请金额大于未申请金额");
@@ -1376,12 +1374,12 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
 				if (finAccBills == null) {
 					throw new RuntimeException("未找到账单明细,操作失败");
 				}
-				if ("CNY".equals(item.getCurCode())){
+				if ("CNY".equals(item.getCurCode())) {
 					if (item.getCurrentStlAmount().compareTo(finAccBills.getAppliedAmount()) > 0) {
 						throw new RuntimeException("本次申请金额大于未申请金额");
 					}
 					finAccBills.setAppliedAmount(finAccBills.getAppliedAmount().subtract(item.getCurrentStlAmount()));
-				}else{
+				} else {
 					if (item.getCurrentStlAmount().compareTo(finAccBills.getAppliedAmountUsd()) > 0) {
 						throw new RuntimeException("本次申请金额大于未申请金额");
 					}

+ 49 - 0
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/productLaunch/controller/ProductLaunchController.java

@@ -258,6 +258,55 @@ public class ProductLaunchController extends BladeController {
 	}
 
 	/**
+	 * 导出数据
+	 */
+	@GetMapping("/exportList")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入productLaunch")
+	public void exportList(PjProductLaunch productLaunch, HttpServletResponse response) {
+		LambdaQueryWrapper<PjProductLaunch> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(PjProductLaunch::getTenantId, AuthUtil.getTenantId())
+			.eq(PjProductLaunch::getIsDeleted, 0)
+			.eq(ObjectUtils.isNotNull(productLaunch.getBrandId()), PjProductLaunch::getBrandId, productLaunch.getBrandId())
+			.like(ObjectUtils.isNotNull(productLaunch.getBrandItem()), PjProductLaunch::getBrandItem, productLaunch.getBrandItem())
+			.eq(PjProductLaunch::getBillType, productLaunch.getBillType())
+		;
+		if (ObjectUtils.isNotEmpty(productLaunch.getExplosionProof())
+			|| ObjectUtils.isNotEmpty(productLaunch.getOriginalFactory())
+			|| ObjectUtils.isNotEmpty(productLaunch.getSelfRecovery())) {
+			lambdaQueryWrapper.and(i -> i.eq(ObjectUtils.isNotEmpty(productLaunch.getExplosionProof()), PjProductLaunch::getExplosionProof, productLaunch.getExplosionProof())//防爆
+				.or().eq(ObjectUtils.isNotEmpty(productLaunch.getOriginalFactory()), PjProductLaunch::getOriginalFactory, productLaunch.getOriginalFactory())//原厂
+				.or().eq(ObjectUtils.isNotEmpty(productLaunch.getSelfRecovery()), PjProductLaunch::getSelfRecovery, productLaunch.getSelfRecovery())//自修补
+			);
+		}
+		lambdaQueryWrapper.like(ObjectUtils.isNotEmpty(productLaunch.getSpecificationAndModel()), PjProductLaunch::getSpecificationAndModel, productLaunch.getSpecificationAndModel())//规格型号
+			.eq(ObjectUtil.isNotEmpty(productLaunch.getUpAndDownShelves()), PjProductLaunch::getUpAndDownShelves, productLaunch.getUpAndDownShelves());//上下架
+		if (ObjectUtil.isNotEmpty(productLaunch.getCname())) {
+			lambdaQueryWrapper.and(ObjectUtils.isNotNull(productLaunch.getCname()), i -> i.like(PjProductLaunch::getCname, productLaunch.getCname()).or().like(PjProductLaunch::getCnameInt, productLaunch.getCname()));
+		}
+		lambdaQueryWrapper.eq(PjProductLaunch::getSalesCompanyId, AuthUtil.getDeptId());
+		if (productLaunch.getBillType() == 1) {
+			lambdaQueryWrapper.eq(PjProductLaunch::getWhetherShare, 0);
+			lambdaQueryWrapper.eq(ObjectUtils.isNotNull(productLaunch.getSourceCompanyId()), PjProductLaunch::getSourceCompanyId, productLaunch.getSourceCompanyId());//公司
+		} else {
+			lambdaQueryWrapper.apply(ObjectUtil.isNotEmpty(productLaunch.getSharedCompany()), "find_in_set('" + productLaunch.getSharedCompany() + "',shared_company)");//共享公司
+		}
+		List<PjProductLaunch> pjProductLaunchList = productLaunchService.list( lambdaQueryWrapper);
+		String deptId = pjProductLaunchList.stream().map(PjProductLaunch::getSharedCompany).filter(ObjectUtils::isNotNull).distinct().collect(Collectors.joining(","));
+		R<List<Dept>> deptList = iSysClient.selectByDeptIds(deptId);
+		for (PjProductLaunch item : pjProductLaunchList) {
+			if (ObjectUtils.isNotNull(deptList.getData()) && deptList.getData().size() > 0) {
+				String deptName = deptList.getData().stream()
+					.filter(e -> ObjectUtils.isNotNull(item.getSharedCompany()) && item.getSharedCompany().contains(e.getId() + ""))
+					.map(Dept::getFullName).collect(Collectors.joining(" | "));
+				item.setSharedCompany(deptName);
+			}
+
+		}
+		ExcelUtil.export(response, "导入模板-产品上架", "导入数据表", BeanUtil.copyProperties(pjProductLaunchList,ProductLaunchImportExcel.class), ProductLaunchImportExcel.class);
+	}
+
+	/**
 	 * 批量上下架
 	 */
 	@PostMapping("/batchOperationProductLaunch")