wangzhuo 3 лет назад
Родитель
Сommit
768cf8c7e5

+ 4 - 2
blade-ops/blade-resource/src/main/java/org/springblade/resource/endpoint/OssEndpoint.java

@@ -146,7 +146,8 @@ public class OssEndpoint {
 	public R<BladeFile> putFile(@RequestParam("file") MultipartFile file) {
 		BladeFile bladeFile = ossBuilder.template().putFile(file.getOriginalFilename(), file.getInputStream());
 		String link = bladeFile.getLink();
-		String replace = link.replace("http://121.37.83.47:9000/", "https://trade.tubaosoft.com/file/");
+		//String replace = link.replace("http://121.37.83.47:9000/", "https://trade.tubaosoft.com/file/");
+		String replace = link.replace("http://121.37.83.47:9000/", "http://121.37.83.47/file/");
 		bladeFile.setLink(replace);
 		return R.data(bladeFile);
 	}
@@ -162,7 +163,8 @@ public class OssEndpoint {
 	public R<BladeFile> putFileNoLogin(@RequestParam("file") MultipartFile file, @RequestParam("tenantId") String tenantId) {
 		BladeFile bladeFile = ossBuilder.initTemplate(tenantId).putFile(file.getOriginalFilename(), file.getInputStream());
 		String link = bladeFile.getLink();
-		String replace = link.replace("http://121.37.83.47:9000/", "https://trade.tubaosoft.com/file/");
+		//String replace = link.replace("http://121.37.83.47:9000/", "https://trade.tubaosoft.com/file/");
+		String replace = link.replace("http://121.37.83.47:9000/", "http://121.37.83.47/file/");
 		bladeFile.setLink(replace);
 		return R.data(bladeFile);
 	}

+ 2 - 2
blade-service/trade-purchase/src/main/java/com/trade/purchase/extra/controller/ClaimController.java

@@ -161,8 +161,8 @@ public class ClaimController extends BladeController {
 	/**
 	 * 报销完成 生成凭证
 	 */
-	@PostMapping("modify")
-	@ApiOperation(value = "财务生成凭证", notes = "传入修改新增收付款信息对象")
+	@PostMapping("/modify")
+	@ApiOperation(value = "财务生成凭证", notes = "传入报销单")
 	public R modify(@RequestBody Claim claim) {
 		Claim modify = claimService.modify(claim);
 		return R.data(modify);

+ 38 - 33
blade-service/trade-purchase/src/main/java/com/trade/purchase/extra/service/impl/ClaimServiceImpl.java

@@ -43,7 +43,9 @@ import org.springblade.check.entity.AuditPathsActs;
 import org.springblade.check.entity.AuditPathsLevels;
 import org.springblade.check.feign.ICheckClient;
 import org.springblade.client.entity.CommonFile;
+import org.springblade.client.entity.CorpsDesc;
 import org.springblade.client.feign.ICommonFileClient;
+import org.springblade.client.feign.ICorpsDescClient;
 import org.springblade.client.feign.ISerialClient;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
@@ -88,6 +90,8 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 
 	private final ICommonFileClient commonFileClient;
 
+	private final ICorpsDescClient corpsDescClient;//获得客户
+
 	private final ICheckClient checkClient;
 
 	private final JdyTenantMapper jdTenantMapper;
@@ -296,19 +300,35 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 		Long id = claim.getId();
 		Claim claimOne = baseMapper.selectById(id);
 
+		String accountName = null;
+
 		if ("681169".equals(AuthUtil.getTenantId())){
 
 			if (claimOne == null) {
 				throw new SecurityException("未查到相关数据,操作失败");
 			}
 
+			if(!ObjectUtil.isNotEmpty(claimOne.getBelongToCorpId())){
+				throw new SecurityException("所属公司不能为空");
+			}
+
+			if (!StringUtil.isNotBlank(claimOne.getSubjectCode())){
+				throw new SecurityException("科目编码不能为空");
+			}
+
 			//获得明细
 			List<ClaimItem> itemList = claimItemMapper.selectList(new LambdaQueryWrapper<ClaimItem>()
 				.eq(ClaimItem::getPid, claimOne.getId())
 				.eq(ClaimItem::getIsDeleted, 0)
 			);
+
+			//获得所属公司名称
+			R<CorpsDesc> corpMessage = corpsDescClient.getCorpMessage(claimOne.getBelongToCorpId());
+			if (corpMessage.isSuccess() && corpMessage.getData() != null) {
+				accountName = corpMessage.getData().getCname();
+			}
+
 			//=============生成凭证所需信息==============
-			String accountName = claim.getBelongToCorpName();
 			if (!"青岛通用沃德轮胎有限公司".equals(accountName)) {
 				accountName="青岛达沃特轮胎有限公司";
 			}
@@ -321,10 +341,15 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 			if (jdTenant != null)
 			{
 				if (ObjectUtil.isNotEmpty(itemList)){
+					String finalAccountName = accountName;
 					itemList.forEach(item -> {
+						if (!StringUtil.isNotBlank(item.getSubjectName())){
+							throw new SecurityException("明细科目名称不能为空");
+						}
 						try {
 							//财务保存凭证
-							this.ClaimSaveVoucher(claimOne.getPaymentTime(), item.getSubjectName(), item.getExpenseOwner(), item.getAccountingItemsName(), item.getAmount().toString());
+							this.ClaimSaveVoucher(claimOne.getPaymentTime(), finalAccountName, claimOne.getSubjectCode(), item.getSubjectName(),
+								item.getAccountingItemsName(), item.getAmount().toString(), item.getExplanation());
 						} catch (Exception exception) {
 							throw new SecurityException(exception.getMessage());
 						}
@@ -337,7 +362,7 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 	}
 
 	//财务生成账单
-	public void ClaimSaveVoucher(Date PaymentTime, String accountName, String corpName, String corpNumber, String account) throws Exception {
+	public void ClaimSaveVoucher(Date PaymentTime, String accountName, String subjectCode, String subjectName, String corpNumber, String account, String explanation) throws Exception {
 		// TODO 临时屏蔽
 
 		//非达沃特用户直接返回
@@ -382,7 +407,7 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 			return;
 		}
 		//保存凭证
-		JdyTool.voucher voucher = toSaleCollectionJinDie(PaymentTime,accountName, account, corpName, corpNumber, jdTenant.getAccountId(), group.getGroupName(), jdTenant);
+		JdyTool.voucher voucher = toSaleCollectionJinDie(PaymentTime, subjectCode, subjectName, account, corpNumber, jdTenant.getAccountId(), group.getGroupName(), explanation);
 		if (voucher == null) {
 			throw new SecurityException("获取凭证信息失败");
 		}
@@ -390,7 +415,7 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 	}
 
 	//金蝶保存凭证测试-生成凭证
-	public JdyTool.voucher toSaleCollectionJinDie(Date date,String subjectNumber, String account, String corpName,String corpNumber, String accountId, String groupName, JdTenant jdTenant) {
+	public JdyTool.voucher toSaleCollectionJinDie(Date date,String subjectCode,String subjectNumber, String account,String corpNumber, String accountId, String groupName, String explanation) {
 		JDYitems item = new JDYitems();
 		item.setDate(new SimpleDateFormat("yyyy-MM-dd").format(date));
 		List<JDYentries> entriesList = new ArrayList<>();
@@ -399,24 +424,13 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 		//财务借方
 		JDYentries d = new JDYentries();
 		d.setDc("1");
-		LambdaQueryWrapper<JdModule> dLambdaQueryWrapper = new LambdaQueryWrapper<>();
-		dLambdaQueryWrapper
-			.eq(JdModule::getAccountId, accountId)
-			.eq(JdModule::getModule, "报销")
-			.eq(JdModule::getDc, "1")
-			.last("limit 1")
-			.eq(JdModule::getTenantId, AuthUtil.getTenantId());
-		JdModule dModule = moduleMapper.selectOne(dLambdaQueryWrapper);
-		if (dModule == null) {
-			throw new SecurityException("获取科目号失败");
-		}
+
 		if (null != subjectNumber && !subjectNumber.equals("")){
-			dModule.setProjectCode(subjectNumber);
+			d.setAccount_number(subjectNumber);
 		}else {
 			throw new SecurityException("科目编码为空");
 		}
-		d.setExplanation(dModule.getAbstractStatic() + "-" + corpName);
-		d.setAccount_number(dModule.getProjectCode());
+		d.setExplanation(explanation);
 		d.setDebitamount(account);
 		entriesList.add(d);
 
@@ -432,26 +446,17 @@ public class ClaimServiceImpl extends ServiceImpl<ClaimMapper, Claim> implements
 		d.setAssist(cList);
 		//===========辅助核算=================
 
-
 		//财务贷方
 		JDYentries c = new JDYentries();
 		c.setDc("-1");
 
-		LambdaQueryWrapper<JdModule> cLambdaQueryWrapper = new LambdaQueryWrapper<>();
-		cLambdaQueryWrapper
-			.eq(JdModule::getAccountId, accountId)
-			.eq(JdModule::getModule, "报销")
-			.eq(JdModule::getDc, "-1")
-			.last("limit 1")
-			.eq(JdModule::getTenantId, AuthUtil.getTenantId());
-		JdModule cModule = moduleMapper.selectOne(cLambdaQueryWrapper);
-		if (cModule == null) {
-			throw new SecurityException("获取科目号失败");
+		if (null != subjectCode && !subjectCode.equals("")){
+			c.setAccount_number(subjectCode);
+		}else {
+			throw new SecurityException("科目编码为空");
 		}
-		c.setExplanation(cModule.getAbstractStatic() + "-" + corpName);
-		c.setAccount_number(cModule.getProjectCode());
+		c.setExplanation(explanation);
 		c.setCreditamount(account);
-
 		entriesList.add(c);
 
 		//组装数据