Parcourir la source

1.海运出口增加放箱号明细表
2.审核表增加字段来源业务类型
3.海运出口-物流提交接口
1.调箱成本接口调试及修改
2.费用请核接口调试及修改
3.修改5.9日禅道bug

纪新园 il y a 9 mois
Parent
commit
3edde115d3
17 fichiers modifiés avec 663 ajouts et 38 suppressions
  1. 34 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/dto/SeaContainerNumberItemDTO.java
  2. 6 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/Bills.java
  3. 205 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/SeaContainerNumberItem.java
  4. 36 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/vo/SeaContainerNumberItemVO.java
  5. 5 0
      blade-service-api/blade-los-api/src/main/java/org/springblade/los/check/entity/LosAuditProecess.java
  6. 1 0
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/ExpenseApplicationServiceImpl.java
  7. 4 0
      blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/RouteCostServiceImpl.java
  8. 16 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java
  9. 126 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/SeaContainerNumberItemController.java
  10. 42 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/SeaContainerNumberItemMapper.java
  11. 47 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/SeaContainerNumberItemMapper.xml
  12. 4 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/IBillsService.java
  13. 41 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/ISeaContainerNumberItemService.java
  14. 30 10
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/BillsServiceImpl.java
  15. 41 0
      blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/impl/SeaContainerNumberItemServiceImpl.java
  16. 1 0
      blade-service/blade-los/src/main/java/org/springblade/los/check/service/impl/AuditProecessServiceImpl.java
  17. 24 28
      blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/mapper/FinAccBillsMapper.xml

+ 34 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/dto/SeaContainerNumberItemDTO.java

@@ -0,0 +1,34 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.los.business.sea.dto;
+
+import org.springblade.los.business.sea.entity.SeaContainerNumberItem;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 业务放箱号明细数据传输对象实体类
+ *
+ * @author BladeX
+ * @since 2025-05-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SeaContainerNumberItemDTO extends SeaContainerNumberItem {
+	private static final long serialVersionUID = 1L;
+
+}

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

@@ -1807,6 +1807,12 @@ public class Bills implements Serializable {
 	@TableField(exist = false)
 	private List<FilesCenter> filesList;
 
+/**
+	 * 业务放箱号明细
+	 */
+	@TableField(exist = false)
+	private List<SeaContainerNumberItem> containerNumberItemList;
+
 	/**
 	 * 费用中心(Amend)
 	 */

+ 205 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/entity/SeaContainerNumberItem.java

@@ -0,0 +1,205 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.los.business.sea.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ * 业务放箱号明细实体类
+ *
+ * @author BladeX
+ * @since 2025-05-12
+ */
+@Data
+@TableName("los_sea_container_number_item")
+@ApiModel(value = "SeaContainerNumberItem对象", description = "业务放箱号明细")
+public class SeaContainerNumberItem implements Serializable {
+
+	private static final long serialVersionUID = 1L;
+
+	private Long id;
+	private Long pid;
+	/**
+	 * 分公司 Id
+	 */
+	@ApiModelProperty(value = "分公司 Id")
+	private String branchId;
+	/**
+	 * 创建人 Id
+	 */
+	@ApiModelProperty(value = "创建人 Id")
+	private Long createUser;
+	/**
+	 * 创建人
+	 */
+	@ApiModelProperty(value = "创建人")
+	private String createUserName;
+	/**
+	 * 创建部门 Id
+	 */
+	@ApiModelProperty(value = "创建部门 Id")
+	private String createDept;
+	/**
+	 * 创建部门
+	 */
+	@ApiModelProperty(value = "创建部门")
+	private String createDeptName;
+	/**
+	 * 创建时间
+	 */
+	@ApiModelProperty(value = "创建时间")
+	private Date createTime;
+	/**
+	 * 修改人 Id
+	 */
+	@ApiModelProperty(value = "修改人 Id")
+	private Long updateUser;
+	/**
+	 * 修改人
+	 */
+	@ApiModelProperty(value = "修改人")
+	private String updateUserName;
+	/**
+	 * 修改时间
+	 */
+	@ApiModelProperty(value = "修改时间")
+	private Date updateTime;
+	/**
+	 * 是否已删除(0 否 1是)
+	 */
+	@ApiModelProperty(value = "是否已删除(0 否 1是)")
+	private Integer isDeleted;
+	/**
+	 * 备注
+	 */
+	@ApiModelProperty(value = "备注")
+	private String remarks;
+	/**
+	 * 箱东
+	 */
+	@ApiModelProperty(value = "箱东")
+	private String boxEastId;
+	/**
+	 * 箱东
+	 */
+	@ApiModelProperty(value = "箱东")
+	private String boxEastName;
+	/**
+	 * 放箱号
+	 */
+	@ApiModelProperty(value = "放箱号")
+	private String containerNumber;
+	/**
+	 * 放箱号类型
+	 */
+	@ApiModelProperty(value = "放箱号类型")
+	private String busType;
+	/**
+	 * 起运港
+	 */
+	@ApiModelProperty(value = "起运港")
+	private Long polId;
+	/**
+	 * 起运港中文
+	 */
+	@ApiModelProperty(value = "起运港中文")
+	private String polCname;
+	/**
+	 * 目的港
+	 */
+	@ApiModelProperty(value = "目的港")
+	private String podId;
+	/**
+	 * 目的港中文
+	 */
+	@ApiModelProperty(value = "目的港中文")
+	private String podCname;
+	/**
+	 * 起运港场站
+	 */
+	@ApiModelProperty(value = "起运港场站")
+	private Long polStationId;
+	/**
+	 * 起运港场站中文
+	 */
+	@ApiModelProperty(value = "起运港场站中文")
+	private String polStationCname;
+	/**
+	 * 箱型
+	 */
+	@ApiModelProperty(value = "箱型")
+	private String boxType;
+	/**
+	 * 可用箱
+	 */
+	@ApiModelProperty(value = "可用箱")
+	private Integer remainingNum;
+	/**
+	 * 目的港场站
+	 */
+	@ApiModelProperty(value = "目的港场站")
+	private Long podStationId;
+	/**
+	 * 目的港场站中文
+	 */
+	@ApiModelProperty(value = "目的港场站中文")
+	private String podStationCname;
+	/**
+	 * 内部放箱号
+	 */
+	@ApiModelProperty(value = "内部放箱号")
+	private String internalContainerNumber;
+	/**
+	 * 内部放箱号类型
+	 */
+	@ApiModelProperty(value = "内部放箱号类型")
+	private String internalBoxClass;
+	/**
+	 * 来源id
+	 */
+	@ApiModelProperty(value = "来源id")
+	private Long srcId;
+	/**
+	 * 操作占用
+	 */
+	@ApiModelProperty(value = "操作占用")
+	private Integer occupyNum;
+	/**
+	 * 放箱号优先等级
+	 */
+	@ApiModelProperty(value = "放箱号优先等级")
+	private String priorityLevel;
+	/**
+	 * 箱管备注
+	 */
+	@ApiModelProperty(value = "箱管备注")
+	private String boxRemarks;
+	/**
+	 * 租户
+	 */
+	@ApiModelProperty(value = "租户")
+	private String tenantId;
+
+
+}

+ 36 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/business/sea/vo/SeaContainerNumberItemVO.java

@@ -0,0 +1,36 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.los.business.sea.vo;
+
+import org.springblade.los.business.sea.entity.SeaContainerNumberItem;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 业务放箱号明细视图实体类
+ *
+ * @author BladeX
+ * @since 2025-05-12
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ApiModel(value = "SeaContainerNumberItemVO对象", description = "业务放箱号明细")
+public class SeaContainerNumberItemVO extends SeaContainerNumberItem {
+	private static final long serialVersionUID = 1L;
+
+}

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

@@ -363,6 +363,11 @@ public class LosAuditProecess implements Serializable {
 	 */
 	@ApiModelProperty(value = "开船日期")
 	private Date etd;
+	/**
+	 * 来源业务类型
+	 */
+	@ApiModelProperty(value = "来源业务类型")
+	private String srcBusType;
 
 	/**
 	 * 开船日期

+ 1 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/ExpenseApplicationServiceImpl.java

@@ -253,6 +253,7 @@ public class ExpenseApplicationServiceImpl extends ServiceImpl<ExpenseApplicatio
 			auditProecessDTO.setCorpsName(expenseApplication.getCorpCnName());
 			auditProecessDTO.setReferenceNumber(expenseApplication.getSrcContainerNumber());
 			auditProecessDTO.setMorderNo(expenseApplication.getSrcMblno());
+			auditProecessDTO.setSrcBusType(expenseApplication.getSrcType());
 			Dept dept = deptUtils.getDept(AuthUtil.getDeptId());
 			if (dept != null) {
 				auditProecessDTO.setSalesCompanyId(dept.getId());

+ 4 - 0
blade-service/blade-los/src/main/java/org/springblade/los/box/service/impl/RouteCostServiceImpl.java

@@ -210,6 +210,7 @@ public class RouteCostServiceImpl extends ServiceImpl<RouteCostMapper, RouteCost
 						routeCostItem.setTotalProfitTwo(routeCostItem.getSalesPriceTwo().add(routeCostItem.getPolIncomeTwo())
 							.add(routeCostItem.getPodIncomeTwo()).subtract(routeCostItem.getCostPriceTwo()));
 					}
+					routeCostItem.setTotalProfitTwo(routeCostItem.getTotalProfitTwo() != null ? routeCostItem.getTotalProfitTwo() : new BigDecimal("0.00"));
 					//合计利润
 					routeCostItem.setProfit(routeCostItem.getTotalProfit().add(routeCostItem.getTotalProfitTwo()));
 
@@ -540,6 +541,7 @@ public class RouteCostServiceImpl extends ServiceImpl<RouteCostMapper, RouteCost
 						routeCostItem.setTotalProfitTwo(routeCostItem.getSalesPriceTwo().add(routeCostItem.getPolIncomeTwo())
 							.add(routeCostItem.getPodIncomeTwo()).subtract(routeCostItem.getCostPriceTwo()));
 					}
+					routeCostItem.setTotalProfitTwo(routeCostItem.getTotalProfitTwo() != null ? routeCostItem.getTotalProfitTwo() : new BigDecimal("0.00"));
 					//合计利润
 					routeCostItem.setProfit(routeCostItem.getTotalProfit().add(routeCostItem.getTotalProfitTwo()));
 					if (routeCostItem.getId() == null) {
@@ -620,6 +622,7 @@ public class RouteCostServiceImpl extends ServiceImpl<RouteCostMapper, RouteCost
 						routeCostItem.setTotalProfitTwo(routeCostItem.getSalesPriceTwo().add(routeCostItem.getPolIncomeTwo())
 							.add(routeCostItem.getPodIncomeTwo()).subtract(routeCostItem.getCostPriceTwo()));
 					}
+					routeCostItem.setTotalProfitTwo(routeCostItem.getTotalProfitTwo() != null ? routeCostItem.getTotalProfitTwo() : new BigDecimal("0.00"));
 					//合计利润
 					routeCostItem.setProfit(routeCostItem.getTotalProfit().add(routeCostItem.getTotalProfitTwo()));
 					if (routeCostItem.getId() == null) {
@@ -694,6 +697,7 @@ public class RouteCostServiceImpl extends ServiceImpl<RouteCostMapper, RouteCost
 					routeCostItem.setTotalProfitTwo(routeCostItem.getSalesPriceTwo().add(routeCostItem.getPolIncomeTwo())
 						.add(routeCostItem.getPodIncomeTwo()).subtract(routeCostItem.getCostPriceTwo()));
 				}
+				routeCostItem.setTotalProfitTwo(routeCostItem.getTotalProfitTwo() != null ? routeCostItem.getTotalProfitTwo() : new BigDecimal("0.00"));
 				//合计利润
 				routeCostItem.setProfit(routeCostItem.getTotalProfit().add(routeCostItem.getTotalProfitTwo()));
 				if (routeCostItem.getId() == null) {

+ 16 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/BillsController.java

@@ -756,5 +756,21 @@ public class BillsController extends BladeController {
 		}
 
 	}
+
+	/**
+	 * 物流提交
+	 */
+	@PostMapping("/logisticsSubmission")
+	public R logisticsSubmission(@Valid @RequestBody Bills bills) {
+		return billsService.logisticsSubmission(bills);
+	}
+
+	/**
+	 * 物流撤销提交
+	 */
+	@PostMapping("/logisticsRevokeSubmission")
+	public R logisticsRevokeSubmission(@Valid @RequestBody Bills bills) {
+		return billsService.logisticsRevokeSubmission(bills);
+	}
 }
 

+ 126 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/controller/SeaContainerNumberItemController.java

@@ -0,0 +1,126 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.los.business.sea.controller;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import lombok.AllArgsConstructor;
+import javax.validation.Valid;
+
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.utils.Func;
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springblade.los.business.sea.entity.SeaContainerNumberItem;
+import org.springblade.los.business.sea.vo.SeaContainerNumberItemVO;
+import org.springblade.los.business.sea.service.ISeaContainerNumberItemService;
+import org.springblade.core.boot.ctrl.BladeController;
+
+/**
+ * 业务放箱号明细 控制器
+ *
+ * @author BladeX
+ * @since 2025-05-12
+ */
+@RestController
+@AllArgsConstructor
+@RequestMapping("/seacontainernumberitem")
+@Api(value = "业务放箱号明细", tags = "业务放箱号明细接口")
+public class SeaContainerNumberItemController extends BladeController {
+
+	private final ISeaContainerNumberItemService seaContainerNumberItemService;
+
+	/**
+	 * 详情
+	 */
+	@GetMapping("/detail")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入seaContainerNumberItem")
+	public R<SeaContainerNumberItem> detail(SeaContainerNumberItem seaContainerNumberItem) {
+		SeaContainerNumberItem detail = seaContainerNumberItemService.getOne(Condition.getQueryWrapper(seaContainerNumberItem));
+		return R.data(detail);
+	}
+
+	/**
+	 * 分页 业务放箱号明细
+	 */
+	@GetMapping("/list")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入seaContainerNumberItem")
+	public R<IPage<SeaContainerNumberItem>> list(SeaContainerNumberItem seaContainerNumberItem, Query query) {
+		IPage<SeaContainerNumberItem> pages = seaContainerNumberItemService.page(Condition.getPage(query), Condition.getQueryWrapper(seaContainerNumberItem));
+		return R.data(pages);
+	}
+
+	/**
+	 * 自定义分页 业务放箱号明细
+	 */
+	@GetMapping("/page")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "分页", notes = "传入seaContainerNumberItem")
+	public R<IPage<SeaContainerNumberItemVO>> page(SeaContainerNumberItemVO seaContainerNumberItem, Query query) {
+		IPage<SeaContainerNumberItemVO> pages = seaContainerNumberItemService.selectSeaContainerNumberItemPage(Condition.getPage(query), seaContainerNumberItem);
+		return R.data(pages);
+	}
+
+	/**
+	 * 新增 业务放箱号明细
+	 */
+	@PostMapping("/save")
+	@ApiOperationSupport(order = 4)
+	@ApiOperation(value = "新增", notes = "传入seaContainerNumberItem")
+	public R save(@Valid @RequestBody SeaContainerNumberItem seaContainerNumberItem) {
+		return R.status(seaContainerNumberItemService.save(seaContainerNumberItem));
+	}
+
+	/**
+	 * 修改 业务放箱号明细
+	 */
+	@PostMapping("/update")
+	@ApiOperationSupport(order = 5)
+	@ApiOperation(value = "修改", notes = "传入seaContainerNumberItem")
+	public R update(@Valid @RequestBody SeaContainerNumberItem seaContainerNumberItem) {
+		return R.status(seaContainerNumberItemService.updateById(seaContainerNumberItem));
+	}
+
+	/**
+	 * 新增或修改 业务放箱号明细
+	 */
+	@PostMapping("/submit")
+	@ApiOperationSupport(order = 6)
+	@ApiOperation(value = "新增或修改", notes = "传入seaContainerNumberItem")
+	public R submit(@Valid @RequestBody SeaContainerNumberItem seaContainerNumberItem) {
+		return R.status(seaContainerNumberItemService.saveOrUpdate(seaContainerNumberItem));
+	}
+
+	
+	/**
+	 * 删除 业务放箱号明细
+	 */
+	@PostMapping("/remove")
+	@ApiOperationSupport(order = 8)
+	@ApiOperation(value = "删除", notes = "传入ids")
+	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+		return R.status(seaContainerNumberItemService.removeByIds(Func.toLongList(ids)));
+	}
+
+	
+}

+ 42 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/SeaContainerNumberItemMapper.java

@@ -0,0 +1,42 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.los.business.sea.mapper;
+
+import org.springblade.los.business.sea.entity.SeaContainerNumberItem;
+import org.springblade.los.business.sea.vo.SeaContainerNumberItemVO;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import java.util.List;
+
+/**
+ * 业务放箱号明细 Mapper 接口
+ *
+ * @author BladeX
+ * @since 2025-05-12
+ */
+public interface SeaContainerNumberItemMapper extends BaseMapper<SeaContainerNumberItem> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param seaContainerNumberItem
+	 * @return
+	 */
+	List<SeaContainerNumberItemVO> selectSeaContainerNumberItemPage(IPage page, SeaContainerNumberItemVO seaContainerNumberItem);
+
+}

+ 47 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/mapper/SeaContainerNumberItemMapper.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="org.springblade.los.business.sea.mapper.SeaContainerNumberItemMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="seaContainerNumberItemResultMap" type="org.springblade.los.business.sea.entity.SeaContainerNumberItem">
+        <id column="id" property="id"/>
+        <result column="pid" property="pid"/>
+        <result column="branch_id" property="branchId"/>
+        <result column="create_user" property="createUser"/>
+        <result column="create_user_name" property="createUserName"/>
+        <result column="create_dept" property="createDept"/>
+        <result column="create_dept_name" property="createDeptName"/>
+        <result column="create_time" property="createTime"/>
+        <result column="update_user" property="updateUser"/>
+        <result column="update_user_name" property="updateUserName"/>
+        <result column="update_time" property="updateTime"/>
+        <result column="is_deleted" property="isDeleted"/>
+        <result column="remarks" property="remarks"/>
+        <result column="box_east_id" property="boxEastId"/>
+        <result column="box_east_name" property="boxEastName"/>
+        <result column="container_number" property="containerNumber"/>
+        <result column="bus_type" property="busType"/>
+        <result column="pol_id" property="polId"/>
+        <result column="pol_cname" property="polCname"/>
+        <result column="pod_id" property="podId"/>
+        <result column="pod_cname" property="podCname"/>
+        <result column="pol_station_id" property="polStationId"/>
+        <result column="pol_station_cname" property="polStationCname"/>
+        <result column="box_type" property="boxType"/>
+        <result column="remaining_num" property="remainingNum"/>
+        <result column="pod_station_id" property="podStationId"/>
+        <result column="pod_station_cname" property="podStationCname"/>
+        <result column="internal_container_number" property="internalContainerNumber"/>
+        <result column="internal_box_class" property="internalBoxClass"/>
+        <result column="src_id" property="srcId"/>
+        <result column="occupy_num" property="occupyNum"/>
+        <result column="priority_level" property="priorityLevel"/>
+        <result column="box_remarks" property="boxRemarks"/>
+    </resultMap>
+
+
+    <select id="selectSeaContainerNumberItemPage" resultMap="seaContainerNumberItemResultMap">
+        select * from los_sea_container_number_item where is_deleted = 0
+    </select>
+
+</mapper>

+ 4 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/IBillsService.java

@@ -162,4 +162,8 @@ public interface IBillsService extends IService<Bills> {
     R retreatPledge(String ids, String type);
 
 	void removeHblNo(Long id);
+
+	R logisticsSubmission(Bills bills);
+
+	R logisticsRevokeSubmission(Bills bills);
 }

+ 41 - 0
blade-service/blade-los/src/main/java/org/springblade/los/business/sea/service/ISeaContainerNumberItemService.java

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.los.business.sea.service;
+
+import org.springblade.los.business.sea.entity.SeaContainerNumberItem;
+import org.springblade.los.business.sea.vo.SeaContainerNumberItemVO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * 业务放箱号明细 服务类
+ *
+ * @author BladeX
+ * @since 2025-05-12
+ */
+public interface ISeaContainerNumberItemService extends IService<SeaContainerNumberItem> {
+
+	/**
+	 * 自定义分页
+	 *
+	 * @param page
+	 * @param seaContainerNumberItem
+	 * @return
+	 */
+	IPage<SeaContainerNumberItemVO> selectSeaContainerNumberItemPage(IPage<SeaContainerNumberItemVO> page, SeaContainerNumberItemVO seaContainerNumberItem);
+
+}

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

@@ -157,6 +157,8 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 
 	private final ZrUtil zrUtil;
 
+	private final ISeaContainerNumberItemService seaContainerNumberItemService;
+
 	@Override
 	public IPage<BillsVO> selectBillsPage(IPage<BillsVO> page, BillsVO bills) {
 		return page.setRecords(baseMapper.selectBillsPage(page, bills));
@@ -468,16 +470,6 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 				}
 			}
 		}
-		/*if (ObjectUtils.isEmpty(bills.getId())) {
-			LocalDateTime now = LocalDateTime.now();
-			DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
-			String formatted = now.format(formatter);
-			System.out.println("起1 " + formatted);
-			this.save(bills);
-			LocalDateTime now2 = LocalDateTime.now();
-			String formatted2 = now2.format(formatter);
-			System.out.println("止1 " + formatted2);
-		}*/
 		Integer V20 = 0;
 		Integer V40 = 0;
 		Integer V40HC = 0;
@@ -907,6 +899,24 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 			}
 			filesCenterService.saveOrUpdateBatch(bills.getFilesList());
 		}
+		if (ObjectUtils.isNotNull(bills.getContainerNumberItemList())) {
+			for (SeaContainerNumberItem item : bills.getContainerNumberItemList()) {
+				item.setPid(bills.getId());
+				if (item.getId() == null) {
+					item.setCreateTime(new Date());
+					item.setCreateUser(AuthUtil.getUserId());
+					item.setCreateUserName(AuthUtil.getUserName());
+					if (ObjectUtils.isNotNull(AuthUtil.getDeptId())) {
+						item.setCreateDeptName(deptName);
+					}
+				} else {
+					item.setUpdateUser(AuthUtil.getUserId());
+					item.setUpdateTime(new Date());
+					item.setUpdateUserName(AuthUtil.getUserName());
+				}
+			}
+			seaContainerNumberItemService.saveOrUpdateBatch(bills.getContainerNumberItemList());
+		}
 
 		LocalDateTime now = LocalDateTime.now();
 		DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
@@ -3502,4 +3512,14 @@ public class BillsServiceImpl extends ServiceImpl<BillsMapper, Bills> implements
 		baseMapper.updateById(bills);
 	}
 
+	@Override
+	public R logisticsSubmission(Bills bills) {
+		return null;
+	}
+
+	@Override
+	public R logisticsRevokeSubmission(Bills bills) {
+		return null;
+	}
+
 }

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

@@ -0,0 +1,41 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 庄骞 (smallchill@163.com)
+ */
+package org.springblade.los.business.sea.service.impl;
+
+import org.springblade.los.business.sea.entity.SeaContainerNumberItem;
+import org.springblade.los.business.sea.vo.SeaContainerNumberItemVO;
+import org.springblade.los.business.sea.mapper.SeaContainerNumberItemMapper;
+import org.springblade.los.business.sea.service.ISeaContainerNumberItemService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * 业务放箱号明细 服务实现类
+ *
+ * @author BladeX
+ * @since 2025-05-12
+ */
+@Service
+public class SeaContainerNumberItemServiceImpl extends ServiceImpl<SeaContainerNumberItemMapper, SeaContainerNumberItem> implements ISeaContainerNumberItemService {
+
+	@Override
+	public IPage<SeaContainerNumberItemVO> selectSeaContainerNumberItemPage(IPage<SeaContainerNumberItemVO> page, SeaContainerNumberItemVO seaContainerNumberItem) {
+		return page.setRecords(baseMapper.selectSeaContainerNumberItemPage(page, seaContainerNumberItem));
+	}
+
+}

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

@@ -216,6 +216,7 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 			auditProecess.setGrossProfitUsd(auditProecessDTO.getGrossProfitUsd());
 			auditProecess.setGrossProfitLoc(auditProecessDTO.getGrossProfitLoc());
 			auditProecess.setReferenceNumber(auditProecessDTO.getReferenceNumber());
+			auditProecess.setSrcBusType(auditProecessDTO.getSrcBusType());
 			auditProecess.setEtd(auditProecessDTO.getEtd());
 			//除了第一级是待审,其他都N
 			if (e.getLevelId() == 1) {

+ 24 - 28
blade-service/blade-los/src/main/java/org/springblade/los/finance/fee/mapper/FinAccBillsMapper.xml

@@ -421,19 +421,18 @@
                 and acc.approved_date &lt;= #{fee.etdEnd}
             </if>
         </if>
-     <!--   <if test='fee.type != null and fee.type != "" and fee.type == "1"'>
+        <if test='fee.type != null and fee.type != "" and fee.type == "1"'>
             GROUP BY acc.corp_id
         </if>
         <if test='fee.type != null and fee.type != "" and fee.type == "2"'>
             GROUP BY acc.bill_corp_id
         </if>
         <if test='fee.type != null and fee.type != "" and fee.type == "3"'>
-            GROUP BY acc.src_id
+            GROUP BY acc.mblno
         </if>
         <if test='fee.type == null or fee.type == ""'>
-            GROUP BY acc.id
-        </if>-->
-        GROUP BY acc.id
+            GROUP BY acc.mblno
+        </if>
         ORDER BY acc.corp_id
     </select>
     <select id="feeSummaryDetailExport" resultType="org.springblade.los.statisticAnalysis.FeeSummaryDetailRD">
@@ -523,19 +522,18 @@
                 and acc.approved_date &lt;= #{fee.etdEnd}
             </if>
         </if>
-       <!-- <if test='fee.type != null and fee.type != "" and fee.type == "1"'>
+        <if test='fee.type != null and fee.type != "" and fee.type == "1"'>
             GROUP BY acc.corp_id
         </if>
         <if test='fee.type != null and fee.type != "" and fee.type == "2"'>
             GROUP BY acc.bill_corp_id
         </if>
         <if test='fee.type != null and fee.type != "" and fee.type == "3"'>
-            GROUP BY acc.src_id
+            GROUP BY acc.mblno
         </if>
         <if test='fee.type == null or fee.type == ""'>
-            GROUP BY acc.id
-        </if>-->
-        GROUP BY acc.id
+            GROUP BY acc.mblno
+        </if>
         ORDER BY acc.corp_id
     </select>
     <select id="feeSummaryDetailNot" resultType="org.springblade.los.statisticAnalysis.FeeSummaryDetailNotRD">
@@ -625,19 +623,18 @@
                 and acc.approved_date &lt;= #{fee.etdEnd}
             </if>
         </if>
-      <!--  <if test='fee.type != null and fee.type != "" and fee.type == "1"'>
+        <if test='fee.type != null and fee.type != "" and fee.type == "1"'>
             GROUP BY acc.corp_id
         </if>
         <if test='fee.type != null and fee.type != "" and fee.type == "2"'>
             GROUP BY acc.bill_corp_id
         </if>
         <if test='fee.type != null and fee.type != "" and fee.type == "3"'>
-            GROUP BY acc.src_id
+            GROUP BY acc.mblno
         </if>
         <if test='fee.type == null or fee.type == ""'>
-            GROUP BY acc.id
-        </if>-->
-        GROUP BY acc.id
+            GROUP BY acc.mblno
+        </if>
         ORDER BY acc.corp_id
     </select>
     <select id="feeSummaryDetailExportNot"
@@ -728,19 +725,18 @@
                 and acc.approved_date &lt;= #{fee.etdEnd}
             </if>
         </if>
-        <!--  <if test='fee.type != null and fee.type != "" and fee.type == "1"'>
-              GROUP BY acc.corp_id
-          </if>
-          <if test='fee.type != null and fee.type != "" and fee.type == "2"'>
-              GROUP BY acc.bill_corp_id
-          </if>
-          <if test='fee.type != null and fee.type != "" and fee.type == "3"'>
-              GROUP BY acc.src_id
-          </if>
-          <if test='fee.type == null or fee.type == ""'>
-              GROUP BY acc.id
-          </if>-->
-        GROUP BY acc.id
+        <if test='fee.type != null and fee.type != "" and fee.type == "1"'>
+            GROUP BY acc.corp_id
+        </if>
+        <if test='fee.type != null and fee.type != "" and fee.type == "2"'>
+            GROUP BY acc.bill_corp_id
+        </if>
+        <if test='fee.type != null and fee.type != "" and fee.type == "3"'>
+            GROUP BY acc.mblno
+        </if>
+        <if test='fee.type == null or fee.type == ""'>
+            GROUP BY acc.mblno
+        </if>
         ORDER BY acc.corp_id
     </select>
     <select id="agingAnalysis" resultType="org.springblade.los.statisticAnalysis.AgingAnalysisRD">