Merge branch 'dev' of http://47.94.165.164:13000/geg-gas/geg-gas-pcitc into dev
This commit is contained in:
@ -231,11 +231,11 @@ public class CountryRegionController {
|
||||
|
||||
@GetMapping("/getParentByCode")
|
||||
@ApiOperation(value = "根据id 查询下级区域")
|
||||
public R getRegionByParentId(@RequestParam(required = true) String code,@RequestParam(required = false) String excludeType,
|
||||
public R getParentByCode(@RequestParam(required = true) String code,@RequestParam(required = false) String excludeType,
|
||||
@RequestParam(required = false) String startPCode
|
||||
) {
|
||||
|
||||
return R.ok(countryRegionService.getRegionByParentId(code,excludeType,startPCode));
|
||||
return R.ok(countryRegionService.getParentByCode(code,excludeType,startPCode));
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -0,0 +1,127 @@
|
||||
package com.xjrsoft.module.mdm.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
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.datalog.service.DatalogService;
|
||||
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
|
||||
import com.xjrsoft.module.mdm.dto.LngBPlaceLngUnloadPageDto;
|
||||
import com.xjrsoft.module.mdm.dto.UpdateLngBPlaceLngUnloadDto;
|
||||
import com.xjrsoft.module.mdm.entity.LngBPlaceLngUnload;
|
||||
import com.xjrsoft.module.mdm.service.IPlaceLngUnloadService;
|
||||
import com.xjrsoft.module.mdm.vo.LngBPlaceLngUnloadPageVo;
|
||||
import com.xjrsoft.module.mdm.vo.LngBPlaceLngUnloadVo;
|
||||
import com.xjrsoft.module.system.client.ICodeRuleClient;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @title: 卸货地
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-18
|
||||
* @Version 1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/mdm" + "/placeLngUnload")
|
||||
@Api(value = "/mdm" + "/placeLngUnload",tags = "卸货地代码")
|
||||
@AllArgsConstructor
|
||||
public class PlaceLngUnloadController {
|
||||
|
||||
|
||||
private final IPlaceLngUnloadService placeLngUnloadService;
|
||||
private final DatalogService dataService;
|
||||
|
||||
private final ICodeRuleClient codeRuleClient;
|
||||
|
||||
private final String CODE = "placeLngUnloadCode";
|
||||
|
||||
@GetMapping(value = "/page")
|
||||
@ApiOperation(value="LngBPlaceLngUnload列表(分页)")
|
||||
@SaCheckPermission("placeLngUnload:list")
|
||||
public R page(@Valid LngBPlaceLngUnloadPageDto dto){
|
||||
|
||||
LambdaQueryWrapper<LngBPlaceLngUnload> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper
|
||||
.like(StrUtil.isNotBlank(dto.getFullName()),LngBPlaceLngUnload::getFullName,dto.getFullName())
|
||||
.eq(StrUtil.isNotBlank(dto.getValid()),LngBPlaceLngUnload::getValid,dto.getValid())
|
||||
.orderByAsc(LngBPlaceLngUnload::getSort, LngBPlaceLngUnload::getCode)
|
||||
.select(LngBPlaceLngUnload.class,x -> VoToColumnUtil.fieldsToColumns(LngBPlaceLngUnloadPageVo.class).contains(x.getProperty()));
|
||||
IPage<LngBPlaceLngUnload> page = placeLngUnloadService.page(ConventPage.getPage(dto), queryWrapper);
|
||||
PageOutput<LngBPlaceLngUnloadPageVo> pageOutput = ConventPage.getPageOutput(page, LngBPlaceLngUnloadPageVo.class);
|
||||
return R.ok(pageOutput);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/info")
|
||||
@ApiOperation(value="根据id查询LngBPlaceLngUnload信息")
|
||||
@SaCheckPermission("placeLngUnload:detail")
|
||||
public R info(@RequestParam Long id){
|
||||
LngBPlaceLngUnload lngBPlaceLngUnload = placeLngUnloadService.getById(id);
|
||||
if (lngBPlaceLngUnload == null) {
|
||||
return R.error("找不到此数据!");
|
||||
}
|
||||
return R.ok(BeanUtil.toBean(lngBPlaceLngUnload, LngBPlaceLngUnloadVo.class));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/datalog")
|
||||
@ApiOperation(value="根据id查询LngBPlaceLngUnload数据详细日志")
|
||||
@SaCheckPermission("placeLngUnload:datalog")
|
||||
public R datalog(@RequestParam Long id){
|
||||
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngBPlaceLngUnloadDto.class,id);
|
||||
return R.ok(logs);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping
|
||||
@ApiOperation(value = "新增LngBPlaceLngUnload")
|
||||
@SaCheckPermission("placeLngUnload:add")
|
||||
public R add(@Valid @RequestBody UpdateLngBPlaceLngUnloadDto dto){
|
||||
dto.setCode(codeRuleClient.genEncode(CODE));
|
||||
UpdateLngBPlaceLngUnloadDto res = dataService.insert(dto);
|
||||
codeRuleClient.useEncode(CODE);
|
||||
return R.ok(res.getId());
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@ApiOperation(value = "修改LngBPlaceLngUnload")
|
||||
@SaCheckPermission("placeLngUnload:edit")
|
||||
public R update(@Valid @RequestBody UpdateLngBPlaceLngUnloadDto dto){
|
||||
return R.ok(dataService.updateById(dto));
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@ApiOperation(value = "删除")
|
||||
@SaCheckPermission("placeLngUnload:delete")
|
||||
public R delete(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.deleteByIds(UpdateLngBPlaceLngUnloadDto.class, ids));
|
||||
|
||||
}
|
||||
|
||||
@PostMapping("/enable")
|
||||
@ApiOperation(value = "启用LngBPlaceLngUnload")
|
||||
@SaCheckPermission("placeLngUnload:enable")
|
||||
public R enable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.enable(UpdateLngBPlaceLngUnloadDto.class,ids));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/disable")
|
||||
@ApiOperation(value = "禁用LngBPlaceLngUnload")
|
||||
@SaCheckPermission("placeLngUnload:disable")
|
||||
public R disable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.disable(UpdateLngBPlaceLngUnloadDto.class,ids));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,152 @@
|
||||
package com.xjrsoft.module.mdm.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.Version;
|
||||
import com.github.yulichang.annotation.EntityMapping;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @title: 卸货地
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-18
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_b_place_lng_unload")
|
||||
@ApiModel(value = "卸货地对象", description = "卸货地")
|
||||
public class LngBPlaceLngUnload implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 助记码(自动生成,6位,000001……)
|
||||
*/
|
||||
@ApiModelProperty("助记码(自动生成,6位,000001……)")
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 名称(不能重复)
|
||||
*/
|
||||
@ApiModelProperty("名称(不能重复)")
|
||||
private String fullName;
|
||||
|
||||
/**
|
||||
* 卸货区域
|
||||
*/
|
||||
@ApiModelProperty("卸货区域")
|
||||
private String regionCode;
|
||||
|
||||
/**
|
||||
* 详细地址
|
||||
*/
|
||||
@ApiModelProperty("详细地址")
|
||||
private String addr;
|
||||
|
||||
/**
|
||||
* 经度
|
||||
*/
|
||||
@ApiModelProperty("经度")
|
||||
private String longitude;
|
||||
|
||||
/**
|
||||
* 纬度
|
||||
*/
|
||||
@ApiModelProperty("纬度")
|
||||
private String latitude;
|
||||
|
||||
/**
|
||||
* 显示顺序
|
||||
*/
|
||||
@ApiModelProperty("显示顺序")
|
||||
private Short sort;
|
||||
|
||||
/**
|
||||
* 有效标志(Y-有效,N-无效)
|
||||
*/
|
||||
@ApiModelProperty("有效标志(Y-有效,N-无效)")
|
||||
private String valid;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ApiModelProperty("创建人id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty("创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@ApiModelProperty("修改人id")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private Long modifyUserId;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@ApiModelProperty("修改时间")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
/**
|
||||
* 逻辑删除
|
||||
*/
|
||||
@ApiModelProperty("逻辑删除")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
@TableLogic
|
||||
private Integer deleteMark;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
@ApiModelProperty("租户id")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ApiModelProperty("部门id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 数据权限id
|
||||
*/
|
||||
@ApiModelProperty("数据权限id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.xjrsoft.module.mdm.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.mdm.entity.LngBPlaceLngUnload;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-18
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface LngBPlaceLngUnloadMapper extends BaseMapper<LngBPlaceLngUnload> {
|
||||
|
||||
}
|
||||
@ -19,7 +19,7 @@ import com.xjrsoft.module.mdm.vo.LngBRegionVo;
|
||||
public interface ICountryRegionService extends IService<LngBRegion> {
|
||||
|
||||
|
||||
Map<String, Object> getRegionByParentId(String code, String excludeType, String startPCode);
|
||||
Map<String, Object> getParentByCode(String code, String excludeType, String startPCode);
|
||||
|
||||
List<LngBRegionVo> child(Long pid,String excludeType, String keyword,String startPCode);
|
||||
|
||||
|
||||
@ -0,0 +1,19 @@
|
||||
package com.xjrsoft.module.mdm.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.github.yulichang.base.MPJBaseService;
|
||||
import com.github.yulichang.extension.mapping.base.MPJDeepService;
|
||||
import com.github.yulichang.extension.mapping.base.MPJRelationService;
|
||||
import com.xjrsoft.module.mdm.entity.LngBPlaceLngUnload;
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-18
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
public interface IPlaceLngUnloadService extends IService<LngBPlaceLngUnload> {
|
||||
}
|
||||
@ -39,7 +39,7 @@ import shade.powerjob.com.google.common.collect.Lists;
|
||||
public class CountryRegionServiceImpl extends ServiceImpl<LngBRegionMapper, LngBRegion> implements ICountryRegionService {
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getRegionByParentId(String code,String excludeType,String startPCode) {
|
||||
public Map<String, Object> getParentByCode(String code,String excludeType,String startPCode) {
|
||||
Map<String,Object> result = new HashMap<>();
|
||||
LambdaQueryWrapper<LngBRegion> queryWrapper = new LambdaQueryWrapper<LngBRegion>();
|
||||
queryWrapper.eq(LngBRegion::getCode,code);
|
||||
@ -51,17 +51,17 @@ public class CountryRegionServiceImpl extends ServiceImpl<LngBRegionMapper, LngB
|
||||
List<String> excludeTypeList = CollectionUtils.newArrayList();
|
||||
if(StringUtils.isNotBlank(startPCode)) {
|
||||
LambdaQueryWrapper<LngBRegion> qw = new LambdaQueryWrapper<LngBRegion>();
|
||||
queryWrapper.eq(LngBRegion::getCode,startPCode);
|
||||
qw.eq(LngBRegion::getCode,startPCode);
|
||||
LngBRegion tempPr = this.getOne(qw);
|
||||
excludeTypeList.add(tempPr.getRegionTypeCode());
|
||||
}
|
||||
if(StringUtils.isNotBlank(startPCode)) {
|
||||
if(StringUtils.isNotBlank(excludeType)) {
|
||||
excludeTypeList.add(excludeType);
|
||||
}
|
||||
|
||||
LambdaQueryWrapper<LngBRegion> tempQw = Wrappers.<LngBRegion>query().lambda()
|
||||
.ne(StringUtils.isNotBlank(excludeType),LngBRegion::getRegionTypeCode, excludeType)
|
||||
.eq(StringUtils.isNotBlank(startPCode),LngBRegion::getCode, startPCode);
|
||||
.notIn(StringUtils.isNotBlank(excludeType),LngBRegion::getRegionTypeCode, excludeTypeList);
|
||||
//.eq(StringUtils.isNotBlank(startPCode),LngBRegion::getCode, startPCode);
|
||||
List<LngBRegion> allList = this.list(tempQw);
|
||||
Map<Long,LngBRegion> map = allList.stream().collect(Collectors.toMap(LngBRegion::getId,
|
||||
obj -> obj));
|
||||
|
||||
@ -0,0 +1,25 @@
|
||||
package com.xjrsoft.module.mdm.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.yulichang.base.MPJBaseServiceImpl;
|
||||
import com.xjrsoft.module.mdm.entity.LngBPlaceLngUnload;
|
||||
import com.xjrsoft.module.mdm.mapper.LngBPlaceLngUnloadMapper;
|
||||
import com.xjrsoft.module.mdm.service.IPlaceLngUnloadService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-18
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class PlaceLngUnloadServiceImpl extends ServiceImpl<LngBPlaceLngUnloadMapper, LngBPlaceLngUnload> implements IPlaceLngUnloadService {
|
||||
}
|
||||
@ -0,0 +1,171 @@
|
||||
package com.xjrsoft.module.sales.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import javax.validation.Valid;
|
||||
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.PutMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
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.datalog.service.DatalogService;
|
||||
import com.xjrsoft.module.datalog.vo.DataChangeLogVo;
|
||||
import com.xjrsoft.module.sales.dto.LngCustomerPageDto;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngCustomerDto;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomer;
|
||||
import com.xjrsoft.module.sales.service.ICustomerService;
|
||||
import com.xjrsoft.module.sales.vo.LngCustomerPageVo;
|
||||
import com.xjrsoft.module.sales.vo.LngCustomerVo;
|
||||
import com.xjrsoft.module.system.client.ICodeRuleClient;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
/**
|
||||
* @title: 客户
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
@RestController
|
||||
@RequestMapping("/sales/customer")
|
||||
@Api(value = "/sales" + "/customer",tags = "客户代码")
|
||||
@AllArgsConstructor
|
||||
public class CustomerController {
|
||||
|
||||
|
||||
private final ICustomerService customerService;
|
||||
|
||||
private final DatalogService dataService;
|
||||
|
||||
|
||||
private final ICodeRuleClient codeRuleClient;
|
||||
|
||||
private final String CUSTOMER_CODE = "customerCode";
|
||||
|
||||
@GetMapping(value = "/page")
|
||||
@ApiOperation(value="LngCustomer列表(分页)")
|
||||
@SaCheckPermission("customer:list")
|
||||
public R page(@Valid LngCustomerPageDto dto){
|
||||
|
||||
LambdaQueryWrapper<LngCustomer> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper
|
||||
.like(StrUtil.isNotBlank(dto.getCuCode()),LngCustomer::getCuCode,dto.getCuCode())
|
||||
.like(StrUtil.isNotBlank(dto.getCuName()),LngCustomer::getCuName,dto.getCuName())
|
||||
.like(StrUtil.isNotBlank(dto.getCuSname()),LngCustomer::getCuSname,dto.getCuSname())
|
||||
.like(StrUtil.isNotBlank(dto.getCuMcode()),LngCustomer::getCuMcode,dto.getCuMcode())
|
||||
.like(StrUtil.isNotBlank(dto.getClassCode()),LngCustomer::getClassCode,dto.getClassCode())
|
||||
.like(StrUtil.isNotBlank(dto.getTypeCode()),LngCustomer::getTypeCode,dto.getTypeCode())
|
||||
.like(StrUtil.isNotBlank(dto.getNatureCode()),LngCustomer::getNatureCode,dto.getNatureCode())
|
||||
.like(StrUtil.isNotBlank(dto.getValid()),LngCustomer::getValid,dto.getValid())
|
||||
.like(StrUtil.isNotBlank(dto.getApproCode()),LngCustomer::getApproCode,dto.getApproCode())
|
||||
.orderByDesc(LngCustomer::getId)
|
||||
.select(LngCustomer.class,x -> VoToColumnUtil.fieldsToColumns(LngCustomerPageVo.class).contains(x.getProperty()));
|
||||
IPage<LngCustomer> page = customerService.page(ConventPage.getPage(dto), queryWrapper);
|
||||
PageOutput<LngCustomerPageVo> pageOutput = ConventPage.getPageOutput(page, LngCustomerPageVo.class);
|
||||
return R.ok(pageOutput);
|
||||
}
|
||||
|
||||
@GetMapping(value = "/info")
|
||||
@ApiOperation(value="根据id查询LngCustomer信息")
|
||||
@SaCheckPermission("customer:detail")
|
||||
public R info(@RequestParam Long id){
|
||||
LngCustomer lngCustomer = customerService.getByIdDeep(id);
|
||||
if (lngCustomer == null) {
|
||||
return R.error("找不到此数据!");
|
||||
}
|
||||
return R.ok(BeanUtil.toBean(lngCustomer, LngCustomerVo.class));
|
||||
}
|
||||
|
||||
@GetMapping(value = "/datalog")
|
||||
@ApiOperation(value="根据id查询LngCustomer数据详细日志")
|
||||
@SaCheckPermission("customer:datalog")
|
||||
public R datalog(@RequestParam Long id){
|
||||
List<DataChangeLogVo> logs = dataService.findLogsByEntityId(UpdateLngCustomerDto.class,id);
|
||||
return R.ok(logs);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping
|
||||
@ApiOperation(value = "新增LngCustomer")
|
||||
@SaCheckPermission("customer:add")
|
||||
public R add(@Valid @RequestBody UpdateLngCustomerDto dto){
|
||||
String code = codeRuleClient.genEncode(CUSTOMER_CODE);
|
||||
dto.setCuCode("C"+code);
|
||||
customerService.add(dto);
|
||||
codeRuleClient.useEncode(CUSTOMER_CODE);
|
||||
return R.ok();
|
||||
/**
|
||||
return R.ok(dataService.insert(dto,new DataOperationListener<UpdateLngCustomerDto>() {
|
||||
|
||||
@Override
|
||||
public UpdateLngCustomerDto before(DataOperationContent<UpdateLngCustomerDto> content) {
|
||||
String code = codeRuleClient.genEncode(CUSTOMER_CODE);
|
||||
dto.setCuCode("C"+code);
|
||||
return content.getObj();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UpdateLngCustomerDto after(DataOperationContent<UpdateLngCustomerDto> content) {
|
||||
String msg = CommonCallUtils.saveAfter(content.getTableName(),content.getIdValue());
|
||||
if (StringUtils.isNotBlank(msg)) {
|
||||
throw new BusinessException(BusinessCode.ofArgs(ExceptionCommonCode.DB_FUNCTION_EXEC_ERROR, msg));
|
||||
}
|
||||
codeRuleClient.useEncode(CUSTOMER_CODE);
|
||||
return content.getObj();
|
||||
}
|
||||
}));
|
||||
**/
|
||||
}
|
||||
|
||||
|
||||
@PutMapping
|
||||
@ApiOperation(value = "修改LngCustomer")
|
||||
@SaCheckPermission("customer:edit")
|
||||
public R update(@Valid @RequestBody UpdateLngCustomerDto dto){
|
||||
// return R.ok(dataService.updateById(dto));
|
||||
customerService.update(dto);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
@DeleteMapping
|
||||
@ApiOperation(value = "删除")
|
||||
@SaCheckPermission("customer:delete")
|
||||
public R delete(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(customerService.delete(ids));
|
||||
|
||||
}
|
||||
|
||||
@PostMapping("/enable")
|
||||
@ApiOperation(value = "启用LngCustomer")
|
||||
@SaCheckPermission("customer:enable")
|
||||
public R enable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.enable(UpdateLngCustomerDto.class,ids));
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/disable")
|
||||
@ApiOperation(value = "禁用LngCustomer")
|
||||
@SaCheckPermission("customer:disable")
|
||||
public R disable(@Valid @RequestBody List<Long> ids){
|
||||
return R.ok(dataService.disable(UpdateLngCustomerDto.class,ids));
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,315 @@
|
||||
package com.xjrsoft.module.sales.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.github.yulichang.annotation.EntityMapping;
|
||||
import com.pictc.annotations.datalog.JoinCaseType;
|
||||
import com.pictc.annotations.datalog.JoinType;
|
||||
import com.pictc.annotations.datalog.LogJoin;
|
||||
import com.pictc.annotations.datalog.LogJoinColumn;
|
||||
import com.pictc.annotations.datalog.ValueDirectionType;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* @title: 客户
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_customer")
|
||||
@ApiModel(value = "客户对象", description = "客户")
|
||||
public class LngCustomer implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 客户编码(不能重复,以C开头)
|
||||
*/
|
||||
@ApiModelProperty("客户编码(不能重复,以C开头)")
|
||||
private String cuCode;
|
||||
|
||||
/**
|
||||
* 集团编码
|
||||
*/
|
||||
@ApiModelProperty("集团编码")
|
||||
private String cuMcode;
|
||||
|
||||
/**
|
||||
* 客户名称(不能与名称、简称重复)
|
||||
*/
|
||||
@ApiModelProperty("客户名称(不能与名称、简称重复)")
|
||||
private String cuName;
|
||||
|
||||
/**
|
||||
* 简称(不能与名称、简称重复)
|
||||
*/
|
||||
@ApiModelProperty("简称(不能与名称、简称重复)")
|
||||
private String cuSname;
|
||||
|
||||
/**
|
||||
* 国际/国内(I-国际,D-国内)
|
||||
*/
|
||||
@ApiModelProperty("国际/国内(I-国际,D-国内)")
|
||||
private String dI;
|
||||
|
||||
/**
|
||||
* 企业性质(国有企业/非国有企业)
|
||||
*/
|
||||
@ApiModelProperty("企业性质(国有企业/非国有企业)")
|
||||
private String natureCode;
|
||||
|
||||
/**
|
||||
* 母公司名称
|
||||
*/
|
||||
@ApiModelProperty("母公司名称")
|
||||
private String parentName;
|
||||
|
||||
/**
|
||||
* 统一社会信用代码(非空时不可重复)
|
||||
*/
|
||||
@ApiModelProperty("统一社会信用代码(非空时不可重复)")
|
||||
private String creditNo;
|
||||
|
||||
/**
|
||||
* 纳税人识别号(非空时不可重复)
|
||||
*/
|
||||
@ApiModelProperty("纳税人识别号(非空时不可重复)")
|
||||
private String tiNo;
|
||||
|
||||
/**
|
||||
* 法定代表人
|
||||
*/
|
||||
@ApiModelProperty("法定代表人")
|
||||
private String representative;
|
||||
|
||||
/**
|
||||
* 成立日期
|
||||
*/
|
||||
@ApiModelProperty("成立日期")
|
||||
private LocalDateTime dateEstab;
|
||||
|
||||
/**
|
||||
* 准入日期
|
||||
*/
|
||||
@ApiModelProperty("准入日期")
|
||||
private LocalDateTime dateEntry;
|
||||
|
||||
/**
|
||||
* 注册资本(万元)
|
||||
*/
|
||||
@ApiModelProperty("注册资本(万元)")
|
||||
private String amtReg;
|
||||
|
||||
/**
|
||||
* 注册地址
|
||||
*/
|
||||
@ApiModelProperty("注册地址")
|
||||
private String addrReg;
|
||||
|
||||
/**
|
||||
* 通讯地址
|
||||
*/
|
||||
@ApiModelProperty("通讯地址")
|
||||
private String addrMail;
|
||||
|
||||
/**
|
||||
* 客户分类(一类/二类)
|
||||
*/
|
||||
@ApiModelProperty("客户分类(一类/二类)")
|
||||
private String classCode;
|
||||
|
||||
/**
|
||||
* 客户类别(电厂/工业用户/城燃/贸易商)
|
||||
*/
|
||||
@ApiModelProperty("客户类别(电厂/工业用户/城燃/贸易商)")
|
||||
private String typeCode;
|
||||
|
||||
/**
|
||||
* 统计分类(内部/国电/华电/深能/其他)
|
||||
*/
|
||||
@ApiModelProperty("统计分类(内部/国电/华电/深能/其他)")
|
||||
private String propCode;
|
||||
|
||||
/**
|
||||
* 国有企业持股
|
||||
*/
|
||||
@ApiModelProperty("国有企业持股")
|
||||
private String stateSign;
|
||||
|
||||
/**
|
||||
* 国企持股比例
|
||||
*/
|
||||
@ApiModelProperty("国企持股比例")
|
||||
private BigDecimal rateShare;
|
||||
|
||||
/**
|
||||
* 持股第一大股东名称
|
||||
*/
|
||||
@ApiModelProperty("持股第一大股东名称")
|
||||
private String shareName;
|
||||
|
||||
/**
|
||||
* 集团持股比例
|
||||
*/
|
||||
@ApiModelProperty("集团持股比例")
|
||||
private BigDecimal rateShareGn;
|
||||
|
||||
/**
|
||||
* 是否校验预付款(Y-是,N-否)
|
||||
*/
|
||||
@ApiModelProperty("是否校验预付款(Y-是,N-否)")
|
||||
private String prepaySign;
|
||||
|
||||
/**
|
||||
* 有无线上(竞拍)(Y-有,N-无)
|
||||
*/
|
||||
@ApiModelProperty("有无线上(竞拍)(Y-有,N-无)")
|
||||
private String onlineSign;
|
||||
|
||||
/**
|
||||
* 自有终端(Y-是,N-否)
|
||||
*/
|
||||
@ApiModelProperty("自有终端(Y-是,N-否)")
|
||||
private String tSign;
|
||||
|
||||
/**
|
||||
* 组织架构编码
|
||||
*/
|
||||
@ApiModelProperty("组织架构编码")
|
||||
private String orgCode;
|
||||
|
||||
/**
|
||||
* 有效标志(不在黑名单)(Y-有效,N-无效)
|
||||
*/
|
||||
@ApiModelProperty("有效标志(不在黑名单)(Y-有效,N-无效)")
|
||||
private String valid;
|
||||
|
||||
/**
|
||||
* 状态(未提交/审批中/已审批/已驳回)
|
||||
*/
|
||||
@ApiModelProperty("状态(未提交/审批中/已审批/已驳回)")
|
||||
private String approCode;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ApiModelProperty("创建人id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty("创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@ApiModelProperty("修改人id")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private Long modifyUserId;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@ApiModelProperty("修改时间")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
@ApiModelProperty("租户id")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ApiModelProperty("部门id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 数据权限id
|
||||
*/
|
||||
@ApiModelProperty("数据权限id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
/**
|
||||
* lngCustomerAttrPower
|
||||
*/
|
||||
@ApiModelProperty("lngCustomerAttrPower子表")
|
||||
@TableField(exist = false)
|
||||
@EntityMapping(thisField = "cuCode", joinField = "cuCode")
|
||||
@LogJoin(name = "客户业务信息",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.LEFT)
|
||||
}, caseType = JoinCaseType.NONE, target = LngCustomerAttrPower.class, type = JoinType.MANY)
|
||||
private List<LngCustomerAttrPower> lngCustomerAttrPowerList;
|
||||
/**
|
||||
* lngCustomerBank
|
||||
*/
|
||||
@ApiModelProperty("lngCustomerBank子表")
|
||||
@TableField(exist = false)
|
||||
@EntityMapping(thisField = "cuCode", joinField = "cuCode")
|
||||
@LogJoin(name = "客户银行信息",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.LEFT)
|
||||
}, caseType = JoinCaseType.NONE, target = LngCustomerBank.class, type = JoinType.MANY)
|
||||
|
||||
private List<LngCustomerBank> lngCustomerBankList;
|
||||
/**
|
||||
* lngCustomerDoc
|
||||
*/
|
||||
@ApiModelProperty("lngCustomerDoc子表")
|
||||
@TableField(exist = false)
|
||||
@EntityMapping(thisField = "cuCode", joinField = "cuCode")
|
||||
@LogJoin(name = "客户证书信息",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.LEFT)
|
||||
}, caseType = JoinCaseType.NONE, target = LngCustomerDoc.class, type = JoinType.MANY)
|
||||
|
||||
private List<LngCustomerDoc> lngCustomerDocList;
|
||||
/**
|
||||
* lngCustomerContact
|
||||
*/
|
||||
@ApiModelProperty("lngCustomerContact子表")
|
||||
@TableField(exist = false)
|
||||
@EntityMapping(thisField = "cuCode", joinField = "cuCode")
|
||||
@LogJoin(name = "客户联系人信息",
|
||||
columns = {
|
||||
@LogJoinColumn(field = "cuCode",relatedField = "cuCode", valueDirection = ValueDirectionType.LEFT)
|
||||
}, caseType = JoinCaseType.NONE, target = LngCustomerContact.class, type = JoinType.MANY)
|
||||
|
||||
private List<LngCustomerContact> lngCustomerContactList;
|
||||
|
||||
}
|
||||
@ -0,0 +1,111 @@
|
||||
package com.xjrsoft.module.sales.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
/**
|
||||
* @title: 客户
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_customer_attr_power")
|
||||
@ApiModel(value = "客户对象", description = "客户")
|
||||
public class LngCustomerAttrPower implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
private String cuCode;
|
||||
|
||||
/**
|
||||
* 管道编码
|
||||
*/
|
||||
@ApiModelProperty("管道编码")
|
||||
private String lineCode;
|
||||
|
||||
/**
|
||||
* 装机量(万KW)
|
||||
*/
|
||||
@ApiModelProperty("装机量(万KW)")
|
||||
private BigDecimal capacity;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ApiModelProperty("创建人id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty("创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@ApiModelProperty("修改人id")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private Long modifyUserId;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@ApiModelProperty("修改时间")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
@ApiModelProperty("租户id")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ApiModelProperty("部门id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 数据权限id
|
||||
*/
|
||||
@ApiModelProperty("数据权限id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,126 @@
|
||||
package com.xjrsoft.module.sales.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.Version;
|
||||
import com.github.yulichang.annotation.EntityMapping;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @title: 客户
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_customer_bank")
|
||||
@ApiModel(value = "客户对象", description = "客户")
|
||||
public class LngCustomerBank implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
private String cuCode;
|
||||
|
||||
/**
|
||||
* 银行
|
||||
*/
|
||||
@ApiModelProperty("银行")
|
||||
private String bankCode;
|
||||
|
||||
/**
|
||||
* 账号名称
|
||||
*/
|
||||
@ApiModelProperty("账号名称")
|
||||
private String accountName;
|
||||
|
||||
/**
|
||||
* 账号
|
||||
*/
|
||||
@ApiModelProperty("账号")
|
||||
private String account;
|
||||
|
||||
/**
|
||||
* 默认账号(Y-是,N-否;只能有一个Y的有效记录)
|
||||
*/
|
||||
@ApiModelProperty("默认账号(Y-是,N-否;只能有一个Y的有效记录)")
|
||||
private String defaultSign;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ApiModelProperty("创建人id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty("创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@ApiModelProperty("修改人id")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private Long modifyUserId;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@ApiModelProperty("修改时间")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
@ApiModelProperty("租户id")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ApiModelProperty("部门id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 数据权限id
|
||||
*/
|
||||
@ApiModelProperty("数据权限id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,132 @@
|
||||
package com.xjrsoft.module.sales.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.Version;
|
||||
import com.github.yulichang.annotation.EntityMapping;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @title: 客户
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_customer_contact")
|
||||
@ApiModel(value = "客户对象", description = "客户")
|
||||
public class LngCustomerContact implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
private String cuCode;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
@ApiModelProperty("姓名")
|
||||
private String contactName;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
@ApiModelProperty("联系电话")
|
||||
private String tel;
|
||||
|
||||
/**
|
||||
* 通讯地址
|
||||
*/
|
||||
@ApiModelProperty("通讯地址")
|
||||
private String addrMail;
|
||||
|
||||
/**
|
||||
* 电子邮箱
|
||||
*/
|
||||
@ApiModelProperty("电子邮箱")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 职位
|
||||
*/
|
||||
@ApiModelProperty("职位")
|
||||
private String position;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ApiModelProperty("创建人id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty("创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@ApiModelProperty("修改人id")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private Long modifyUserId;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@ApiModelProperty("修改时间")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
@ApiModelProperty("租户id")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ApiModelProperty("部门id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 数据权限id
|
||||
*/
|
||||
@ApiModelProperty("数据权限id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,132 @@
|
||||
package com.xjrsoft.module.sales.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldFill;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.Version;
|
||||
import com.github.yulichang.annotation.EntityMapping;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalTime;
|
||||
import java.time.LocalDateTime;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @title: 客户
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("lng_customer_doc")
|
||||
@ApiModel(value = "客户对象", description = "客户")
|
||||
public class LngCustomerDoc implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
@TableId
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 客户编码
|
||||
*/
|
||||
@ApiModelProperty("客户编码")
|
||||
private String cuCode;
|
||||
|
||||
/**
|
||||
* 资质证书类型
|
||||
*/
|
||||
@ApiModelProperty("资质证书类型")
|
||||
private String docTypeCode;
|
||||
|
||||
/**
|
||||
* 资质证书编号
|
||||
*/
|
||||
@ApiModelProperty("资质证书编号")
|
||||
private String docNo;
|
||||
|
||||
/**
|
||||
* 有效期开始
|
||||
*/
|
||||
@ApiModelProperty("有效期开始")
|
||||
private LocalDateTime dateFrom;
|
||||
|
||||
/**
|
||||
* 有效期结束
|
||||
*/
|
||||
@ApiModelProperty("有效期结束")
|
||||
private LocalDateTime dateTo;
|
||||
|
||||
/**
|
||||
* 显示顺序
|
||||
*/
|
||||
@ApiModelProperty("显示顺序")
|
||||
private Short sort;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String note;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ApiModelProperty("创建人id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long createUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ApiModelProperty("创建时间")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private LocalDateTime createDate;
|
||||
|
||||
/**
|
||||
* 修改人id
|
||||
*/
|
||||
@ApiModelProperty("修改人id")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private Long modifyUserId;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
@ApiModelProperty("修改时间")
|
||||
@TableField(fill = FieldFill.UPDATE)
|
||||
private LocalDateTime modifyDate;
|
||||
|
||||
/**
|
||||
* 租户id
|
||||
*/
|
||||
@ApiModelProperty("租户id")
|
||||
private Long tenantId;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ApiModelProperty("部门id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long deptId;
|
||||
|
||||
/**
|
||||
* 数据权限id
|
||||
*/
|
||||
@ApiModelProperty("数据权限id")
|
||||
@TableField(fill = FieldFill.INSERT)
|
||||
private Long ruleUserId;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.xjrsoft.module.sales.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomerAttrPower;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface LngCustomerAttrPowerMapper extends MPJBaseMapper<LngCustomerAttrPower>,BaseMapper<LngCustomerAttrPower> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.xjrsoft.module.sales.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomerBank;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface LngCustomerBankMapper extends MPJBaseMapper<LngCustomerBank>,BaseMapper<LngCustomerBank> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.xjrsoft.module.sales.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomerContact;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface LngCustomerContactMapper extends MPJBaseMapper<LngCustomerContact>,BaseMapper<LngCustomerContact> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.xjrsoft.module.sales.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomerDoc;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface LngCustomerDocMapper extends MPJBaseMapper<LngCustomerDoc>,BaseMapper<LngCustomerDoc> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,17 @@
|
||||
package com.xjrsoft.module.sales.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomer;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
/**
|
||||
* @title: mapper
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface LngCustomerMapper extends MPJBaseMapper<LngCustomer>,BaseMapper<LngCustomer>{
|
||||
|
||||
}
|
||||
@ -0,0 +1,45 @@
|
||||
package com.xjrsoft.module.sales.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.github.yulichang.base.MPJBaseService;
|
||||
import com.github.yulichang.extension.mapping.base.MPJDeepService;
|
||||
import com.github.yulichang.extension.mapping.base.MPJRelationService;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngCustomerDto;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomer;
|
||||
import lombok.Data;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
|
||||
public interface ICustomerService extends MPJBaseService<LngCustomer>, MPJDeepService<LngCustomer>, MPJRelationService<LngCustomer> {
|
||||
/**
|
||||
* 新增
|
||||
*
|
||||
* @param lngCustomer
|
||||
* @return
|
||||
*/
|
||||
|
||||
Boolean add(UpdateLngCustomerDto updateLngCustomerDto);
|
||||
|
||||
/**
|
||||
* 更新
|
||||
*
|
||||
* @param lngCustomer
|
||||
* @return
|
||||
*/
|
||||
Boolean update(UpdateLngCustomerDto updateLngCustomerDto);
|
||||
|
||||
/**
|
||||
* 删除
|
||||
*
|
||||
* @param ids
|
||||
* @return
|
||||
*/
|
||||
Boolean delete(List<Long> ids);
|
||||
|
||||
}
|
||||
@ -0,0 +1,228 @@
|
||||
package com.xjrsoft.module.sales.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.yulichang.base.MPJBaseServiceImpl;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomerAttrPower;
|
||||
import com.xjrsoft.module.sales.mapper.LngCustomerAttrPowerMapper;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomerBank;
|
||||
import com.xjrsoft.module.sales.mapper.LngCustomerBankMapper;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomerDoc;
|
||||
import com.xjrsoft.module.sales.mapper.LngCustomerDocMapper;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomerContact;
|
||||
import com.xjrsoft.module.sales.mapper.LngCustomerContactMapper;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngCustomerAttrPowerDto;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngCustomerBankDto;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngCustomerContactDto;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngCustomerDocDto;
|
||||
import com.xjrsoft.module.sales.dto.UpdateLngCustomerDto;
|
||||
import com.xjrsoft.module.sales.entity.LngCustomer;
|
||||
import com.xjrsoft.module.sales.mapper.LngCustomerMapper;
|
||||
import com.xjrsoft.module.sales.service.ICustomerService;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
|
||||
/**
|
||||
* @title: service
|
||||
* @Author 管理员
|
||||
* @Date: 2025-11-19
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class CustomerServiceImpl extends MPJBaseServiceImpl<LngCustomerMapper, LngCustomer> implements ICustomerService {
|
||||
private final LngCustomerMapper customerLngCustomerMapper;
|
||||
|
||||
private final LngCustomerAttrPowerMapper customerLngCustomerAttrPowerMapper;
|
||||
private final LngCustomerBankMapper customerLngCustomerBankMapper;
|
||||
private final LngCustomerDocMapper customerLngCustomerDocMapper;
|
||||
private final LngCustomerContactMapper customerLngCustomerContactMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean add(UpdateLngCustomerDto updateLngCustomerDto) {
|
||||
|
||||
LngCustomer lngCustomer = new LngCustomer();
|
||||
BeanUtil.copyProperties(updateLngCustomerDto, lngCustomer);
|
||||
customerLngCustomerMapper.insert(lngCustomer);
|
||||
for (UpdateLngCustomerAttrPowerDto updateLngCustomerAttrPowerDto : updateLngCustomerDto.getLngCustomerAttrPowerList()) {
|
||||
LngCustomerAttrPower lngCustomerAttrPower = new LngCustomerAttrPower();
|
||||
BeanUtil.copyProperties(updateLngCustomerAttrPowerDto, lngCustomerAttrPower);
|
||||
lngCustomerAttrPower.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerAttrPowerMapper.insert(lngCustomerAttrPower);
|
||||
}
|
||||
for (UpdateLngCustomerBankDto updateLngCustomerBankDto : updateLngCustomerDto.getLngCustomerBankList()) {
|
||||
LngCustomerBank lngCustomerBank = new LngCustomerBank();
|
||||
BeanUtil.copyProperties(updateLngCustomerBankDto, lngCustomerBank);
|
||||
lngCustomerBank.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerBankMapper.insert(lngCustomerBank);
|
||||
}
|
||||
for (UpdateLngCustomerDocDto updateLngCustomerDocDto : updateLngCustomerDto.getLngCustomerDocList()) {
|
||||
LngCustomerDoc lngCustomerDoc = new LngCustomerDoc();
|
||||
BeanUtil.copyProperties(updateLngCustomerDocDto, lngCustomerDoc);
|
||||
lngCustomerDoc.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerDocMapper.insert(lngCustomerDoc);
|
||||
}
|
||||
for (UpdateLngCustomerContactDto updateLngCustomerContactDto : updateLngCustomerDto.getLngCustomerContactList()) {
|
||||
LngCustomerContact lngCustomerContact = new LngCustomerContact();
|
||||
BeanUtil.copyProperties(updateLngCustomerContactDto, lngCustomerContact);
|
||||
lngCustomerContact.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerContactMapper.insert(lngCustomerContact);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean update(UpdateLngCustomerDto updateLngCustomerDto) {
|
||||
LngCustomer lngCustomer = new LngCustomer();
|
||||
BeanUtil.copyProperties(updateLngCustomerDto, lngCustomer);
|
||||
customerLngCustomerMapper.updateById(lngCustomer);
|
||||
//********************************* LngCustomerAttrPower 增删改 开始 *******************************************/
|
||||
{
|
||||
// 查出所有子级的id
|
||||
List<LngCustomerAttrPower> lngCustomerAttrPowerList = customerLngCustomerAttrPowerMapper.selectList(Wrappers.lambdaQuery(LngCustomerAttrPower.class).eq(LngCustomerAttrPower::getCuCode, lngCustomer.getCuCode()).select(LngCustomerAttrPower::getId));
|
||||
List<Long> lngCustomerAttrPowerIds = lngCustomerAttrPowerList.stream().map(LngCustomerAttrPower::getId).collect(Collectors.toList());
|
||||
//原有子表单 没有被删除的主键
|
||||
List<Long> lngCustomerAttrPowerOldIds = updateLngCustomerDto.getLngCustomerAttrPowerList().stream().map(UpdateLngCustomerAttrPowerDto::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
//找到需要删除的id
|
||||
List<Long> lngCustomerAttrPowerRemoveIds = lngCustomerAttrPowerIds.stream().filter(item -> !lngCustomerAttrPowerOldIds.contains(item)).collect(Collectors.toList());
|
||||
|
||||
for (UpdateLngCustomerAttrPowerDto lngCustomerAttrPowerDto : updateLngCustomerDto.getLngCustomerAttrPowerList()) {
|
||||
LngCustomerAttrPower lngCustomerAttrPower = new LngCustomerAttrPower();
|
||||
BeanUtil.copyProperties(lngCustomerAttrPowerDto, lngCustomerAttrPower);
|
||||
//如果不等于空则修改
|
||||
if (lngCustomerAttrPower.getId() != null) {
|
||||
|
||||
customerLngCustomerAttrPowerMapper.updateById(lngCustomerAttrPower);
|
||||
}
|
||||
//如果等于空 则新增
|
||||
else {
|
||||
//已经不存在的id 删除
|
||||
lngCustomerAttrPower.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerAttrPowerMapper.insert(lngCustomerAttrPower);
|
||||
}
|
||||
}
|
||||
//已经不存在的id 删除
|
||||
if(lngCustomerAttrPowerRemoveIds.size() > 0){
|
||||
customerLngCustomerAttrPowerMapper.deleteBatchIds(lngCustomerAttrPowerRemoveIds);
|
||||
}
|
||||
}
|
||||
//********************************* LngCustomerAttrPower 增删改 结束 *******************************************/
|
||||
|
||||
//********************************* LngCustomerBank 增删改 开始 *******************************************/
|
||||
{
|
||||
// 查出所有子级的id
|
||||
List<LngCustomerBank> lngCustomerBankList = customerLngCustomerBankMapper.selectList(Wrappers.lambdaQuery(LngCustomerBank.class).eq(LngCustomerBank::getCuCode, lngCustomer.getCuCode()).select(LngCustomerBank::getId));
|
||||
List<Long> lngCustomerBankIds = lngCustomerBankList.stream().map(LngCustomerBank::getId).collect(Collectors.toList());
|
||||
//原有子表单 没有被删除的主键
|
||||
List<Long> lngCustomerBankOldIds = updateLngCustomerDto.getLngCustomerBankList().stream().map(UpdateLngCustomerBankDto::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
//找到需要删除的id
|
||||
List<Long> lngCustomerBankRemoveIds = lngCustomerBankIds.stream().filter(item -> !lngCustomerBankOldIds.contains(item)).collect(Collectors.toList());
|
||||
|
||||
for (UpdateLngCustomerBankDto lngCustomerBankDto : updateLngCustomerDto.getLngCustomerBankList()) {
|
||||
LngCustomerBank lngCustomerBank = new LngCustomerBank();
|
||||
BeanUtil.copyProperties(lngCustomerBankDto, lngCustomerBank);
|
||||
//如果不等于空则修改
|
||||
if (lngCustomerBank.getId() != null) {
|
||||
customerLngCustomerBankMapper.updateById(lngCustomerBank);
|
||||
}
|
||||
//如果等于空 则新增
|
||||
else {
|
||||
//已经不存在的id 删除
|
||||
lngCustomerBank.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerBankMapper.insert(lngCustomerBank);
|
||||
}
|
||||
}
|
||||
//已经不存在的id 删除
|
||||
if(lngCustomerBankRemoveIds.size() > 0){
|
||||
customerLngCustomerBankMapper.deleteBatchIds(lngCustomerBankRemoveIds);
|
||||
}
|
||||
}
|
||||
//********************************* LngCustomerBank 增删改 结束 *******************************************/
|
||||
|
||||
//********************************* LngCustomerDoc 增删改 开始 *******************************************/
|
||||
{
|
||||
// 查出所有子级的id
|
||||
List<LngCustomerDoc> lngCustomerDocList = customerLngCustomerDocMapper.selectList(Wrappers.lambdaQuery(LngCustomerDoc.class).eq(LngCustomerDoc::getCuCode, lngCustomer.getCuCode()).select(LngCustomerDoc::getId));
|
||||
List<Long> lngCustomerDocIds = lngCustomerDocList.stream().map(LngCustomerDoc::getId).collect(Collectors.toList());
|
||||
//原有子表单 没有被删除的主键
|
||||
List<Long> lngCustomerDocOldIds = updateLngCustomerDto.getLngCustomerDocList().stream().map(UpdateLngCustomerDocDto::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
//找到需要删除的id
|
||||
List<Long> lngCustomerDocRemoveIds = lngCustomerDocIds.stream().filter(item -> !lngCustomerDocOldIds.contains(item)).collect(Collectors.toList());
|
||||
|
||||
for (UpdateLngCustomerDocDto lngCustomerDocDto : updateLngCustomerDto.getLngCustomerDocList()) {
|
||||
LngCustomerDoc lngCustomerDoc = new LngCustomerDoc();
|
||||
BeanUtil.copyProperties(lngCustomerDocDto, lngCustomerDoc);
|
||||
//如果不等于空则修改
|
||||
if (lngCustomerDoc.getId() != null) {
|
||||
customerLngCustomerDocMapper.updateById(lngCustomerDoc);
|
||||
}
|
||||
//如果等于空 则新增
|
||||
else {
|
||||
//已经不存在的id 删除
|
||||
lngCustomerDoc.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerDocMapper.insert(lngCustomerDoc);
|
||||
}
|
||||
}
|
||||
//已经不存在的id 删除
|
||||
if(lngCustomerDocRemoveIds.size() > 0){
|
||||
customerLngCustomerDocMapper.deleteBatchIds(lngCustomerDocRemoveIds);
|
||||
}
|
||||
}
|
||||
//********************************* LngCustomerDoc 增删改 结束 *******************************************/
|
||||
|
||||
//********************************* LngCustomerContact 增删改 开始 *******************************************/
|
||||
{
|
||||
// 查出所有子级的id
|
||||
List<LngCustomerContact> lngCustomerContactList = customerLngCustomerContactMapper.selectList(Wrappers.lambdaQuery(LngCustomerContact.class).eq(LngCustomerContact::getCuCode, lngCustomer.getCuCode()).select(LngCustomerContact::getId));
|
||||
List<Long> lngCustomerContactIds = lngCustomerContactList.stream().map(LngCustomerContact::getId).collect(Collectors.toList());
|
||||
//原有子表单 没有被删除的主键
|
||||
List<Long> lngCustomerContactOldIds = updateLngCustomerDto.getLngCustomerContactList().stream().map(UpdateLngCustomerContactDto::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
||||
//找到需要删除的id
|
||||
List<Long> lngCustomerContactRemoveIds = lngCustomerContactIds.stream().filter(item -> !lngCustomerContactOldIds.contains(item)).collect(Collectors.toList());
|
||||
|
||||
for (UpdateLngCustomerContactDto lngCustomerContactDto : updateLngCustomerDto.getLngCustomerContactList()) {
|
||||
LngCustomerContact lngCustomerContact = new LngCustomerContact();
|
||||
BeanUtil.copyProperties(lngCustomerContactDto, lngCustomerContact);
|
||||
//如果不等于空则修改
|
||||
if (lngCustomerContact.getId() != null) {
|
||||
customerLngCustomerContactMapper.updateById(lngCustomerContact);
|
||||
}
|
||||
//如果等于空 则新增
|
||||
else {
|
||||
//已经不存在的id 删除
|
||||
lngCustomerContact.setCuCode(lngCustomer.getCuCode());
|
||||
customerLngCustomerContactMapper.insert(lngCustomerContact);
|
||||
}
|
||||
}
|
||||
//已经不存在的id 删除
|
||||
if(lngCustomerContactRemoveIds.size() > 0){
|
||||
customerLngCustomerContactMapper.deleteBatchIds(lngCustomerContactRemoveIds);
|
||||
}
|
||||
}
|
||||
//********************************* LngCustomerContact 增删改 结束 *******************************************/
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean delete(List<Long> ids) {
|
||||
customerLngCustomerMapper.deleteBatchIds(ids);
|
||||
customerLngCustomerAttrPowerMapper.delete(Wrappers.lambdaQuery(LngCustomerAttrPower.class).in(LngCustomerAttrPower::getCuCode, ids));
|
||||
customerLngCustomerBankMapper.delete(Wrappers.lambdaQuery(LngCustomerBank.class).in(LngCustomerBank::getCuCode, ids));
|
||||
customerLngCustomerDocMapper.delete(Wrappers.lambdaQuery(LngCustomerDoc.class).in(LngCustomerDoc::getCuCode, ids));
|
||||
customerLngCustomerContactMapper.delete(Wrappers.lambdaQuery(LngCustomerContact.class).in(LngCustomerContact::getCuCode, ids));
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user