瀏覽代碼

2022年11月23日18:29:18

纪新园 3 年之前
父節點
當前提交
abb7808016
共有 17 個文件被更改,包括 249 次插入75 次删除
  1. 10 10
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/dto/ArchivesExcelEnter.java
  2. 9 0
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/ArchivesTrajectory.java
  3. 5 0
      blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/TransportItem.java
  4. 3 2
      blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/IPortClient.java
  5. 6 0
      blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java
  6. 1 1
      blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/feign/IFinanceClient.java
  7. 16 1
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/controller/ArchivesTrajectoryController.java
  8. 37 13
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/ArchivesServiceImpl.java
  9. 16 2
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/RepairServiceImpl.java
  10. 36 13
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/TradingBoxServiceImpl.java
  11. 34 8
      blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/TransportServiceImpl.java
  12. 14 0
      blade-service/blade-client/src/main/java/org/springblade/client/fees/controller/FeesDescController.java
  13. 3 2
      blade-service/blade-client/src/main/java/org/springblade/client/port/feign/PortClient.java
  14. 23 21
      blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java
  15. 17 0
      blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/entrance/EntranceOrderController.java
  16. 10 0
      blade-service/trade-purchase/src/main/java/com/trade/purchase/excel/RubberStockDto.java
  17. 9 2
      blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.xml

+ 10 - 10
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/dto/ArchivesExcelEnter.java

@@ -54,12 +54,12 @@ public class ArchivesExcelEnter implements Serializable {
 	/**
 	 * 容积
 	 */
-	@ExcelProperty(value = "容积")
+	@ExcelProperty(value = "容积(m³)")
 	private BigDecimal volume;
 	/**
 	 * 毛重
 	 */
-	@ExcelProperty(value = "毛重")
+	@ExcelProperty(value = "毛重(kg)")
 	private BigDecimal gorssWeight;
 	/**
 	 * 备注
@@ -70,7 +70,7 @@ public class ArchivesExcelEnter implements Serializable {
 	 * 状态(使用 退租 卖出)
 	 */
 	@ExcelProperty(value = "状态(使用 退租 卖出)")
-	private Integer status;
+	private String status;
 	/**
 	 * 最新地点
 	 */
@@ -90,32 +90,32 @@ public class ArchivesExcelEnter implements Serializable {
 	/**
 	 * 箱来源
 	 */
-	@ExcelProperty(value = "箱来源")
+	@ExcelProperty(value = "箱来源(购买 租入)")
 	private String boxSource;
 	/**
 	 * 箱状态
 	 */
-	@ExcelProperty(value = "箱状态")
+	@ExcelProperty(value = "箱状态(好 坏)")
 	private String boxStatus;
 	/**
 	 * 租赁方式
 	 */
-	@ExcelProperty(value = "租赁方式")
+	@ExcelProperty(value = "租赁方式(长租 短租)")
 	private String leaseMethod;
 	/**
 	 * 空重
 	 */
-	@ExcelProperty(value = "空重")
+	@ExcelProperty(value = "空重(kg)")
 	private BigDecimal emptyWeight;
 	/**
 	 * 皮重
 	 */
-	@ExcelProperty(value = "皮重")
+	@ExcelProperty(value = "皮重(kg)")
 	private BigDecimal tare;
 	/**
 	 * 装载重量
 	 */
-	@ExcelProperty(value = "装载重量")
+	@ExcelProperty(value = "装载重量(kg)")
 	private BigDecimal loadingWeight;
 	/**
 	 * 造箱公司
@@ -143,7 +143,7 @@ public class ArchivesExcelEnter implements Serializable {
 	/**
 	 * 箱龄
 	 */
-	@ExcelProperty(value = "箱龄")
+	@ExcelProperty(value = "箱龄(月)")
 	private Integer boxAge;
 	/**
 	 * 合同号

+ 9 - 0
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/ArchivesTrajectory.java

@@ -16,6 +16,7 @@
  */
 package org.springblade.box.tube.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -25,6 +26,7 @@ import java.io.Serializable;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.util.Date;
+import java.util.List;
 
 /**
  * 箱轨迹表实体类
@@ -55,6 +57,13 @@ public class ArchivesTrajectory implements Serializable {
 	 */
 	@ApiModelProperty(value = "时间")
 	private Date newDate;
+
+	/**
+	 * 时间
+	 */
+	@TableField(exist = false)
+	private List<String> newDateList;
+
 	/**
 	 * 备注
 	 */

+ 5 - 0
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/entity/TransportItem.java

@@ -59,6 +59,11 @@ public class TransportItem implements Serializable {
 	@ApiModelProperty(value = "箱型")
 	private String boxType;
 	/**
+	 * 箱类型id
+	 */
+	@ApiModelProperty(value = "箱类型id")
+	private Long boxTypeId;
+	/**
 	 * 币别
 	 */
 	@ApiModelProperty(value = "币别")

+ 3 - 2
blade-service-api/blade-client-api/src/main/java/org/springblade/client/feign/IPortClient.java

@@ -5,6 +5,7 @@ import org.springblade.common.constant.LauncherConstant;
 import org.springblade.core.tool.api.R;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
@@ -23,9 +24,9 @@ public interface IPortClient {
 	BasicPortDesc getPort(@RequestParam("id") Long id);
 
 	@GetMapping(GET_PORT_DETAIL)
-	BasicPortDesc getPortDetail(BasicPortDesc basicPortDesc);
+	BasicPortDesc getPortDetail(@RequestBody BasicPortDesc basicPortDesc);
 
 	@GetMapping(GET_PORT_LIST)
-	R<List<BasicPortDesc>> getPortList(BasicPortDesc basicPortDesc);
+	R<List<BasicPortDesc>> getPortList(@RequestBody BasicPortDesc basicPortDesc);
 
 }

+ 6 - 0
blade-service-api/blade-purchase-sales-api/src/main/java/org/springblade/purchase/sales/entity/Order.java

@@ -1123,4 +1123,10 @@ public class Order implements Serializable {
 	@TableField(exist = false)
 	private String sales;
 
+	/**
+	 * 采购编号
+	 */
+	@TableField(exist = false)
+	private String SrcSysNo;
+
 }

+ 1 - 1
blade-service-api/trade-finance-api/src/main/java/org/springblade/finance/feign/IFinanceClient.java

@@ -124,7 +124,7 @@ public interface IFinanceClient {
 	/**
 	 * 查询账单详情(通过单据id)
 	 */
-	@GetMapping("/acc/remove")
+	@PostMapping("/acc/remove")
 	R remove(@RequestParam("ids") String ids);
 
 }

+ 16 - 1
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/controller/ArchivesTrajectoryController.java

@@ -16,6 +16,8 @@
  */
 package org.springblade.box.tube.controller;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -23,6 +25,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import lombok.AllArgsConstructor;
 import javax.validation.Valid;
 
+import org.springblade.box.tube.entity.Transport;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.secure.utils.AuthUtil;
@@ -69,7 +72,19 @@ public class ArchivesTrajectoryController extends BladeController {
 	@ApiOperationSupport(order = 2)
 	@ApiOperation(value = "分页", notes = "传入archivesTrajectory")
 	public R<IPage<ArchivesTrajectory>> list(ArchivesTrajectory archivesTrajectory, Query query) {
-		IPage<ArchivesTrajectory> pages = archivesTrajectoryService.page(Condition.getPage(query), Condition.getQueryWrapper(archivesTrajectory));
+		LambdaQueryWrapper<ArchivesTrajectory> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(ArchivesTrajectory::getTenantId, AuthUtil.getTenantId())
+			.eq(ArchivesTrajectory::getIsDeleted, 0)
+			.like(ObjectUtils.isNotNull(archivesTrajectory.getCode()), ArchivesTrajectory::getCode, archivesTrajectory.getCode())//箱号
+			.like(ObjectUtils.isNotNull(archivesTrajectory.getAddress()), ArchivesTrajectory::getAddress, archivesTrajectory.getAddress())//地点
+			.eq(ObjectUtils.isNotNull(archivesTrajectory.getBillType()), ArchivesTrajectory::getBillType, archivesTrajectory.getBillType())//业务类型
+			.eq(ObjectUtils.isNotNull(archivesTrajectory.getStatus()), ArchivesTrajectory::getStatus, archivesTrajectory.getStatus());//状态
+		if (archivesTrajectory.getNewDateList() != null && archivesTrajectory.getNewDateList().size() > 1) {//日期
+			lambdaQueryWrapper.ge(ArchivesTrajectory::getNewDate, archivesTrajectory.getNewDateList().get(0));
+			lambdaQueryWrapper.le(ArchivesTrajectory::getNewDate, archivesTrajectory.getNewDateList().get(1));
+		}
+		lambdaQueryWrapper.orderByDesc(ArchivesTrajectory::getCreateTime);
+		IPage<ArchivesTrajectory> pages = archivesTrajectoryService.page(Condition.getPage(query), lambdaQueryWrapper);
 		return R.data(pages);
 	}
 

+ 37 - 13
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/ArchivesServiceImpl.java

@@ -36,6 +36,7 @@ import org.springblade.client.feign.IPortClient;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.system.feign.IDictBizClient;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -57,6 +58,8 @@ public class ArchivesServiceImpl extends ServiceImpl<ArchivesMapper, Archives> i
 
 	private final IPortClient portClient;
 
+	private final IDictBizClient dictBizClient;
+
 	private final ICorpsDescClient corpsDescClient;
 
 	private final TradingBoxMapper tradingBoxMapper;
@@ -76,11 +79,21 @@ public class ArchivesServiceImpl extends ServiceImpl<ArchivesMapper, Archives> i
 	public Archives add(Archives archives) {
 		//判断id是否为空
 		if (null == archives.getId()) {
-			archives.setCreateTime(new Date());
-			archives.setCreateUser(AuthUtil.getUserId());
-			archives.setTenantId(AuthUtil.getTenantId());
-			archives.setCreateUserName(AuthUtil.getUserName());
-			baseMapper.insert(archives);
+			LambdaQueryWrapper<Archives> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+			lambdaQueryWrapper.eq(Archives::getIsDeleted,0).eq(Archives::getTenantId,AuthUtil.getTenantId()).eq(Archives::getCode,archives.getCode());
+			Archives selectArchives = baseMapper.selectOne(lambdaQueryWrapper);
+			if (ObjectUtils.isNotNull(selectArchives)){
+				archives.setUpdateTime(new Date());
+				archives.setUpdateUser(AuthUtil.getUserId());
+				archives.setUpdateUserName(AuthUtil.getUserName());
+				baseMapper.updateById(archives);
+			}else{
+				archives.setCreateTime(new Date());
+				archives.setCreateUser(AuthUtil.getUserId());
+				archives.setTenantId(AuthUtil.getTenantId());
+				archives.setCreateUserName(AuthUtil.getUserName());
+				baseMapper.insert(archives);
+			}
 		} else {
 			archives.setUpdateTime(new Date());
 			archives.setUpdateUser(AuthUtil.getUserId());
@@ -135,21 +148,22 @@ public class ArchivesServiceImpl extends ServiceImpl<ArchivesMapper, Archives> i
 				throw new RuntimeException("箱型不能为空");
 			}
 			//最新地点
-			if (ObjectUtils.isNotNull(archives.getName())) {
+			if (ObjectUtils.isNotNull(archives.getAddress())) {
 				BasicPortDesc basicPortDesc = new BasicPortDesc();
 				basicPortDesc.setName(archives.getAddress());
 				BasicPortDesc detail = portClient.getPortDetail(basicPortDesc);
 				if (ObjectUtils.isNotNull(detail)) {
 					archives.setAddress(detail.getName());
 					archives.setAddressId(detail.getId());
+
 				} else {
 					archives.setAddress(null);
 					archives.setAddressId(null);
 				}
 			}
 			//租赁公司
-			if (ObjectUtils.isNotNull(archives.getName())) {
-				CorpsDesc detail = corpsDescClient.getCorpsDesc(archives.getLeasingCompany(), "GS");
+			if (ObjectUtils.isNotNull(archives.getLeasingCompany())) {
+				CorpsDesc detail = corpsDescClient.getCorpsDesc(archives.getLeasingCompany(), "KH");
 				if (ObjectUtils.isNotNull(detail)) {
 					archives.setLeasingCompany(detail.getCname());
 					archives.setLeasingCompanyId(detail.getId());
@@ -158,11 +172,21 @@ public class ArchivesServiceImpl extends ServiceImpl<ArchivesMapper, Archives> i
 					archives.setLeasingCompanyId(null);
 				}
 			}
-			archives.setCreateTime(new Date());
-			archives.setCreateUser(AuthUtil.getUserId());
-			archives.setTenantId(AuthUtil.getTenantId());
-			archives.setCreateUserName(AuthUtil.getUserName());
-			baseMapper.insert(archives);
+			LambdaQueryWrapper<Archives> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+			lambdaQueryWrapper.eq(Archives::getIsDeleted,0).eq(Archives::getTenantId,AuthUtil.getTenantId()).eq(Archives::getCode,archives.getCode());
+			Archives selectArchives = baseMapper.selectOne(lambdaQueryWrapper);
+			if (ObjectUtils.isNotNull(selectArchives)){
+				archives.setUpdateTime(new Date());
+				archives.setUpdateUser(AuthUtil.getUserId());
+				archives.setUpdateUserName(AuthUtil.getUserName());
+				baseMapper.updateById(archives);
+			}else{
+				archives.setCreateTime(new Date());
+				archives.setCreateUser(AuthUtil.getUserId());
+				archives.setTenantId(AuthUtil.getTenantId());
+				archives.setCreateUserName(AuthUtil.getUserName());
+				baseMapper.insert(archives);
+			}
 		}
 		return R.data("操作成功");
 	}

+ 16 - 2
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/RepairServiceImpl.java

@@ -379,6 +379,20 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
 			}
 			//单据金额
 			auditProecessDTO.setAmount(selectRepair.getTotalAmount());
+
+			//应付
+			LambdaQueryWrapper<RepairFees> receivableLambdaQueryWrapper = new LambdaQueryWrapper<>();
+			receivableLambdaQueryWrapper.eq(RepairFees::getIsDeleted, 0);
+			receivableLambdaQueryWrapper.eq(RepairFees::getTenantId, AuthUtil.getTenantId());
+			receivableLambdaQueryWrapper.eq(RepairFees::getPid, selectRepair.getId());
+			receivableLambdaQueryWrapper.eq(RepairFees::getFeesType, 2);
+			List<RepairFees> receivableOrderFeesList = repairFeesMapper.selectList(receivableLambdaQueryWrapper);
+			if (ObjectUtils.isNotNull(receivableOrderFeesList)) {
+				auditProecessDTO.setPayAmount(receivableOrderFeesList.stream().map(RepairFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+			} else {
+				auditProecessDTO.setPayAmount(new BigDecimal(0));
+			}
+
 			//审批数据
 			auditProecessDTO.setCaseNo(selectRepair.getCode());
 			auditProecessDTO.setMorderNo(selectRepair.getSysNo());
@@ -538,10 +552,10 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
 				items.setSrcOrderno(repair.getSysNo());
 				items.setCorpId(repairFees.getCorpId());
 				items.setSrcParentId(pid);
-				items.setCurrency("CNY");
+				items.setCurrency(repairFees.getCurrency());
 				items.setSrcType(7);
 				items.setTradeType("BOX");
-				items.setUnit("条");
+				items.setUnit(repairFees.getUnit());
 				items.setSrcSysNo(repairFees.getCode());
 				items.setRemarks(repairFees.getRemarks());
 				items.setSrcBillNo(repair.getSysNo());

+ 36 - 13
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/TradingBoxServiceImpl.java

@@ -275,17 +275,16 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 						archives.setCreateUserName(AuthUtil.getUserName());
 						archives.setTenantId(AuthUtil.getTenantId());
 						archivesMapper.insert(archives);
-					}
-
-					List<ArchivesFiles> archivesFilesList = BeanUtil.copy(tradingBoxItem.getTradingBoxFilesList(), ArchivesFiles.class);
-					for (ArchivesFiles archivesFiles : archivesFilesList) {
-						archivesFiles.setId(null);
-						archivesFiles.setPid(archives.getId());
-						archivesFiles.setFileName(archivesFiles.getLabel());
-						archivesFiles.setUrl(archivesFiles.getValue());
-						archivesFiles.setCreateUser(AuthUtil.getUserId());
-						archivesFiles.setCreateTime(new Date());
-						archivesFilesMapper.insert(archivesFiles);
+						List<ArchivesFiles> archivesFilesList = BeanUtil.copy(tradingBoxItem.getTradingBoxFilesList(), ArchivesFiles.class);
+						for (ArchivesFiles archivesFiles : archivesFilesList) {
+							archivesFiles.setId(null);
+							archivesFiles.setPid(archives.getId());
+							archivesFiles.setFileName(archivesFiles.getLabel());
+							archivesFiles.setUrl(archivesFiles.getValue());
+							archivesFiles.setCreateUser(AuthUtil.getUserId());
+							archivesFiles.setCreateTime(new Date());
+							archivesFilesMapper.insert(archivesFiles);
+						}
 					}
 
 					//记录箱轨迹信息
@@ -439,6 +438,30 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				auditProecessDTO.setOrderQuantity(BigDecimal.ZERO);
 				auditProecessDTO.setAmount(BigDecimal.ZERO);
 			}
+			//应付
+			LambdaQueryWrapper<TradingBoxFees> receivableLambdaQueryWrapper = new LambdaQueryWrapper<>();
+			receivableLambdaQueryWrapper.eq(TradingBoxFees::getIsDeleted, 0);
+			receivableLambdaQueryWrapper.eq(TradingBoxFees::getTenantId, AuthUtil.getTenantId());
+			receivableLambdaQueryWrapper.eq(TradingBoxFees::getPid, selectTradingBox.getId());
+			receivableLambdaQueryWrapper.eq(TradingBoxFees::getFeesType, 2);
+			List<TradingBoxFees> receivableOrderFeesList = tradingBoxFeesMapper.selectList(receivableLambdaQueryWrapper);
+			if (ObjectUtils.isNotNull(receivableOrderFeesList)) {
+				auditProecessDTO.setPayAmount(receivableOrderFeesList.stream().map(TradingBoxFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+			} else {
+				auditProecessDTO.setPayAmount(new BigDecimal(0));
+			}
+			//应收
+			LambdaQueryWrapper<TradingBoxFees> payLambdaQueryWrapper = new LambdaQueryWrapper<>();
+			payLambdaQueryWrapper.eq(TradingBoxFees::getIsDeleted, 0);
+			payLambdaQueryWrapper.eq(TradingBoxFees::getTenantId, AuthUtil.getTenantId());
+			payLambdaQueryWrapper.eq(TradingBoxFees::getPid, selectTradingBox.getId());
+			payLambdaQueryWrapper.eq(TradingBoxFees::getFeesType, 1);
+			List<TradingBoxFees> payOrderFeesList = tradingBoxFeesMapper.selectList(payLambdaQueryWrapper);
+			if (ObjectUtils.isNotNull(receivableOrderFeesList)) {
+				auditProecessDTO.setReceivableAmount(payOrderFeesList.stream().map(TradingBoxFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+			} else {
+				auditProecessDTO.setReceivableAmount(new BigDecimal(0));
+			}
 			//审批数据
 			auditProecessDTO.setCaseNo(code);
 			auditProecessDTO.setMorderNo(selectTradingBox.getContractNo());
@@ -611,10 +634,10 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				items.setSrcOrderno(tradingBox.getSysNo());
 				items.setCorpId(tradingBoxFees.getCorpId());
 				items.setSrcParentId(pid);
-				items.setCurrency("CNY");
+				items.setCurrency(tradingBoxFees.getCurrency());
 				items.setSrcType(5);
 				items.setTradeType("BOX");
-				items.setUnit("条");
+				items.setUnit(tradingBoxFees.getUnit());
 				items.setSrcSysNo(tradingBoxFees.getCode());
 				items.setRemarks(tradingBoxFees.getRemarks());
 				items.setSrcBillNo(tradingBox.getContractNo());

+ 34 - 8
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/TransportServiceImpl.java

@@ -121,7 +121,7 @@ public class TransportServiceImpl extends ServiceImpl<TransportMapper, Transport
 				.eq(TransportItem::getTenantId, AuthUtil.getTenantId())
 				.eq(TransportItem::getPid, detail.getId());
 			List<TransportItem> transportItemList = transportItemMapper.selectList(transportItemLambdaQueryWrapper);
-			for (TransportItem transportItem : transportItemList) {
+			/*for (TransportItem transportItem : transportItemList) {
 				//获取箱轨迹
 				LambdaQueryWrapper<ArchivesTrajectory> trajectoryLambdaQueryWrapper = new LambdaQueryWrapper<>();
 				trajectoryLambdaQueryWrapper.eq(ArchivesTrajectory::getIsDeleted, 0)
@@ -129,7 +129,7 @@ public class TransportServiceImpl extends ServiceImpl<TransportMapper, Transport
 					.eq(ArchivesTrajectory::getCode, transportItem.getCode());
 				List<ArchivesTrajectory> trajectoryList = archivesTrajectoryMapper.selectList(trajectoryLambdaQueryWrapper);
 				transportItem.setArchivesTrajectoryList(trajectoryList);
-			}
+			}*/
 			detail.setTransportItemList(transportItemList);
 
 			//获取费用信息
@@ -317,7 +317,7 @@ public class TransportServiceImpl extends ServiceImpl<TransportMapper, Transport
 				//判断空箱入场时间是否大于合同时间  true 计算超期金额  false 不计算
 				if (transport.getExpiryDate().compareTo(newDate) < 0) {
 					//计算超期金额 并增加一条费用明细
-					BigDecimal amount = transportItem.getOverduePrice().multiply(new BigDecimal(days), MathContext.DECIMAL32).setScale(2, BigDecimal.ROUND_HALF_UP);
+					BigDecimal amount = transportItem.getPrice().multiply(new BigDecimal(days), MathContext.DECIMAL32).setScale(2, BigDecimal.ROUND_HALF_UP);
 					transportItem.setOverdueAmount(amount);
 					R<FeesDesc> feesDescR = feesDescClient.getFeesByName("超期费");
 					if (feesDescR.isSuccess() && ObjectUtils.isNotNull(feesDescR.getData())) {
@@ -332,7 +332,7 @@ public class TransportServiceImpl extends ServiceImpl<TransportMapper, Transport
 						transportItemFees.setItemId(feesDescR.getData().getId());
 						transportItemFees.setCorpId(transport.getCorpId());
 						transportItemFees.setQuantity(new BigDecimal(days));
-						transportItemFees.setPrice(transportItem.getOverduePrice());
+						transportItemFees.setPrice(transportItem.getPrice());
 						transportItemFees.setAmount(amount);
 						transportItemFees.setCurrency("CNY");
 						transportItemFees.setAutoGenerate("0");
@@ -454,6 +454,32 @@ public class TransportServiceImpl extends ServiceImpl<TransportMapper, Transport
 				auditProecessDTO.setOrderQuantity(BigDecimal.ZERO);
 				auditProecessDTO.setAmount(BigDecimal.ZERO);
 			}
+
+			//应付
+			LambdaQueryWrapper<TransportItemFees> receivableLambdaQueryWrapper = new LambdaQueryWrapper<>();
+			receivableLambdaQueryWrapper.eq(TransportItemFees::getIsDeleted, 0);
+			receivableLambdaQueryWrapper.eq(TransportItemFees::getTenantId, AuthUtil.getTenantId());
+			receivableLambdaQueryWrapper.eq(TransportItemFees::getPid, selectTransport.getId());
+			receivableLambdaQueryWrapper.eq(TransportItemFees::getFeesType, 2);
+			List<TransportItemFees> receivableOrderFeesList = transportItemFeesMapper.selectList(receivableLambdaQueryWrapper);
+			if (ObjectUtils.isNotNull(receivableOrderFeesList)) {
+				auditProecessDTO.setPayAmount(receivableOrderFeesList.stream().map(TransportItemFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+			} else {
+				auditProecessDTO.setPayAmount(new BigDecimal(0));
+			}
+			//应收
+			LambdaQueryWrapper<TransportItemFees> payLambdaQueryWrapper = new LambdaQueryWrapper<>();
+			payLambdaQueryWrapper.eq(TransportItemFees::getIsDeleted, 0);
+			payLambdaQueryWrapper.eq(TransportItemFees::getTenantId, AuthUtil.getTenantId());
+			payLambdaQueryWrapper.eq(TransportItemFees::getPid, selectTransport.getId());
+			payLambdaQueryWrapper.eq(TransportItemFees::getFeesType, 1);
+			List<TransportItemFees> payOrderFeesList = transportItemFeesMapper.selectList(payLambdaQueryWrapper);
+			if (ObjectUtils.isNotNull(receivableOrderFeesList)) {
+				auditProecessDTO.setReceivableAmount(payOrderFeesList.stream().map(TransportItemFees::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add));
+			} else {
+				auditProecessDTO.setReceivableAmount(new BigDecimal(0));
+			}
+
 			//审批数据
 			auditProecessDTO.setCaseNo(code);
 			auditProecessDTO.setMorderNo(selectTransport.getContractNo());
@@ -623,15 +649,15 @@ public class TransportServiceImpl extends ServiceImpl<TransportMapper, Transport
 				items.setSrcOrderno(transport.getSysNo());
 				items.setCorpId(transportItemFees.getCorpId());
 				items.setSrcParentId(pid);
-				items.setCurrency("CNY");
+				items.setCurrency(transportItemFees.getCurrency());
 				items.setSrcType(6);
 				items.setTradeType("BOX");
-				items.setUnit("条");
+				items.setUnit(transportItemFees.getUnit());
 				items.setSrcSysNo(transportItemFees.getCode());
 				items.setRemarks(transportItemFees.getRemarks());
-				items.setSrcBillNo(transport.getContractNo());
+				items.setSrcBillNo(transport.getBillNo());
 				items.setStatusJT(0);
-				items.setBillNo(transport.getContractNo());
+				items.setBillNo(transport.getBillNo());
 				items.setStockTime(transport.getEffectiveDate());
 				items.setDepartureHarbor(transport.getDepartureHarbor());
 				items.setObjectiveHarbor(transport.getObjectiveHarbor());

+ 14 - 0
blade-service/blade-client/src/main/java/org/springblade/client/fees/controller/FeesDescController.java

@@ -30,6 +30,7 @@ import org.springblade.client.vo.FeesDescVO;
 import org.springblade.core.boot.ctrl.BladeController;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
+import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.secure.utils.SecureUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
@@ -158,5 +159,18 @@ public class FeesDescController extends BladeController {
 		return R.status(feesDescService.removeByIds(Func.toLongList(ids)));
 	}
 
+	/**
+	 * 详情
+	 */
+	@GetMapping("/selectByName")
+	@ApiOperationSupport(order = 1)
+	@ApiOperation(value = "详情", notes = "传入feesDesc")
+	public R<FeesDesc> selectByName(FeesDesc feesDesc) {
+		LambdaQueryWrapper<FeesDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(FeesDesc::getIsDeleted,0).eq(FeesDesc::getTenantId, AuthUtil.getTenantId()).eq(FeesDesc::getCname,feesDesc.getCname());
+		FeesDesc detail = feesDescService.getOne(lambdaQueryWrapper);
+		return R.data(detail);
+	}
+
 
 }

+ 3 - 2
blade-service/blade-client/src/main/java/org/springblade/client/port/feign/PortClient.java

@@ -10,6 +10,7 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -32,7 +33,7 @@ public class PortClient implements IPortClient {
 
 	@Override
 	@GetMapping(GET_PORT_DETAIL)
-	public BasicPortDesc getPortDetail(BasicPortDesc basicPortDesc) {
+	public BasicPortDesc getPortDetail(@RequestBody BasicPortDesc basicPortDesc) {
 		LambdaQueryWrapper<BasicPortDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(BasicPortDesc::getIsDeleted, 0)
 			.eq(ObjectUtils.isNotNull(basicPortDesc.getName()), BasicPortDesc::getName, basicPortDesc.getName())
@@ -43,7 +44,7 @@ public class PortClient implements IPortClient {
 	}
 
 	@Override
-	public R<List<BasicPortDesc>> getPortList(BasicPortDesc basicPortDesc) {
+	public R<List<BasicPortDesc>> getPortList(@RequestBody BasicPortDesc basicPortDesc) {
 		LambdaQueryWrapper<BasicPortDesc> lambdaQueryWrapper = new LambdaQueryWrapper<>();
 		lambdaQueryWrapper.eq(BasicPortDesc::getIsDeleted, 0)
 			.eq(BasicPortDesc::getTenantId, AuthUtil.getTenantId());

+ 23 - 21
blade-service/blade-deliver-goods/src/main/java/org/springblade/deliver/goods/service/impl/DeliveryServiceImpl.java

@@ -147,8 +147,10 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 	@Transactional(rollbackFor = Exception.class)
 	public R submitDelivery(Delivery delivery) {
 		String status = null;//订单状态
-		if(ObjectUtil.isEmpty(delivery.getSalesCompany())){
-			throw new SecurityException("单据所属公司不能为空");
+		if (!"888390".equals(AuthUtil.getTenantId())){
+			if(ObjectUtil.isEmpty(delivery.getSalesCompany())){
+				throw new SecurityException("单据所属公司不能为空");
+			}
 		}
 		if (StringUtils.isBlank(delivery.getDeliveryStatus())) {
 			status = DeliveryStatusEnum.REPEAL.getType();
@@ -603,26 +605,26 @@ public class DeliveryServiceImpl extends ServiceImpl<DeliveryMapper, Delivery> i
 		if (select == null) {
 			throw new SecurityException("未查到相关数据,操作失败");
 		}
-		if (ObjectUtil.isEmpty(select.getCorpId())){
-			throw new SecurityException("供应商必填");
-		}
-		if (ObjectUtil.isEmpty(select.getPurchaseMode())){
-			throw new SecurityException("采购方式必填");
-		}
-
-		if (ObjectUtil.isEmpty(select.getSalesCompany())){
-			throw new SecurityException("所属公司必填");
-		}
-		if (ObjectUtil.isEmpty(select.getWarehouseType())){
-			throw new SecurityException("仓库类型必填");
-		}
-		if (ObjectUtil.isEmpty(select.getStorageId())){
-			throw new SecurityException("仓库名称必填");
-		}
-		if (ObjectUtil.isEmpty(select.getCreateTime())){
-			throw new SecurityException("入库时间必填");
+		if (!"888390".equals(AuthUtil.getTenantId())){
+			if (ObjectUtil.isEmpty(select.getCorpId())){
+				throw new SecurityException("供应商必填");
+			}
+			if (ObjectUtil.isEmpty(select.getPurchaseMode())){
+				throw new SecurityException("采购方式必填");
+			}
+			if (ObjectUtil.isEmpty(select.getSalesCompany())){
+				throw new SecurityException("所属公司必填");
+			}
+			if (ObjectUtil.isEmpty(select.getWarehouseType())){
+				throw new SecurityException("仓库类型必填");
+			}
+			if (ObjectUtil.isEmpty(select.getStorageId())){
+				throw new SecurityException("仓库名称必填");
+			}
+			if (ObjectUtil.isEmpty(select.getCreateTime())){
+				throw new SecurityException("入库时间必填");
+			}
 		}
-
 		Long corpId = select.getCorpId();
 
 		//计算明细的入库金额(明细的总采购价)

+ 17 - 0
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/entrance/EntranceOrderController.java

@@ -477,4 +477,21 @@ public class EntranceOrderController extends BladeController {
 		ExcelUtil.export(response, "销售订单", "销售订单", list, PurchaseOrderBExcel.class);
 	}
 
+	/**
+	 * 查询采购单号
+	 */
+	@GetMapping("/selectCG")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入order")
+	public R<IPage<Order>> selectCG(Order order, Query query) {
+		LambdaQueryWrapper<Order> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+		lambdaQueryWrapper.eq(Order::getIsDeleted,0)
+			.eq(Order::getTenantId,AuthUtil.getTenantId())
+			.eq(Order::getBillType,OrderTypeEnum.PURCHASE.getType())
+			.eq(Order::getTradeType,OrderTypeEnum.IMPORT.getType())
+			.like(ObjectUtils.isNotNull(order.getSrcSysNo()),Order::getSysNo,order.getSrcSysNo());
+		IPage<Order> orderList = orderService.page(Condition.getPage(query),lambdaQueryWrapper);
+		return R.data(orderList);
+	}
+
 }

+ 10 - 0
blade-service/trade-purchase/src/main/java/com/trade/purchase/excel/RubberStockDto.java

@@ -141,4 +141,14 @@ public class RubberStockDto {
 	private Integer current;
 	private Integer size;
 
+	/**
+	 * 采购合同日期(开始)
+	 */
+	private Date businesDateStartC;
+
+	/**
+	 * 采购合同日期(结束)
+	 */
+	private Date businesDateEndC;
+
 }

+ 9 - 2
blade-service/trade-purchase/src/main/java/com/trade/purchase/order/mapper/OrderMapper.xml

@@ -690,7 +690,7 @@
         order by bo.busines_date
     </select>
     <select id="rubberStock" resultType="com.trade.purchase.excel.RubberStockDto">
-        SELECT
+        SELECT DISTINCT
             boC.corp_id AS corpIdC,
             boCi.item_id AS itemIdC,
             boC.belong_to_corp_id AS belongToCorpIdC,
@@ -716,6 +716,7 @@
                 SELECT
                     bo.sys_no,
                     bo.order_no,
+                    bo.morder_no,
                     bo.belong_to_corp_id,
                     bo.planned_delivery_date,
                     bo.balance_amount,
@@ -760,7 +761,7 @@
         <if test="rubberStockDto.salesName !=null and rubberStockDto.salesName != ''">
             and bo.sales_name like CONCAT(CONCAT('%', #{rubberStockDto.salesName}), '%')
         </if>
-            ) boX ON boC.bill_no = boX.bill_noS
+            ) boX ON boC.sys_no = boX.morder_no
                 LEFT JOIN business_order_items boCi ON boC.id = boCi.pid
         WHERE
             boC.is_deleted = 0
@@ -784,5 +785,11 @@
         <if test="rubberStockDto.requiredArrivalDateEndC !=null">
             and boC.required_arrival_date &lt;= #{rubberStockDto.requiredArrivalDateEndC}
         </if>
+        <if test="rubberStockDto.businesDateStartC !=null">
+            and boC.busines_date &lt;= #{rubberStockDto.businesDateStartC}
+        </if>
+        <if test="rubberStockDto.businesDateEndC !=null">
+            and boC.busines_date &lt;= #{rubberStockDto.businesDateEndC}
+        </if>
     </select>
 </mapper>