Browse Source

2022年11月22日18:05:31

纪新园 3 years ago
parent
commit
5abac708ee

+ 2 - 1
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/feign/IRepairClient.java

@@ -6,6 +6,7 @@ import org.springblade.box.tube.entity.TransportItemFees;
 import org.springblade.core.tool.api.R;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
 /**
@@ -42,7 +43,7 @@ public interface IRepairClient {
 
 	//修改费用明细
 	@PostMapping(UPDATE_REPAIR_FEES)
-	R updateRepairFees(RepairFees repairFees);
+	R updateRepairFees( @RequestBody RepairFees repairFees);
 
 	//通过id查询费用明细
 	@PostMapping(GET_REPAIR_FEES_BY_ID)

+ 2 - 1
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/feign/ITradingBoxClient.java

@@ -5,6 +5,7 @@ import org.springblade.box.tube.entity.TradingBoxFees;
 import org.springblade.core.tool.api.R;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
 /**
@@ -41,7 +42,7 @@ public interface ITradingBoxClient {
 
 	//修改费用明细
 	@PostMapping(UPDATE_TRADING_BOX_FEES)
-	R updateTradingBoxFees(TradingBoxFees tradingBoxFees);
+	R updateTradingBoxFees(@RequestBody TradingBoxFees tradingBoxFees);
 
 	//通过id查询费用明细
 	@PostMapping(GET_TRADING_BOX_FEES_BY_ID)

+ 2 - 1
blade-service-api/blade-box-tube-api/src/main/java/org/springblade/box/tube/feign/ITransportClient.java

@@ -5,6 +5,7 @@ import org.springblade.box.tube.entity.TransportItemFees;
 import org.springblade.core.tool.api.R;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
 /**
@@ -41,7 +42,7 @@ public interface ITransportClient {
 
 	//修改费用明细
 	@PostMapping(UPDATE_TRANSPORT_ITEM_FEES)
-	R updateTransportItemFees(TransportItemFees transportItemFees);
+	R updateTransportItemFees( @RequestBody TransportItemFees transportItemFees);
 
 	//通过id查询费用明细
 	@PostMapping(GET_TRANSPORT_ITEM_FEES_BY_ID)

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

@@ -151,7 +151,7 @@ public class TransportController extends BladeController {
 	/**
 	 * 出口装运/进口返程 状态更新
 	 */
-	@PostMapping("/statusUpdate")
+	@GetMapping("/statusUpdate")
 	@ApiOperationSupport(order = 5)
 	@ApiOperation(value = "修改", notes = "传入transport")
 	public R statusUpdate(@RequestParam("ids") String ids,

+ 2 - 1
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/feign/RepairClient.java

@@ -10,6 +10,7 @@ import org.springblade.box.tube.service.ITransportItemFeesService;
 import org.springblade.box.tube.service.ITransportService;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -47,7 +48,7 @@ public class RepairClient implements IRepairClient {
 	}
 
 	@Override
-	public R updateRepairFees(RepairFees repairFees) {
+	public R updateRepairFees(@RequestBody RepairFees repairFees) {
 		return R.status(repairFeesService.updateById(repairFees));
 	}
 

+ 2 - 1
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/feign/TradingBoxClient.java

@@ -7,6 +7,7 @@ import org.springblade.box.tube.service.ITradingBoxFeesService;
 import org.springblade.box.tube.service.ITradingBoxService;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -44,7 +45,7 @@ public class TradingBoxClient implements ITradingBoxClient {
 	}
 
 	@Override
-	public R updateTradingBoxFees(TradingBoxFees tradingBoxFees) {
+	public R updateTradingBoxFees(@RequestBody TradingBoxFees tradingBoxFees) {
 		return R.status(tradingBoxFeesService.updateById(tradingBoxFees));
 	}
 

+ 2 - 1
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/feign/TransportClient.java

@@ -7,6 +7,7 @@ import org.springblade.box.tube.service.ITransportItemFeesService;
 import org.springblade.box.tube.service.ITransportService;
 import org.springblade.core.tenant.annotation.NonDS;
 import org.springblade.core.tool.api.R;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RestController;
 import springfox.documentation.annotations.ApiIgnore;
 
@@ -44,7 +45,7 @@ public class TransportClient implements ITransportClient {
 	}
 
 	@Override
-	public R updateTransportItemFees(TransportItemFees transportItemFees) {
+	public R updateTransportItemFees( @RequestBody TransportItemFees transportItemFees) {
 		return R.status(transportItemFeesService.updateById(transportItemFees));
 	}
 

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

@@ -452,6 +452,7 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
 		//获取账单信息
 		Acc acc = new Acc();
 		acc.setSrcParentId(selectRepair.getId());
+		acc.setBillType("申请");
 		acc.setBillType(selectRepair.getBillType());
 		acc.setTradeType("BOX");
 		acc.setSrcType(7);
@@ -471,6 +472,17 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
 		selectRepair.setUpdateTime(new Date());
 		selectRepair.setUpdateUser(AuthUtil.getUserId());
 		baseMapper.updateById(selectRepair);
+		//获取订单费用信息
+		LambdaQueryWrapper<RepairFees> repairFeesLambdaQueryWrapper = new LambdaQueryWrapper<>();
+		repairFeesLambdaQueryWrapper.eq(RepairFees::getIsDeleted, 0);
+		repairFeesLambdaQueryWrapper.eq(RepairFees::getPid, selectRepair.getId());
+		repairFeesLambdaQueryWrapper.eq(RepairFees::getTenantId, AuthUtil.getTenantId());
+		repairFeesLambdaQueryWrapper.eq(RepairFees::getSubmitPay, 1);
+		List<RepairFees> tradingBoxFeesList = repairFeesMapper.selectList(repairFeesLambdaQueryWrapper);
+		for (RepairFees tradingBoxFees:tradingBoxFeesList) {
+			tradingBoxFees.setSubmitPay(0);
+			repairFeesMapper.updateById(tradingBoxFees);
+		}
 		iCheckClient.deteleByBillId(selectRepair.getId());
 		return selectRepair;
 	}
@@ -489,7 +501,7 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
 
 		//账单数据
 		ApplyDTO applyDTO = new ApplyDTO();
-		applyDTO.setBillType(billType);
+		applyDTO.setBillType("申请");
 		applyDTO.setTradeType("BOX");
 		applyDTO.setBelongCompany(repair.getCompany());
 
@@ -533,7 +545,7 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
 				items.setSrcSysNo(repairFees.getCode());
 				items.setRemarks(repairFees.getRemarks());
 				items.setSrcBillNo(repair.getSysNo());
-				items.setStatusJT(1);
+				items.setStatusJT(0);
 				items.setBillNo(repair.getSysNo());
 				items.setStockTime(repair.getNewDate());
 				//获取费用id

+ 22 - 3
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/TradingBoxServiceImpl.java

@@ -518,7 +518,11 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 		//获取账单信息
 		Acc acc = new Acc();
 		acc.setSrcParentId(selectTradingBox.getId());
-		acc.setBillType(selectTradingBox.getType());
+		if("BUY".equals(selectTradingBox.getType())){
+			acc.setBillType("申请");
+		}else{
+			acc.setBillType("收费");
+		}
 		acc.setTradeType("BOX");
 		acc.setSrcType(5);
 		R<List<Acc>> r = financeClient.getAccListByCondition(acc);
@@ -537,6 +541,17 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 		selectTradingBox.setUpdateTime(new Date());
 		selectTradingBox.setUpdateUser(AuthUtil.getUserId());
 		baseMapper.updateById(selectTradingBox);
+		//获取订单费用信息
+		LambdaQueryWrapper<TradingBoxFees> tradingBoxFeesLambdaQueryWrapper = new LambdaQueryWrapper<>();
+		tradingBoxFeesLambdaQueryWrapper.eq(TradingBoxFees::getIsDeleted, 0);
+		tradingBoxFeesLambdaQueryWrapper.eq(TradingBoxFees::getPid, selectTradingBox.getId());
+		tradingBoxFeesLambdaQueryWrapper.eq(TradingBoxFees::getTenantId, AuthUtil.getTenantId());
+		tradingBoxFeesLambdaQueryWrapper.eq(TradingBoxFees::getSubmitPay, 1);
+		List<TradingBoxFees> tradingBoxFeesList = tradingBoxFeesMapper.selectList(tradingBoxFeesLambdaQueryWrapper);
+		for (TradingBoxFees tradingBoxFees:tradingBoxFeesList) {
+			tradingBoxFees.setSubmitPay(0);
+			tradingBoxFeesMapper.updateById(tradingBoxFees);
+		}
 		iCheckClient.deteleByBillId(tradingBox.getId());
 		return selectTradingBox;
 	}
@@ -554,7 +569,11 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 
 		//账单数据
 		ApplyDTO applyDTO = new ApplyDTO();
-		applyDTO.setBillType(billType);
+		if("BUY".equals(billType)){
+			applyDTO.setBillType("申请");
+		}else{
+			applyDTO.setBillType("收费");
+		}
 		applyDTO.setTradeType("BOX");
 		applyDTO.setBelongCompany(tradingBox.getPurchaseCompanyName());
 
@@ -599,7 +618,7 @@ public class TradingBoxServiceImpl extends ServiceImpl<TradingBoxMapper, Trading
 				items.setSrcSysNo(tradingBoxFees.getCode());
 				items.setRemarks(tradingBoxFees.getRemarks());
 				items.setSrcBillNo(tradingBox.getContractNo());
-				items.setStatusJT(1);
+				items.setStatusJT(0);
 				items.setBillNo(tradingBox.getContractNo());
 				items.setStockTime(tradingBox.getPurchaseDate());
 				//获取费用id

+ 23 - 3
blade-service/blade-box-tube/src/main/java/org/springblade/box/tube/service/impl/TransportServiceImpl.java

@@ -203,6 +203,7 @@ public class TransportServiceImpl extends ServiceImpl<TransportMapper, Transport
 					transportItem.setCreateUserName(AuthUtil.getUserName());
 					transportItem.setTenantId(AuthUtil.getTenantId());
 					transportItem.setPid(transport.getId());
+					transportItem.setStatus("录入");
 					transportItemMapper.insert(transportItem);
 				} else {
 					transportItem.setUpdateUser(AuthUtil.getUserId());
@@ -530,7 +531,11 @@ public class TransportServiceImpl extends ServiceImpl<TransportMapper, Transport
 		//获取账单信息
 		Acc acc = new Acc();
 		acc.setSrcParentId(selectTransport.getId());
-		acc.setBillType(selectTransport.getBillType());
+		if("JKFC".equals(selectTransport.getBillType())){
+			acc.setBillType("申请");
+		}else{
+			acc.setBillType("收费");
+		}
 		acc.setTradeType("BOX");
 		acc.setSrcType(6);
 		R<List<Acc>> r = financeClient.getAccListByCondition(acc);
@@ -549,6 +554,17 @@ public class TransportServiceImpl extends ServiceImpl<TransportMapper, Transport
 		selectTransport.setUpdateTime(new Date());
 		selectTransport.setUpdateUser(AuthUtil.getUserId());
 		baseMapper.updateById(selectTransport);
+		//获取订单费用信息
+		LambdaQueryWrapper<TransportItemFees> transportItemFeesLambdaQueryWrapper = new LambdaQueryWrapper<>();
+		transportItemFeesLambdaQueryWrapper.eq(TransportItemFees::getIsDeleted, 0);
+		transportItemFeesLambdaQueryWrapper.eq(TransportItemFees::getPid, selectTransport.getId());
+		transportItemFeesLambdaQueryWrapper.eq(TransportItemFees::getTenantId, AuthUtil.getTenantId());
+		transportItemFeesLambdaQueryWrapper.eq(TransportItemFees::getSubmitPay, 1);
+		List<TransportItemFees> transportItemFeesList = transportItemFeesMapper.selectList(transportItemFeesLambdaQueryWrapper);
+		for (TransportItemFees transportItemFees:transportItemFeesList) {
+			transportItemFees.setSubmitPay(0);
+			transportItemFeesMapper.updateById(transportItemFees);
+		}
 		iCheckClient.deteleByBillId(selectTransport.getId());
 		return selectTransport;
 	}
@@ -566,7 +582,11 @@ public class TransportServiceImpl extends ServiceImpl<TransportMapper, Transport
 
 		//账单数据
 		ApplyDTO applyDTO = new ApplyDTO();
-		applyDTO.setBillType(billType);
+		if("JKFC".equals(billType)){
+			applyDTO.setBillType("申请");
+		}else{
+			applyDTO.setBillType("收费");
+		}
 		applyDTO.setTradeType("BOX");
 		applyDTO.setBelongCompany(transport.getCorpName());
 
@@ -610,7 +630,7 @@ public class TransportServiceImpl extends ServiceImpl<TransportMapper, Transport
 				items.setSrcSysNo(transportItemFees.getCode());
 				items.setRemarks(transportItemFees.getRemarks());
 				items.setSrcBillNo(transport.getContractNo());
-				items.setStatusJT(1);
+				items.setStatusJT(0);
 				items.setBillNo(transport.getContractNo());
 				items.setStockTime(transport.getEffectiveDate());
 				items.setDepartureHarbor(transport.getDepartureHarbor());

+ 34 - 6
blade-service/trade-finance/src/main/java/org/springblade/finance/service/impl/SettlementServiceImpl.java

@@ -636,7 +636,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			}
 
 			R<TradingBoxFees> tradingBoxFeesR = tradingBoxClient.getTradingBoxFeesById(srcFeesId);
-			if (tradingBoxFeesR.isSuccess() && ObjectUtils.isNotNull(tradingBoxFeesR.getData())) {
+			if (!tradingBoxFeesR.isSuccess() && ObjectUtils.isNull(tradingBoxFeesR.getData())) {
 				throw new SecurityException("修改原单据失败");
 			}
 			//回退原业务表数据
@@ -648,6 +648,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 				throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
 			}
 			tradingBoxFeesR.getData().setSettlementAmount(decimal);
+			tradingBoxFeesR.getData().setSettlementDate(null);
 			tradingBoxClient.updateTradingBoxFees(tradingBoxFeesR.getData());
 		}
 		//修改费用明细
@@ -658,7 +659,7 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			}
 
 			R<TransportItemFees> transportItemFeesR = transportClient.getTransportItemFeesById(srcFeesId);
-			if (transportItemFeesR.isSuccess() && ObjectUtils.isNotNull(transportItemFeesR.getData())) {
+			if (!transportItemFeesR.isSuccess() && ObjectUtils.isNull(transportItemFeesR.getData())) {
 				throw new SecurityException("修改原单据失败");
 			}
 			//回退原业务表数据
@@ -670,7 +671,29 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 				throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
 			}
 			transportItemFeesR.getData().setSettlementAmount(decimal);
+			transportItemFeesR.getData().setSettlementDate(null);
 			transportClient.updateTransportItemFees(transportItemFeesR.getData());
+		}else if (type == 7) {
+			Long srcFeesId = acc.getSrcFeesId();
+			if (srcFeesId == null) {
+				throw new SecurityException("操作失败,未获取到原业务信息");
+			}
+
+			R<RepairFees> repairFeesR = repairClient.getRepairFeesById(srcFeesId);
+			if (!repairFeesR.isSuccess() && ObjectUtils.isNull(repairFeesR.getData())) {
+				throw new SecurityException("修改原单据失败");
+			}
+			//回退原业务表数据
+			if (repairFeesR.getData().getSettlementAmount() == null) {
+				throw new SecurityException("撤销账单失败,原业务表已收金额为空");
+			}
+			BigDecimal decimal = repairFeesR.getData().getSettlementAmount().subtract(items.getThisAmount());
+			if (decimal.compareTo(BigDecimal.ZERO) < 0) {
+				throw new SecurityException("撤销账单失败,剩余已收金额不够本次扣款");
+			}
+			repairFeesR.getData().setSettlementAmount(decimal);
+			repairFeesR.getData().setSettlementDate(null);
+			repairClient.updateRepairFees(repairFeesR.getData());
 		}
 
 	}
@@ -825,13 +848,16 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			}
 
 			R<TradingBoxFees> tradingBoxFeesR = tradingBoxClient.getTradingBoxFeesById(srcFeesId);
-			if (tradingBoxFeesR.isSuccess() && ObjectUtils.isNotNull(tradingBoxFeesR.getData())) {
+			if (!tradingBoxFeesR.isSuccess() && ObjectUtils.isNull(tradingBoxFeesR.getData())) {
 				throw new SecurityException("修改原单据失败");
 			}
 			acc.setSettlementAmount(acc.getSettlementAmount() != null ? acc.getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
 			tradingBoxFeesR.getData().setSettlementAmount(tradingBoxFeesR.getData().getSettlementAmount() != null ? tradingBoxFeesR.getData().getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
 			accMapper.updateById(acc);
-			tradingBoxClient.updateTradingBoxFees(tradingBoxFeesR.getData());
+			TradingBoxFees tradingBoxFees = new TradingBoxFees();
+			BeanUtils.copyProperties(tradingBoxFeesR.getData(),tradingBoxFees);
+			tradingBoxFees.setSettlementDate(new Date());
+			tradingBoxClient.updateTradingBoxFees(tradingBoxFees);
 		} else if (type == 6) {
 			Long srcFeesId = acc.getSrcFeesId();
 			if (srcFeesId == null) {
@@ -839,12 +865,13 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			}
 
 			R<TransportItemFees> transportItemFeesR = transportClient.getTransportItemFeesById(srcFeesId);
-			if (transportItemFeesR.isSuccess() && ObjectUtils.isNotNull(transportItemFeesR.getData())) {
+			if (!transportItemFeesR.isSuccess() && ObjectUtils.isNull(transportItemFeesR.getData())) {
 				throw new SecurityException("修改原单据失败");
 			}
 			acc.setSettlementAmount(acc.getSettlementAmount() != null ? acc.getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
 			transportItemFeesR.getData().setSettlementAmount(transportItemFeesR.getData().getSettlementAmount() != null ? transportItemFeesR.getData().getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
 			accMapper.updateById(acc);
+			transportItemFeesR.getData().setSettlementDate(new Date());
 			transportClient.updateTransportItemFees(transportItemFeesR.getData());
 		} else if (type == 7) {
 			Long srcFeesId = acc.getSrcFeesId();
@@ -853,12 +880,13 @@ public class SettlementServiceImpl extends ServiceImpl<SettlementMapper, Settlem
 			}
 
 			R<RepairFees> repairFeesR = repairClient.getRepairFeesById(srcFeesId);
-			if (repairFeesR.isSuccess() && ObjectUtils.isNotNull(repairFeesR.getData())) {
+			if (!repairFeesR.isSuccess() && ObjectUtils.isNull(repairFeesR.getData())) {
 				throw new SecurityException("修改原单据失败");
 			}
 			acc.setSettlementAmount(acc.getSettlementAmount() != null ? acc.getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
 			repairFeesR.getData().setSettlementAmount(repairFeesR.getData().getSettlementAmount() != null ? repairFeesR.getData().getSettlementAmount().add(items.getThisAmount()) : new BigDecimal("0").add(items.getThisAmount()));
 			accMapper.updateById(acc);
+			repairFeesR.getData().setSettlementDate(new Date());
 			repairClient.updateRepairFees(repairFeesR.getData());
 		} else {
 			throw new SecurityException("操作失败,财务类型为空无法结算");