|
|
@@ -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);
|
|
|
|
|
|
//组装数据
|