Przeglądaj źródła

2023年1月4日17:26:18

纪新园 2 lat temu
rodzic
commit
78b23c1187

+ 6 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/StorageDesc.java

@@ -142,5 +142,11 @@ public class StorageDesc implements Serializable {
 	@TableField(exist = false)
 	private String storageTypeName;
 
+	/**
+	 * 库管员
+	 */
+	@ApiModelProperty(value = "库管员")
+	private String warehouseKeeper;
+
 
 }

+ 6 - 0
blade-service-api/blade-client-api/src/main/java/org/springblade/client/entity/StorageType.java

@@ -152,5 +152,11 @@ public class StorageType implements Serializable {
 	@ApiModelProperty(value = "是否扫描")
 	private String isScanningCode;
 
+	/**
+	 * 库管员
+	 */
+	@ApiModelProperty(value = "库管员")
+	private String warehouseKeeper;
+
 
 }

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

@@ -1173,6 +1173,12 @@ public class Order implements Serializable {
 	@TableField(exist = false)
 	private String billStatus;
 
+	/**
+	 * 中电特殊流程(1 收货  2 发货)
+	 */
+	@TableField(exist = false)
+	private String special;
+
 
 
 }

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

@@ -341,6 +341,8 @@ public class AuditProecessController extends BladeController {
 			auditProecessService.landOrderCheck(auditProecess);
 		} else if ("YPJ-XSTH".equals(proecess.getCheckType()) || "YPJ-CGTH".equals(proecess.getCheckType())) {
 			auditProecessService.returnGoods(auditProecess);
+		}else if ("YPJ-XSJH".equals(proecess.getCheckType())) {
+			auditProecessService.salesPlan(auditProecess);
 		}else {
 			auditProecessService.commonCheck(auditProecess);
 		}

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

@@ -133,4 +133,6 @@ public interface IAuditProecessService extends IService<AuditProecess> {
 	void landOrderCheck(AuditProecess auditProecess);
 
     void returnGoods(AuditProecess auditProecess);
+
+	void salesPlan(AuditProecess auditProecess);
 }

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

@@ -3992,6 +3992,214 @@ public class AuditProecessServiceImpl extends ServiceImpl<AuditProecessMapper, A
 		baseMapper.updateById(auditProecess);
 	}
 
+	@Override
+	public void salesPlan(AuditProecess auditProecess) {
+		//查看最新操作记录,防止重复提交
+		AuditProecess proecessTemp = baseMapper.selectById(auditProecess.getId());
+		if (proecessTemp == null) {
+			throw new SecurityException("未查到此审批记录,禁止操作");
+		}
+		if ("A".equals(proecessTemp.getAuditStatus()) || "B".equals(proecessTemp.getAuditStatus())) {
+			throw new SecurityException("当前记录已经完成审批,禁止重复操作");
+		}
+
+		if (auditProecess.getAuditStatus() == null || !"S".equals(auditProecess.getAuditStatus())) {
+			throw new SecurityException("审批状态非待审,禁止操作");
+		}
+		//信息
+		Message sendMessage = new Message();
+		sendMessage.setParameter(String.valueOf(auditProecess.getBillId()));
+		sendMessage.setUserName(AuthUtil.getUserName());
+		sendMessage.setUserId(AuthUtil.getUserId());
+		sendMessage.setToUserId(auditProecess.getSendUserId());
+		sendMessage.setToUserName(auditProecess.getSendName());
+		sendMessage.setMessageType(1);
+		sendMessage.setTenantId(AuthUtil.getTenantId());
+		sendMessage.setCreateUser(AuthUtil.getUserId());
+		sendMessage.setCreateTime(new Date());
+		sendMessage.setUrl(auditProecess.getUrl());
+		sendMessage.setPageLabel(auditProecess.getPageLabel());
+		sendMessage.setPageStatus(auditProecess.getPageStatus());
+
+		//用户操作 1.通过  2.驳回
+		Integer operate = auditProecess.getOperate();
+		//查看当前审批是否为最后一级
+		String iffinalItem = auditProecess.getIffinalItem();
+		//审批人
+		auditProecess.setAuditUserId(String.valueOf(AuthUtil.getUserId()));
+		//审批时间
+		auditProecess.setAuditOpTime(new Date());
+		//不是最后一级
+		if ("F".equals(iffinalItem)) {
+
+			//通过
+			if (operate == 1) {
+				//如果是第一级, 则修改状态为审批中
+				if (auditProecess.getLevelId() == 1) {
+					Order order = new Order();
+					order.setId(auditProecess.getSrcBillId());
+					order.setUpdateTime(new Date());
+					order.setUpdateUser(AuthUtil.getUserId());
+					order.setStatus(7);
+					R sumbit = orderDescClient.updateOrder(order);
+					if (!sumbit.isSuccess()) {
+						throw new SecurityException("审批开始修改审核状态失败");
+					}
+				}
+
+				auditProecess.setAuditStatus("A");
+				//查询下一级,开启待审
+				LambdaQueryWrapper<AuditProecess> auditProecessLambdaQueryWrapper = new LambdaQueryWrapper<>();
+				auditProecessLambdaQueryWrapper
+					.eq(AuditProecess::getBatchNo, auditProecess.getBatchNo())
+					.eq(AuditProecess::getSrcBillId, auditProecess.getSrcBillId())
+					.eq(AuditProecess::getIsDelete, 0)
+					.eq(AuditProecess::getActId, auditProecess.getActId())
+					.eq(AuditProecess::getBillId, auditProecess.getBillId())
+					.eq(AuditProecess::getBillNo, auditProecess.getBillNo())
+					.eq(AuditProecess::getTenantId, AuthUtil.getTenantId())
+					.eq(AuditProecess::getLevelId, auditProecess.getLevelId() + 1);
+				Integer count = baseMapper.selectCount(auditProecessLambdaQueryWrapper);
+				if (count != null && count > 1) {
+					throw new SecurityException("审核失败,获取下一级信息失败");
+				}
+				AuditProecess proecess = baseMapper.selectOne(auditProecessLambdaQueryWrapper);
+				if (proecess == null) {
+					throw new SecurityException("审批通过=>获取下一级信息失败");
+				}
+				proecess.setAuditStatus("S");
+				baseMapper.updateById(proecess);
+
+				SimpleDateFormat simpleDateFormat = new SimpleDateFormat();
+				String corpName = null;
+				if (proecessTemp.getCorpId() != null) {
+					R<CorpsDesc> corpMessage = iCorpsDescClient.getCorpMessage(proecessTemp.getCorpId());
+					if (corpMessage.isSuccess() && corpMessage.getData() != null) {
+						corpName = corpMessage.getData().getCname();
+					}
+				}
+				String repairDate = null;
+				if (proecessTemp.getBillId() != null) {
+					Repair repair = repairClient.getRepairById(proecessTemp.getBillId());
+					if (repair != null) {
+						repairDate = simpleDateFormat.format(repair.getCreateTime());
+					}
+				}
+				Message message = new Message();
+				message.setParameter(String.valueOf(auditProecess.getBillId()));
+				message.setUserName(AuthUtil.getUserName());
+				message.setUserId(AuthUtil.getUserId());
+				message.setMessageType(1);
+				message.setTenantId(AuthUtil.getTenantId());
+
+				//判断模板类型
+				if ("采购订单审批".equals(proecessTemp.getProcessType())) {
+					message.setMessageBody("您有采购订单审批,客户名:" + corpName + "," + "单号:" +
+						"" + proecessTemp.getBillNo() + "," + "订单日期:" + repairDate + ",请审核。"
+						+ "提交人:" + proecessTemp.getSendName() + "  " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
+					);
+				} else if ("销售订单审批".equals(proecessTemp.getProcessType())) {
+					message.setMessageBody("您有销售订单审批,客户名:" + corpName + "," + "单号:" +
+						"" + proecessTemp.getBillNo() + "," + "订单日期:" + repairDate + ",请审核。"
+						+ "提交人:" + proecessTemp.getSendName() + "  " + "提交时间" + simpleDateFormat.format(proecessTemp.getSendTime())
+					);
+				}
+
+				message.setCreateUser(AuthUtil.getUserId());
+				message.setUrl("/approveData/index");
+				message.setCreateTime(new Date());
+
+				// 消息批量通知下一级
+				sendMsgToGroup(message, proecess.getAuditUserId());
+			}
+			//不通过
+			else if (operate == 2) {
+				auditProecess.setAuditStatus("B");
+				Order order = new Order();
+				order.setId(auditProecess.getSrcBillId());
+				order.setUpdateTime(new Date());
+				order.setUpdateUser(AuthUtil.getUserId());
+				order.setStatus(8);
+				R sumbit = orderDescClient.updateOrder(order);
+				if (!sumbit.isSuccess()) {
+					throw new SecurityException("审批开始修改审核状态失败");
+				}
+				if ("采购订单审批".equals(proecessTemp.getProcessType())) {
+					sendMessage.setMessageBody("您的采购订单审批未通过" + ",单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				} else if ("销售订单审批".equals(proecessTemp.getProcessType())) {
+					sendMessage.setMessageBody("您的销售订单审批未通过" + ",单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				}
+
+				R save = messageClient.save(sendMessage);
+				if (!save.isSuccess()) {
+					throw new SecurityException("发送消息失败");
+				}
+			}
+
+		}
+		//是最后一级
+		else if ("T".equals(iffinalItem)) {
+			//通过
+			if (operate == 1) {
+				//todo 调用feign直接通过
+				auditProecess.setAuditStatus("A");
+				Order order = new Order();
+				order.setId(auditProecess.getSrcBillId());
+				order.setUpdateTime(new Date());
+				order.setUpdateUser(AuthUtil.getUserId());
+				order.setStatus(6);
+				order.setSpecial("1");
+				R sumbit = orderDescClient.updateOrder(order);
+				if (!sumbit.isSuccess()) {
+					throw new SecurityException(sumbit.getMsg());
+				}
+				if ("采购订单审批".equals(proecessTemp.getProcessType())) {
+					sendMessage.setMessageBody("您的采购订单审批已通过" + ",单号:" + proecessTemp.getBillNo() + ",请继续操作");
+				} else if ("销售订单审批".equals(proecessTemp.getProcessType())) {
+					sendMessage.setMessageBody("您的销售订单审批已通过" + ",单号:" + proecessTemp.getBillNo() + ",请继续操作");
+				}
+
+				R save = messageClient.save(sendMessage);
+				if (!save.isSuccess()) {
+					throw new SecurityException("发送消息失败");
+				}
+			}
+			//不通过
+			else if (operate == 2) {
+				//todo 调用feign取消
+				auditProecess.setAuditStatus("B");
+				Order order = new Order();
+				order.setId(auditProecess.getSrcBillId());
+				order.setUpdateTime(new Date());
+				order.setUpdateUser(AuthUtil.getUserId());
+				order.setStatus(8);
+				R sumbit = orderDescClient.updateOrder(order);
+				if (!sumbit.isSuccess()) {
+					throw new SecurityException("修改审核状态失败");
+				}
+				if ("销售订单审批".equals(proecessTemp.getProcessType())) {
+					sendMessage.setMessageBody("您的销售订单审批未通过" + ",单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				} else if ("采购订单审批".equals(proecessTemp.getProcessType())) {
+					sendMessage.setMessageBody("您的采购订单审批未通过" + ",单号:" + proecessTemp.getBillNo() + ",驳回原因:" + auditProecess.getAuditMsg());
+				}
+
+				R save = messageClient.save(sendMessage);
+				if (!save.isSuccess()) {
+					throw new SecurityException("发送消息失败");
+				}
+			}
+		} else {
+			throw new SecurityException("审批异常,请联系管理员");
+		}
+
+		cleanMsg(proecessTemp.getAuditUserId(), AuthUtil.getUserId(), proecessTemp.getSrcBillId());
+
+		//保存操作记录
+		auditProecess.setAuditMsg(auditProecess.getAuditMsg());
+		auditProecess.setAuditItem(new Date());
+		baseMapper.updateById(auditProecess);
+	}
+
 	private void sendMsgToGroup(Message message, String group) {
 		List<String> userList = Arrays.asList(group.split(","));
 		userList.forEach(user -> {

+ 24 - 21
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/feign/OrderDescClient.java

@@ -37,7 +37,8 @@ import java.math.MathContext;
 import java.math.RoundingMode;
 import java.util.*;
 
-import static org.springblade.common.constant.TenantConstant.*;
+import static org.springblade.common.constant.TenantConstant.APPROVAL_PROCESS;
+import static org.springblade.common.constant.TenantConstant.PAYMENT_PARAMETER;
 
 @NonDS
 @ApiIgnore()
@@ -74,8 +75,8 @@ public class OrderDescClient implements IOrderDescClient {
 			throw new SecurityException("修改状态失败");
 		}
 
-		if("681169".equals(AuthUtil.getTenantId())){
-			if (ObjectUtil.isNotEmpty(order.getDeliverQuantity())){
+		if ("681169".equals(AuthUtil.getTenantId())) {
+			if (ObjectUtil.isNotEmpty(order.getDeliverQuantity())) {
 				if (order.getDeliverQuantity().compareTo(BigDecimal.ZERO) == 0) {
 					iOrderService.update(null, new LambdaUpdateWrapper<Order>()
 						.set(Order::getDeliverTime, null)
@@ -83,7 +84,7 @@ public class OrderDescClient implements IOrderDescClient {
 					);
 				}
 			}
-			if (ObjectUtil.isNotEmpty(order.getReceiveQuantity())){
+			if (ObjectUtil.isNotEmpty(order.getReceiveQuantity())) {
 				if (order.getReceiveQuantity().compareTo(BigDecimal.ZERO) == 0) {
 					iOrderService.update(null, new LambdaUpdateWrapper<Order>()
 						.set(Order::getReceiveTime, null)
@@ -92,14 +93,16 @@ public class OrderDescClient implements IOrderDescClient {
 				}
 			}
 		}
-		if (ObjectUtil.isNotEmpty(order.getStatus())){
+		if (ObjectUtil.isNotEmpty(order.getStatus())) {
 			if (ParamCache.getValue(APPROVAL_PROCESS).equals("1") && 6 == order.getStatus()) {
 				iOrderService.collectHairGoods(order);
+			} else {
+				iOrderService.updateById(order);
 			}
+		} else {
+			iOrderService.updateById(order);
 		}
 
-		iOrderService.updateById(order);
-
 		return R.success("操作成功");
 	}
 
@@ -109,8 +112,8 @@ public class OrderDescClient implements IOrderDescClient {
 		LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
 		orderLambdaQueryWrapper.eq(Order::getTenantId, AuthUtil.getTenantId());
 		orderLambdaQueryWrapper.eq(Order::getIsDeleted, 0);
-		orderLambdaQueryWrapper.eq(ObjectUtils.isNotNull(order.getOrderNo()),Order::getOrderNo, order.getOrderNo());
-		orderLambdaQueryWrapper.eq(ObjectUtils.isNotNull(order.getSysNo()),Order::getSysNo, order.getSysNo());
+		orderLambdaQueryWrapper.eq(ObjectUtils.isNotNull(order.getOrderNo()), Order::getOrderNo, order.getOrderNo());
+		orderLambdaQueryWrapper.eq(ObjectUtils.isNotNull(order.getSysNo()), Order::getSysNo, order.getSysNo());
 		return iOrderService.getOne(orderLambdaQueryWrapper, false);
 	}
 
@@ -194,10 +197,10 @@ public class OrderDescClient implements IOrderDescClient {
 		LambdaQueryWrapper<Order> orderLambdaQueryWrapper = new LambdaQueryWrapper<>();
 		orderLambdaQueryWrapper.eq(Order::getTenantId, AuthUtil.getTenantId());
 		orderLambdaQueryWrapper.eq(Order::getIsDeleted, 0);
-		orderLambdaQueryWrapper.like(ObjectUtils.isNotNull(order.getBillNo()),Order::getBillNo, order.getBillNo());
-		orderLambdaQueryWrapper.eq(ObjectUtils.isNotNull(order.getCorpId()),Order::getCorpId, order.getCorpId());
-		orderLambdaQueryWrapper.ge(ObjectUtils.isNotNull(order.getStartTime()),Order::getCreateTime, order.getStartTime());
-		orderLambdaQueryWrapper.le(ObjectUtils.isNotNull(order.getEndTime()),Order::getCreateTime, order.getEndTime());
+		orderLambdaQueryWrapper.like(ObjectUtils.isNotNull(order.getBillNo()), Order::getBillNo, order.getBillNo());
+		orderLambdaQueryWrapper.eq(ObjectUtils.isNotNull(order.getCorpId()), Order::getCorpId, order.getCorpId());
+		orderLambdaQueryWrapper.ge(ObjectUtils.isNotNull(order.getStartTime()), Order::getCreateTime, order.getStartTime());
+		orderLambdaQueryWrapper.le(ObjectUtils.isNotNull(order.getEndTime()), Order::getCreateTime, order.getEndTime());
 		orderLambdaQueryWrapper.eq(Order::getBillType, order.getBillType());
 		orderLambdaQueryWrapper.eq(Order::getTradeType, order.getTradeType());
 		return iOrderService.list(orderLambdaQueryWrapper);
@@ -205,11 +208,11 @@ public class OrderDescClient implements IOrderDescClient {
 
 	@Override
 	@GetMapping(GET_BY_ORDER_FILES)
-	public List<OrderFiles> getOrderFiles(@RequestParam("srcBillId")Long srcBillId) {
+	public List<OrderFiles> getOrderFiles(@RequestParam("srcBillId") Long srcBillId) {
 		QueryWrapper<OrderFiles> queryWrapper = new QueryWrapper<>();
-		queryWrapper.eq("pid",srcBillId);
-		queryWrapper.eq("is_deleted",0);
-		queryWrapper.eq("status",0);
+		queryWrapper.eq("pid", srcBillId);
+		queryWrapper.eq("is_deleted", 0);
+		queryWrapper.eq("status", 0);
 		return iOrderFilesService.list(queryWrapper);
 	}
 
@@ -250,13 +253,13 @@ public class OrderDescClient implements IOrderDescClient {
 	@GetMapping(PASS_CHECK_TH)
 	public R passCheckTH(Long id) {
 		Order selectOrder = iOrderService.getById(id);
-		if (ObjectUtils.isNull(selectOrder)){
+		if (ObjectUtils.isNull(selectOrder)) {
 			throw new SecurityException("未查到单据信息");
 		}
 		LambdaQueryWrapper<Order> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-		lambdaQueryWrapper.eq(Order::getTenantId,AuthUtil.getTenantId()).eq(Order::getIsDeleted,0).eq(Order::getId,selectOrder.getSrcId()).eq(Order::getSysNo,selectOrder.getSrcSysNo());
+		lambdaQueryWrapper.eq(Order::getTenantId, AuthUtil.getTenantId()).eq(Order::getIsDeleted, 0).eq(Order::getId, selectOrder.getSrcId()).eq(Order::getSysNo, selectOrder.getSrcSysNo());
 		Order order = iOrderService.getOne(lambdaQueryWrapper);
-		if (ObjectUtils.isNull(order)){
+		if (ObjectUtils.isNull(order)) {
 			throw new SecurityException("未查到订单信息");
 		}
 		LambdaQueryWrapper<OrderItems> orderItemsLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -379,7 +382,7 @@ public class OrderDescClient implements IOrderDescClient {
 					if (!paymentApply.isSuccess()) {
 						throw new RuntimeException(paymentApply.getMsg());
 					}
-					if (ParamCache.getValue(PAYMENT_PARAMETER).equals("1")){
+					if (ParamCache.getValue(PAYMENT_PARAMETER).equals("1")) {
 						//微信退款
 					}
 				} else {

Plik diff jest za duży
+ 1225 - 440
blade-service/blade-purchase-sales/src/main/java/org/springblade/purchase/sales/service/impl/OrderServiceImpl.java


+ 76 - 70
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -2538,82 +2538,88 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 		} else {
 			BigDecimal s = new BigDecimal("0.00");
 			if (ObjectUtils.isNotNull(selectAcc.getSettlementAmount())){
-				s = s.add(selectAcc.getSettlementAmount()).add(dto.getSettlementAmount());
+				if (ObjectUtils.isNotNull(dto.getSettlementAmount())){
+					s = s.add(selectAcc.getSettlementAmount()).add(dto.getSettlementAmount());
+				}else{
+					s = s.add(selectAcc.getSettlementAmount());
+				}
 			}
 			BeanUtils.copyProperties(selectAcc, acc);
 			BeanUtils.copyProperties(dto, acc);
 			Long id = selectAcc.getId();
-			for (Settlement settlement : dto.getSettlementList()) {
-				if (settlement.getId() == null) {
-					Settlement model = new Settlement();
-					model.setSrcOrderno(acc.getAccSysNo());
-					model.setBillType(settlement.getBillType());
-					model.setCorpId(acc.getCorpId());
-					model.setCorpName(acc.getCorpName());
-					model.setPlanSettlementDate(acc.getRetrieval());
-					model.setSettlementDate(settlement.getSettlementDate());
-					model.setCurrency(acc.getCurrency());
-					model.setExchangeRate(acc.getExchangeRate());
-					model.setAmount(settlement.getAmount());
-					model.setAccountName(settlement.getAccountName());
-					model.setAccountBank(settlement.getAccountBank());
-					model.setAccountNo(settlement.getAccountNo());
-					model.setRemark(settlement.getRemark());
-					model.setFoundStatus("结算完成");
-					model.setBillNo(acc.getSrcBillNo());
-					model.setDc(acc.getDc());
-					model.setSrcBillId(acc.getSrcId());
-					model.setItemType(acc.getItemType());
-					model.setSysNo(String.valueOf(System.currentTimeMillis()));
-					model.setTenantId(AuthUtil.getTenantId());
-					model.setCreateTime(new Date());
-					model.setCreateUser(AuthUtil.getUserId());
-					String[] arr = AuthUtil.getDeptId().split(",");
-					if (arr.length > 0) {
-						model.setCreateDept(Long.valueOf(AuthUtil.getDeptId().split(",")[0]));
-					} else {
-						model.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
-					}
-					model.setAccId(acc.getId());
-					model.setAccount(settlement.getAccount());
-					model.setOverPayment(settlement.getOverPayment());
-					baseMapper.insert(model);
-
-					Items items = new Items();
-					items.setItemId(acc.getSrcFeesId());
-					items.setCorpId(acc.getCorpId());
-					items.setQuantity(acc.getQuantity());
-					items.setUnit(acc.getUnit());
-					items.setPrice(dto.getReceivedAmount());
-					items.setSrcOrderno(acc.getSrcSysno());
-					items.setSrcBillNo(acc.getSrcBillNo());
-					items.setAmount(dto.getReceivedAmount());
-					items.setCurrency(acc.getCurrency());
-					items.setExchangeRate(acc.getExchangeRate());
-					items.setTaxRate(acc.getTaxRate());
-					items.setItemType(acc.getBillType());
-					items.setSrcParentId(acc.getSrcParentId());
-					items.setSrcFeesId(acc.getSrcFeesId());
-					items.setSrcType(acc.getSrcType());
-					items.setCostType(acc.getCostType());
-					items.setBillNo(acc.getSrcBillNo());
-					items.setThisAmount(dto.getReceivedAmount());
-					items.setTradeType(acc.getTradeType());
-					items.setAccId(id);
-					items.setPid(model.getId());
-					items.setTenantId(AuthUtil.getTenantId());
-					items.setCreateTime(new Date());
-					items.setCreateUser(AuthUtil.getUserId());
-					items.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
-					items.setTradeType(acc.getTradeType());
-					itemsMapper.insert(items);
+			if (ObjectUtils.isNotNull(dto.getSettlementList()) && dto.getSettlementList().size()>0){
+				for (Settlement settlement : dto.getSettlementList()) {
+					if (settlement.getId() == null) {
+						Settlement model = new Settlement();
+						model.setSrcOrderno(acc.getAccSysNo());
+						model.setBillType(settlement.getBillType());
+						model.setCorpId(acc.getCorpId());
+						model.setCorpName(acc.getCorpName());
+						model.setPlanSettlementDate(acc.getRetrieval());
+						model.setSettlementDate(settlement.getSettlementDate());
+						model.setCurrency(acc.getCurrency());
+						model.setExchangeRate(acc.getExchangeRate());
+						model.setAmount(settlement.getAmount());
+						model.setAccountName(settlement.getAccountName());
+						model.setAccountBank(settlement.getAccountBank());
+						model.setAccountNo(settlement.getAccountNo());
+						model.setRemark(settlement.getRemark());
+						model.setFoundStatus("结算完成");
+						model.setBillNo(acc.getSrcBillNo());
+						model.setDc(acc.getDc());
+						model.setSrcBillId(acc.getSrcId());
+						model.setItemType(acc.getItemType());
+						model.setSysNo(String.valueOf(System.currentTimeMillis()));
+						model.setTenantId(AuthUtil.getTenantId());
+						model.setCreateTime(new Date());
+						model.setCreateUser(AuthUtil.getUserId());
+						String[] arr = AuthUtil.getDeptId().split(",");
+						if (arr.length > 0) {
+							model.setCreateDept(Long.valueOf(AuthUtil.getDeptId().split(",")[0]));
+						} else {
+							model.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
+						}
+						model.setAccId(acc.getId());
+						model.setAccount(settlement.getAccount());
+						model.setOverPayment(settlement.getOverPayment());
+						baseMapper.insert(model);
+
+						Items items = new Items();
+						items.setItemId(acc.getSrcFeesId());
+						items.setCorpId(acc.getCorpId());
+						items.setQuantity(acc.getQuantity());
+						items.setUnit(acc.getUnit());
+						items.setPrice(dto.getReceivedAmount());
+						items.setSrcOrderno(acc.getSrcSysno());
+						items.setSrcBillNo(acc.getSrcBillNo());
+						items.setAmount(dto.getReceivedAmount());
+						items.setCurrency(acc.getCurrency());
+						items.setExchangeRate(acc.getExchangeRate());
+						items.setTaxRate(acc.getTaxRate());
+						items.setItemType(acc.getBillType());
+						items.setSrcParentId(acc.getSrcParentId());
+						items.setSrcFeesId(acc.getSrcFeesId());
+						items.setSrcType(acc.getSrcType());
+						items.setCostType(acc.getCostType());
+						items.setBillNo(acc.getSrcBillNo());
+						items.setThisAmount(dto.getReceivedAmount());
+						items.setTradeType(acc.getTradeType());
+						items.setAccId(id);
+						items.setPid(model.getId());
+						items.setTenantId(AuthUtil.getTenantId());
+						items.setCreateTime(new Date());
+						items.setCreateUser(AuthUtil.getUserId());
+						items.setCreateDept(Long.valueOf(AuthUtil.getDeptId()));
+						items.setTradeType(acc.getTradeType());
+						itemsMapper.insert(items);
 
+					}
+					acc.setSettlementAmount(s);
+					acc.setId(id);
+					acc.setUpdateTime(new Date());
+					acc.setUpdateUser(AuthUtil.getUserId());
+					accMapper.updateById(acc);
 				}
-				acc.setSettlementAmount(s);
-				acc.setId(id);
-				acc.setUpdateTime(new Date());
-				acc.setUpdateUser(AuthUtil.getUserId());
-				accMapper.updateById(acc);
 			}
 		}
 

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików