ソースを参照

2023年2月10日17:12:52

纪新园 2 年 前
コミット
6ecba713c0
15 ファイル変更566 行追加113 行削除
  1. 141 1
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/ocean/dto/ShippingBillDTO.java
  2. 16 9
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/ocean/entity/ShippingBill.java
  3. 136 2
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/ocean/entity/ShippingBillDetails.java
  4. 2 2
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/ocean/entity/ShippingFees.java
  5. 28 0
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingBillController.java
  6. 2 0
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingBoxTypeController.java
  7. 2 0
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingFeesController.java
  8. 2 0
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingFileController.java
  9. 2 0
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingMatchBoxController.java
  10. 3 0
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingVesselController.java
  11. 4 2
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingVoyageController.java
  12. 49 2
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/mapper/ShippingBillMapper.xml
  13. 4 0
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/service/IShippingBillService.java
  14. 162 95
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/service/impl/ShippingBillServiceImpl.java
  15. 13 0
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

+ 141 - 1
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/ocean/dto/ShippingBillDTO.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.box.tube.ocean.dto;
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModelProperty;
 import org.springblade.box.tube.ocean.entity.ShippingBill;
@@ -123,7 +124,7 @@ public class ShippingBillDTO extends ShippingBill {
 	 * 核算部门
 	 */
 	@ApiModelProperty(value = "核算部门")
-	private Long accountingDeptId;
+	private String accountingDeptId;
 	/**
 	 * 核算部门
 	 */
@@ -281,5 +282,144 @@ public class ShippingBillDTO extends ShippingBill {
 	@ApiModelProperty(value = "货物详情")
 	private String goodsDetails;
 
+	/**
+	 * 经营单位
+	 */
+	@ApiModelProperty(value = "经营单位")
+	private Long managementCompanyId;
+
+	/**
+	 * 经营单位
+	 */
+	@TableField(exist = false)
+	private String $managementCompanyId;
+
+	/**
+	 * 经营单位
+	 */
+	@ApiModelProperty(value = "经营单位")
+	private String managementCompanyName;
+	/**
+	 * 毛重
+	 */
+	@ApiModelProperty(value = "毛重")
+	private BigDecimal grossWeight;
+	/**
+	 * 货值单价
+	 */
+	@ApiModelProperty(value = "货值单价")
+	private BigDecimal price;
+	/**
+	 * 报关单号
+	 */
+	@ApiModelProperty(value = "报关单号")
+	private String declareAtCustomsNo;
+	/**
+	 * 报检单号
+	 */
+	@ApiModelProperty(value = "报检单号")
+	private String inspectionLotNo;
+	/**
+	 * 申报要素
+	 */
+	@ApiModelProperty(value = "申报要素")
+	private String declarationElements;
+	/**
+	 * 预计到达
+	 */
+	@ApiModelProperty(value = "预计到达")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date expectedArrivalDate;
+	/**
+	 * 合同生效
+	 */
+	@ApiModelProperty(value = "合同生效")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date contractEffectivenessDate;
+	/**
+	 * 合同失效
+	 */
+	@ApiModelProperty(value = "合同失效")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date contractInvalidationDate;
+
+	/**
+	 * 码头
+	 */
+	@ApiModelProperty(value = "码头")
+	private String wharf;
+	/**
+	 * 接单日期
+	 */
+	@ApiModelProperty(value = "接单日期")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date receivingDate;
+
+	/**
+	 * 接单日期
+	 */
+	@TableField(exist = false)
+	private List<String> receivingDateList;
+	/**
+	 * 仓库
+	 */
+	@ApiModelProperty(value = "仓库")
+	private Long warehouseId;
+
+	/**
+	 * 仓库
+	 */
+	@ApiModelProperty(value = "仓库")
+	private String $warehouseId;
+	/**
+	 * 仓库
+	 */
+	@ApiModelProperty(value = "仓库")
+	private String warehouseName;
+	/**
+	 * 换单日期
+	 */
+	@ApiModelProperty(value = "换单日期")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date exchangeOrderDate;
+
+	/**
+	 * 换单日期
+	 */
+	@TableField(exist = false)
+	private List<String> exchangeOrderDateList;
+	/**
+	 * 入库日期
+	 */
+	@ApiModelProperty(value = "入库日期")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date warehousingDate;
+
+	/**
+	 * 入库日期
+	 */
+	@TableField(exist = false)
+	private List<String> warehousingDateList;
+
+	/**
+	 * 押箱日期
+	 */
+	@ApiModelProperty(value = "押箱日期")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date pledgeBoxDate;
+	/**
+	 * 退箱日期
+	 */
+	@ApiModelProperty(value = "退箱日期")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date unpackingDate;
+	/**
+	 * 放行日期
+	 */
+	@ApiModelProperty(value = "放行日期")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date releaseDate;
+
+
 
 }

+ 16 - 9
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/ocean/entity/ShippingBill.java

@@ -23,6 +23,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 import java.util.List;
 
@@ -294,7 +295,7 @@ public class ShippingBill implements Serializable {
 	/**
 	 * 创建人
 	 */
-	@TableField(exist = false)
+	@ApiModelProperty(value = "创建人")
 	private String createUserName;
 	/**
 	 * 创建部门
@@ -319,7 +320,7 @@ public class ShippingBill implements Serializable {
 	/**
 	 * 修改人
 	 */
-	@TableField(exist = false)
+	@ApiModelProperty(value = "修改人")
 	private String updateUserName;
 	/**
 	 * 修改时间
@@ -472,14 +473,14 @@ public class ShippingBill implements Serializable {
 	 */
 	@ApiModelProperty(value = "应收外币")
 	@TableField("receivable_USD")
-	private String receivableUSD;
+	private BigDecimal receivableUSD;
 
 	/**
 	 * 应收人民币
 	 */
 	@ApiModelProperty(value = "应收人民币")
 	@TableField("receivable_RMB")
-	private String receivableRMB;
+	private BigDecimal receivableRMB;
 
 
 	/**
@@ -487,34 +488,40 @@ public class ShippingBill implements Serializable {
 	 */
 	@ApiModelProperty(value = "应付外币")
 	@TableField("pay_USD")
-	private String payUSD;
+	private BigDecimal payUSD;
 
 	/**
 	 * 应付人民币
 	 */
 	@ApiModelProperty(value = "应付人民币")
 	@TableField("pay_RMB")
-	private String payRMB;
+	private BigDecimal payRMB;
 
 	/**
 	 * 利润外币
 	 */
 	@ApiModelProperty(value = "利润外币")
 	@TableField("profit_USD")
-	private String profitUSD;
+	private BigDecimal profitUSD;
 
 	/**
 	 * 利润人民币
 	 */
 	@ApiModelProperty(value = "利润人民币")
 	@TableField("profit_RMB")
-	private String profitRMB;
+	private BigDecimal profitRMB;
 
 	/**
 	 * 利润合计
 	 */
 	@ApiModelProperty(value = "利润合计")
-	private String profitTotal;
+	private BigDecimal profitTotal;
+
+	/**
+	 * 原产地
+	 */
+	@ApiModelProperty(value = "原产地")
+	private String originLand;
 
 	/**
 	 * 请核类型

+ 136 - 2
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/ocean/entity/ShippingBillDetails.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.box.tube.ocean.entity;
 
+import com.baomidou.mybatisplus.annotation.FieldStrategy;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
@@ -24,7 +25,6 @@ import lombok.Data;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
-
 import java.util.Date;
 import java.util.List;
 
@@ -132,7 +132,7 @@ public class ShippingBillDetails implements Serializable {
 	 * 核算部门
 	 */
 	@ApiModelProperty(value = "核算部门")
-	private Long accountingDeptId;
+	private String accountingDeptId;
 	/**
 	 * 核算部门
 	 */
@@ -352,6 +352,140 @@ public class ShippingBillDetails implements Serializable {
 	@ApiModelProperty(value = "租户")
 	private String tenantId;
 
+	/**
+	 * 经营单位
+	 */
+	@ApiModelProperty(value = "经营单位")
+	private Long managementCompanyId;
+
+	/**
+	 * 经营单位
+	 */
+	@TableField(exist = false)
+	private String $managementCompanyId;
+
+	/**
+	 * 经营单位
+	 */
+	@ApiModelProperty(value = "经营单位")
+	private String managementCompanyName;
+	/**
+	 * 毛重
+	 */
+	@ApiModelProperty(value = "毛重")
+	private BigDecimal grossWeight;
+	/**
+	 * 货值单价
+	 */
+	@ApiModelProperty(value = "货值单价")
+	private BigDecimal price;
+	/**
+	 * 报关单号
+	 */
+	@ApiModelProperty(value = "报关单号")
+	private String declareAtCustomsNo;
+	/**
+	 * 报检单号
+	 */
+	@ApiModelProperty(value = "报检单号")
+	private String inspectionLotNo;
+	/**
+	 * 申报要素
+	 */
+	@ApiModelProperty(value = "申报要素")
+	private String declarationElements;
+	/**
+	 * 预计到达
+	 */
+	@ApiModelProperty(value = "预计到达")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date expectedArrivalDate;
+	/**
+	 * 合同生效
+	 */
+	@ApiModelProperty(value = "合同生效")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date contractEffectivenessDate;
+	/**
+	 * 合同失效
+	 */
+	@ApiModelProperty(value = "合同失效")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date contractInvalidationDate;
+
+	/**
+	 * 码头
+	 */
+	@ApiModelProperty(value = "码头")
+	private String wharf;
+	/**
+	 * 接单日期
+	 */
+	@ApiModelProperty(value = "接单日期")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date receivingDate;
+	/**
+	 * 仓库
+	 */
+	@ApiModelProperty(value = "仓库")
+	private Long warehouseId;
+
+	/**
+	 * 仓库
+	 */
+	@TableField(exist = false)
+	private String $warehouseId;
+	/**
+	 * 仓库
+	 */
+	@ApiModelProperty(value = "仓库")
+	private String warehouseName;
+	/**
+	 * 换单日期
+	 */
+	@ApiModelProperty(value = "换单日期")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date exchangeOrderDate;
+	/**
+	 * 入库日期
+	 */
+	@ApiModelProperty(value = "入库日期")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date warehousingDate;
+	/**
+	 * 押箱日期
+	 */
+	@ApiModelProperty(value = "押箱日期")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date pledgeBoxDate;
+	/**
+	 * 退箱日期
+	 */
+	@ApiModelProperty(value = "退箱日期")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date unpackingDate;
+	/**
+	 * 放行日期
+	 */
+	@ApiModelProperty(value = "放行日期")
+	@TableField(updateStrategy = FieldStrategy.IGNORED)
+	private Date releaseDate;
+
+	public String get$managementCompanyId() {
+		return $managementCompanyId;
+	}
+
+	public void set$managementCompanyId(String $managementCompanyId) {
+		this.$managementCompanyId = $managementCompanyId;
+	}
+
+	public String get$warehouseId() {
+		return $warehouseId;
+	}
+
+	public void set$warehouseId(String $warehouseId) {
+		this.$warehouseId = $warehouseId;
+	}
 
 	public String get$mainPayPlaceId() {
 		return $mainPayPlaceId;

+ 2 - 2
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/ocean/entity/ShippingFees.java

@@ -56,7 +56,7 @@ public class ShippingFees implements Serializable {
 	/**
 	 * 费用
 	 */
-	@TableField(exist = false)
+	@ApiModelProperty(value = "费用")
 	private String itemName;
 	/**
 	 * 客户id
@@ -67,7 +67,7 @@ public class ShippingFees implements Serializable {
 	/**
 	 * 客户
 	 */
-	@TableField(exist = false)
+	@ApiModelProperty(value = "客户")
 	private String corpName;
 	/**
 	 * 数量

+ 28 - 0
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingBillController.java

@@ -125,6 +125,7 @@ public class ShippingBillController extends BladeController {
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入shippingBill")
+	@RepeatSubmit
 	public R submit(@Valid @RequestBody ShippingBill shippingBill) {
 		return R.data(shippingBillService.addOrUpdate(shippingBill));
 	}
@@ -136,6 +137,7 @@ public class ShippingBillController extends BladeController {
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
+	@RepeatSubmit
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		return shippingBillService.detele(Func.toLongList(ids));
 //		return R.status(shippingBillService.removeByIds(Func.toLongList(ids)));
@@ -196,4 +198,30 @@ public class ShippingBillController extends BladeController {
 		return R.data(check);
 	}
 
+	/**
+	 * 生成账单
+	 *
+	 * @param shippingBill
+	 * @return
+	 */
+	@PostMapping("/generateBill")
+	@RepeatSubmit
+	public R generateBill(@RequestBody ShippingBill shippingBill) {
+		ShippingBill generateBill = shippingBillService.generateBill(shippingBill);
+		return R.data(generateBill);
+	}
+
+	/**
+	 * 撤销账单
+	 *
+	 * @param shippingBill
+	 * @return
+	 */
+	@PostMapping("/revokeBill")
+	@RepeatSubmit
+	public R revokeBill(@RequestBody ShippingBill shippingBill) {
+		ShippingBill generateBill = shippingBillService.revokeBill(shippingBill);
+		return R.data(generateBill);
+	}
+
 }

+ 2 - 0
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingBoxTypeController.java

@@ -23,6 +23,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 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.tool.api.R;
@@ -118,6 +119,7 @@ public class ShippingBoxTypeController extends BladeController {
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
+	@RepeatSubmit
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		return R.status(shippingBoxTypeService.removeByIds(Func.toLongList(ids)));
 	}

+ 2 - 0
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingFeesController.java

@@ -24,6 +24,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 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.tool.api.R;
@@ -126,6 +127,7 @@ public class ShippingFeesController extends BladeController {
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
+	@RepeatSubmit
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		List<Long> toLongList = Func.toLongList(ids);
 		for (Long id : toLongList) {

+ 2 - 0
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingFileController.java

@@ -23,6 +23,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 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.tool.api.R;
@@ -118,6 +119,7 @@ public class ShippingFileController extends BladeController {
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
+	@RepeatSubmit
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		return R.status(shippingFileService.removeByIds(Func.toLongList(ids)));
 	}

+ 2 - 0
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingMatchBoxController.java

@@ -23,6 +23,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 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.tool.api.R;
@@ -118,6 +119,7 @@ public class ShippingMatchBoxController extends BladeController {
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
+	@RepeatSubmit
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		return R.status(shippingMatchBoxService.removeByIds(Func.toLongList(ids)));
 	}

+ 3 - 0
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingVesselController.java

@@ -29,6 +29,7 @@ import org.springblade.box.tube.ocean.entity.ShippingVoyage;
 import org.springblade.box.tube.ocean.service.IShippingVesselService;
 import org.springblade.box.tube.ocean.service.IShippingVoyageService;
 import org.springblade.box.tube.ocean.vo.ShippingVesselVO;
+import org.springblade.common.annotation.RepeatSubmit;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -124,6 +125,7 @@ public class ShippingVesselController extends BladeController {
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改", notes = "传入shippingVessel")
+	@RepeatSubmit
 	public R submit(@Valid @RequestBody ShippingVessel shippingVessel) {
 		return R.data(shippingVesselService.addOrUpdate(shippingVessel));
 	}
@@ -135,6 +137,7 @@ public class ShippingVesselController extends BladeController {
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
+	@RepeatSubmit
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		return R.status(shippingVesselService.removeByIds(Func.toLongList(ids)));
 	}

+ 4 - 2
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/controller/ShippingVoyageController.java

@@ -23,6 +23,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 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.tool.api.R;
@@ -111,16 +112,17 @@ public class ShippingVoyageController extends BladeController {
 		return R.status(shippingVoyageService.saveOrUpdate(shippingVoyage));
 	}
 
-	
+
 	/**
 	 * 删除 海运进出口航次
 	 */
 	@PostMapping("/remove")
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
+	@RepeatSubmit
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
 		return R.status(shippingVoyageService.removeByIds(Func.toLongList(ids)));
 	}
 
-	
+
 }

+ 49 - 2
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/mapper/ShippingBillMapper.xml

@@ -41,6 +41,7 @@
         <result column="status" property="status"/>
         <result column="is_deleted" property="isDeleted"/>
         <result column="remarks" property="remarks"/>
+        <result column="origin_land" property="originLand"/>
         <result column="deliver_goods_address_id" property="deliverGoodsAddressId"/>
         <result column="loading_port_id" property="loadingPortId"/>
         <result column="discharge_cargo_harbor_id" property="dischargeCargoHarborId"/>
@@ -78,6 +79,25 @@
         <result column="goods_id" property="goodsId"/>
         <result column="HSCODE" property="hscode"/>
         <result column="goods_details" property="goodsDetails"/>
+        <result column="management_company_id" property="managementCompanyId"/>
+        <result column="management_company_name" property="managementCompanyName"/>
+        <result column="gross_weight" property="grossWeight"/>
+        <result column="price" property="price"/>
+        <result column="declare_at_customsNo" property="declareAtCustomsNo"/>
+        <result column="inspection_lot_no" property="inspectionLotNo"/>
+        <result column="declarationElements" property="declarationElements"/>
+        <result column="expected_arrival_date" property="expectedArrivalDate"/>
+        <result column="contract_effectiveness_date" property="contractEffectivenessDate"/>
+        <result column="contract_invalidation_date" property="contractInvalidationDate"/>
+        <result column="wharf" property="wharf"/>
+        <result column="receiving_date" property="receivingDate"/>
+        <result column="warehouse_id" property="warehouseId"/>
+        <result column="warehouse_name" property="warehouseName"/>
+        <result column="exchange_order_date" property="exchangeOrderDate"/>
+        <result column="warehousing_date" property="warehousingDate"/>
+        <result column="pledge_box_date" property="pledgeBoxDate"/>
+        <result column="unpacking_date" property="unpackingDate"/>
+        <result column="release_date" property="releaseDate"/>
     </resultMap>
 
     <select id="selectShippingBillPage" resultMap="shippingBillResultMap">
@@ -103,7 +123,7 @@
             =#{shippingBill.shippingCompanyId}
         </if>
         <if test="shippingBill.bookingAgentId != null">and
-            osb.booking_agent=#{shippingBill.bookingAgentId}
+            osb.booking_agent_id=#{shippingBill.bookingAgentId}
         </if>
         <if test="shippingBill.station != null and shippingBill.station != ''">and osb.station
             =#{shippingBill.station}
@@ -134,9 +154,36 @@
         <if test="shippingBill.actualSailDateList != null and shippingBill.actualSailDateList[1] != null and shippingBill.actualSailDateList[1]!= ''">
             and osbd.actual_sail_date &lt;= #{shippingBill.actualSailDateList[1]}
         </if>
+        <if test="shippingBill.managementCompanyId != null">and
+            osbd.management_company_id=#{shippingBill.managementCompanyId}
+        </if>
+        <if test="shippingBill.wharf != null and shippingBill.tradeType != ''">and osbd.wharf
+            =#{shippingBill.wharf}
+        </if>
+        <if test="shippingBill.warehouseId != null">and
+            osbd.warehouse_id=#{shippingBill.warehouseId}
+        </if>
+        <if test="shippingBill.receivingDateList != null and shippingBill.receivingDateList[0] != null and shippingBill.receivingDateList[0]!= ''">
+            and osbd.receiving_date &gt;= #{shippingBill.receivingDateList[0]}
+        </if>
+        <if test="shippingBill.receivingDateList != null and shippingBill.receivingDateList[1] != null and shippingBill.receivingDateList[1]!= ''">
+            and osbd.receiving_date &lt;= #{shippingBill.receivingDateList[1]}
+        </if>
+        <if test="shippingBill.exchangeOrderDateList != null and shippingBill.exchangeOrderDateList[0] != null and shippingBill.exchangeOrderDateList[0]!= ''">
+            and osbd.exchange_order_date &gt;= #{shippingBill.exchangeOrderDateList[0]}
+        </if>
+        <if test="shippingBill.exchangeOrderDateList != null and shippingBill.exchangeOrderDateList[1] != null and shippingBill.exchangeOrderDateList[1]!= ''">
+            and osbd.exchange_order_date &lt;= #{shippingBill.exchangeOrderDateList[1]}
+        </if>
+        <if test="shippingBill.warehousingDateList != null and shippingBill.warehousingDateList[0] != null and shippingBill.warehousingDateList[0]!= ''">
+            and osbd.warehousing_date &gt;= #{shippingBill.warehousingDateList[0]}
+        </if>
+        <if test="shippingBill.warehousingDateList != null and shippingBill.warehousingDateList[1] != null and shippingBill.warehousingDateList[1]!= ''">
+            and osbd.warehousing_date &lt;= #{shippingBill.warehousingDateList[1]}
+        </if>
         ORDER BY osb.create_time
     </select>
-    <select id="selectShippingBillList" resultType="org.springblade.box.tube.ocean.dto.ShippingBillDTO">
+    <select id="selectShippingBillList" resultMap="shippingBillResultMap">
         SELECT
         osb.*,
         osbd.*

+ 4 - 0
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/service/IShippingBillService.java

@@ -60,4 +60,8 @@ public interface IShippingBillService extends IService<ShippingBill> {
 	List<ShippingBillDTO> selectShippingBillList(ShippingBillDTO shippingBill);
 
 	R detele(List<Long> toLongList);
+
+	ShippingBill generateBill(ShippingBill shippingBill);
+
+	ShippingBill revokeBill(ShippingBill shippingBill);
 }

+ 162 - 95
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/ocean/service/impl/ShippingBillServiceImpl.java

@@ -32,7 +32,11 @@ import org.springblade.check.dto.AuditProecessDTO;
 import org.springblade.check.entity.AuditPathsActs;
 import org.springblade.check.entity.AuditPathsLevels;
 import org.springblade.check.feign.ICheckClient;
+import org.springblade.client.entity.CorpsDesc;
+import org.springblade.client.entity.FeesDesc;
 import org.springblade.client.entity.Message;
+import org.springblade.client.feign.ICorpsDescClient;
+import org.springblade.client.feign.IFeesDescClient;
 import org.springblade.client.feign.IMessageClient;
 import org.springblade.client.feign.ISerialClient;
 import org.springblade.core.mp.support.Condition;
@@ -90,6 +94,10 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 
 	private final IMessageClient messageClient;//消息
 
+	private IFeesDescClient feesDescClient;//费用
+
+	private ICorpsDescClient corpsDescClient;//客户
+
 	@Override
 	public IPage<ShippingBillDTO> selectShippingBillPage(IPage<ShippingBillDTO> page, ShippingBillDTO shippingBill) {
 		return page.setRecords(baseMapper.selectShippingBillPage(page, shippingBill));
@@ -110,15 +118,30 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 		//配箱
 		List<ShippingMatchBox> shippingMatchBox = shippingMatchBoxMapper.selectList(new LambdaQueryWrapper<ShippingMatchBox>().eq(ShippingMatchBox::getPid, shippingBill.getId()));
 		shippingBillDetail.setShippingMatchBoxList(shippingMatchBox);
+		List<ShippingFees> shippingFeesList = new ArrayList<>();
 		if (ObjectUtils.isNotNull(shippingBill.getFeeStatusType())) {
 			//费用明细
-			List<ShippingFees> shippingFees = shippingFeesMapper.selectList(new LambdaQueryWrapper<ShippingFees>().eq(ShippingFees::getPid, shippingBill.getId()).eq(ShippingFees::getIsCheck, 2));
-			shippingBillDetail.setShippingFeesList(shippingFees);
+			shippingFeesList = shippingFeesMapper.selectList(new LambdaQueryWrapper<ShippingFees>().eq(ShippingFees::getPid, shippingBill.getId()).eq(ShippingFees::getIsCheck, 2));
 		} else {
 			//费用明细
-			List<ShippingFees> shippingFees = shippingFeesMapper.selectList(new LambdaQueryWrapper<ShippingFees>().eq(ShippingFees::getPid, shippingBill.getId()));
-			shippingBillDetail.setShippingFeesList(shippingFees);
+			shippingFeesList = shippingFeesMapper.selectList(new LambdaQueryWrapper<ShippingFees>().eq(ShippingFees::getPid, shippingBill.getId()));
+		}
+		for (ShippingFees shippingFees : shippingFeesList) {
+			if (ObjectUtils.isNotNull(shippingFees.getItemId())) {
+				R<FeesDesc> r = feesDescClient.detail(shippingFees.getItemId());
+				if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {
+					shippingFees.setItemName(r.getData().getCname());
+				}
+			}
+			if (ObjectUtils.isNotNull(shippingFees.getCorpId())) {
+				CorpsDesc corpsDesc = corpsDescClient.getCorpId(shippingFees.getCorpId());
+				if (ObjectUtils.isNotNull(corpsDesc)) {
+					shippingFees.setCorpName(corpsDesc.getCname());
+				}
+			}
 		}
+		shippingBillDetail.setShippingFeesList(shippingFeesList);
+
 		//附件
 		List<ShippingFile> shippingFile = shippingFileMapper.selectList(new LambdaQueryWrapper<ShippingFile>().eq(ShippingFile::getPid, shippingBill.getId()));
 		shippingBillDetail.setShippingFileList(shippingFile);
@@ -156,11 +179,13 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 			}
 			shippingBill.setSysNo(billNo.getData().toString());
 			shippingBill.setCreateUser(AuthUtil.getUserId());
+			shippingBill.setCreateUserName(AuthUtil.getUserName());
 			shippingBill.setCreateTime(new Date());
 			shippingBill.setTenantId(AuthUtil.getTenantId());
 			baseMapper.insert(shippingBill);
 		} else {
 			shippingBill.setUpdateUser(AuthUtil.getUserId());
+			shippingBill.setUpdateUserName(AuthUtil.getUserName());
 			shippingBill.setUpdateTime(new Date());
 			baseMapper.updateById(shippingBill);
 		}
@@ -239,6 +264,36 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 		}
 		//费用信息
 		if (ObjectUtils.isNotNull(shippingBill.getShippingFeesList())) {
+
+			/**
+			 * 应收外币
+			 */
+			BigDecimal receivableUSD = new BigDecimal("0.00");
+			/**
+			 * 应收人民币
+			 */
+			BigDecimal receivableRMB = new BigDecimal("0.00");
+			/**
+			 * 应付外币
+			 */
+			BigDecimal payUSD = new BigDecimal("0.00");
+			/**
+			 * 应付人民币
+			 */
+			BigDecimal payRMB = new BigDecimal("0.00");
+			/**
+			 * 利润外币
+			 */
+			BigDecimal profitUSD = new BigDecimal("0.00");
+			/**
+			 * 利润人民币
+			 */
+			BigDecimal profitRMB = new BigDecimal("0.00");
+			/**
+			 * 利润合计
+			 */
+			BigDecimal profitTotal = new BigDecimal("0.00");
+
 			for (ShippingFees shippingFees : shippingBill.getShippingFeesList()) {
 				if (shippingFees.getId() == null) {
 					shippingFees.setCreateUser(AuthUtil.getUserId());
@@ -251,8 +306,33 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 					shippingFees.setUpdateTime(new Date());
 					shippingFeesMapper.updateById(shippingFees);
 				}
+				if ("2".equals(shippingFees.getCurrency())) {
+					if (1 == shippingFees.getFeesType()) {
+						receivableUSD = receivableUSD.add(shippingFees.getAmount());
+					} else {
+						payUSD = payUSD.add(shippingFees.getAmount());
+					}
+				} else {
+					if (1 == shippingFees.getFeesType()) {
+						receivableRMB = receivableRMB.add(shippingFees.getAmount());
+					} else {
+						payRMB = payRMB.add(shippingFees.getAmount());
+					}
+				}
 			}
+			profitUSD = profitUSD.add(receivableUSD.subtract(payUSD));
+			profitRMB = profitRMB.add(receivableRMB.subtract(payRMB));
+			profitTotal = profitRMB.add(profitUSD.multiply(new BigDecimal("6.3")));
+			shippingBill.setPayUSD(payUSD);
+			shippingBill.setProfitUSD(profitUSD);
+			shippingBill.setReceivableUSD(receivableUSD);
+			shippingBill.setReceivableRMB(receivableRMB);
+			shippingBill.setPayRMB(payRMB);
+			shippingBill.setProfitRMB(profitRMB);
+			shippingBill.setProfitTotal(profitTotal);
 		}
+		baseMapper.updateById(shippingBill);
+
 		//附件
 		if (ObjectUtils.isNotNull(shippingBill.getShippingFileList())) {
 			for (ShippingFile shippingFile : shippingBill.getShippingFileList()) {
@@ -277,6 +357,9 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public ShippingBill checkShippingBill(ShippingBill shippingBill) {
 		ShippingBill selectShippingBill = baseMapper.selectById(shippingBill.getId());
+		if (ObjectUtils.isNull(selectShippingBill)){
+			throw new SecurityException("请核失败:未找到单据信息");
+		}
 		//审批数据
 		AuditProecessDTO auditProecessDTO = new AuditProecessDTO();
 		//获取审批级次
@@ -392,9 +475,9 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 			auditProecessDTO.setReceivableAmount(receivableAmount);
 			//审批数据
 			LambdaQueryWrapper<ShippingBillDetails> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-			lambdaQueryWrapper.eq(ShippingBillDetails::getPid,selectShippingBill.getId());
+			lambdaQueryWrapper.eq(ShippingBillDetails::getPid, selectShippingBill.getId());
 			ShippingBillDetails shippingBillDetails = shippingBillDetailsMapper.selectOne(lambdaQueryWrapper);
-			if (ObjectUtils.isNotNull(shippingBillDetails)){
+			if (ObjectUtils.isNotNull(shippingBillDetails)) {
 				auditProecessDTO.setMorderNo(shippingBillDetails.getContractNo());
 			}
 			auditProecessDTO.setOrderRemark(shippingBill.getRemarks());
@@ -424,8 +507,6 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 		shippingBill.setStatus(3);
 		shippingBill.setFeeStatus("1");
 		baseMapper.updateById(shippingBill);
-		//入库生成账单
-		this.paymentApply(shippingBill, shippingBill.getBillType(), shippingBill.getBillType());
 		return R.success("操作成功");
 	}
 
@@ -460,63 +541,11 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 		if (selectShippingBill == null) {
 			throw new SecurityException("撤销审核失败");
 		}
-		//获取账单信息
-		Acc acc = new Acc();
-		acc.setTradeType(selectShippingBill.getTradeType());
-		acc.setSrcType(11);
-		acc.setSrcParentId(selectShippingBill.getId());
-		if (shippingBill.getApprovalType().equals("2")) {
-			if (ObjectUtils.isNotNull(shippingBill.getShippingFeesList()) && shippingBill.getShippingFeesList().size() > 0) {
-				for (ShippingFees shippingFees : shippingBill.getShippingFeesList()) {
-					acc.setSrcFeesId(shippingFees.getId());
-					R<List<Acc>> r = financeClient.getAccListByCondition(acc);
-					if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {
-						for (Acc acc_ : r.getData()) {
-							//判断账单是否已有结算  true 不允许撤销审核  false 删除账单并撤销审核
-							if (!acc_.getSettlementAmount().equals(new BigDecimal("0.00"))) {
-								throw new SecurityException("订单已结算,不允许撤销");
-							} else {
-								financeClient.remove(acc_.getId() + "");
-							}
-						}
-					}
-					shippingFees.setSubmitPay(0);
-					shippingFeesMapper.updateById(shippingFees);
-				}
-			} else {
-				throw new SecurityException("撤销失败,请选择费用明细");
-			}
-		} else {
-			R<List<Acc>> r = financeClient.getAccListByCondition(acc);
-			if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {
-				for (Acc acc_ : r.getData()) {
-					//判断账单是否已有结算  true 不允许撤销审核  false 删除账单并撤销审核
-					if (!acc_.getSettlementAmount().equals(new BigDecimal("0.00"))) {
-						throw new SecurityException("订单已结算,不允许撤销");
-					} else {
-						financeClient.remove(acc_.getId() + "");
-					}
-				}
-			}
-			selectShippingBill.setStatus(0);
-			selectShippingBill.setUpdateTime(new Date());
-			selectShippingBill.setUpdateUser(AuthUtil.getUserId());
-			baseMapper.updateById(selectShippingBill);
-			//获取订单费用信息
-			LambdaQueryWrapper<ShippingFees> shippingFeesLambdaQueryWrapper = new LambdaQueryWrapper<>();
-			shippingFeesLambdaQueryWrapper.eq(ShippingFees::getIsDeleted, 0)
-				.eq(ShippingFees::getPid, selectShippingBill.getId())
-				.eq(ShippingFees::getTenantId, AuthUtil.getTenantId())
-				.eq(ShippingFees::getIsCheck, 1)
-				.eq(ShippingFees::getSubmitPay, 1);
-			List<ShippingFees> shippingFeesList = shippingFeesMapper.selectList(shippingFeesLambdaQueryWrapper);
-			for (ShippingFees shippingFees : shippingFeesList) {
-				shippingFees.setSubmitPay(0);
-				shippingFeesMapper.updateById(shippingFees);
-			}
-		}
-
-//		iCheckClient.deteleByBillId(selectTransport.getId());
+		selectShippingBill.setStatus(0);
+		selectShippingBill.setUpdateTime(new Date());
+		selectShippingBill.setUpdateUser(AuthUtil.getUserId());
+		baseMapper.updateById(selectShippingBill);
+		iCheckClient.deteleByBillId(selectShippingBill.getId());
 		return selectShippingBill;
 	}
 
@@ -526,6 +555,8 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 	}
 
 	@Override
+	@Transactional(rollbackFor = Exception.class)
+	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public R detele(List<Long> toLongList) {
 		for (Long id : toLongList) {
 			//获取账单信息
@@ -547,33 +578,69 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 		return R.status(true);
 	}
 
+	@Override
+	@Transactional(rollbackFor = Exception.class)
+	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
+	public ShippingBill revokeBill(ShippingBill shippingBill) {
+		ShippingBill selectShippingBill = baseMapper.selectById(shippingBill.getId());
+		if (selectShippingBill == null) {
+			throw new SecurityException("撤销失败,未找到主表信息");
+		}
+		//获取账单信息
+		Acc acc = new Acc();
+		acc.setTradeType(selectShippingBill.getTradeType());
+		acc.setSrcType(11);
+		acc.setSrcParentId(selectShippingBill.getId());
+		if (ObjectUtils.isNotNull(shippingBill.getShippingFeesList()) && shippingBill.getShippingFeesList().size() > 0) {
+			for (ShippingFees shippingFees : shippingBill.getShippingFeesList()) {
+				acc.setSrcFeesId(shippingFees.getId());
+				R<List<Acc>> r = financeClient.getAccListByCondition(acc);
+				if (r.isSuccess() && ObjectUtils.isNotNull(r.getData())) {
+					for (Acc acc_ : r.getData()) {
+						//判断账单是否已有结算  true 不允许撤销审核  false 删除账单并撤销审核
+						if (!acc_.getSettlementAmount().equals(new BigDecimal("0.00"))) {
+							throw new SecurityException("订单已结算,不允许撤销");
+						} else {
+							financeClient.remove(acc_.getId() + "");
+						}
+					}
+				}
+				shippingFees.setSubmitPay(0);
+				shippingFeesMapper.updateById(shippingFees);
+			}
+		} else {
+			throw new SecurityException("撤销失败,请选择费用明细");
+		}
+		return selectShippingBill;
+	}
+
 
 	/**
 	 * 订单生成账单 并且推送财务消息
-	 *
-	 * @param billType 货款类型: 申请 收费 付费
-	 * @param itemType 付款类型: 采购 销售 收货 发货
 	 */
 	@Transactional(rollbackFor = Exception.class)
 	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
-	public void paymentApply(ShippingBill shippingBill, String billType, String itemType) {
-		Long pid = shippingBill.getId();
+	public ShippingBill generateBill(ShippingBill shippingBill) {
+		ShippingBill selectShippingBill = baseMapper.selectById(shippingBill.getId());
+		if (selectShippingBill == null) {
+			throw new SecurityException("生成失败,未找到主表信息");
+		}
+		LambdaQueryWrapper<ShippingBillDetails> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(ShippingBillDetails::getPid, selectShippingBill.getId()).eq(ShippingBillDetails::getIsDeleted, 0).eq(ShippingBillDetails::getTenantId, AuthUtil.getTenantId());
+		ShippingBillDetails shippingBillDetails = shippingBillDetailsMapper.selectOne(lambdaQueryWrapper);
+		if (ObjectUtils.isNull(shippingBillDetails)) {
+			throw new SecurityException("生成失败,未找到提单信息");
+		}
+		Long pid = selectShippingBill.getId();
 
 		//账单数据
 		ApplyDTO applyDTO = new ApplyDTO();
-		applyDTO.setTradeType(shippingBill.getTradeType());
+		applyDTO.setTradeType(selectShippingBill.getTradeType());
 		BigDecimal amount = BigDecimal.ZERO;//对账金额   销售订单生成的金额  销售金额-本次使用返利金额+费用明细
 		BigDecimal quantity = new BigDecimal("1");//对账数量 数量为 就是轮胎条数的和
 		BigDecimal price = BigDecimal.ZERO;//对账单价
 
-		//获取订单收款信息
-		LambdaQueryWrapper<ShippingFees> shippingFeesLambdaQueryWrapper = new LambdaQueryWrapper<>();
-		shippingFeesLambdaQueryWrapper.eq(ShippingFees::getIsDeleted, 0)
-			.eq(ShippingFees::getPid, pid)
-			.eq(ShippingFees::getTenantId, AuthUtil.getTenantId())
-			.eq(ShippingFees::getSubmitPay, 0)
-			.eq(ShippingFees::getIsCheck, 2);
-		List<ShippingFees> shippingFeesList = shippingFeesMapper.selectList(shippingFeesLambdaQueryWrapper);
+		List<ShippingFees> shippingFeesList = shippingBill.getShippingFeesList();
 		if (CollectionUtils.isNotEmpty(shippingFeesList)) {
 			List<Items> itemsList = new ArrayList<>();
 			for (ShippingFees shippingFees : shippingFeesList) {
@@ -588,30 +655,30 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 				} else {
 					items.setSrcFeesType("申请");
 				}
-				items.setSrcBoxBillType(shippingBill.getBillType());
-				items.setItemType(itemType);
+				items.setSrcBoxBillType(selectShippingBill.getBillType());
+				items.setItemType(selectShippingBill.getBillType());
 				items.setPrice(price);
 				//账单数据
 				items.setAmount(amount);
 				items.setQuantity(quantity);
-				items.setSrcOrderno(shippingBill.getSysNo());
+				items.setSrcOrderno(selectShippingBill.getSysNo());
 				items.setCorpId(shippingFees.getCorpId());
 				items.setSrcParentId(pid);
 				items.setCurrency(shippingFees.getCurrency());
 				items.setSrcType(11);
-				items.setTradeType(shippingBill.getTradeType());
+				items.setTradeType(selectShippingBill.getTradeType());
 				items.setUnit(shippingFees.getUnit());
-				items.setSrcSysNo(shippingBill.getSysNo());
+				items.setSrcSysNo(selectShippingBill.getSysNo());
 				items.setRemarks(shippingFees.getRemarks());
-				items.setSrcBillNo(shippingBill.getShippingBillDetails().getMainBillNo());
+				items.setSrcBillNo(shippingBillDetails.getMainBillNo());
 				items.setStatusJT(0);
-				items.setBillNo(shippingBill.getShippingBillDetails().getMainBillNo());
-				items.setStockTime(shippingBill.getPreparationDate());
-				items.setDepartureHarbor(shippingBill.getLoadingPortName());
-				items.setObjectiveHarbor(shippingBill.getDestinationName());
-				items.setShipName(shippingBill.getShippingBillDetails().getShipName());
-				items.setVoyageNumber(shippingBill.getShippingBillDetails().getVoyageNumber());
-				items.setSailDate(shippingBill.getShippingBillDetails().getSailDate());
+				items.setBillNo(shippingBillDetails.getMainBillNo());
+				items.setStockTime(selectShippingBill.getPreparationDate());
+				items.setDepartureHarbor(selectShippingBill.getLoadingPortName());
+				items.setObjectiveHarbor(selectShippingBill.getDestinationName());
+				items.setShipName(shippingBillDetails.getShipName());
+				items.setVoyageNumber(shippingBillDetails.getVoyageNumber());
+				items.setSailDate(shippingBillDetails.getSailDate());
 				//获取费用id
 				if (ObjectUtils.isNotNull(shippingFees.getItemId())) {
 					items.setCostType(shippingFees.getItemId().toString());
@@ -622,12 +689,11 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 
 				//修改费用明细
 				shippingFees.setSubmitPay(1);
-				shippingFees.setIsCheck(1);
 				shippingFeesMapper.updateById(shippingFees);
 			}
 			if (CollectionUtils.isNotEmpty(itemsList)) {
 				//生成账单
-				R paymentApply = financeClient.paymentApplyBoxTube(applyDTO);
+				R paymentApply = financeClient.paymentApplyOcean(applyDTO);
 				if (!paymentApply.isSuccess()) {
 					throw new RuntimeException(paymentApply.getMsg());
 				}
@@ -651,7 +717,7 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 							sendMessage.setUrl(shippingBill.getUrl());
 							sendMessage.setPageLabel(shippingBill.getPageLabel());
 							sendMessage.setPageStatus(shippingBill.getPageStatus());
-							sendMessage.setMessageBody("您订单" + shippingBill.getSysNo() + "审核通过,请查看");
+							sendMessage.setMessageBody("您订单" + selectShippingBill.getSysNo() + "审核通过,请查看");
 							R save = messageClient.save(sendMessage);
 							if (!save.isSuccess()) {
 								throw new SecurityException("发送消息失败");
@@ -661,6 +727,7 @@ public class ShippingBillServiceImpl extends ServiceImpl<ShippingBillMapper, Shi
 				}
 			}
 		}
+		return selectShippingBill;
 	}
 
 }

+ 13 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java

@@ -2428,6 +2428,19 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 				}
 			}
 		}
+		//应收账款
+		order.setDebitAmount(order.getOrderAmount());
+		//入库出库金额
+		order.setStorageAmount(order.getOrderItemsList().stream().map(OrderItems::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+		//入库出库数量
+		order.setStorageQuantity(order.getOrderItemsList().stream().map(OrderItems::getStorageInQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
+
+		BigDecimal amount = order.getOrderItemsList().stream().map(OrderItems::getAmount).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
+
+		order.setDebitAmount(amount);
+		order.setBalanceAmount(order.getOrderAmount().subtract(order.getSettlmentAmount()));
+		order.setPurchaseAmount(amount);
+
 		selectOrder.setCostAmount(costAmount);
 		selectOrder.setGrossProfit(grossProfit);
 		selectOrder.setConfirmStatus(1);