1.0.12 合同物料新增

dev
yinq 2 months ago
parent f960eb05c4
commit 0729f4ef65

@ -6,7 +6,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
import java.util.List;
@ -161,5 +160,5 @@ public class ErpContractInfo extends TenantEntity {
* List
*/
@TableField(exist = false)
private List<ErpContractMateriel> contractMaterielList;
private List<ErpContractMaterial> contractMaterielList;
}

@ -2,7 +2,6 @@ package org.dromara.oa.erp.domain.bo;
import org.dromara.oa.erp.domain.ErpContractInfo;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
@ -12,8 +11,7 @@ import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.oa.erp.domain.ErpContractMateriel;
import org.dromara.oa.erp.domain.ErpContractMaterial;
/**
* erp_contract_info
@ -155,7 +153,7 @@ public class ErpContractInfoBo extends BaseEntity {
/**
* List
*/
private List<ErpContractMateriel> contractMaterielList;
private List<ErpContractMaterial> contractMaterielList;
}

@ -2,7 +2,6 @@ package org.dromara.oa.erp.domain.vo;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.oa.erp.domain.ErpContractInfo;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import cn.idev.excel.annotation.ExcelProperty;
@ -10,7 +9,7 @@ import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.dromara.oa.erp.domain.ErpContractMateriel;
import org.dromara.oa.erp.domain.ErpContractMaterial;
import java.io.Serial;
import java.io.Serializable;
@ -215,5 +214,5 @@ public class ErpContractInfoVo implements Serializable {
/**
* List
*/
private List<ErpContractMateriel> contractMaterielList;
private List<ErpContractMaterial> contractMaterielList;
}

@ -8,10 +8,9 @@ import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.yulichang.toolkit.JoinWrappers;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.oa.erp.domain.ErpContractMateriel;
import org.dromara.oa.erp.mapper.ErpContractMaterielMapper;
import org.dromara.oa.erp.domain.ErpContractMaterial;
import org.dromara.oa.erp.mapper.ErpContractMaterialMapper;
import org.springframework.stereotype.Service;
import org.dromara.oa.erp.domain.bo.ErpContractInfoBo;
import org.dromara.oa.erp.domain.vo.ErpContractInfoVo;
@ -38,7 +37,7 @@ public class ErpContractInfoServiceImpl implements IErpContractInfoService {
private final ErpContractInfoMapper baseMapper;
private final ErpContractMaterielMapper contractMaterielMapper;
private final ErpContractMaterialMapper contractMaterialMapper;
/**
*
@ -118,13 +117,13 @@ public class ErpContractInfoServiceImpl implements IErpContractInfoService {
public Boolean insertByBo(ErpContractInfoBo bo) {
ErpContractInfo add = MapstructUtils.convert(bo, ErpContractInfo.class);
validEntityBeforeSave(add);
List<ErpContractMateriel> contractMaterielList = bo.getContractMaterielList();
List<ErpContractMaterial> contractMaterielList = bo.getContractMaterielList();
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setContractId(add.getContractId());
for (ErpContractMateriel erpContractMateriel : contractMaterielList) {
for (ErpContractMaterial erpContractMateriel : contractMaterielList) {
erpContractMateriel.setContractId(add.getContractId());
contractMaterielMapper.insert(erpContractMateriel);
contractMaterialMapper.insert(erpContractMateriel);
}
}
return flag;
@ -141,22 +140,22 @@ public class ErpContractInfoServiceImpl implements IErpContractInfoService {
public Boolean updateByBo(ErpContractInfoBo bo) {
ErpContractInfo update = MapstructUtils.convert(bo, ErpContractInfo.class);
validEntityBeforeSave(update);
List<ErpContractMateriel> contractMaterielList = bo.getContractMaterielList();
MPJLambdaWrapper<ErpContractMateriel> lqwRecord = JoinWrappers.lambda(ErpContractMateriel.class);
lqwRecord.eq(ErpContractMateriel::getContractId, bo.getContractId());
List<ErpContractMateriel> contractMaterielOldList = contractMaterielMapper.selectList(lqwRecord);
List<ErpContractMaterial> contractMaterielList = bo.getContractMaterielList();
MPJLambdaWrapper<ErpContractMaterial> lqwRecord = JoinWrappers.lambda(ErpContractMaterial.class);
lqwRecord.eq(ErpContractMaterial::getContractId, bo.getContractId());
List<ErpContractMaterial> contractMaterielOldList = contractMaterialMapper.selectList(lqwRecord);
if (!contractMaterielList.isEmpty()) {
for (ErpContractMateriel contractMateriel : contractMaterielList) {
contractMaterielMapper.insertOrUpdate(contractMateriel);
for (ErpContractMaterial contractMateriel : contractMaterielList) {
contractMaterialMapper.insertOrUpdate(contractMateriel);
}
Set<Long> existingContractMaterielIds = contractMaterielList.stream()
.map(ErpContractMateriel::getContractMaterielId)
.map(ErpContractMaterial::getContractMaterialId)
.collect(Collectors.toSet());
List<ErpContractMateriel> filterContractMaterielIds = contractMaterielOldList.stream()
.filter(materiel -> !existingContractMaterielIds.contains(materiel.getContractMaterielId()))
List<ErpContractMaterial> filterContractMaterielIds = contractMaterielOldList.stream()
.filter(materiel -> !existingContractMaterielIds.contains(materiel.getContractMaterialId()))
.toList();
for (ErpContractMateriel filterContractMaterielId : filterContractMaterielIds) {
contractMaterielMapper.deleteById(filterContractMaterielId.getContractMaterielId());
for (ErpContractMaterial filterContractMaterielId : filterContractMaterielIds) {
contractMaterialMapper.deleteById(filterContractMaterielId.getContractMaterialId());
}
}
return baseMapper.updateById(update) > 0;

Loading…
Cancel
Save