feat: 添加按ID查询的仓库方法并优化合同同步逻辑

添加了多个仓库的按ID查询方法,如findByCompanyId和findAllByContractId
优化了合同同步任务,使用ContractVo替代Contract减少数据库访问
重构了部分服务方法,支持通过ID直接操作,提升性能
修复了ProjectCostService中字段映射错误的问题
This commit is contained in:
2025-10-11 17:56:02 +08:00
parent 553feac0a4
commit 333feb0d5a
38 changed files with 562 additions and 317 deletions

View File

@@ -5,6 +5,7 @@ import java.util.concurrent.atomic.AtomicReference;
import com.ecep.contract.ds.contract.service.ContractService;
import com.ecep.contract.ds.contract.tasker.AbstContractRepairTasker;
import com.ecep.contract.ds.contract.tasker.ContractRepairComm;
import com.ecep.contract.vo.ContractVo;
import com.fasterxml.jackson.databind.JsonNode;
import org.springframework.util.StringUtils;
@@ -19,7 +20,7 @@ import lombok.Getter;
*/
public class ContractRepairTasker extends AbstContractRepairTasker implements WebSocketServerTasker {
@Getter
private Contract contract;
private ContractVo contract;
@Getter
boolean repaired = false;
@@ -31,13 +32,13 @@ public class ContractRepairTasker extends AbstContractRepairTasker implements We
public void init(JsonNode argsNode) {
int contractId = argsNode.get(0).asInt();
contract = getCachedBean(ContractService.class).getById(contractId);
contract = getCachedBean(ContractService.class).findById(contractId);
}
@Override
protected void repair(MessageHolder holder) {
updateTitle("修复合同 " + contract.toPrettyString());
Contract parent = null;
updateTitle("修复合同 " + contract.getCode() + " - " + contract.getName());
ContractVo parent = null;
if (contract.getPayWay() == ContractPayWay.PAY) {
if (StringUtils.hasText(contract.getParentCode())) {
@@ -45,7 +46,7 @@ public class ContractRepairTasker extends AbstContractRepairTasker implements We
}
}
AtomicReference<Contract> contractProperty = new AtomicReference<>(contract);
AtomicReference<ContractVo> contractProperty = new AtomicReference<>(contract);
if (repair(contractProperty, parent, holder, progress -> updateProgress(progress, 1))) {
repaired = true;
updateProperty("repaired", true);
@@ -56,7 +57,7 @@ public class ContractRepairTasker extends AbstContractRepairTasker implements We
updateProgress(1, 1);
}
public void setContract(Contract contract) {
public void setContract(ContractVo contract) {
this.contract = contract;
updateProperty("contract", contract);
}