Browse Source

贸易代理 2024年8月13日16:21:56

纪新园 1 year ago
parent
commit
843cb7b9ad

+ 32 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/trade/entity/Agent.java

@@ -500,6 +500,32 @@ public class Agent implements Serializable {
 	 */
 	@ApiModelProperty(value = "贸易方式")
 	private String tradeMode;
+	/**
+	 * 资金方
+	 */
+	@ApiModelProperty(value = "资金方")
+	private String fundingPartyId;
+	/**
+	 * 资金方
+	 */
+	@ApiModelProperty(value = "资金方")
+	private String fundingParty;
+	/**
+	 * 成交方式
+	 */
+	@ApiModelProperty(value = "成交方式")
+	private String transactionMethodId;
+	/**
+	 * 成交方式
+	 */
+	@ApiModelProperty(value = "成交方式")
+	private String transactionMethod;
+	/**
+	 * 付款方式
+	 */
+	@ApiModelProperty(value = "付款方式")
+	private String paymentMethod;
+
 
 	/**
 	 * 收费
@@ -564,6 +590,12 @@ public class Agent implements Serializable {
 	private List<AgentItemsR> agentItemsRList;
 
 	/**
+	 * 明细合同金额修改记录
+	 */
+	@TableField(exist = false)
+	private List<Record> recordList;
+
+	/**
 	 * 版本
 	 */
 	@ApiModelProperty(value = "版本")

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

@@ -201,6 +201,11 @@ public class AgentItems implements Serializable {
 	@ApiModelProperty(value = "金额")
 	private BigDecimal amount;
 	/**
+	 * 金额改
+	 */
+	@ApiModelProperty(value = "金额改")
+	private BigDecimal amountOld;
+	/**
 	 * 税率
 	 */
 	@ApiModelProperty(value = "税率")

+ 20 - 0
blade-service-api/blade-los-api/src/main/java/org/springblade/los/trade/entity/AgentView.java

@@ -390,6 +390,26 @@ public class AgentView implements Serializable {
 	 */
 	@ApiModelProperty(value = "客户来源类别")
 	private String sourceType;
+	/**
+	 * 资金方
+	 */
+	@ApiModelProperty(value = "资金方")
+	private String fundingPartyId;
+	/**
+	 * 资金方
+	 */
+	@ApiModelProperty(value = "资金方")
+	private String fundingParty;
+	/**
+	 * 成交方式
+	 */
+	@ApiModelProperty(value = "成交方式")
+	private String transactionMethodId;
+	/**
+	 * 成交方式
+	 */
+	@ApiModelProperty(value = "成交方式")
+	private String transactionMethod;
 
 
 }

+ 1 - 1
blade-service-api/blade-los-api/src/main/java/org/springblade/los/trade/entity/Record.java

@@ -184,7 +184,7 @@ public class Record implements Serializable {
 	/**
 	 * 金额USD
 	 */
-	@TableField(exist = false)
+	@ApiModelProperty(value = "金额USD")
 	private BigDecimal amountUsd;
 
 	/**

+ 9 - 20
blade-service/blade-los/src/main/java/org/springblade/los/check/service/impl/AuditProecessServiceImpl.java

@@ -3302,13 +3302,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 						+ "单据日期:" + billsDate + ",请审核。"
 						+ "提交人:" + proecessTemp.getSendName() + "  " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
 					);
-				} else if ("贸易代理首款付费申请".equals(auditProecess.getProcessType())) {
-					message.setMessageBody("您有新的贸易代理首款付费申请,业务单号:" + proecessTemp.getBillNo() + ","
-						+ "单据日期:" + billsDate + ",请审核。"
-						+ "提交人:" + proecessTemp.getSendName() + "  " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
-					);
-				} else if ("贸易代理尾款付费申请".equals(auditProecess.getProcessType())) {
-					message.setMessageBody("您有新的贸易代理尾款付费申请,业务单号:" + proecessTemp.getBillNo() + ","
+				} else if ("贸易代理货款付费申请".equals(auditProecess.getProcessType())) {
+					message.setMessageBody("您有新的贸易代理货款付费申请,业务单号:" + proecessTemp.getBillNo() + ","
 						+ "单据日期:" + billsDate + ",请审核。"
 						+ "提交人:" + proecessTemp.getSendName() + "  " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
 					);
@@ -3350,11 +3345,9 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 				}
 				if ("贸易代理单据审核".equals(auditProecess.getProcessType())) {
 					sendMessage.setMessageBody("您的贸易代理审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
-				} else if ("贸易代理首款付费申请".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的贸易代理首款付费申请未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
-				} else if ("贸易代理尾款付费申请".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的贸易代理尾款付费申请未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
-				} else if ("贸易代理货款收费确认".equals(auditProecess.getProcessType())) {
+				} else if ("贸易代理货款付费申请".equals(auditProecess.getProcessType())) {
+					sendMessage.setMessageBody("您的贸易代理货款付费申请未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				}  else if ("贸易代理货款收费确认".equals(auditProecess.getProcessType())) {
 					sendMessage.setMessageBody("您的贸易代理货款收费确认未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
 				} else if ("贸易代理货款付费确认".equals(auditProecess.getProcessType())) {
 					sendMessage.setMessageBody("您的贸易代理货款付费确认未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
@@ -3386,10 +3379,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 				}
 				if ("贸易代理单据审核".equals(auditProecess.getProcessType())) {
 					sendMessage.setMessageBody("您的贸易代理审核已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
-				} else if ("贸易代理首款付费申请".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的贸易代理首款付费申请已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
-				} else if ("贸易代理尾款付费申请".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的贸易代理尾款付费申请已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				} else if ("贸易代理货款付费申请".equals(auditProecess.getProcessType())) {
+					sendMessage.setMessageBody("您的贸易代理货款付费申请已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
 				} else if ("贸易代理货款收费确认".equals(auditProecess.getProcessType())) {
 					sendMessage.setMessageBody("您的贸易代理货款收费确认已通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
 				} else if ("贸易代理货款付费确认".equals(auditProecess.getProcessType())) {
@@ -3419,10 +3410,8 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, L
 				}
 				if ("贸易代理单据审核".equals(auditProecess.getProcessType())) {
 					sendMessage.setMessageBody("您的贸易代理审核未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
-				} else if ("贸易代理首款付费申请".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的贸易代理首款付费申请未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
-				} else if ("贸易代理尾款付费申请".equals(auditProecess.getProcessType())) {
-					sendMessage.setMessageBody("您的贸易代理尾款付费申请未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				} else if ("贸易代理货款付费申请".equals(auditProecess.getProcessType())) {
+					sendMessage.setMessageBody("您的贸易代理货款付费申请未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
 				} else if ("贸易代理货款收费确认".equals(auditProecess.getProcessType())) {
 					sendMessage.setMessageBody("您的贸易代理货款收费确认未通过" + ",业务单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
 				} else if ("贸易代理货款付费确认".equals(auditProecess.getProcessType())) {

+ 18 - 0
blade-service/blade-los/src/main/java/org/springblade/los/trade/controller/AgentItemsController.java

@@ -130,6 +130,24 @@ public class AgentItemsController extends BladeController {
 		return agentItemsService.submitList(agentItems);
 	}
 
+	/**
+	 * 分页 贸易代理明细表
+	 */
+	@GetMapping("/selectBoxNo")
+	@ApiOperationSupport(order = 2)
+	@ApiOperation(value = "分页", notes = "传入agentItems")
+	public R selectBoxNo(AgentItems agentItems) {
+		List<AgentItems> list = agentItemsService.list(new LambdaQueryWrapper<AgentItems>()
+			.eq(AgentItems::getTenantId, AuthUtil.getTenantId())
+			.eq(AgentItems::getIsDeleted, 0)
+			.eq(AgentItems::getBoxNo, agentItems.getBoxNo()));
+		if (!list.isEmpty()) {
+			return R.data("箱号:" + agentItems.getBoxNo() + "已存在,是否添加?");
+		} else {
+			return R.data("true");
+		}
+	}
+
 
 	/**
 	 * 删除 贸易代理明细表

+ 49 - 35
blade-service/blade-los/src/main/java/org/springblade/los/trade/service/impl/AgentItemsServiceImpl.java

@@ -16,7 +16,6 @@
  */
 package org.springblade.los.trade.service.impl;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -26,18 +25,19 @@ import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
 import org.springblade.los.Util.IDeptUtils;
 import org.springblade.los.trade.entity.AgentItems;
+import org.springblade.los.trade.entity.Record;
 import org.springblade.los.trade.mapper.AgentItemsMapper;
 import org.springblade.los.trade.service.IAgentItemsService;
+import org.springblade.los.trade.service.IRecordService;
 import org.springblade.los.trade.vo.AgentItemsVO;
 import org.springblade.system.entity.Dept;
 import org.springblade.system.feign.ISysClient;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
 
 /**
  * 贸易代理明细表 服务实现类
@@ -53,6 +53,8 @@ public class AgentItemsServiceImpl extends ServiceImpl<AgentItemsMapper, AgentIt
 
 	private final IDeptUtils deptUtils;
 
+	private final IRecordService recordService;
+
 	@Override
 	public IPage<AgentItemsVO> selectAgentItemsPage(IPage<AgentItemsVO> page, AgentItemsVO agentItems) {
 		return page.setRecords(baseMapper.selectAgentItemsPage(page, agentItems));
@@ -72,18 +74,8 @@ public class AgentItemsServiceImpl extends ServiceImpl<AgentItemsMapper, AgentIt
 				deptName = res.getData().getDeptName();
 			}
 		}
-		List<AgentItems> agentItemsList = baseMapper.selectList(new LambdaQueryWrapper<AgentItems>()
-			.eq(AgentItems::getCreateDept, deptUtils.getDeptPid() + "")
-			.eq(AgentItems::getTenantId, AuthUtil.getTenantId())
-			.eq(AgentItems::getIsDeleted, 0)
-			.eq(AgentItems::getBillNo, agentItems.getBillNo())
-		);
 		if (agentItems.getId() == null) {
-			if (ObjectUtils.isNotNull(agentItems.getBillNo())) {
-				if (!agentItemsList.isEmpty()) {
-					throw new RuntimeException("提单号不允许重复");
-				}
-			}
+			agentItems.setAmountOld(agentItems.getAmount());
 			agentItems.setCreateTime(new Date());
 			agentItems.setCreateUser(AuthUtil.getUserId());
 			agentItems.setCreateUserName(AuthUtil.getUserName());
@@ -92,12 +84,27 @@ public class AgentItemsServiceImpl extends ServiceImpl<AgentItemsMapper, AgentIt
 				agentItems.setCreateDeptName(deptName);
 			}
 		} else {
-			List<Long> ids = agentItemsList.stream().map(AgentItems::getId).distinct().collect(Collectors.toList());
-			if (ObjectUtils.isNotNull(agentItems.getBillNo())) {
-				if (!agentItemsList.isEmpty() && !ids.contains(agentItems.getId())) {
-					throw new RuntimeException("提单号不允许重复");
+			if (agentItems.getAmount().compareTo(agentItems.getAmountOld()) != 0) {
+				Record record = new Record();
+				record.setPid(agentItems.getPid());
+				record.setSrcId(agentItems.getId());
+				record.setSort(1);
+				record.setAmount(agentItems.getAmountOld());
+				record.setAmountUsd(agentItems.getAmount());
+				record.setDate(new Date());
+				record.setBillNo(agentItems.getBillNo());
+				record.setSrcType("ITEM");
+				record.setRemarks("修改合同金额");
+				record.setCreateTime(new Date());
+				record.setCreateUser(AuthUtil.getUserId());
+				record.setCreateUserName(AuthUtil.getUserName());
+				if (ObjectUtils.isNotNull(AuthUtil.getDeptId())) {
+					record.setCreateDept(deptId);
+					record.setCreateDeptName(deptName);
 				}
+				recordService.save(record);
 			}
+			agentItems.setAmountOld(agentItems.getAmount());
 			agentItems.setUpdateUser(AuthUtil.getUserId());
 			agentItems.setUpdateTime(new Date());
 			agentItems.setUpdateUserName(AuthUtil.getUserName());
@@ -120,21 +127,10 @@ public class AgentItemsServiceImpl extends ServiceImpl<AgentItemsMapper, AgentIt
 				deptName = res.getData().getDeptName();
 			}
 		}
-		String billNo = list.stream().map(AgentItems::getBillNo).filter(Objects::nonNull)
-			.distinct().collect(Collectors.joining(","));
-		List<AgentItems> agentItemsList = baseMapper.selectList(new LambdaQueryWrapper<AgentItems>()
-			.eq(AgentItems::getCreateDept, deptUtils.getDeptPid() + "")
-			.eq(AgentItems::getTenantId, AuthUtil.getTenantId())
-			.eq(AgentItems::getIsDeleted, 0)
-			.apply("find_in_set(bill_no,'" + billNo + "')")
-		);
+		List<Record> recordList = new ArrayList<>();
 		for (AgentItems agentItems : list) {
 			if (agentItems.getId() == null) {
-				if (ObjectUtils.isNotNull(agentItems.getBillNo())) {
-					if (!agentItemsList.isEmpty()) {
-						throw new RuntimeException("提单号不允许重复");
-					}
-				}
+				agentItems.setAmountOld(agentItems.getAmount());
 				agentItems.setCreateTime(new Date());
 				agentItems.setCreateUser(AuthUtil.getUserId());
 				agentItems.setCreateUserName(AuthUtil.getUserName());
@@ -143,17 +139,35 @@ public class AgentItemsServiceImpl extends ServiceImpl<AgentItemsMapper, AgentIt
 					agentItems.setCreateDeptName(deptName);
 				}
 			} else {
-				List<Long> ids = agentItemsList.stream().map(AgentItems::getId).distinct().collect(Collectors.toList());
-				if (ObjectUtils.isNotNull(agentItems.getBillNo())) {
-					if (!agentItemsList.isEmpty() && !ids.contains(agentItems.getId())) {
-						throw new RuntimeException("提单号不允许重复");
+				if (agentItems.getAmount().compareTo(agentItems.getAmountOld()) != 0) {
+					Record record = new Record();
+					record.setPid(agentItems.getPid());
+					record.setSrcId(agentItems.getId());
+					record.setSort(1);
+					record.setAmount(agentItems.getAmountOld());
+					record.setAmountUsd(agentItems.getAmount());
+					record.setDate(new Date());
+					record.setBillNo(agentItems.getBillNo());
+					record.setSrcType("ITEM");
+					record.setRemarks("修改合同金额");
+					record.setCreateTime(new Date());
+					record.setCreateUser(AuthUtil.getUserId());
+					record.setCreateUserName(AuthUtil.getUserName());
+					if (ObjectUtils.isNotNull(AuthUtil.getDeptId())) {
+						record.setCreateDept(deptId);
+						record.setCreateDeptName(deptName);
 					}
+					recordList.add(record);
 				}
+				agentItems.setAmountOld(agentItems.getAmount());
 				agentItems.setUpdateUser(AuthUtil.getUserId());
 				agentItems.setUpdateTime(new Date());
 				agentItems.setUpdateUserName(AuthUtil.getUserName());
 			}
 		}
+		if (!recordList.isEmpty()){
+			recordService.saveBatch(recordList);
+		}
 		this.saveOrUpdateBatch(list);
 		return R.data(list);
 	}

+ 46 - 18
blade-service/blade-los/src/main/java/org/springblade/los/trade/service/impl/AgentServiceImpl.java

@@ -72,10 +72,7 @@ import org.springblade.los.trade.dto.AgentItemsR;
 import org.springblade.los.trade.entity.*;
 import org.springblade.los.trade.mapper.AgentMapper;
 import org.springblade.los.trade.report.*;
-import org.springblade.los.trade.service.IAdvanceChargeItemService;
-import org.springblade.los.trade.service.IAdvanceChargeService;
-import org.springblade.los.trade.service.IAgentItemsService;
-import org.springblade.los.trade.service.IAgentService;
+import org.springblade.los.trade.service.*;
 import org.springblade.los.trade.vo.AgentVO;
 import org.springblade.system.entity.Dept;
 import org.springblade.system.feign.ISysClient;
@@ -156,6 +153,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 
 	private final IBCurrencyService ibCurrencyService;
 
+	private final IRecordService recordService;
+
 	@Override
 	public IPage<AgentVO> selectAgentPage(IPage<AgentVO> page, AgentVO agent) {
 		return page.setRecords(baseMapper.selectAgentPage(page, agent));
@@ -328,6 +327,12 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 				.eq(FilesCenter::getBusinessType, "MYDL")
 				.eq(FilesCenter::getPid, agent.getId()));
 			detail.setFilesCenterList(!filesCenterList.isEmpty() ? filesCenterList : new ArrayList<>());
+			List<Record> recordList = recordService.list(new LambdaQueryWrapper<Record>()
+				.eq(Record::getTenantId, AuthUtil.getTenantId())
+				.eq(Record::getIsDeleted, 0)
+				.eq(Record::getSrcType, "ITEM")
+				.eq(Record::getPid, agent.getId()));
+			detail.setRecordList(!recordList.isEmpty() ? recordList : new ArrayList<>());
 		}
 		return detail;
 	}
@@ -417,6 +422,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 				List<AgentItems> agentItems = agentItemsList.stream()
 					.collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(
 						Comparator.comparing(AgentItems::getId))), ArrayList::new));
+				List<Record> recordList = new ArrayList<>();
 				for (AgentItems item : agent.getAgentItemsList()) {
 					if (item.getId() == null) {
 						if (ObjectUtils.isNotNull(item.getBillNo())) {
@@ -426,6 +432,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 							}
 						}
 						item.setPid(agent.getId());
+						item.setAmountOld(item.getAmount());
 						item.setCreateTime(new Date());
 						item.setCreateUser(AuthUtil.getUserId());
 						item.setCreateUserName(AuthUtil.getUserName());
@@ -440,11 +447,35 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 								throw new RuntimeException("提单号不允许重复");
 							}
 						}
+						if (item.getAmount().compareTo(item.getAmountOld()) != 0) {
+							Record record = new Record();
+							record.setPid(item.getPid());
+							record.setSrcId(item.getId());
+							record.setSort(1);
+							record.setAmount(item.getAmountOld());
+							record.setAmountUsd(item.getAmount());
+							record.setDate(new Date());
+							record.setBillNo(item.getBillNo());
+							record.setSrcType("ITEM");
+							record.setRemarks("修改合同金额");
+							record.setCreateTime(new Date());
+							record.setCreateUser(AuthUtil.getUserId());
+							record.setCreateUserName(AuthUtil.getUserName());
+							if (ObjectUtils.isNotNull(AuthUtil.getDeptId())) {
+								record.setCreateDept(deptId);
+								record.setCreateDeptName(deptName);
+							}
+							recordList.add(record);
+						}
+						item.setAmountOld(item.getAmount());
 						item.setUpdateUser(AuthUtil.getUserId());
 						item.setUpdateTime(new Date());
 						item.setUpdateUserName(AuthUtil.getUserName());
 					}
 				}
+				if (!recordList.isEmpty()){
+					recordService.saveBatch(recordList);
+				}
 				agentItemsService.saveOrUpdateBatch(agent.getAgentItemsList());
 				BigDecimal goodsValue = agent.getAgentItemsList().stream().map(AgentItems::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
 				agent.setGoodsValue(goodsValue);
@@ -658,7 +689,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 				} else {
 					item.setStlPid(agent.getId());
 					item.setStlExrate(agent.getExchangeRate());
-					item.setExrate(agent.getExchangeRate());
+//					item.setExrate(agent.getExchangeRate());
 					item.setDiscountExrate(agent.getExchangeRate());
 					if ("SFK,WK".contains(item.getFeeCode())) {
 						item.setAmount(agent.getExchangeRate().multiply(item.getAmountLoc()).setScale(2, RoundingMode.HALF_UP));
@@ -1613,7 +1644,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 		}
 		Agent declare = baseMapper.selectById(agent.getId());
 		Integer actId = 1123;
-		String processType = "贸易代理款付费申请";
+		String processType = "贸易代理款付费申请";
 		String checkType = "FFSQ-SK";
 		String fidStatus = "first_status";
 		declare.setApplyForPayment("1");
@@ -1663,11 +1694,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 					sendMessage.setUrl(agent.getUrl());
 					sendMessage.setPageLabel(agent.getPageLabel());
 					sendMessage.setPageStatus(agent.getPageStatus());
-					if ("FFSQ-SK".equals(agent.getPaidApplication())) {
-						sendMessage.setMessageBody("您的贸易代理首款付费申请已通过" + ",业务单号:" + agent.getBusinessNo() + ",备注:自动审核");
-					} else if ("FFSQ-WK".equals(agent.getPaidApplication())) {
-						sendMessage.setMessageBody("您的贸易代理尾款付费申请已通过" + ",业务单号:" + agent.getBusinessNo() + ",备注:自动审核");
-					}
+					sendMessage.setMessageBody("您的贸易代理货款付费申请已通过" + ",业务单号:" + agent.getBusinessNo() + ",备注:自动审核");
 					messageList.add(sendMessage);
 				}
 				R save = messageClient.saveList(messageList);
@@ -3040,14 +3067,15 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 			if ("5".equals(item.getAuditStatus())) {
 				throw new RuntimeException("费用:" + item.getFeeCnName() + "已申请");
 			}
-			if ("D".equals(stlAgent.getDc())) {
-				item.setExrate(stlAgent.getExchangeRate());
+			/*if ("C".equals(stlAgent.getDc())) {
 				item.setStlExrate(stlAgent.getExchangeRate());
 				item.setDiscountExrate(stlAgent.getExchangeRate());
 			} else {
 				item.setStlExrate(stlAgent.getExchangeRate());
 				item.setDiscountExrate(stlAgent.getExchangeRate());
-			}
+			}*/
+			item.setStlExrate(stlAgent.getExchangeRate());
+			item.setDiscountExrate(stlAgent.getExchangeRate());
 			if ("SFK,WK".contains(item.getFeeCode())) {
 				item.setAmount(stlAgent.getExchangeRate().multiply(item.getAmountLoc()).setScale(2, RoundingMode.HALF_UP));
 				item.setStlExrate(stlAgent.getExchangeRate());
@@ -4140,8 +4168,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 		feeCenter.setLineNo(lineNo);
 		feeCenter.setBillNo(detail.getContractNo());
 		feeCenter.setBillDate(detail.getBusinessDate());
-		feeCenter.setCorpId(detail.getDomesticConsigneeId());
-		feeCenter.setCorpCnName(detail.getDomesticConsigneeCname());
+		feeCenter.setCorpId(detail.getCorpId());
+		feeCenter.setCorpCnName(detail.getCorpName());
 		feeCenter.setBillCorpId(detail.getCorpId());
 		feeCenter.setBillCorpCnName(detail.getCorpName());
 		feeCenter.setPolId(detail.getPolId());
@@ -4249,8 +4277,8 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
 		feeCenter.setLineNo(lineNo);
 		feeCenter.setBillNo(detail.getContractNo());
 		feeCenter.setBillDate(detail.getBusinessDate());
-		feeCenter.setCorpId(detail.getDomesticConsigneeId());
-		feeCenter.setCorpCnName(detail.getDomesticConsigneeCname());
+		feeCenter.setCorpId(detail.getCorpId());
+		feeCenter.setCorpCnName(detail.getCorpName());
 		feeCenter.setBillCorpId(detail.getCorpId());
 		feeCenter.setBillCorpCnName(detail.getCorpName());
 		feeCenter.setPolId(detail.getPolId());

+ 13 - 8
blade-service/blade-los/src/main/java/org/springblade/los/trade/service/impl/InOutStorageServiceImpl.java

@@ -395,8 +395,9 @@ public class InOutStorageServiceImpl extends ServiceImpl<InOutStorageMapper, InO
 		outStorage.setSurplusGoodsAmount(inOutStorage.getSurplusWeight().multiply(inOutStorage.getPrice()));
 		outStorage.setConfirmDispatchVehicles("0");
 		baseMapper.insert(outStorage);
-		if (new BigDecimal("0.00").compareTo((inOutStorage.getQuantity().subtract(inOutStorage.getOutQuantity()))) == 0) {
-			inOutStorage.setWhetherInOutStorage("1");
+		if (new BigDecimal("0.00").compareTo(outStorage.getSurplusQuantity()) == 0 &&
+			new BigDecimal("0.00").compareTo(outStorage.getSurplusWeight()) == 0) {
+			throw new RuntimeException("库存余额为零,生成失败");
 		}
 		baseMapper.updateById(inOutStorage);
 		return R.data(inOutStorage);
@@ -653,18 +654,22 @@ public class InOutStorageServiceImpl extends ServiceImpl<InOutStorageMapper, InO
 	@Transactional(rollbackFor = Exception.class)
 	@GlobalTransactional(rollbackFor = Exception.class, timeoutMills = 12000000)
 	public R revokeOutbound(InOutStorage inOutStorage) {
-		InOutStorage outStorage = baseMapper.selectOne(new LambdaQueryWrapper<InOutStorage>()
+		List<InOutStorage> outStorage = baseMapper.selectList(new LambdaQueryWrapper<InOutStorage>()
 			.eq(InOutStorage::getSrcId, inOutStorage.getId())
-			.eq(InOutStorage::getPid, inOutStorage.getPid()));
-		if (outStorage != null) {
-			if ("1".equals(outStorage.getConfirmDispatchVehicles())) {
+			.eq(InOutStorage::getPid, inOutStorage.getPid())
+			.eq(InOutStorage::getConfirmDispatchVehicles, "0")
+			.orderByDesc(InOutStorage::getCreateTime));
+		if (!outStorage.isEmpty()) {
+			if ("1".equals(outStorage.get(0).getConfirmDispatchVehicles())) {
 				throw new RuntimeException("已确认出库,撤销失败");
 			}
-			baseMapper.deleteById(outStorage.getId());
+			baseMapper.deleteById(outStorage.get(0).getId());
 		} else {
 			throw new RuntimeException("未找到出库信息");
 		}
-		inOutStorage.setWhetherInOutStorage("0");
+		/*if (outStorage.size() == 1) {
+			inOutStorage.setWhetherInOutStorage("0");
+		}*/
 		baseMapper.updateById(inOutStorage);
 		return R.data(inOutStorage);
 	}