|
@@ -21,7 +21,6 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
-import io.seata.spring.annotation.GlobalTransactional;
|
|
|
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
import org.springblade.core.secure.utils.AuthUtil;
|
|
|
import org.springblade.core.tool.api.R;
|
|
import org.springblade.core.tool.api.R;
|
|
@@ -74,7 +73,6 @@ import org.springblade.los.finance.vouchers.entity.FinVouchers;
|
|
|
import org.springblade.los.finance.vouchers.entity.FinVouchersItems;
|
|
import org.springblade.los.finance.vouchers.entity.FinVouchersItems;
|
|
|
import org.springblade.los.finance.vouchers.mapper.FinVouchersMapper;
|
|
import org.springblade.los.finance.vouchers.mapper.FinVouchersMapper;
|
|
|
import org.springblade.los.finance.vouchers.service.IFinVouchersItemsService;
|
|
import org.springblade.los.finance.vouchers.service.IFinVouchersItemsService;
|
|
|
-import org.springblade.los.trade.entity.Agent;
|
|
|
|
|
import org.springblade.los.trade.mapper.AgentMapper;
|
|
import org.springblade.los.trade.mapper.AgentMapper;
|
|
|
import org.springblade.system.entity.Dept;
|
|
import org.springblade.system.entity.Dept;
|
|
|
import org.springblade.system.feign.ISysClient;
|
|
import org.springblade.system.feign.ISysClient;
|
|
@@ -443,7 +441,7 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
finStlBillsItemsService.saveOrUpdateBatch(finStlBills.getFinStlBillsItemsList());
|
|
finStlBillsItemsService.saveOrUpdateBatch(finStlBills.getFinStlBillsItemsList());
|
|
|
feeCenterService.saveOrUpdateBatch(feeCenterList);
|
|
feeCenterService.saveOrUpdateBatch(feeCenterList);
|
|
|
finAccBillsService.saveOrUpdateBatch(finAccBillsList);
|
|
finAccBillsService.saveOrUpdateBatch(finAccBillsList);
|
|
|
- updateBillsStatus(finStlBills.getFinStlBillsItemsList(), 1);
|
|
|
|
|
|
|
+ updateBillsStatus(finStlBills.getFinStlBillsItemsList(), 1,null);
|
|
|
} else {
|
|
} else {
|
|
|
throw new RuntimeException("请选择明细");
|
|
throw new RuntimeException("请选择明细");
|
|
|
}
|
|
}
|
|
@@ -453,23 +451,32 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
return R.data(detail);
|
|
return R.data(detail);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- private void updateBillsStatus(List<FinStlBillsItems> finStlBillsItemsList, int count) {
|
|
|
|
|
|
|
+ private void updateBillsStatus(List<FinStlBillsItems> finStlBillsItemsList, int count, List<FeeCenter> feeCenters) {
|
|
|
String billNoHYD = finStlBillsItemsList.stream()
|
|
String billNoHYD = finStlBillsItemsList.stream()
|
|
|
.filter(e -> ("SE".equals(e.getBusinessType()) || "SI".equals(e.getBusinessType()))
|
|
.filter(e -> ("SE".equals(e.getBusinessType()) || "SI".equals(e.getBusinessType()))
|
|
|
- && "D".equals(e.getDc())).map(FinStlBillsItems::getBillNo)
|
|
|
|
|
|
|
+ && "D".equals(e.getDc())).map(FinStlBillsItems::getMblno)
|
|
|
.distinct().collect(Collectors.joining(","));
|
|
.distinct().collect(Collectors.joining(","));
|
|
|
if (ObjectUtils.isNotNull(billNoHYD)) {
|
|
if (ObjectUtils.isNotNull(billNoHYD)) {
|
|
|
List<Bills> billsList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
List<Bills> billsList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
.eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
.eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(Bills::getIsDeleted, 0)
|
|
.eq(Bills::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(business_type,'" + billNoHYD + "')"));
|
|
|
|
|
|
|
+ .apply("find_in_set(mblno,'" + billNoHYD + "')"));
|
|
|
for (Bills item : billsList) {
|
|
for (Bills item : billsList) {
|
|
|
if (1 == count) {
|
|
if (1 == count) {
|
|
|
item.setCheckDrStatus(9);
|
|
item.setCheckDrStatus(9);
|
|
|
item.setCheckDrStatusDescr("已对账");
|
|
item.setCheckDrStatusDescr("已对账");
|
|
|
- } else if (2 == count) {
|
|
|
|
|
- item.setStlDrStatus(9);
|
|
|
|
|
- item.setStlDrStatusDescr("结清");
|
|
|
|
|
|
|
+ } else if (2 == count || 3 == count) {
|
|
|
|
|
+ if (!feeCenters.isEmpty()) {
|
|
|
|
|
+ long status = feeCenters.stream().filter(e -> e.getPid().equals(item.getId()) &&
|
|
|
|
|
+ 0 == e.getStlStatus() && "D".equals(e.getDc())).count();
|
|
|
|
|
+ if (status == 0) {
|
|
|
|
|
+ item.setStlDrStatus(9);
|
|
|
|
|
+ item.setStlDrStatusDescr("结清");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ item.setStlDrStatus(0);
|
|
|
|
|
+ item.setStlDrStatusDescr("未结");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
billsMapper.updateById(item);
|
|
billsMapper.updateById(item);
|
|
|
}
|
|
}
|
|
@@ -482,14 +489,23 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
List<Bills> billsList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
List<Bills> billsList = billsMapper.selectList(new LambdaQueryWrapper<Bills>()
|
|
|
.eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
.eq(Bills::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(Bills::getIsDeleted, 0)
|
|
.eq(Bills::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(business_type,'" + billNoHYC + "')"));
|
|
|
|
|
|
|
+ .apply("find_in_set(mblno,'" + billNoHYC + "')"));
|
|
|
for (Bills item : billsList) {
|
|
for (Bills item : billsList) {
|
|
|
if (1 == count) {
|
|
if (1 == count) {
|
|
|
- item.setCheckDrStatus(9);
|
|
|
|
|
- item.setCheckDrStatusDescr("已对账");
|
|
|
|
|
- } else if (2 == count) {
|
|
|
|
|
- item.setStlDrStatus(9);
|
|
|
|
|
- item.setStlDrStatusDescr("结清");
|
|
|
|
|
|
|
+ item.setCheckCrStatus(9);
|
|
|
|
|
+ item.setCheckCrStatusDescr("已对账");
|
|
|
|
|
+ } else if (2 == count || 3 == count) {
|
|
|
|
|
+ if (!feeCenters.isEmpty()) {
|
|
|
|
|
+ long status = feeCenters.stream().filter(e -> e.getPid().equals(item.getId()) &&
|
|
|
|
|
+ 0 == e.getStlStatus() && "C".equals(e.getDc())).count();
|
|
|
|
|
+ if (status == 0) {
|
|
|
|
|
+ item.setStlCrStatus(9);
|
|
|
|
|
+ item.setStlCrStatusDescr("结清");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ item.setStlCrStatus(0);
|
|
|
|
|
+ item.setStlCrStatusDescr("未结");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
billsMapper.updateById(item);
|
|
billsMapper.updateById(item);
|
|
|
}
|
|
}
|
|
@@ -502,14 +518,23 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
List<AeaBills> billsList = aeaBillsMapper.selectList(new LambdaQueryWrapper<AeaBills>()
|
|
List<AeaBills> billsList = aeaBillsMapper.selectList(new LambdaQueryWrapper<AeaBills>()
|
|
|
.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
|
|
.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(AeaBills::getIsDeleted, 0)
|
|
.eq(AeaBills::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(business_type,'" + billNoKYD + "')"));
|
|
|
|
|
|
|
+ .apply("find_in_set(mblno,'" + billNoKYD + "')"));
|
|
|
for (AeaBills item : billsList) {
|
|
for (AeaBills item : billsList) {
|
|
|
if (1 == count) {
|
|
if (1 == count) {
|
|
|
item.setCheckDrStatus(9);
|
|
item.setCheckDrStatus(9);
|
|
|
item.setCheckDrStatusDescr("已对账");
|
|
item.setCheckDrStatusDescr("已对账");
|
|
|
- } else if (2 == count) {
|
|
|
|
|
- item.setStlDrStatus(9);
|
|
|
|
|
- item.setStlDrStatusDescr("结清");
|
|
|
|
|
|
|
+ } else if (2 == count || 3 == count) {
|
|
|
|
|
+ if (!feeCenters.isEmpty()) {
|
|
|
|
|
+ long status = feeCenters.stream().filter(e -> e.getPid().equals(item.getId()) &&
|
|
|
|
|
+ 0 == e.getStlStatus() && "D".equals(e.getDc())).count();
|
|
|
|
|
+ if (status == 0) {
|
|
|
|
|
+ item.setStlDrStatus(9);
|
|
|
|
|
+ item.setStlDrStatusDescr("结清");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ item.setStlDrStatus(0);
|
|
|
|
|
+ item.setStlDrStatusDescr("未结");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
aeaBillsMapper.updateById(item);
|
|
aeaBillsMapper.updateById(item);
|
|
|
}
|
|
}
|
|
@@ -522,14 +547,23 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
List<AeaBills> billsList = aeaBillsMapper.selectList(new LambdaQueryWrapper<AeaBills>()
|
|
List<AeaBills> billsList = aeaBillsMapper.selectList(new LambdaQueryWrapper<AeaBills>()
|
|
|
.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
|
|
.eq(AeaBills::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(AeaBills::getIsDeleted, 0)
|
|
.eq(AeaBills::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(business_type,'" + billNoKYC + "')"));
|
|
|
|
|
|
|
+ .apply("find_in_set(mblno,'" + billNoKYC + "')"));
|
|
|
for (AeaBills item : billsList) {
|
|
for (AeaBills item : billsList) {
|
|
|
if (1 == count) {
|
|
if (1 == count) {
|
|
|
item.setCheckCrStatus(9);
|
|
item.setCheckCrStatus(9);
|
|
|
item.setCheckCrStatusDescr("已对账");
|
|
item.setCheckCrStatusDescr("已对账");
|
|
|
- } else if (2 == count) {
|
|
|
|
|
- item.setStlCrStatus(9);
|
|
|
|
|
- item.setStlCrStatusDescr("结清");
|
|
|
|
|
|
|
+ } else if (2 == count || 3 == count) {
|
|
|
|
|
+ if (!feeCenters.isEmpty()) {
|
|
|
|
|
+ long status = feeCenters.stream().filter(e -> e.getPid().equals(item.getId()) &&
|
|
|
|
|
+ 0 == e.getStlStatus() && "C".equals(e.getDc())).count();
|
|
|
|
|
+ if (status == 0) {
|
|
|
|
|
+ item.setStlCrStatus(9);
|
|
|
|
|
+ item.setStlCrStatusDescr("结清");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ item.setStlCrStatus(0);
|
|
|
|
|
+ item.setStlCrStatusDescr("未结");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
aeaBillsMapper.updateById(item);
|
|
aeaBillsMapper.updateById(item);
|
|
|
}
|
|
}
|
|
@@ -543,14 +577,23 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
List<CustomsDeclaration> billsList = customsDeclarationMapper.selectList(new LambdaQueryWrapper<CustomsDeclaration>()
|
|
List<CustomsDeclaration> billsList = customsDeclarationMapper.selectList(new LambdaQueryWrapper<CustomsDeclaration>()
|
|
|
.eq(CustomsDeclaration::getTenantId, AuthUtil.getTenantId())
|
|
.eq(CustomsDeclaration::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(CustomsDeclaration::getIsDeleted, 0)
|
|
.eq(CustomsDeclaration::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(business_type,'" + billNoBGD + "')"));
|
|
|
|
|
|
|
+ .apply("find_in_set(mblno,'" + billNoBGD + "')"));
|
|
|
for (CustomsDeclaration item : billsList) {
|
|
for (CustomsDeclaration item : billsList) {
|
|
|
if (1 == count) {
|
|
if (1 == count) {
|
|
|
item.setCheckDrStatus(9);
|
|
item.setCheckDrStatus(9);
|
|
|
item.setCheckDrStatusDescr("已对账");
|
|
item.setCheckDrStatusDescr("已对账");
|
|
|
- } else if (2 == count) {
|
|
|
|
|
- item.setStlDrStatus(9);
|
|
|
|
|
- item.setStlDrStatusDescr("结清");
|
|
|
|
|
|
|
+ } else if (2 == count || 3 == count) {
|
|
|
|
|
+ if (!feeCenters.isEmpty()) {
|
|
|
|
|
+ long status = feeCenters.stream().filter(e -> e.getPid().equals(item.getId()) &&
|
|
|
|
|
+ 0 == e.getStlStatus() && "D".equals(e.getDc())).count();
|
|
|
|
|
+ if (status == 0) {
|
|
|
|
|
+ item.setStlDrStatus(9);
|
|
|
|
|
+ item.setStlDrStatusDescr("结清");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ item.setStlDrStatus(0);
|
|
|
|
|
+ item.setStlDrStatusDescr("未结");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
customsDeclarationMapper.updateById(item);
|
|
customsDeclarationMapper.updateById(item);
|
|
|
}
|
|
}
|
|
@@ -564,14 +607,23 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
List<CustomsDeclaration> billsList = customsDeclarationMapper.selectList(new LambdaQueryWrapper<CustomsDeclaration>()
|
|
List<CustomsDeclaration> billsList = customsDeclarationMapper.selectList(new LambdaQueryWrapper<CustomsDeclaration>()
|
|
|
.eq(CustomsDeclaration::getTenantId, AuthUtil.getTenantId())
|
|
.eq(CustomsDeclaration::getTenantId, AuthUtil.getTenantId())
|
|
|
.eq(CustomsDeclaration::getIsDeleted, 0)
|
|
.eq(CustomsDeclaration::getIsDeleted, 0)
|
|
|
- .apply("find_in_set(business_type,'" + billNoBGC + "')"));
|
|
|
|
|
|
|
+ .apply("find_in_set(mblno,'" + billNoBGC + "')"));
|
|
|
for (CustomsDeclaration item : billsList) {
|
|
for (CustomsDeclaration item : billsList) {
|
|
|
if (1 == count) {
|
|
if (1 == count) {
|
|
|
item.setCheckCrStatus(9);
|
|
item.setCheckCrStatus(9);
|
|
|
item.setCheckCrStatusDescr("已对账");
|
|
item.setCheckCrStatusDescr("已对账");
|
|
|
- } else if (2 == count) {
|
|
|
|
|
- item.setStlCrStatus(9);
|
|
|
|
|
- item.setStlCrStatusDescr("结清");
|
|
|
|
|
|
|
+ } else if (2 == count || 3 == count) {
|
|
|
|
|
+ if (!feeCenters.isEmpty()) {
|
|
|
|
|
+ long status = feeCenters.stream().filter(e -> e.getPid().equals(item.getId()) &&
|
|
|
|
|
+ 0 == e.getStlStatus() && "C".equals(e.getDc())).count();
|
|
|
|
|
+ if (status == 0) {
|
|
|
|
|
+ item.setStlCrStatus(9);
|
|
|
|
|
+ item.setStlCrStatusDescr("结清");
|
|
|
|
|
+ } else {
|
|
|
|
|
+ item.setStlCrStatus(0);
|
|
|
|
|
+ item.setStlCrStatusDescr("未结");
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
customsDeclarationMapper.updateById(item);
|
|
customsDeclarationMapper.updateById(item);
|
|
|
}
|
|
}
|
|
@@ -1055,7 +1107,20 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
finAccBillsService.saveOrUpdateBatch(finAccBillsList);
|
|
finAccBillsService.saveOrUpdateBatch(finAccBillsList);
|
|
|
detail.setStatus(3);
|
|
detail.setStatus(3);
|
|
|
detail.setIsCleared(1);
|
|
detail.setIsCleared(1);
|
|
|
- updateBillsStatus(finStlBills.getFinStlBillsItemsList(), 2);
|
|
|
|
|
|
|
+ if (!feeCenterList.isEmpty()) {
|
|
|
|
|
+ List<Long> pids = feeCenterList.stream().map(FeeCenter::getPid).distinct().collect(Collectors.toList());
|
|
|
|
|
+ if (!pids.isEmpty()) {
|
|
|
|
|
+ List<FeeCenter> feeCenters = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0)
|
|
|
|
|
+ .in(FeeCenter::getPid, pids));
|
|
|
|
|
+ for (FeeCenter item : feeCenters) {
|
|
|
|
|
+ feeCenterList.stream().filter(e -> e.getId().equals(item.getId())).findFirst()
|
|
|
|
|
+ .ifPresent(feeCenter -> item.setStlStatus(feeCenter.getStlStatus()));
|
|
|
|
|
+ }
|
|
|
|
|
+ updateBillsStatus(finStlBills.getFinStlBillsItemsList(), 2, feeCenters);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
} else {
|
|
} else {
|
|
|
throw new RuntimeException("请选择明细");
|
|
throw new RuntimeException("请选择明细");
|
|
|
}
|
|
}
|
|
@@ -1356,6 +1421,20 @@ public class FinStlBillsServiceImpl extends ServiceImpl<FinStlBillsMapper, FinSt
|
|
|
finAccBillsService.saveOrUpdateBatch(finAccBillsList);
|
|
finAccBillsService.saveOrUpdateBatch(finAccBillsList);
|
|
|
detail.setStatus(0);
|
|
detail.setStatus(0);
|
|
|
detail.setIsCleared(0);
|
|
detail.setIsCleared(0);
|
|
|
|
|
+ if (!feeCenterList.isEmpty()) {
|
|
|
|
|
+ List<Long> pids = feeCenterList.stream().map(FeeCenter::getPid).distinct().collect(Collectors.toList());
|
|
|
|
|
+ if (!pids.isEmpty()) {
|
|
|
|
|
+ List<FeeCenter> feeCenters = feeCenterService.list(new LambdaQueryWrapper<FeeCenter>()
|
|
|
|
|
+ .eq(FeeCenter::getTenantId, AuthUtil.getTenantId())
|
|
|
|
|
+ .eq(FeeCenter::getIsDeleted, 0)
|
|
|
|
|
+ .in(FeeCenter::getPid, pids));
|
|
|
|
|
+ for (FeeCenter item : feeCenters) {
|
|
|
|
|
+ feeCenterList.stream().filter(e -> e.getId().equals(item.getId())).findFirst()
|
|
|
|
|
+ .ifPresent(feeCenter -> item.setStlStatus(feeCenter.getStlStatus()));
|
|
|
|
|
+ }
|
|
|
|
|
+ updateBillsStatus(finStlBills.getFinStlBillsItemsList(), 3, feeCenters);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
} else {
|
|
} else {
|
|
|
throw new RuntimeException("请选择明细");
|
|
throw new RuntimeException("请选择明细");
|
|
|
}
|
|
}
|