From 529c4720fb0d03adc7ba0e7f78bcf18dad3f61ae Mon Sep 17 00:00:00 2001 From: "shunyi.kuang" <846002312@qq.com> Date: Tue, 6 Jan 2026 14:33:02 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=A4=9A=E7=BA=A7=E5=AD=90=E8=A1=A8?= =?UTF-8?q?=E7=9A=84=E6=96=B0=E5=A2=9E=E5=92=8C=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/pictc/utils/DataLogTools.java | 54 +++++++++++++++++++ .../dto/UpdateLngContractPurPngPointDto.java | 5 +- .../contract/vo/LngContractPurPageVo.java | 17 ++++-- .../controller/ContractPurPngController.java | 35 +++++++----- .../controller/CustomerScoreController.java | 2 +- 5 files changed, 94 insertions(+), 19 deletions(-) diff --git a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/DataLogTools.java b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/DataLogTools.java index 523e595..16e58de 100644 --- a/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/DataLogTools.java +++ b/itc-pcitc-dependencies/itc-pcitc-dependencies-service/src/main/java/com/pictc/utils/DataLogTools.java @@ -608,6 +608,9 @@ public class DataLogTools { if(idValue2==null || idValue2 <=0) { joinTable.setIdValue(item, IdWorker.getId()); } + System.out.println(" field:"+joinColumn.field()); + System.out.println(" relatedField:"+joinColumn.relatedField()); + System.out.println(" joinFieldValue:"+joinFieldValue); joinTable.setFieldValue(item, joinColumn.relatedField(), joinFieldValue); Set> joinClasses = SetUtils.ofCollection(classes); initJoinValue(item,joinTable,joinClasses); @@ -646,12 +649,21 @@ public class DataLogTools { if(CollectionUtils.isNotEmpty(listValue)) { if(type==OperationType.INSERT || type==OperationType.DELETE) { if(type==OperationType.INSERT) { + for (Object item : listValue) { Long idValue = joinTable.getIdValue(item); DataChangeLog datalog = createLog(join.getTargetClass(),type,parent); mapper.insert(joinTable.toEntity(item)); saveAttrs(joinTable,item); buildFields(datalog,joinTable,item,null); + List jtjoins = joinTable.getJoins(); + if(CollectionUtils.isNotEmpty(jtjoins)) { + for (LogJoinInfo temp : jtjoins) { + if(temp.getJoin().caseType()==JoinCaseType.FULL) { + buildJoins(logs, datalog, OperationType.INSERT, joinTable, temp, item); // 传递父级实体 + } + } + } } } else { for (Object item : listValue) { @@ -660,6 +672,14 @@ public class DataLogTools { delete(item, joinTable, mapper); saveAttrs(joinTable,item,true); buildFields(datalog,joinTable,item,null); + List jtjoins = joinTable.getJoins(); + if(CollectionUtils.isNotEmpty(jtjoins)) { + for (LogJoinInfo temp : jtjoins) { + if(temp.getJoin().caseType()==JoinCaseType.FULL) { + buildJoins(logs, datalog, OperationType.DELETE, joinTable, temp, item); // 传递父级实体 + } + } + } } } }else { @@ -675,11 +695,28 @@ public class DataLogTools { datalog.setOperationType(OperationType.INSERT); mapper.insert(joinTable.toEntity(item)); buildFields(datalog,joinTable,item,null); + List jtjoins = joinTable.getJoins(); + if(CollectionUtils.isNotEmpty(jtjoins)) { + for (LogJoinInfo temp : jtjoins) { + if(temp.getJoin().caseType()==JoinCaseType.FULL) { + buildJoins(logs, datalog, OperationType.INSERT, joinTable, temp, item); // 传递父级实体 + } + } + } continue; }else { datalog.setOperationType(OperationType.UPDATE); mapper.updateById(joinTable.toEntity(item)); buildFields(datalog,joinTable,item,old); + List jtjoins = joinTable.getJoins(); + if(CollectionUtils.isNotEmpty(jtjoins)) { + for (LogJoinInfo temp : jtjoins) { + if(temp.getJoin().caseType()==JoinCaseType.FULL) { + buildJoins(logs, datalog, OperationType.UPDATE, joinTable, temp, item); // 传递父级实体 + } + } + } + } } //删除旧数据 @@ -693,6 +730,14 @@ public class DataLogTools { delete(pojo, joinTable, mapper); saveAttrs(joinTable,item,true); buildFields(datalog,joinTable,item,null); + List jtjoins = joinTable.getJoins(); + if(CollectionUtils.isNotEmpty(jtjoins)) { + for (LogJoinInfo temp : jtjoins) { + if(temp.getJoin().caseType()==JoinCaseType.FULL) { + buildJoins(logs, datalog, OperationType.DELETE, joinTable, temp, item); // 传递父级实体 + } + } + } } } } @@ -709,6 +754,14 @@ public class DataLogTools { delete(pojo, joinTable, mapper); saveAttrs(joinTable,item,true); buildFields(datalog,joinTable,item,null); + List jtjoins = joinTable.getJoins(); + if(CollectionUtils.isNotEmpty(jtjoins)) { + for (LogJoinInfo temp : jtjoins) { + if(temp.getJoin().caseType()==JoinCaseType.FULL) { + buildJoins(logs, datalog, OperationType.DELETE, joinTable, temp, item); // 传递父级实体 + } + } + } } } } @@ -749,6 +802,7 @@ public class DataLogTools { delete(dto, joinTable, mapper); saveAttrs(joinTable,dto,true); buildFields(datalog,joinTable,dto,null); + } } } diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractPurPngPointDto.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractPurPngPointDto.java index 162f15f..b0abe94 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractPurPngPointDto.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/dto/UpdateLngContractPurPngPointDto.java @@ -81,7 +81,10 @@ public class UpdateLngContractPurPngPointDto implements Serializable { @ApiModelProperty("lngContractPurPngPoint子表") @LogJoin(name = "lngContractPurPngPoint子表", columns = { - @LogJoinColumn(field = "kpppId",relatedField = "id", valueDirection = ValueDirectionType.RIGHT) + @LogJoinColumn(field = "kId",relatedField = "kId", valueDirection = ValueDirectionType.RIGHT), + @LogJoinColumn(field = "id",relatedField = "kpppId", valueDirection = ValueDirectionType.RIGHT) + + }, caseType = JoinCaseType.FULL, target = UpdateLngContractPurPngPointSalesDto.class, type = JoinType.MANY) private List lngContractPurPngPointSalesList; diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractPurPageVo.java b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractPurPageVo.java index 7eeeece..3959b14 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractPurPageVo.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-api/src/main/java/com/xjrsoft/module/contract/vo/LngContractPurPageVo.java @@ -2,6 +2,9 @@ package com.xjrsoft.module.contract.vo; import java.time.LocalDateTime; +import com.xjrsoft.common.annotation.Trans; +import com.xjrsoft.common.enums.TransType; + import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -38,6 +41,7 @@ public class LngContractPurPageVo { * 是否线上(竞拍)合同(Y-是,N-否;线上合同不需要审批) */ @ApiModelProperty("是否线上(竞拍)合同(Y-是,N-否;线上合同不需要审批)") + @Trans(type = TransType.DIC, id = "1978057078528327681") private String onlineSign; /** * 交易对手类型(lng_supplier-供应商,lng_customer-客户;不显示) @@ -59,11 +63,16 @@ public class LngContractPurPageVo { */ @ApiModelProperty("有效期结束") private LocalDateTime dateTo; + /** - * 状态(未提交/审批中/已审批/已驳回) - */ - @ApiModelProperty("状态(未提交/审批中/已审批/已驳回)") - private String approCode; + * 状态(未提交/审批中/已审批/已驳回) + */ + @ApiModelProperty("状态(未提交/审批中/已审批/已驳回)") + @Trans(type = TransType.DIC, id = "1990669393069129729", transToFieldName = "approName") + private String approCode; + + @ApiModelProperty("状态(未提交/审批中/已审批/已驳回)") + private String approName; /** * 备注 */ diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/controller/ContractPurPngController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/controller/ContractPurPngController.java index a6ff724..23ec883 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/controller/ContractPurPngController.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/contract/controller/ContractPurPngController.java @@ -15,15 +15,17 @@ import org.springframework.web.bind.annotation.RestController; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.yulichang.query.MPJLambdaQueryWrapper; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.pictc.datalog.DataOperationContent; import com.pictc.datalog.DataOperationListener; import com.xjrsoft.common.model.result.R; import com.xjrsoft.common.page.ConventPage; import com.xjrsoft.common.page.PageOutput; -import com.xjrsoft.common.utils.VoToColumnUtil; import com.xjrsoft.module.contract.dto.LngContractPageDto; import com.xjrsoft.module.contract.dto.UpdateLngContractPurDto; import com.xjrsoft.module.contract.entity.LngContractPur; +import com.xjrsoft.module.contract.entity.LngContractPurPngPoint; import com.xjrsoft.module.contract.service.IContractPurPngService; import com.xjrsoft.module.contract.vo.LngContractPurPageVo; import com.xjrsoft.module.datalog.service.DatalogService; @@ -57,21 +59,17 @@ public class ContractPurPngController { @SaCheckPermission("contractPurPng:list") public R page(@Valid LngContractPageDto dto){ - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper - .eq(ObjectUtil.isNotNull(dto.getId()),LngContractPur::getId,dto.getId()) + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper(); + queryWrapper.eq(ObjectUtil.isNotNull(dto.getId()),LngContractPur::getId,dto.getId()) .like(StrUtil.isNotBlank(dto.getKNo()),LngContractPur::getKNo,dto.getKNo()) .like(StrUtil.isNotBlank(dto.getKName()),LngContractPur::getKName,dto.getKName()) .like(StrUtil.isNotBlank(dto.getCpName()),LngContractPur::getCpName,dto.getCpName()) //.between(ObjectUtil.isNotNull(dto.getDateFromStart()) && ObjectUtil.isNotNull(dto.getDateFromEnd()),LngContract::getDateFrom,dto.getDateFromStart(),dto.getDateFromEnd()) //.between(ObjectUtil.isNotNull(dto.getDateToStart()) && ObjectUtil.isNotNull(dto.getDateToEnd()),LngContract::getDateTo,dto.getDateToStart(),dto.getDateToEnd()) .like(StrUtil.isNotBlank(dto.getApproCode()),LngContractPur::getApproCode,dto.getApproCode()) - .like(StrUtil.isNotBlank(dto.getCpTableName()),LngContractPur::getCpTableName,dto.getCpTableName()) + .eq(LngContractPur::getCpTableName,"lng_supplier") .like(StrUtil.isNotBlank(dto.getOnlineSign()),LngContractPur::getOnlineSign,dto.getOnlineSign()) - .eq(ObjectUtil.isNotNull(dto.getComId()),LngContractPur::getComId,dto.getComId()) - .like(StrUtil.isNotBlank(dto.getNote()),LngContractPur::getNote,dto.getNote()) - .orderByDesc(LngContractPur::getId) - .select(LngContractPur.class,x -> VoToColumnUtil.fieldsToColumns(LngContractPurPageVo.class).contains(x.getProperty())); + .eq(ObjectUtil.isNotNull(dto.getComId()),LngContractPur::getComId,dto.getComId()); IPage page = contractPurPngService.page(ConventPage.getPage(dto), queryWrapper); PageOutput pageOutput = ConventPage.getPageOutput(page, LngContractPurPageVo.class); return R.ok(pageOutput); @@ -118,7 +116,7 @@ public class ContractPurPngController { @SaCheckPermission("contractPurPng:edit") public R update(@Valid @RequestBody UpdateLngContractPurDto dto){ //return R.ok(dataService.updateById(dto)); - UpdateLngContractPurDto res = dataService.insert(dto, new DataOperationListener() { + boolean res = dataService.updateById(dto, new DataOperationListener() { @Override public UpdateLngContractPurDto before(DataOperationContent content) { return null; @@ -136,9 +134,20 @@ public class ContractPurPngController { @ApiOperation(value = "删除") @SaCheckPermission("contractPurPng:delete") public R delete(@Valid @RequestBody List ids){ - return R.ok(dataService.deleteByIds(UpdateLngContractPurDto.class, ids)); + + boolean res = dataService.deleteByIds(UpdateLngContractPurDto.class,ids, new DataOperationListener() { + @Override + public UpdateLngContractPurDto before(DataOperationContent content) { + return null; + } + + @Override + public UpdateLngContractPurDto after(DataOperationContent content) { + return null; + } + }); + return R.ok(res); + } } - -} \ No newline at end of file diff --git a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerScoreController.java b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerScoreController.java index 91e3452..d86faa9 100644 --- a/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerScoreController.java +++ b/itc-pcitc-mdm/itc-pcitc-mdm-service/src/main/java/com/xjrsoft/module/sales/controller/CustomerScoreController.java @@ -133,7 +133,7 @@ public class CustomerScoreController { @ApiOperation(value = "删除") @SaCheckPermission("scoreCustomer:delete") public R delete(@Valid @RequestBody List ids){ - return R.ok(dataService.deleteByIds(UpdateLngScoreDto.class, ids)); + return R.ok(dataService.deleteByIds(UpdateLngScoreDto.class, ids)); }