This commit is contained in:
lg
2025-10-10 20:12:13 +08:00
parent 6e0e867e57
commit 6a200b391e
42 changed files with 0 additions and 5361 deletions

View File

@ -1,160 +0,0 @@
package org.dromara.cailiaoshebei.controller.app;
import cn.dev33.satoken.annotation.SaCheckPermission;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.cailiaoshebei.domain.bo.BusMrpBaseBo;
import org.dromara.cailiaoshebei.domain.dto.BusMrpDto;
import org.dromara.cailiaoshebei.domain.dto.BusMrpExportDto;
import org.dromara.cailiaoshebei.domain.vo.BusMrpBaseVo;
import org.dromara.cailiaoshebei.domain.vo.BusMrpVo;
import org.dromara.cailiaoshebei.service.IBusMrpBaseService;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.enums.BusinessStatusEnum;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.design.domain.BusBillofquantities;
import org.dromara.design.domain.BusBillofquantitiesVersions;
import org.dromara.design.domain.bo.CoryObtainTheListReq;
import org.dromara.design.domain.bo.ObtainAllVersionNumbersReq;
import org.dromara.design.domain.vo.BusBillofquantitiesVo;
import org.dromara.design.domain.vo.ObtainTheListRes;
import org.dromara.design.service.IBusBillofquantitiesService;
import org.dromara.design.service.IBusBillofquantitiesVersionsService;
import org.springframework.util.CollectionUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
/**
* app物资-批次需求计划基础信息
*
* @author Lion Li
* @date 2025-08-13
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/app/cailiaoshebei/mrpBase")
public class BusMrpBaseAppController extends BaseController {
private final IBusMrpBaseService busMrpBaseService;
private final IBusBillofquantitiesVersionsService busBillofquantitiesVersionsService;
private final IBusBillofquantitiesService busBillofquantitiesService;
/**
* 查询物资-批次需求计划基础信息列表
*/
@GetMapping("/list")
public TableDataInfo<BusMrpBaseVo> list(BusMrpBaseBo bo, PageQuery pageQuery) {
return busMrpBaseService.queryPageList(bo, pageQuery);
}
/**
* 获取物资-批次需求计划基础信息详细信息
*
* @param id 主键
*/
@GetMapping("/{id}")
public R<BusMrpVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(busMrpBaseService.queryById(id));
}
/**
* 删除物资-批次需求计划基础信息
*
* @param ids 主键串
*/
@Log(title = "物资-批次需求计划基础信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(busMrpBaseService.deleteWithValidByIds(List.of(ids), true));
}
/**
* 批量新增或修改
*/
@RepeatSubmit()
@PostMapping("/batch")
public R<Void> batchAddOrUpdate(@RequestBody BusMrpDto dto) {
return toAjax(busMrpBaseService.batchAddOrUpdate(dto));
}
/**
* 获取剩余量
*/
@GetMapping("/remaining")
public R<Map<String,Object>> remaining(Long projectId, String suppliespriceName,String specification,Long mrpBaseId) {
return R.ok(busMrpBaseService.remaining(projectId,suppliespriceName,specification,mrpBaseId));
}
/**
* 获取所有大类
*/
@GetMapping("/obtainAllClassification")
public R<List<BusBillofquantitiesVo>> obtainAllClassification(ObtainAllVersionNumbersReq bo) {
return R.ok(busBillofquantitiesVersionsService.obtainAllClassification(bo));
}
/**
* 获取工程量清单列表
*/
@GetMapping("/coryEngineeringList")
public R<List<BusBillofquantities>> obtainTheList(CoryObtainTheListReq req) {
List<BusBillofquantities> busBillofquantities = busBillofquantitiesService.getBaseMapper()
.selectList(new LambdaQueryWrapper<BusBillofquantities>()
.eq(BusBillofquantities::getProjectId, req.getProjectId())
.eq(BusBillofquantities::getName, req.getSid()));
List<String> sids = new ArrayList<>();
busBillofquantities.forEach(busBillofquantities1 -> {
sids.add(busBillofquantities1.getSid());
});
return R.ok(busBillofquantitiesService
.getBaseMapper()
.selectList(new LambdaQueryWrapper<BusBillofquantities>()
.eq(BusBillofquantities::getProjectId, req.getProjectId())
.in(BusBillofquantities::getPid, sids)));
}
private List<ObtainTheListRes> buildTree(String parentId, Map<String, List<ObtainTheListRes>> parentMap) {
// 获取当前父节点的所有直接子节点
List<ObtainTheListRes> children = parentMap.getOrDefault(parentId, Collections.emptyList());
if (children.isEmpty()) {
return Collections.emptyList();
}
// 为每个子节点递归设置其下一级子节点
for (ObtainTheListRes child : children) {
// 递归查询当前子节点的子节点,设置为它的子树
List<ObtainTheListRes> subChildren = buildTree(child.getSid(), parentMap);
// 注意需要在Vo中添加子节点列表字段用于存储子树
child.setChildren(subChildren);
}
return children;
}
}

View File

@ -1,214 +0,0 @@
package org.dromara.cailiaoshebei.controller.app;
import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
import org.dromara.cailiaoshebei.domain.BusPlanDocAssociation;
import org.dromara.cailiaoshebei.domain.bo.BusMaterialbatchdemandplanBo;
import org.dromara.cailiaoshebei.domain.bo.BusPurchaseDocBo;
import org.dromara.cailiaoshebei.domain.bo.FeedbackDto;
import org.dromara.cailiaoshebei.domain.vo.BusMaterialbatchdemandplanVo;
import org.dromara.cailiaoshebei.domain.vo.BusPurchaseDocVo;
import org.dromara.cailiaoshebei.service.IBusMaterialbatchdemandplanService;
import org.dromara.cailiaoshebei.service.IBusPlanDocAssociationService;
import org.dromara.cailiaoshebei.service.IBusPurchaseDocService;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController;
import org.dromara.design.service.IBusBillofquantitiesService;
import org.dromara.design.service.IBusBillofquantitiesVersionsService;
import org.dromara.tender.domain.bo.TenderSupplierInputBo;
import org.dromara.tender.domain.vo.TenderSupplierInputVo;
import org.dromara.tender.service.ITenderSupplierInputService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* app物资-采购联系单
*
* @author Lion Li
* @date 2025-08-13
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/app/cailiaoshebei/purchaseDoc")
public class BusPurchaseDocAppController extends BaseController {
private final IBusPurchaseDocService busPurchaseDocService;
private final IBusMaterialbatchdemandplanService materialbatchdemandplanService;
private final IBusPlanDocAssociationService planDocAssociationService;
private final IBusBillofquantitiesVersionsService busBillofquantitiesVersionsService;
private final IBusBillofquantitiesService busBillofquantitiesService;
private final ITenderSupplierInputService tenderSupplierInputService;
/**
* 查询物资-采购联系单列表
*/
@GetMapping("/list")
public TableDataInfo<BusPurchaseDocVo> list(BusPurchaseDocBo bo, PageQuery pageQuery) {
return busPurchaseDocService.queryPageList(bo, pageQuery);
}
/**
* 查询供应商入库列表
*/
@GetMapping("/supList")
public TableDataInfo<TenderSupplierInputVo> list(TenderSupplierInputBo bo, PageQuery pageQuery) {
return tenderSupplierInputService.queryPageList(bo, pageQuery);
}
/**
* 查询物资-批次需求计划列表
*/
@GetMapping("/planList")
public TableDataInfo<BusMaterialbatchdemandplanVo> list(BusMaterialbatchdemandplanBo bo, PageQuery pageQuery) {
return materialbatchdemandplanService.queryPageList(bo, pageQuery);
}
/**
* 获取物资-采购联系单详细信息
*
* @param id 主键
*/
@GetMapping("/{id}")
public R<BusPurchaseDocVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(busPurchaseDocService.queryById(id));
}
/**
* 获取物资-采购联系单详细PDF
*
* @param id 主键
*/
@SaCheckPermission("cailiaoshebei:purchaseDoc:pdf")
@GetMapping("/pdf/{id}")
public R<String> getPic(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok("操作成功", busPurchaseDocService.queryPicBase64ById(id));
}
/**
* 新增物资-采购联系单
*/
@SaCheckPermission("cailiaoshebei:purchaseDoc:add")
@Log(title = "物资-采购联系单", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody BusPurchaseDocBo bo) {
return toAjax(busPurchaseDocService.insertByBo(bo));
}
/**
* 修改物资-采购联系单
*/
@SaCheckPermission("cailiaoshebei:purchaseDoc:edit")
@Log(title = "物资-采购联系单", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody BusPurchaseDocBo bo) {
return toAjax(busPurchaseDocService.updateByBo(bo));
}
/**
* 删除物资-采购联系单
*
* @param ids 主键串
*/
@SaCheckPermission("cailiaoshebei:purchaseDoc:remove")
@Log(title = "物资-采购联系单", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(busPurchaseDocService.deleteWithValidByIds(List.of(ids), true));
}
/**
* 查询采购单关联的计划
*/
@GetMapping("/planList/{id}")
public R<List<BusMaterialbatchdemandplanVo>> list(@NotNull(message = "主键不能为空")
@PathVariable("id") Long id) {
List<BusPlanDocAssociation> list = planDocAssociationService.list(Wrappers.lambdaQuery(BusPlanDocAssociation.class)
.eq(BusPlanDocAssociation::getDocId, id));
if (CollectionUtil.isEmpty(list)) {
return R.ok(new ArrayList<>());
}
Map<Long, BigDecimal> collect = list.stream()
.filter(Objects::nonNull) // 过滤空对象
.collect(Collectors.toMap(
BusPlanDocAssociation::getPlanId,
BusPlanDocAssociation::getDemandQuantity,
(existing, replacement) -> existing // 保留第一个遇到的重复键
));
BusMaterialbatchdemandplanBo bo = new BusMaterialbatchdemandplanBo();
bo.setIds(new ArrayList<>(collect.keySet()));
List<BusMaterialbatchdemandplanVo> busMaterialbatchdemandplanVos = materialbatchdemandplanService.queryList(bo);
for (BusMaterialbatchdemandplanVo busMaterialbatchdemandplanVo : busMaterialbatchdemandplanVos) {
busMaterialbatchdemandplanVo.setDemandQuantity(collect.get(busMaterialbatchdemandplanVo.getId()));
}
return R.ok(busMaterialbatchdemandplanVos);
}
/**
* 修改回单
*/
@Log(title = "物资-采购联系单", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping("/updateFeedback")
public R<Void> edit(@Validated(EditGroup.class) @RequestBody FeedbackDto bo) {
return toAjax(busPurchaseDocService.updateFeedback(bo));
}
//
// /**
// * 获取工程量清单列表
// */
// @SaCheckPermission("cailiaoshebei:purchaseDoc:add")
// @GetMapping("/engineeringList")
// public R<List<BusBillofquantities>> obtainTheList(Long projectId) {
// BusBillofquantitiesVersions one = busBillofquantitiesVersionsService.getOne(Wrappers.<BusBillofquantitiesVersions>lambdaQuery()
// .eq(BusBillofquantitiesVersions::getWorkOrderType, "3") //物资工程量清单
// .eq(BusBillofquantitiesVersions::getProjectId, projectId)
// .eq(BusBillofquantitiesVersions::getStatus, BusinessStatusEnum.FINISH.getStatus())
// .last("limit 1")
// );
// if (one == null) {
// throw new ServiceException("请先完成物资工程量清单");
// }
// List<BusBillofquantities> list = busBillofquantitiesService.list(Wrappers.<BusBillofquantities>lambdaQuery()
// .eq(BusBillofquantities::getVersions, one.getVersions())
// );
//
// return R.ok(list);
// }
}

View File

@ -1,105 +0,0 @@
package org.dromara.xzd.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.xzd.domain.vo.XzdProjectManagerApprovalVo;
import org.dromara.xzd.domain.bo.XzdProjectManagerApprovalBo;
import org.dromara.xzd.service.IXzdProjectManagerApprovalService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 项目经理推荐及审批
*
* @author Lion Li
* @date 2025-10-10
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/xzd/approval")
public class XzdProjectManagerApprovalController extends BaseController {
private final IXzdProjectManagerApprovalService xzdProjectManagerApprovalService;
/**
* 查询项目经理推荐及审批列表
*/
@SaCheckPermission("xzd:approval:list")
@GetMapping("/list")
public TableDataInfo<XzdProjectManagerApprovalVo> list(XzdProjectManagerApprovalBo bo, PageQuery pageQuery) {
return xzdProjectManagerApprovalService.queryPageList(bo, pageQuery);
}
/**
* 导出项目经理推荐及审批列表
*/
@SaCheckPermission("xzd:approval:export")
@Log(title = "项目经理推荐及审批", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdProjectManagerApprovalBo bo, HttpServletResponse response) {
List<XzdProjectManagerApprovalVo> list = xzdProjectManagerApprovalService.queryList(bo);
ExcelUtil.exportExcel(list, "项目经理推荐及审批", XzdProjectManagerApprovalVo.class, response);
}
/**
* 获取项目经理推荐及审批详细信息
*
* @param id 主键
*/
@SaCheckPermission("xzd:approval:query")
@GetMapping("/{id}")
public R<XzdProjectManagerApprovalVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdProjectManagerApprovalService.queryById(id));
}
/**
* 新增项目经理推荐及审批
*/
@SaCheckPermission("xzd:approval:add")
@Log(title = "项目经理推荐及审批", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdProjectManagerApprovalBo bo) {
return toAjax(xzdProjectManagerApprovalService.insertByBo(bo));
}
/**
* 修改项目经理推荐及审批
*/
@SaCheckPermission("xzd:approval:edit")
@Log(title = "项目经理推荐及审批", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdProjectManagerApprovalBo bo) {
return toAjax(xzdProjectManagerApprovalService.updateByBo(bo));
}
/**
* 删除项目经理推荐及审批
*
* @param ids 主键串
*/
@SaCheckPermission("xzd:approval:remove")
@Log(title = "项目经理推荐及审批", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdProjectManagerApprovalService.deleteWithValidByIds(List.of(ids), true));
}
}

View File

@ -1,116 +0,0 @@
package org.dromara.xzd.controller;
import java.util.List;
import lombok.RequiredArgsConstructor;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.constraints.*;
import cn.dev33.satoken.annotation.SaCheckPermission;
import org.dromara.xzd.domain.vo.XzdCustomertypeInfoVo;
import org.dromara.xzd.domain.vo.XzdCustomertypeVo;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
import org.dromara.common.idempotent.annotation.RepeatSubmit;
import org.dromara.common.log.annotation.Log;
import org.dromara.common.web.core.BaseController;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.excel.utils.ExcelUtil;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
import org.dromara.xzd.domain.bo.XzdSupplierInfoBo;
import org.dromara.xzd.service.IXzdSupplierInfoService;
import org.dromara.common.mybatis.core.page.TableDataInfo;
/**
* 供应商信息
*
* @author Lion Li
* @date 2025-09-30
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/xzd/supplierInfo")
public class XzdSupplierInfoController extends BaseController {
private final IXzdSupplierInfoService xzdSupplierInfoService;
/**
* 查询供应商信息列表
*/
@SaCheckPermission("xzd:supplierInfo:list")
@GetMapping("/list")
public TableDataInfo<XzdSupplierInfoVo> list(XzdSupplierInfoBo bo, PageQuery pageQuery) {
return xzdSupplierInfoService.queryPageList(bo, pageQuery);
}
/**
* 导出供应商信息列表
*/
@SaCheckPermission("xzd:supplierInfo:export")
@Log(title = "供应商信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(XzdSupplierInfoBo bo, HttpServletResponse response) {
List<XzdSupplierInfoVo> list = xzdSupplierInfoService.queryList(bo);
ExcelUtil.exportExcel(list, "供应商信息", XzdSupplierInfoVo.class, response);
}
/**
* 获取供应商信息详细信息
*
* @param id 主键
*/
@SaCheckPermission("xzd:supplierInfo:query")
@GetMapping("/{id}")
public R<XzdSupplierInfoVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
return R.ok(xzdSupplierInfoService.queryById(id));
}
/**
* 新增供应商信息
*/
@SaCheckPermission("xzd:supplierInfo:add")
@Log(title = "供应商信息", businessType = BusinessType.INSERT)
@RepeatSubmit()
@PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdSupplierInfoBo bo) {
return toAjax(xzdSupplierInfoService.insertByBo(bo));
}
/**
* 修改供应商信息
*/
@SaCheckPermission("xzd:supplierInfo:edit")
@Log(title = "供应商信息", businessType = BusinessType.UPDATE)
@RepeatSubmit()
@PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdSupplierInfoBo bo) {
return toAjax(xzdSupplierInfoService.updateByBo(bo));
}
/**
* 删除供应商信息
*
* @param ids 主键串
*/
@SaCheckPermission("xzd:supplierInfo:remove")
@Log(title = "供应商信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) {
return toAjax(xzdSupplierInfoService.deleteWithValidByIds(List.of(ids), true));
}
/**
* 获取类型列表
*/
@SaCheckPermission("xzd:supplierInfo:typeList")
@GetMapping("/typeList")
public R<List<XzdCustomertypeVo>> typeList() {
return xzdSupplierInfoService.typeList();
}
}

View File

@ -1,123 +0,0 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 项目经理推荐及审批对象 xzd_project_manager_approval
*
* @author Lion Li
* @date 2025-10-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_project_manager_approval")
public class XzdProjectManagerApproval extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 单据编号
*/
private String documentNumber;
/**
* 标题
*/
private String title;
/**
* 日期
*/
private Date recordDate;
/**
* 项目名称
*/
private String projectName;
/**
* 客户名称
*/
private String customerName;
/**
* 项目规模
*/
private String projectScale;
/**
* 合同金额
*/
private Long contractAmount;
/**
* 拟任项目经理
*/
private String prospectiveManagerName;
/**
* 身份证号
*/
private String idCardNumber;
/**
* 教育程度
*/
private String educationLevel;
/**
* 工作年限
*/
private Long workExperienceYears;
/**
* 专业年限
*/
private Long professionalExperienceYears;
/**
* 合同用工形式
*/
private String contractEmploymentType;
/**
* 资格证书
*/
private String qualificationCertificates;
/**
* 是否属于历史数据补录
*/
private String isHistoricalData;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
}

View File

@ -1,63 +0,0 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 供应商评价对象 xzd_supplier_evaluation
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_supplier_evaluation")
public class XzdSupplierEvaluation extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 供应商ID
*/
private Long supplierId;
/**
* 评价类型
*/
private String evaluationType;
/**
* 评价内容
*/
private String evaluationContent;
/**
* 评价结果
*/
private String evaluationResult;
/**
* 评价人
*/
private String evaluator;
/**
* 评价时间
*/
private Date evaluationTime;
}

View File

@ -1,233 +0,0 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 供应商信息对象 xzd_supplier_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_supplier_info")
public class XzdSupplierInfo extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 单位编号
*/
private String unitCode;
/**
* 单位名称
*/
private String unitName;
/**
* 单位属性(字典)
*/
private String unitProperty;
/**
* 简称
*/
private String abbreviation;
/**
* 英文简称
*/
private String englishAbbreviation;
/**
* 助记码
*/
private String mnemonicCode;
/**
* 统一社会信用代码
*/
private String unifiedSocialCreditCode;
/**
* 税务登记号
*/
private String taxRegistrationNumber;
/**
* 证件类型
*/
private String certificateType;
/**
* 证件编号
*/
private String certificateNumber;
/**
* 国家
*/
private String country;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 区县
*/
private String districtCounty;
/**
* 行业类型
*/
private String industryType;
/**
* 上级单位
*/
private String superiorUnit;
/**
* 集团供应商0=否1=是)
*/
private Long isGroupSupplier;
/**
* 工商变更时间
*/
private Date industrialCommercialChangeTime;
/**
* 备注
*/
private String remarks;
/**
* 内部0=否1=是)
*/
private Long isInternal;
/**
* 黑名单0=否1=是)
*/
private Long isBlacklist;
/**
* 自动生成客户0=否1=是)
*/
private Long isAutoGenerateCustomer;
/**
* 单位成立日期
*/
private Date establishmentDate;
/**
* 纳税身份类型(字典)
*/
private String taxIdentityType;
/**
* 纳税人名称
*/
private String taxpayerName;
/**
* 税务银行行号
*/
private String taxBankCode;
/**
* 税务银行名称
*/
private String taxBankName;
/**
* 税务登记账号
*/
private String taxRegistrationAccount;
/**
* 税务登记地址
*/
private String taxRegistrationAddress;
/**
* 税务登记电话
*/
private String taxRegistrationPhone;
/**
* 注册资金
*/
private Long registeredCapital;
/**
* 注册时间
*/
private Date registrationTime;
/**
* 法人代表
*/
private String legalRepresentative;
/**
* 营业范围
*/
private String businessScope;
/**
* 币种(字典)
*/
private String currency;
/**
* 行业地位(字典)
*/
private String industryPosition;
/**
* 企业性质(字典)
*/
private String enterpriseNature;
/**
* 规模(字典)
*/
private String scale;
/**
* 网址
*/
private String website;
/**
* 邮箱
*/
private String email;
}

View File

@ -1,68 +0,0 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 供应商资质信息对象 xzd_supplier_qualification
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_supplier_qualification")
public class XzdSupplierQualification extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 供应商ID
*/
private Long supplierId;
/**
* 资质名称
*/
private String name;
/**
* 资质起始日期
*/
private Date beginTime;
/**
* 资质到期日期
*/
private Date endTime;
/**
* 文件路径
*/
private String fileUrl;
/**
* 文件ID
*/
private Long fileId;
/**
* 备注
*/
private String remark;
}

View File

@ -1,133 +0,0 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serial;
/**
* 供应商信息补充对象 xzd_supplier_supplement
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_supplier_supplement")
public class XzdSupplierSupplement extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 供应商ID
*/
private Long supplierId;
/**
* 供应商状态
*/
private String supplierStatus;
/**
* 供应商等级
*/
private String supplierLevel;
/**
* 分管部门
*/
private String responsibleDepartment;
/**
* 分管业务员
*/
private String responsibleSalesman;
/**
* 归属组织
*/
private String belongingOrganization;
/**
* 创建者
*/
private String creator;
/**
* 创建日期
*/
private Date createDate;
/**
* 审核标志0未审核1已审核
*/
private Long auditFlag;
/**
* 冻结标志0未冻结1已冻结
*/
private Long freezeFlag;
/**
* 冻结开始时间
*/
private Date freezeStartTime;
/**
* 冻结结束时间
*/
private Date freezeEndTime;
/**
* 供应商主类型
*/
private String supplierMainType;
/**
* 默认财务组织
*/
private String defaultFinanceOrganization;
/**
* 投标状态
*/
private String biddingStatus;
/**
* 服务区域
*/
private String serviceArea;
/**
* 合格有效期
*/
private Date qualificationValidity;
/**
* 考核小组组长
*/
private String assessmentTeamLeader;
/**
* 考核小组成员
*/
private String assessmentTeamMembers;
/**
* 备案组织
*/
private String recordOrganization;
}

View File

@ -1,111 +0,0 @@
package org.dromara.xzd.domain;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serial;
/**
* 供应物料对象 _xzd_supply_materials
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("xzd_supply_materials")
public class XzdSupplyMaterials extends BaseEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "id")
private Long id;
/**
* 供应商ID
*/
private Long supplierId;
/**
* 资源分类
*/
private String resourceCategory;
/**
* SKU编码
*/
private String skuCode;
/**
* SKU名称
*/
private String skuName;
/**
* 规格
*/
private String specification;
/**
* 计量单位
*/
private String unitOfMeasure;
/**
* 供应商方物料编码
*/
private String supplierMaterialCode;
/**
* 供应商方物料名称
*/
private String supplierMaterialName;
/**
* 供应商方物料条形码
*/
private String supplierMaterialBarcode;
/**
* 含税单价
*/
private Long taxInclusiveUnitPrice;
/**
* 配额(%)
*/
private Long quota;
/**
* 换货率(%)
*/
private Long exchangeRate;
/**
* 换货周期(天)
*/
private Long exchangeCycle;
/**
* 交货周期(天)
*/
private Long deliveryCycle;
/**
* 付款条件
*/
private String paymentTerms;
/**
* 备注
*/
private String remarks;
}

View File

@ -1,124 +0,0 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdProjectManagerApproval;
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;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 项目经理推荐及审批业务对象 xzd_project_manager_approval
*
* @author Lion Li
* @date 2025-10-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdProjectManagerApproval.class, reverseConvertGenerate = false)
public class XzdProjectManagerApprovalBo extends BaseEntity {
/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;
/**
* 单据编号
*/
// @NotBlank(message = "单据编号不能为空", groups = { AddGroup.class, EditGroup.class })
private String documentNumber;
/**
* 标题
*/
private String title;
/**
* 日期
*/
private Date recordDate;
/**
* 项目名称
*/
@NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String projectName;
/**
* 客户名称
*/
private String customerName;
/**
* 项目规模
*/
private String projectScale;
/**
* 合同金额
*/
private Long contractAmount;
/**
* 拟任项目经理
*/
private String prospectiveManagerName;
/**
* 身份证号
*/
private String idCardNumber;
/**
* 教育程度
*/
private String educationLevel;
/**
* 工作年限
*/
private Long workExperienceYears;
/**
* 专业年限
*/
private Long professionalExperienceYears;
/**
* 合同用工形式
*/
private String contractEmploymentType;
/**
* 资格证书
*/
private String qualificationCertificates;
/**
* 是否属于历史数据补录
*/
private String isHistoricalData;
/**
* 文件ID
*/
private String fileId;
/**
* 备注
*/
private String remark;
/**
* 审核状态
*/
private String auditStatus;
}

View File

@ -1,67 +0,0 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdSupplierEvaluation;
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;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 供应商评价业务对象 xzd_supplier_evaluation
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdSupplierEvaluation.class, reverseConvertGenerate = false)
public class XzdSupplierEvaluationBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 供应商ID
*/
private Long supplierId;
/**
* 评价类型
*/
@NotBlank(message = "评价类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String evaluationType;
/**
* 评价内容
*/
@NotBlank(message = "评价内容不能为空", groups = { AddGroup.class, EditGroup.class })
private String evaluationContent;
/**
* 评价结果
*/
@NotBlank(message = "评价结果不能为空", groups = { AddGroup.class, EditGroup.class })
private String evaluationResult;
/**
* 评价人
*/
@NotBlank(message = "评价人不能为空", groups = { AddGroup.class, EditGroup.class })
private String evaluator;
/**
* 评价时间
*/
@NotNull(message = "评价时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date evaluationTime;
}

View File

@ -1,352 +0,0 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.*;
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;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import java.util.List;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
/**
* 供应商信息业务对象 xzd_supplier_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdSupplierInfo.class, reverseConvertGenerate = false)
public class XzdSupplierInfoBo extends BaseEntity {
/**
*
*/
private Long id;
/**
* 单位编号
*/
@NotBlank(message = "单位编号不能为空", groups = { AddGroup.class, EditGroup.class })
private String unitCode;
/**
* 单位名称
*/
@NotBlank(message = "单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String unitName;
/**
* 单位属性(字典)
*/
@NotBlank(message = "单位属性(字典)不能为空", groups = { AddGroup.class, EditGroup.class })
private String unitProperty;
/**
* 简称
*/
private String abbreviation;
/**
* 英文简称
*/
private String englishAbbreviation;
/**
* 助记码
*/
private String mnemonicCode;
/**
* 统一社会信用代码
*/
@NotBlank(message = "统一社会信用代码不能为空", groups = { AddGroup.class, EditGroup.class })
private String unifiedSocialCreditCode;
/**
* 税务登记号
*/
private String taxRegistrationNumber;
/**
* 证件类型
*/
private String certificateType;
/**
* 证件编号
*/
private String certificateNumber;
/**
* 国家
*/
private String country;
/**
* 省
*/
private String province;
/**
* 市
*/
private String city;
/**
* 区县
*/
private String districtCounty;
/**
* 行业类型
*/
private String industryType;
/**
* 上级单位
*/
private String superiorUnit;
/**
* 集团供应商0=否1=是)
*/
@NotNull(message = "集团供应商0=否1=是)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long isGroupSupplier;
/**
* 工商变更时间
*/
private Date industrialCommercialChangeTime;
/**
* 备注
*/
private String remarks;
/**
* 内部0=否1=是)
*/
private Long isInternal;
/**
* 黑名单0=否1=是)
*/
private Long isBlacklist;
/**
* 自动生成客户0=否1=是)
*/
private Long isAutoGenerateCustomer;
/**
* 单位成立日期
*/
private Date establishmentDate;
/**
* 纳税身份类型(字典)
*/
private String taxIdentityType;
/**
* 纳税人名称
*/
private String taxpayerName;
/**
* 税务银行行号
*/
private String taxBankCode;
/**
* 税务银行名称
*/
private String taxBankName;
/**
* 税务登记账号
*/
private String taxRegistrationAccount;
/**
* 税务登记地址
*/
private String taxRegistrationAddress;
/**
* 税务登记电话
*/
private String taxRegistrationPhone;
/**
* 注册资金
*/
private Long registeredCapital;
/**
* 注册时间
*/
private Date registrationTime;
/**
* 法人代表
*/
private String legalRepresentative;
/**
* 营业范围
*/
private String businessScope;
/**
* 币种(字典)
*/
private String currency;
/**
* 行业地位(字典)
*/
private String industryPosition;
/**
* 企业性质(字典)
*/
private String enterpriseNature;
/**
* 规模(字典)
*/
private String scale;
/**
* 网址
*/
private String website;
/**
* 邮箱
*/
private String email;
/**
* 资质信息
*/
private List<XzdSupplierQualification> qualifications;
/**
* 供应商补充信息
*/
private XzdSupplierSupplement supplement;
/**
* 地址信息
*/
private List<XzdAddressInfo> addresses;
/**
* 联系人信息
*/
private List<XzdContact> contacts;
/**
* 证照信息
*/
private List<XzdCertificateInfo> certificates;
/**
* 结算信息
*/
private XzdSettlementInfo settlement;
/**
* 业务信息
*/
private XzdBusinessInfo business;
/**
* 供应商类型
*/
private List<XzdCustomertypeInfo> customerTypes;
/**
* 供应物料
*/
private List<XzdSupplyMaterials> materials;
/**
* 供应商评价
*/
private List<XzdSupplierEvaluation> evaluations;
/**
* 项目信息
*/
private List<XzdProjectInfo> projects;
/**
* 合同信息
*/
private List<XzdContractInfo> contracts;
/**
* 分管部门
*/
private String fgbm;
/**
* 分管业务员
*/
private String fgywy;
/**
* 合格有效期开始时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date startTime;
/**
* 合格有效期结束时间
*/
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date endTime;
/**
* 审核状态0未审核1已审核
*/
private String shzt;
/**
* 冻结标志0未冻结1已冻结
*/
private String djzt;
/**
* 投标状态
*/
private String tbzt;
/**
* 分页大小
*/
private Integer pageSize;
/**
* 当前页数
*/
private Integer pageNum;
/**
* 排序列
*/
private String orderByColumn;
private Integer offset;
}

View File

@ -1,74 +0,0 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdSupplierQualification;
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;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 供应商资质信息业务对象 xzd_supplier_qualification
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdSupplierQualification.class, reverseConvertGenerate = false)
public class XzdSupplierQualificationBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 供应商ID
*/
@NotNull(message = "供应商ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long supplierId;
/**
* 资质名称
*/
@NotBlank(message = "资质名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String name;
/**
* 资质起始日期
*/
@NotNull(message = "资质起始日期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date beginTime;
/**
* 资质到期日期
*/
@NotNull(message = "资质到期日期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date endTime;
/**
* 文件路径
*/
@NotBlank(message = "文件路径不能为空", groups = { AddGroup.class, EditGroup.class })
private String fileUrl;
/**
* 文件ID
*/
@NotNull(message = "文件ID不能为空", groups = { AddGroup.class, EditGroup.class })
private Long fileId;
/**
* 备注
*/
@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
private String remark;
}

View File

@ -1,150 +0,0 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdSupplierSupplement;
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;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
/**
* 供应商信息补充业务对象 xzd_supplier_supplement
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdSupplierSupplement.class, reverseConvertGenerate = false)
public class XzdSupplierSupplementBo extends BaseEntity {
/**
*
*/
private Long id;
/**
* 供应商ID
*/
private Long supplierId;
/**
* 供应商状态
*/
@NotBlank(message = "供应商状态不能为空", groups = { AddGroup.class, EditGroup.class })
private String supplierStatus;
/**
* 供应商等级
*/
@NotBlank(message = "供应商等级不能为空", groups = { AddGroup.class, EditGroup.class })
private String supplierLevel;
/**
* 分管部门
*/
@NotBlank(message = "分管部门不能为空", groups = { AddGroup.class, EditGroup.class })
private String responsibleDepartment;
/**
* 分管业务员
*/
@NotBlank(message = "分管业务员不能为空", groups = { AddGroup.class, EditGroup.class })
private String responsibleSalesman;
/**
* 归属组织
*/
@NotBlank(message = "归属组织不能为空", groups = { AddGroup.class, EditGroup.class })
private String belongingOrganization;
/**
* 创建者
*/
@NotBlank(message = "创建者不能为空", groups = { AddGroup.class, EditGroup.class })
private String creator;
/**
* 创建日期
*/
@NotNull(message = "创建日期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date createDate;
/**
* 审核标志0未审核1已审核
*/
@NotNull(message = "审核标志0未审核1已审核不能为空", groups = { AddGroup.class, EditGroup.class })
private Long auditFlag;
/**
* 冻结标志0未冻结1已冻结
*/
@NotNull(message = "冻结标志0未冻结1已冻结不能为空", groups = { AddGroup.class, EditGroup.class })
private Long freezeFlag;
/**
* 冻结开始时间
*/
@NotNull(message = "冻结开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date freezeStartTime;
/**
* 冻结结束时间
*/
@NotNull(message = "冻结结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
private Date freezeEndTime;
/**
* 供应商主类型
*/
@NotBlank(message = "供应商主类型不能为空", groups = { AddGroup.class, EditGroup.class })
private String supplierMainType;
/**
* 默认财务组织
*/
@NotBlank(message = "默认财务组织不能为空", groups = { AddGroup.class, EditGroup.class })
private String defaultFinanceOrganization;
/**
* 投标状态
*/
@NotBlank(message = "投标状态不能为空", groups = { AddGroup.class, EditGroup.class })
private String biddingStatus;
/**
* 服务区域
*/
@NotBlank(message = "服务区域不能为空", groups = { AddGroup.class, EditGroup.class })
private String serviceArea;
/**
* 合格有效期
*/
@NotNull(message = "合格有效期不能为空", groups = { AddGroup.class, EditGroup.class })
private Date qualificationValidity;
/**
* 考核小组组长
*/
@NotBlank(message = "考核小组组长不能为空", groups = { AddGroup.class, EditGroup.class })
private String assessmentTeamLeader;
/**
* 考核小组成员
*/
@NotBlank(message = "考核小组成员不能为空", groups = { AddGroup.class, EditGroup.class })
private String assessmentTeamMembers;
/**
* 备案组织
*/
@NotBlank(message = "备案组织不能为空", groups = { AddGroup.class, EditGroup.class })
private String recordOrganization;
}

View File

@ -1,124 +0,0 @@
package org.dromara.xzd.domain.bo;
import org.dromara.xzd.domain.XzdSupplyMaterials;
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;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
/**
* 供应物料业务对象 _xzd_supply_materials
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XzdSupplyMaterials.class, reverseConvertGenerate = false)
public class XzdSupplyMaterialsBo extends BaseEntity {
/**
*
*/
@NotNull(message = "不能为空", groups = { EditGroup.class })
private Long id;
/**
* 供应商ID
*/
private Long supplierId;
/**
* 资源分类
*/
@NotBlank(message = "资源分类不能为空", groups = { AddGroup.class, EditGroup.class })
private String resourceCategory;
/**
* SKU编码
*/
@NotBlank(message = "SKU编码不能为空", groups = { AddGroup.class, EditGroup.class })
private String skuCode;
/**
* SKU名称
*/
@NotBlank(message = "SKU名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String skuName;
/**
* 规格
*/
@NotBlank(message = "规格不能为空", groups = { AddGroup.class, EditGroup.class })
private String specification;
/**
* 计量单位
*/
@NotBlank(message = "计量单位不能为空", groups = { AddGroup.class, EditGroup.class })
private String unitOfMeasure;
/**
* 供应商方物料编码
*/
@NotBlank(message = "供应商方物料编码不能为空", groups = { AddGroup.class, EditGroup.class })
private String supplierMaterialCode;
/**
* 供应商方物料名称
*/
@NotBlank(message = "供应商方物料名称不能为空", groups = { AddGroup.class, EditGroup.class })
private String supplierMaterialName;
/**
* 供应商方物料条形码
*/
@NotBlank(message = "供应商方物料条形码不能为空", groups = { AddGroup.class, EditGroup.class })
private String supplierMaterialBarcode;
/**
* 含税单价
*/
@NotNull(message = "含税单价不能为空", groups = { AddGroup.class, EditGroup.class })
private Long taxInclusiveUnitPrice;
/**
* 配额(%)
*/
@NotNull(message = "配额(%)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long quota;
/**
* 换货率(%)
*/
@NotNull(message = "换货率(%)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long exchangeRate;
/**
* 换货周期(天)
*/
@NotNull(message = "换货周期(天)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long exchangeCycle;
/**
* 交货周期(天)
*/
@NotNull(message = "交货周期(天)不能为空", groups = { AddGroup.class, EditGroup.class })
private Long deliveryCycle;
/**
* 付款条件
*/
@NotBlank(message = "付款条件不能为空", groups = { AddGroup.class, EditGroup.class })
private String paymentTerms;
/**
* 备注
*/
private String remarks;
}

View File

@ -1,148 +0,0 @@
package org.dromara.xzd.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.domain.XzdProjectManagerApproval;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 项目经理推荐及审批视图对象 xzd_project_manager_approval
*
* @author Lion Li
* @date 2025-10-10
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdProjectManagerApproval.class)
public class XzdProjectManagerApprovalVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;
/**
* 单据编号
*/
@ExcelProperty(value = "单据编号")
private String documentNumber;
/**
* 标题
*/
@ExcelProperty(value = "标题")
private String title;
/**
* 日期
*/
@ExcelProperty(value = "日期")
private Date recordDate;
/**
* 项目名称
*/
@ExcelProperty(value = "项目名称")
private String projectName;
/**
* 客户名称
*/
@ExcelProperty(value = "客户名称")
private String customerName;
/**
* 项目规模
*/
@ExcelProperty(value = "项目规模")
private String projectScale;
/**
* 合同金额
*/
@ExcelProperty(value = "合同金额")
private Long contractAmount;
/**
* 拟任项目经理
*/
@ExcelProperty(value = "拟任项目经理")
private String prospectiveManagerName;
/**
* 身份证号
*/
@ExcelProperty(value = "身份证号")
private String idCardNumber;
/**
* 教育程度
*/
@ExcelProperty(value = "教育程度")
private String educationLevel;
/**
* 工作年限
*/
@ExcelProperty(value = "工作年限")
private Long workExperienceYears;
/**
* 专业年限
*/
@ExcelProperty(value = "专业年限")
private Long professionalExperienceYears;
/**
* 合同用工形式
*/
@ExcelProperty(value = "合同用工形式")
private String contractEmploymentType;
/**
* 资格证书
*/
@ExcelProperty(value = "资格证书")
private String qualificationCertificates;
/**
* 是否属于历史数据补录
*/
@ExcelProperty(value = "是否属于历史数据补录")
private String isHistoricalData;
/**
* 文件ID
*/
@ExcelProperty(value = "文件ID")
private String fileId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
/**
* 审核状态
*/
@ExcelProperty(value = "审核状态")
private String auditStatus;
}

View File

@ -1,75 +0,0 @@
package org.dromara.xzd.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.domain.XzdSupplierEvaluation;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 供应商评价视图对象 xzd_supplier_evaluation
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdSupplierEvaluation.class)
public class XzdSupplierEvaluationVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 供应商ID
*/
private Long supplierId;
/**
* 评价类型
*/
@ExcelProperty(value = "评价类型")
private String evaluationType;
/**
* 评价内容
*/
@ExcelProperty(value = "评价内容")
private String evaluationContent;
/**
* 评价结果
*/
@ExcelProperty(value = "评价结果")
private String evaluationResult;
/**
* 评价人
*/
@ExcelProperty(value = "评价人")
private String evaluator;
/**
* 评价时间
*/
@ExcelProperty(value = "评价时间")
private Date evaluationTime;
}

View File

@ -1,417 +0,0 @@
package org.dromara.xzd.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.domain.*;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* 供应商信息视图对象 xzd_supplier_info
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdSupplierInfo.class)
public class XzdSupplierInfoVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 单位编号
*/
@ExcelProperty(value = "单位编号")
private String unitCode;
/**
* 单位名称
*/
@ExcelProperty(value = "单位名称")
private String unitName;
/**
* 单位属性(字典)
*/
@ExcelProperty(value = "单位属性", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "字=典")
private String unitProperty;
/**
* 简称
*/
@ExcelProperty(value = "简称")
private String abbreviation;
/**
* 英文简称
*/
@ExcelProperty(value = "英文简称")
private String englishAbbreviation;
/**
* 助记码
*/
@ExcelProperty(value = "助记码")
private String mnemonicCode;
/**
* 统一社会信用代码
*/
@ExcelProperty(value = "统一社会信用代码")
private String unifiedSocialCreditCode;
/**
* 税务登记号
*/
@ExcelProperty(value = "税务登记号")
private String taxRegistrationNumber;
/**
* 证件类型
*/
@ExcelProperty(value = "证件类型")
private String certificateType;
/**
* 证件编号
*/
@ExcelProperty(value = "证件编号")
private String certificateNumber;
/**
* 国家
*/
@ExcelProperty(value = "国家")
private String country;
/**
* 省
*/
@ExcelProperty(value = "")
private String province;
/**
* 市
*/
@ExcelProperty(value = "")
private String city;
/**
* 区县
*/
@ExcelProperty(value = "区县")
private String districtCounty;
/**
* 行业类型
*/
@ExcelProperty(value = "行业类型")
private String industryType;
/**
* 上级单位
*/
@ExcelProperty(value = "上级单位")
private String superiorUnit;
/**
* 集团供应商0=否1=是)
*/
@ExcelProperty(value = "集团供应商", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0==否1=是")
private Long isGroupSupplier;
/**
* 工商变更时间
*/
@ExcelProperty(value = "工商变更时间")
private Date industrialCommercialChangeTime;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remarks;
/**
* 内部0=否1=是)
*/
@ExcelProperty(value = "内部", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0==否1=是")
private Long isInternal;
/**
* 黑名单0=否1=是)
*/
@ExcelProperty(value = "黑名单", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0==否1=是")
private Long isBlacklist;
/**
* 自动生成客户0=否1=是)
*/
@ExcelProperty(value = "自动生成客户", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0==否1=是")
private Long isAutoGenerateCustomer;
/**
* 单位成立日期
*/
@ExcelProperty(value = "单位成立日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date establishmentDate;
/**
* 纳税身份类型(字典)
*/
@ExcelProperty(value = "纳税身份类型", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "字=典")
private String taxIdentityType;
/**
* 纳税人名称
*/
@ExcelProperty(value = "纳税人名称")
private String taxpayerName;
/**
* 税务银行行号
*/
@ExcelProperty(value = "税务银行行号")
private String taxBankCode;
/**
* 税务银行名称
*/
@ExcelProperty(value = "税务银行名称")
private String taxBankName;
/**
* 税务登记账号
*/
@ExcelProperty(value = "税务登记账号")
private String taxRegistrationAccount;
/**
* 税务登记地址
*/
@ExcelProperty(value = "税务登记地址")
private String taxRegistrationAddress;
/**
* 税务登记电话
*/
@ExcelProperty(value = "税务登记电话")
private String taxRegistrationPhone;
/**
* 注册资金
*/
@ExcelProperty(value = "注册资金")
private Long registeredCapital;
/**
* 注册时间
*/
@ExcelProperty(value = "注册时间")
private Date registrationTime;
/**
* 法人代表
*/
@ExcelProperty(value = "法人代表")
private String legalRepresentative;
/**
* 营业范围
*/
@ExcelProperty(value = "营业范围")
private String businessScope;
/**
* 币种(字典)
*/
@ExcelProperty(value = "币种", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "字=典")
private String currency;
/**
* 行业地位(字典)
*/
@ExcelProperty(value = "行业地位", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "字=典")
private String industryPosition;
/**
* 企业性质(字典)
*/
@ExcelProperty(value = "企业性质", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "字=典")
private String enterpriseNature;
/**
* 规模(字典)
*/
@ExcelProperty(value = "规模", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "字=典")
private String scale;
/**
* 网址
*/
@ExcelProperty(value = "网址")
private String website;
/**
* 邮箱
*/
@ExcelProperty(value = "邮箱")
private String email;
/**
* 资质信息
*/
private List<XzdSupplierQualification> qualifications;
/**
* 所属组织
*/
private String sszz;
/**
* 供应商补充信息
*/
private XzdSupplierSupplement supplement;
/**
* 分管部门
*/
private String fgbm;
/**
* 分管业务员
*/
private String fgywy;
/**
* 供应商状态
*/
private String gyszt;
/**
* 供应商类型
*/
private String gyslx;
/**
* 供应商等级
*/
private String gysdj;
/**
* 审核标志0未审核1已审核
*/
private String shbz;
/**
* 冻结标志0未冻结1已冻结
*/
private String djbz;
/**
* 投标状态
*/
private String tbzt;
/**
* 地址信息
*/
private List<XzdAddressInfo> addresses;
/**
* 联系人信息
*/
private List<XzdContact> contacts;
/**
* 主联系人姓名
*/
private String zlxrxm;
/**
* 主联系人手机
*/
private String zlxrsj;
/**
* 主联系人地址
*/
private String zlxrdz;
/**
* 证照信息
*/
private List<XzdCertificateInfo> certificates;
/**
* 结算信息
*/
private XzdSettlementInfo settlement;
/**
* 开户银行
*/
private String khyh;
/**
* 开户行账号
*/
private String khhzh;
/**
* 创建者
*/
private String createByUser;
private Long createBy;
private Date createTime;
private Date updateTime;
/**
* 业务信息
*/
private XzdBusinessInfo business;
/**
* 供应商类型
*/
private List<XzdCustomertypeInfo> customerTypes;
/**
* 供应物料
*/
private List<XzdSupplyMaterials> materials;
/**
* 供应商评价
*/
private List<XzdSupplierEvaluation> evaluations;
/**
* 项目信息
*/
private List<XzdProjectInfo> projects;
/**
* 合同信息
*/
private List<XzdContractInfo> contracts;
}

View File

@ -1,82 +0,0 @@
package org.dromara.xzd.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.domain.XzdSupplierQualification;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 供应商资质信息视图对象 xzd_supplier_qualification
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdSupplierQualification.class)
public class XzdSupplierQualificationVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 供应商ID
*/
@ExcelProperty(value = "供应商ID")
private Long supplierId;
/**
* 资质名称
*/
@ExcelProperty(value = "资质名称")
private String name;
/**
* 资质起始日期
*/
@ExcelProperty(value = "资质起始日期")
private Date beginTime;
/**
* 资质到期日期
*/
@ExcelProperty(value = "资质到期日期")
private Date endTime;
/**
* 文件路径
*/
@ExcelProperty(value = "文件路径")
private String fileUrl;
/**
* 文件ID
*/
@ExcelProperty(value = "文件ID")
private Long fileId;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;
}

View File

@ -1,161 +0,0 @@
package org.dromara.xzd.domain.vo;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.xzd.domain.XzdSupplierSupplement;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 供应商信息补充视图对象 xzd_supplier_supplement
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdSupplierSupplement.class)
public class XzdSupplierSupplementVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 供应商ID
*/
private Long supplierId;
/**
* 供应商状态
*/
@ExcelProperty(value = "供应商状态")
private String supplierStatus;
/**
* 供应商等级
*/
@ExcelProperty(value = "供应商等级")
private String supplierLevel;
/**
* 分管部门
*/
@ExcelProperty(value = "分管部门")
private String responsibleDepartment;
/**
* 分管业务员
*/
@ExcelProperty(value = "分管业务员")
private String responsibleSalesman;
/**
* 归属组织
*/
@ExcelProperty(value = "归属组织")
private String belongingOrganization;
/**
* 创建者
*/
@ExcelProperty(value = "创建者")
private String creator;
/**
* 创建日期
*/
@ExcelProperty(value = "创建日期")
private Date createDate;
/**
* 审核标志0未审核1已审核
*/
@ExcelProperty(value = "审核标志", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=未审核1已审核")
private Long auditFlag;
/**
* 冻结标志0未冻结1已冻结
*/
@ExcelProperty(value = "冻结标志", converter = ExcelDictConvert.class)
@ExcelDictFormat(readConverterExp = "0=未冻结1已冻结")
private Long freezeFlag;
/**
* 冻结开始时间
*/
@ExcelProperty(value = "冻结开始时间")
private Date freezeStartTime;
/**
* 冻结结束时间
*/
@ExcelProperty(value = "冻结结束时间")
private Date freezeEndTime;
/**
* 供应商主类型
*/
@ExcelProperty(value = "供应商主类型")
private String supplierMainType;
/**
* 默认财务组织
*/
@ExcelProperty(value = "默认财务组织")
private String defaultFinanceOrganization;
/**
* 投标状态
*/
@ExcelProperty(value = "投标状态")
private String biddingStatus;
/**
* 服务区域
*/
@ExcelProperty(value = "服务区域")
private String serviceArea;
/**
* 合格有效期
*/
@ExcelProperty(value = "合格有效期")
private Date qualificationValidity;
/**
* 考核小组组长
*/
@ExcelProperty(value = "考核小组组长")
private String assessmentTeamLeader;
/**
* 考核小组成员
*/
@ExcelProperty(value = "考核小组成员")
private String assessmentTeamMembers;
/**
* 备案组织
*/
@ExcelProperty(value = "备案组织")
private String recordOrganization;
}

View File

@ -1,133 +0,0 @@
package org.dromara.xzd.domain.vo;
import org.dromara.xzd.domain.XzdSupplyMaterials;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
/**
* 供应物料视图对象 _xzd_supply_materials
*
* @author Lion Li
* @date 2025-09-30
*/
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = XzdSupplyMaterials.class)
public class XzdSupplyMaterialsVo implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ExcelProperty(value = "")
private Long id;
/**
* 供应商ID
*/
private Long supplierId;
/**
* 资源分类
*/
@ExcelProperty(value = "资源分类")
private String resourceCategory;
/**
* SKU编码
*/
@ExcelProperty(value = "SKU编码")
private String skuCode;
/**
* SKU名称
*/
@ExcelProperty(value = "SKU名称")
private String skuName;
/**
* 规格
*/
@ExcelProperty(value = "规格")
private String specification;
/**
* 计量单位
*/
@ExcelProperty(value = "计量单位")
private String unitOfMeasure;
/**
* 供应商方物料编码
*/
@ExcelProperty(value = "供应商方物料编码")
private String supplierMaterialCode;
/**
* 供应商方物料名称
*/
@ExcelProperty(value = "供应商方物料名称")
private String supplierMaterialName;
/**
* 供应商方物料条形码
*/
@ExcelProperty(value = "供应商方物料条形码")
private String supplierMaterialBarcode;
/**
* 含税单价
*/
@ExcelProperty(value = "含税单价")
private Long taxInclusiveUnitPrice;
/**
* 配额(%)
*/
@ExcelProperty(value = "配额(%)")
private Long quota;
/**
* 换货率(%)
*/
@ExcelProperty(value = "换货率(%)")
private Long exchangeRate;
/**
* 换货周期(天)
*/
@ExcelProperty(value = "换货周期(天)")
private Long exchangeCycle;
/**
* 交货周期(天)
*/
@ExcelProperty(value = "交货周期(天)")
private Long deliveryCycle;
/**
* 付款条件
*/
@ExcelProperty(value = "付款条件")
private String paymentTerms;
/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remarks;
}

View File

@ -1,15 +0,0 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdProjectManagerApproval;
import org.dromara.xzd.domain.vo.XzdProjectManagerApprovalVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 项目经理推荐及审批Mapper接口
*
* @author Lion Li
* @date 2025-10-10
*/
public interface XzdProjectManagerApprovalMapper extends BaseMapperPlus<XzdProjectManagerApproval, XzdProjectManagerApprovalVo> {
}

View File

@ -1,15 +0,0 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdProject;
import org.dromara.xzd.domain.vo.XzdProjectVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 项目信息Mapper接口
*
* @author Lion Li
* @date 2025-10-10
*/
public interface XzdProjectMapper extends BaseMapperPlus<XzdProject, XzdProjectVo> {
}

View File

@ -1,15 +0,0 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdSupplierEvaluation;
import org.dromara.xzd.domain.vo.XzdSupplierEvaluationVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 供应商评价Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdSupplierEvaluationMapper extends BaseMapperPlus<XzdSupplierEvaluation, XzdSupplierEvaluationVo> {
}

View File

@ -1,25 +0,0 @@
package org.dromara.xzd.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.xzd.domain.XzdSupplierInfo;
import org.dromara.xzd.domain.bo.XzdSupplierInfoBo;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import java.util.List;
/**
* 供应商信息Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdSupplierInfoMapper extends BaseMapperPlus<XzdSupplierInfo, XzdSupplierInfoVo> {
List<XzdSupplierInfoVo> search(@Param("bo")XzdSupplierInfoBo bo);
}

View File

@ -1,15 +0,0 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdSupplierQualification;
import org.dromara.xzd.domain.vo.XzdSupplierQualificationVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 供应商资质信息Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdSupplierQualificationMapper extends BaseMapperPlus<XzdSupplierQualification, XzdSupplierQualificationVo> {
}

View File

@ -1,15 +0,0 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdSupplierSupplement;
import org.dromara.xzd.domain.vo.XzdSupplierSupplementVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 供应商信息补充Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdSupplierSupplementMapper extends BaseMapperPlus<XzdSupplierSupplement, XzdSupplierSupplementVo> {
}

View File

@ -1,15 +0,0 @@
package org.dromara.xzd.mapper;
import org.dromara.xzd.domain.XzdSupplyMaterials;
import org.dromara.xzd.domain.vo.XzdSupplyMaterialsVo;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
/**
* 供应物料Mapper接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface XzdSupplyMaterialsMapper extends BaseMapperPlus<XzdSupplyMaterials, XzdSupplyMaterialsVo> {
}

View File

@ -1,70 +0,0 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdProjectManagerApprovalVo;
import org.dromara.xzd.domain.bo.XzdProjectManagerApprovalBo;
import org.dromara.xzd.domain.XzdProjectManagerApproval;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 项目经理推荐及审批Service接口
*
* @author Lion Li
* @date 2025-10-10
*/
public interface IXzdProjectManagerApprovalService extends IService<XzdProjectManagerApproval>{
/**
* 查询项目经理推荐及审批
*
* @param id 主键
* @return 项目经理推荐及审批
*/
XzdProjectManagerApprovalVo queryById(Long id);
/**
* 分页查询项目经理推荐及审批列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 项目经理推荐及审批分页列表
*/
TableDataInfo<XzdProjectManagerApprovalVo> queryPageList(XzdProjectManagerApprovalBo bo, PageQuery pageQuery);
/**
* 查询符合条件的项目经理推荐及审批列表
*
* @param bo 查询条件
* @return 项目经理推荐及审批列表
*/
List<XzdProjectManagerApprovalVo> queryList(XzdProjectManagerApprovalBo bo);
/**
* 新增项目经理推荐及审批
*
* @param bo 项目经理推荐及审批
* @return 是否新增成功
*/
Boolean insertByBo(XzdProjectManagerApprovalBo bo);
/**
* 修改项目经理推荐及审批
*
* @param bo 项目经理推荐及审批
* @return 是否修改成功
*/
Boolean updateByBo(XzdProjectManagerApprovalBo bo);
/**
* 校验并批量删除项目经理推荐及审批信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -1,70 +0,0 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdSupplierEvaluationVo;
import org.dromara.xzd.domain.bo.XzdSupplierEvaluationBo;
import org.dromara.xzd.domain.XzdSupplierEvaluation;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 供应商评价Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdSupplierEvaluationService extends IService<XzdSupplierEvaluation>{
/**
* 查询供应商评价
*
* @param id 主键
* @return 供应商评价
*/
XzdSupplierEvaluationVo queryById(Long id);
/**
* 分页查询供应商评价列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商评价分页列表
*/
TableDataInfo<XzdSupplierEvaluationVo> queryPageList(XzdSupplierEvaluationBo bo, PageQuery pageQuery);
/**
* 查询符合条件的供应商评价列表
*
* @param bo 查询条件
* @return 供应商评价列表
*/
List<XzdSupplierEvaluationVo> queryList(XzdSupplierEvaluationBo bo);
/**
* 新增供应商评价
*
* @param bo 供应商评价
* @return 是否新增成功
*/
Boolean insertByBo(XzdSupplierEvaluationBo bo);
/**
* 修改供应商评价
*
* @param bo 供应商评价
* @return 是否修改成功
*/
Boolean updateByBo(XzdSupplierEvaluationBo bo);
/**
* 校验并批量删除供应商评价信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -1,76 +0,0 @@
package org.dromara.xzd.service;
import org.dromara.common.core.domain.R;
import org.dromara.xzd.domain.vo.XzdCustomertypeInfoVo;
import org.dromara.xzd.domain.vo.XzdCustomertypeVo;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
import org.dromara.xzd.domain.bo.XzdSupplierInfoBo;
import org.dromara.xzd.domain.XzdSupplierInfo;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 供应商信息Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdSupplierInfoService extends IService<XzdSupplierInfo>{
/**
* 查询供应商信息
*
* @param id 主键
* @return 供应商信息
*/
XzdSupplierInfoVo queryById(Long id);
/**
* 分页查询供应商信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商信息分页列表
*/
TableDataInfo<XzdSupplierInfoVo> queryPageList(XzdSupplierInfoBo bo, PageQuery pageQuery);
/**
* 查询符合条件的供应商信息列表
*
* @param bo 查询条件
* @return 供应商信息列表
*/
List<XzdSupplierInfoVo> queryList(XzdSupplierInfoBo bo);
/**
* 新增供应商信息
*
* @param bo 供应商信息
* @return 是否新增成功
*/
Boolean insertByBo(XzdSupplierInfoBo bo);
/**
* 修改供应商信息
*
* @param bo 供应商信息
* @return 是否修改成功
*/
Boolean updateByBo(XzdSupplierInfoBo bo);
/**
* 校验并批量删除供应商信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
R<List<XzdCustomertypeVo>> typeList();
}

View File

@ -1,70 +0,0 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdSupplierQualificationVo;
import org.dromara.xzd.domain.bo.XzdSupplierQualificationBo;
import org.dromara.xzd.domain.XzdSupplierQualification;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 供应商资质信息Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdSupplierQualificationService extends IService<XzdSupplierQualification>{
/**
* 查询供应商资质信息
*
* @param id 主键
* @return 供应商资质信息
*/
XzdSupplierQualificationVo queryById(Long id);
/**
* 分页查询供应商资质信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商资质信息分页列表
*/
TableDataInfo<XzdSupplierQualificationVo> queryPageList(XzdSupplierQualificationBo bo, PageQuery pageQuery);
/**
* 查询符合条件的供应商资质信息列表
*
* @param bo 查询条件
* @return 供应商资质信息列表
*/
List<XzdSupplierQualificationVo> queryList(XzdSupplierQualificationBo bo);
/**
* 新增供应商资质信息
*
* @param bo 供应商资质信息
* @return 是否新增成功
*/
Boolean insertByBo(XzdSupplierQualificationBo bo);
/**
* 修改供应商资质信息
*
* @param bo 供应商资质信息
* @return 是否修改成功
*/
Boolean updateByBo(XzdSupplierQualificationBo bo);
/**
* 校验并批量删除供应商资质信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -1,70 +0,0 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdSupplierSupplementVo;
import org.dromara.xzd.domain.bo.XzdSupplierSupplementBo;
import org.dromara.xzd.domain.XzdSupplierSupplement;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 供应商信息补充Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdSupplierSupplementService extends IService<XzdSupplierSupplement>{
/**
* 查询供应商信息补充
*
* @param id 主键
* @return 供应商信息补充
*/
XzdSupplierSupplementVo queryById(Long id);
/**
* 分页查询供应商信息补充列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商信息补充分页列表
*/
TableDataInfo<XzdSupplierSupplementVo> queryPageList(XzdSupplierSupplementBo bo, PageQuery pageQuery);
/**
* 查询符合条件的供应商信息补充列表
*
* @param bo 查询条件
* @return 供应商信息补充列表
*/
List<XzdSupplierSupplementVo> queryList(XzdSupplierSupplementBo bo);
/**
* 新增供应商信息补充
*
* @param bo 供应商信息补充
* @return 是否新增成功
*/
Boolean insertByBo(XzdSupplierSupplementBo bo);
/**
* 修改供应商信息补充
*
* @param bo 供应商信息补充
* @return 是否修改成功
*/
Boolean updateByBo(XzdSupplierSupplementBo bo);
/**
* 校验并批量删除供应商信息补充信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -1,70 +0,0 @@
package org.dromara.xzd.service;
import org.dromara.xzd.domain.vo.XzdSupplyMaterialsVo;
import org.dromara.xzd.domain.bo.XzdSupplyMaterialsBo;
import org.dromara.xzd.domain.XzdSupplyMaterials;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Collection;
import java.util.List;
/**
* 供应物料Service接口
*
* @author Lion Li
* @date 2025-09-30
*/
public interface IXzdSupplyMaterialsService extends IService<XzdSupplyMaterials>{
/**
* 查询供应物料
*
* @param id 主键
* @return 供应物料
*/
XzdSupplyMaterialsVo queryById(Long id);
/**
* 分页查询供应物料列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应物料分页列表
*/
TableDataInfo<XzdSupplyMaterialsVo> queryPageList(XzdSupplyMaterialsBo bo, PageQuery pageQuery);
/**
* 查询符合条件的供应物料列表
*
* @param bo 查询条件
* @return 供应物料列表
*/
List<XzdSupplyMaterialsVo> queryList(XzdSupplyMaterialsBo bo);
/**
* 新增供应物料
*
* @param bo 供应物料
* @return 是否新增成功
*/
Boolean insertByBo(XzdSupplyMaterialsBo bo);
/**
* 修改供应物料
*
* @param bo 供应物料
* @return 是否修改成功
*/
Boolean updateByBo(XzdSupplyMaterialsBo bo);
/**
* 校验并批量删除供应物料信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
}

View File

@ -1,163 +0,0 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdProjectManagerApprovalBo;
import org.dromara.xzd.domain.vo.XzdProjectManagerApprovalVo;
import org.dromara.xzd.domain.XzdProjectManagerApproval;
import org.dromara.xzd.mapper.XzdProjectManagerApprovalMapper;
import org.dromara.xzd.service.IXzdProjectManagerApprovalService;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 项目经理推荐及审批Service业务层处理
*
* @author Lion Li
* @date 2025-10-10
*/
@RequiredArgsConstructor
@Service
public class XzdProjectManagerApprovalServiceImpl extends ServiceImpl<XzdProjectManagerApprovalMapper, XzdProjectManagerApproval> implements IXzdProjectManagerApprovalService {
private final XzdProjectManagerApprovalMapper baseMapper;
@Autowired
private SysOssServiceImpl sysOssService;
/**
* 查询项目经理推荐及审批
*
* @param id 主键
* @return 项目经理推荐及审批
*/
@Override
public XzdProjectManagerApprovalVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询项目经理推荐及审批列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 项目经理推荐及审批分页列表
*/
@Override
public TableDataInfo<XzdProjectManagerApprovalVo> queryPageList(XzdProjectManagerApprovalBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdProjectManagerApproval> lqw = buildQueryWrapper(bo);
Page<XzdProjectManagerApprovalVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的项目经理推荐及审批列表
*
* @param bo 查询条件
* @return 项目经理推荐及审批列表
*/
@Override
public List<XzdProjectManagerApprovalVo> queryList(XzdProjectManagerApprovalBo bo) {
LambdaQueryWrapper<XzdProjectManagerApproval> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdProjectManagerApproval> buildQueryWrapper(XzdProjectManagerApprovalBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdProjectManagerApproval> lqw = Wrappers.lambdaQuery();
lqw.eq(bo.getId() != null, XzdProjectManagerApproval::getId, bo.getId());
lqw.orderByDesc(XzdProjectManagerApproval::getId);
lqw.eq(StringUtils.isNotBlank(bo.getDocumentNumber()), XzdProjectManagerApproval::getDocumentNumber, bo.getDocumentNumber());
lqw.between(params.get("beginRecordDate") != null && params.get("endRecordDate") != null,
XzdProjectManagerApproval::getRecordDate ,params.get("beginRecordDate"), params.get("endRecordDate"));
lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdProjectManagerApproval::getProjectName, bo.getProjectName());
lqw.like(StringUtils.isNotBlank(bo.getCustomerName()), XzdProjectManagerApproval::getCustomerName, bo.getCustomerName());
lqw.like(StringUtils.isNotBlank(bo.getProspectiveManagerName()), XzdProjectManagerApproval::getProspectiveManagerName, bo.getProspectiveManagerName());
lqw.eq(StringUtils.isNotBlank(bo.getQualificationCertificates()), XzdProjectManagerApproval::getQualificationCertificates, bo.getQualificationCertificates());
return lqw;
}
/**
* 新增项目经理推荐及审批
*
* @param bo 项目经理推荐及审批
* @return 是否新增成功
*/
@Transactional
@Override
public Boolean insertByBo(XzdProjectManagerApprovalBo bo) {
XzdProjectManagerApproval add = MapstructUtils.convert(bo, XzdProjectManagerApproval.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
//生成过后更新单据编号为ID
add.setDocumentNumber(add.getId().toString());
baseMapper.updateById(add);
return flag;
}
/**
* 修改项目经理推荐及审批
*
* @param bo 项目经理推荐及审批
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdProjectManagerApprovalBo bo) {
//先通过BO中ID获取老数据的文件ID
XzdProjectManagerApprovalVo approvalVo = baseMapper.selectVoById(bo.getId());
if (!approvalVo.getFileId().equals(bo.getFileId())){
//如果不一样则先删除旧的再更新
sysOssService.deleteWithValidByIds(List.of(Long.valueOf(approvalVo.getFileId())), false);
}
XzdProjectManagerApproval update = MapstructUtils.convert(bo, XzdProjectManagerApproval.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdProjectManagerApproval entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除项目经理推荐及审批信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Transactional
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
//删除文件
for (Long id : ids) {
XzdProjectManagerApprovalVo vo = baseMapper.selectVoById(id);
if (vo == null){
continue;
}
sysOssService.deleteWithValidByIds(List.of(Long.valueOf(vo.getFileId())), false);
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -1,135 +0,0 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdSupplierEvaluationBo;
import org.dromara.xzd.domain.vo.XzdSupplierEvaluationVo;
import org.dromara.xzd.domain.XzdSupplierEvaluation;
import org.dromara.xzd.mapper.XzdSupplierEvaluationMapper;
import org.dromara.xzd.service.IXzdSupplierEvaluationService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 供应商评价Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdSupplierEvaluationServiceImpl extends ServiceImpl<XzdSupplierEvaluationMapper, XzdSupplierEvaluation> implements IXzdSupplierEvaluationService {
private final XzdSupplierEvaluationMapper baseMapper;
/**
* 查询供应商评价
*
* @param id 主键
* @return 供应商评价
*/
@Override
public XzdSupplierEvaluationVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询供应商评价列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商评价分页列表
*/
@Override
public TableDataInfo<XzdSupplierEvaluationVo> queryPageList(XzdSupplierEvaluationBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdSupplierEvaluation> lqw = buildQueryWrapper(bo);
Page<XzdSupplierEvaluationVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的供应商评价列表
*
* @param bo 查询条件
* @return 供应商评价列表
*/
@Override
public List<XzdSupplierEvaluationVo> queryList(XzdSupplierEvaluationBo bo) {
LambdaQueryWrapper<XzdSupplierEvaluation> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdSupplierEvaluation> buildQueryWrapper(XzdSupplierEvaluationBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdSupplierEvaluation> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdSupplierEvaluation::getId);
lqw.eq(StringUtils.isNotBlank(bo.getEvaluationType()), XzdSupplierEvaluation::getEvaluationType, bo.getEvaluationType());
lqw.eq(StringUtils.isNotBlank(bo.getEvaluationContent()), XzdSupplierEvaluation::getEvaluationContent, bo.getEvaluationContent());
lqw.eq(StringUtils.isNotBlank(bo.getEvaluationResult()), XzdSupplierEvaluation::getEvaluationResult, bo.getEvaluationResult());
lqw.eq(StringUtils.isNotBlank(bo.getEvaluator()), XzdSupplierEvaluation::getEvaluator, bo.getEvaluator());
lqw.eq(bo.getEvaluationTime() != null, XzdSupplierEvaluation::getEvaluationTime, bo.getEvaluationTime());
return lqw;
}
/**
* 新增供应商评价
*
* @param bo 供应商评价
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdSupplierEvaluationBo bo) {
XzdSupplierEvaluation add = MapstructUtils.convert(bo, XzdSupplierEvaluation.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改供应商评价
*
* @param bo 供应商评价
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdSupplierEvaluationBo bo) {
XzdSupplierEvaluation update = MapstructUtils.convert(bo, XzdSupplierEvaluation.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdSupplierEvaluation entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除供应商评价信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -1,762 +0,0 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.dromara.common.satoken.utils.LoginHelper;
import org.dromara.system.domain.vo.SysUserVo;
import org.dromara.system.service.impl.SysOssServiceImpl;
import org.dromara.system.service.impl.SysUserServiceImpl;
import org.dromara.xzd.domain.*;
import org.dromara.xzd.domain.bo.XzdSupplierQualificationBo;
import org.dromara.xzd.domain.vo.XzdCustomertypeInfoVo;
import org.dromara.xzd.domain.vo.XzdCustomertypeVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdSupplierInfoBo;
import org.dromara.xzd.domain.vo.XzdSupplierInfoVo;
import org.dromara.xzd.mapper.XzdSupplierInfoMapper;
import org.dromara.xzd.service.IXzdSupplierInfoService;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 供应商信息Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdSupplierInfoServiceImpl extends ServiceImpl<XzdSupplierInfoMapper, XzdSupplierInfo> implements IXzdSupplierInfoService {
private final XzdSupplierInfoMapper baseMapper;
@Autowired
private XzdSupplierQualificationServiceImpl xzdSupplierQualificationService;
@Autowired
private XzdSupplierSupplementServiceImpl xzdSupplierSupplementService;
@Autowired
private XzdAddressInfoServiceImpl xzdAddressInfoService;
@Autowired
private XzdContactServiceImpl xzdContactService;
@Autowired
private XzdCertificateInfoServiceImpl xzdCertificateInfoService;
@Autowired
private XzdSettlementInfoServiceImpl xzdSettlementInfoService;
@Autowired
private XzdBusinessInfoServiceImpl xzdBusinessInfoService;
@Autowired
private XzdCustomertypeInfoServiceImpl xzdCustomertypeInfoService;
@Autowired
private XzdSupplyMaterialsServiceImpl xzdSupplyMaterialsService;
@Autowired
private XzdSupplierEvaluationServiceImpl xzdSupplierEvaluationService;
@Autowired
private XzdProjectInfoServiceImpl xzdProjectInfoService;
@Autowired
private XzdContractInfoServiceImpl xzdContractInfoService;
@Autowired
private XzdCustomertypeServiceImpl xzdCustomertypeService;
@Autowired
private SysUserServiceImpl sysUserService;
@Autowired
private SysOssServiceImpl sysOssService;
/**
* 查询供应商信息
*
* @param id 主键
* @return 供应商信息
*/
@Override
public XzdSupplierInfoVo queryById(Long id){
XzdSupplierInfoVo xzdSupplierInfoVo = baseMapper.selectVoById(id);
List<XzdSupplierInfoVo> xzdSupplierInfoVo1 = List.of(xzdSupplierInfoVo);
setValue(xzdSupplierInfoVo1);
return xzdSupplierInfoVo1.getFirst();
}
/**
* 分页查询供应商信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商信息分页列表
*/
@Override
public TableDataInfo<XzdSupplierInfoVo> queryPageList(XzdSupplierInfoBo bo, PageQuery pageQuery) {
if(pageQuery.getPageNum() != null && pageQuery.getPageSize() != null) {
bo.setPageNum(pageQuery.getPageNum());
bo.setPageSize(pageQuery.getPageSize());
}else {
bo.setPageNum(1);
bo.setPageSize(10);
}
int i = (bo.getPageNum() - 1) * bo.getPageSize();
bo.setOffset(i);
List<XzdSupplierInfoVo> xzdSupplierInfoVos = baseMapper.search(bo);
// LambdaQueryWrapper<XzdSupplierInfo> lqw = buildQueryWrapper(bo);
// Page<XzdSupplierInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
// setValue(result.getRecords());
return TableDataInfo.build(xzdSupplierInfoVos);
}
/**
* 查询符合条件的供应商信息列表
*
* @param bo 查询条件
* @return 供应商信息列表
*/
@Override
public List<XzdSupplierInfoVo> queryList(XzdSupplierInfoBo bo) {
LambdaQueryWrapper<XzdSupplierInfo> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdSupplierInfo> buildQueryWrapper(XzdSupplierInfoBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdSupplierInfo> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdSupplierInfo::getId);
lqw.eq(StringUtils.isNotBlank(bo.getUnitCode()), XzdSupplierInfo::getUnitCode, bo.getUnitCode());
lqw.like(StringUtils.isNotBlank(bo.getUnitName()), XzdSupplierInfo::getUnitName, bo.getUnitName());
lqw.eq(StringUtils.isNotBlank(bo.getUnitProperty()), XzdSupplierInfo::getUnitProperty, bo.getUnitProperty());
lqw.eq(StringUtils.isNotBlank(bo.getAbbreviation()), XzdSupplierInfo::getAbbreviation, bo.getAbbreviation());
lqw.eq(StringUtils.isNotBlank(bo.getEnglishAbbreviation()), XzdSupplierInfo::getEnglishAbbreviation, bo.getEnglishAbbreviation());
lqw.eq(StringUtils.isNotBlank(bo.getMnemonicCode()), XzdSupplierInfo::getMnemonicCode, bo.getMnemonicCode());
lqw.eq(StringUtils.isNotBlank(bo.getUnifiedSocialCreditCode()), XzdSupplierInfo::getUnifiedSocialCreditCode, bo.getUnifiedSocialCreditCode());
lqw.eq(StringUtils.isNotBlank(bo.getTaxRegistrationNumber()), XzdSupplierInfo::getTaxRegistrationNumber, bo.getTaxRegistrationNumber());
lqw.eq(StringUtils.isNotBlank(bo.getCertificateType()), XzdSupplierInfo::getCertificateType, bo.getCertificateType());
lqw.eq(StringUtils.isNotBlank(bo.getCertificateNumber()), XzdSupplierInfo::getCertificateNumber, bo.getCertificateNumber());
lqw.eq(StringUtils.isNotBlank(bo.getCountry()), XzdSupplierInfo::getCountry, bo.getCountry());
lqw.eq(StringUtils.isNotBlank(bo.getProvince()), XzdSupplierInfo::getProvince, bo.getProvince());
lqw.eq(StringUtils.isNotBlank(bo.getCity()), XzdSupplierInfo::getCity, bo.getCity());
lqw.eq(StringUtils.isNotBlank(bo.getDistrictCounty()), XzdSupplierInfo::getDistrictCounty, bo.getDistrictCounty());
lqw.eq(StringUtils.isNotBlank(bo.getIndustryType()), XzdSupplierInfo::getIndustryType, bo.getIndustryType());
lqw.eq(StringUtils.isNotBlank(bo.getSuperiorUnit()), XzdSupplierInfo::getSuperiorUnit, bo.getSuperiorUnit());
lqw.eq(bo.getIsGroupSupplier() != null, XzdSupplierInfo::getIsGroupSupplier, bo.getIsGroupSupplier());
lqw.eq(bo.getIndustrialCommercialChangeTime() != null, XzdSupplierInfo::getIndustrialCommercialChangeTime, bo.getIndustrialCommercialChangeTime());
lqw.eq(StringUtils.isNotBlank(bo.getRemarks()), XzdSupplierInfo::getRemarks, bo.getRemarks());
lqw.eq(bo.getIsInternal() != null, XzdSupplierInfo::getIsInternal, bo.getIsInternal());
lqw.eq(bo.getIsBlacklist() != null, XzdSupplierInfo::getIsBlacklist, bo.getIsBlacklist());
lqw.eq(bo.getIsAutoGenerateCustomer() != null, XzdSupplierInfo::getIsAutoGenerateCustomer, bo.getIsAutoGenerateCustomer());
lqw.eq(bo.getEstablishmentDate() != null, XzdSupplierInfo::getEstablishmentDate, bo.getEstablishmentDate());
lqw.eq(StringUtils.isNotBlank(bo.getTaxIdentityType()), XzdSupplierInfo::getTaxIdentityType, bo.getTaxIdentityType());
lqw.like(StringUtils.isNotBlank(bo.getTaxpayerName()), XzdSupplierInfo::getTaxpayerName, bo.getTaxpayerName());
lqw.eq(StringUtils.isNotBlank(bo.getTaxBankCode()), XzdSupplierInfo::getTaxBankCode, bo.getTaxBankCode());
lqw.like(StringUtils.isNotBlank(bo.getTaxBankName()), XzdSupplierInfo::getTaxBankName, bo.getTaxBankName());
lqw.eq(StringUtils.isNotBlank(bo.getTaxRegistrationAccount()), XzdSupplierInfo::getTaxRegistrationAccount, bo.getTaxRegistrationAccount());
lqw.eq(StringUtils.isNotBlank(bo.getTaxRegistrationAddress()), XzdSupplierInfo::getTaxRegistrationAddress, bo.getTaxRegistrationAddress());
lqw.eq(StringUtils.isNotBlank(bo.getTaxRegistrationPhone()), XzdSupplierInfo::getTaxRegistrationPhone, bo.getTaxRegistrationPhone());
lqw.eq(bo.getRegisteredCapital() != null, XzdSupplierInfo::getRegisteredCapital, bo.getRegisteredCapital());
lqw.eq(bo.getRegistrationTime() != null, XzdSupplierInfo::getRegistrationTime, bo.getRegistrationTime());
lqw.eq(StringUtils.isNotBlank(bo.getLegalRepresentative()), XzdSupplierInfo::getLegalRepresentative, bo.getLegalRepresentative());
lqw.eq(StringUtils.isNotBlank(bo.getBusinessScope()), XzdSupplierInfo::getBusinessScope, bo.getBusinessScope());
lqw.eq(StringUtils.isNotBlank(bo.getCurrency()), XzdSupplierInfo::getCurrency, bo.getCurrency());
lqw.eq(StringUtils.isNotBlank(bo.getIndustryPosition()), XzdSupplierInfo::getIndustryPosition, bo.getIndustryPosition());
lqw.eq(StringUtils.isNotBlank(bo.getEnterpriseNature()), XzdSupplierInfo::getEnterpriseNature, bo.getEnterpriseNature());
lqw.eq(StringUtils.isNotBlank(bo.getScale()), XzdSupplierInfo::getScale, bo.getScale());
lqw.eq(StringUtils.isNotBlank(bo.getWebsite()), XzdSupplierInfo::getWebsite, bo.getWebsite());
lqw.eq(StringUtils.isNotBlank(bo.getEmail()), XzdSupplierInfo::getEmail, bo.getEmail());
return lqw;
}
/**
* 新增供应商信息
*
* @param bo 供应商信息
* @return 是否新增成功
*/
@Transactional
@Override
public Boolean insertByBo(XzdSupplierInfoBo bo) {
XzdSupplierInfo add = MapstructUtils.convert(bo, XzdSupplierInfo.class);
validEntityBeforeSave(add);
if (add == null){
log.warn("转换对象类型失败");
return false;
}
boolean flag = baseMapper.insert(add) > 0;
if (!flag) {
return false;
}
bo.setId(add.getId());
//处理资质信息
if (bo.getQualifications() != null && !bo.getQualifications().isEmpty()){
for (XzdSupplierQualification qualification : bo.getQualifications()) {
qualification.setSupplierId(add.getId());
}
xzdSupplierQualificationService.saveBatch(bo.getQualifications());
}
//处理供应商信息补充
if (bo.getSupplement() != null){
bo.getSupplement().setSupplierId(add.getId());
if (LoginHelper.getLoginUser() != null){
bo.getSupplement().setCreator(LoginHelper.getLoginUser().getNickname());
}else {
bo.getSupplement().setCreator("暂无");
}
xzdSupplierSupplementService.save(bo.getSupplement());
}
//处理地址信息
if (bo.getAddresses()!= null && !bo.getAddresses().isEmpty()){
for (XzdAddressInfo address : bo.getAddresses()) {
address.setType("2");
address.setCustomerinformationId(add.getId());
}
xzdAddressInfoService.saveBatch(bo.getAddresses());
}
//处理联系人信息
if (bo.getContacts()!=null && !bo.getContacts().isEmpty()){
for (XzdContact contact : bo.getContacts()) {
contact.setType("2");
contact.setCustomerinformationId(add.getId());
}
xzdContactService.saveBatch(bo.getContacts());
}
//处理证照信息
if (bo.getCertificates()!= null && !bo.getCertificates().isEmpty()){
for (XzdCertificateInfo certificate : bo.getCertificates()) {
certificate.setType("2");
certificate.setCustomerinformationId(add.getId());
}
xzdCertificateInfoService.saveBatch(bo.getCertificates());
}
//处理结算信息
if (bo.getSettlement()!= null){
bo.getSettlement().setType("2");
bo.getSettlement().setCustomerinformationId(add.getId());
xzdSettlementInfoService.save(bo.getSettlement());
}
//处理业务信息
if (bo.getBusiness() != null){
bo.getBusiness().setType("2");
bo.getBusiness().setCustomerinformationId(add.getId());
xzdBusinessInfoService.save(bo.getBusiness());
}
//处理供应商类型
if (bo.getCustomerTypes() != null && !bo.getCustomerTypes().isEmpty()){
for (XzdCustomertypeInfo customerType : bo.getCustomerTypes()) {
customerType.setType("2");
customerType.setCustomerinformationId(add.getId());
}
xzdCustomertypeInfoService.saveBatch(bo.getCustomerTypes());
}
//处理供应物料
if (bo.getMaterials()!= null && !bo.getMaterials().isEmpty()){
for (XzdSupplyMaterials material : bo.getMaterials()) {
material.setSupplierId(add.getId());
}
xzdSupplyMaterialsService.saveBatch(bo.getMaterials());
}
//供应商评价
if (bo.getEvaluations()!= null && !bo.getEvaluations().isEmpty()){
for (XzdSupplierEvaluation evaluation : bo.getEvaluations()) {
evaluation.setSupplierId(add.getId());
}
xzdSupplierEvaluationService.saveBatch(bo.getEvaluations());
}
//项目信息
if (bo.getProjects()!= null && !bo.getProjects().isEmpty()){
for (XzdProjectInfo project : bo.getProjects()) {
project.setCustomerinformationId(add.getId());
project.setType("2");
}
xzdProjectInfoService.saveBatch(bo.getProjects());
}
//合同信息
if (bo.getContracts()!= null && !bo.getContracts().isEmpty()){
for (XzdContractInfo contract : bo.getContracts()) {
contract.setType("2");
contract.setCustomerinformationId(add.getId());
}
xzdContractInfoService.saveBatch(bo.getContracts());
}
return true;
}
/**
* 修改供应商信息
*
* @param bo 供应商信息
* @return 是否修改成功
*/
@Override
@Transactional
public Boolean updateByBo(XzdSupplierInfoBo bo) {
XzdSupplierInfo update = MapstructUtils.convert(bo, XzdSupplierInfo.class);
validEntityBeforeSave(update);
boolean b = baseMapper.updateById(update) > 0;
//处理资质信息更新
List<XzdSupplierQualification> qualifications = bo.getQualifications();
for (XzdSupplierQualification qualification : qualifications) {
qualification.setSupplierId(update.getId());
}
xzdSupplierQualificationService.saveOrUpdateBatch(qualifications);
//处理供应商信息补充
if (bo.getSupplement() != null){
bo.getSupplement().setSupplierId(update.getId());
xzdSupplierSupplementService.saveOrUpdate(bo.getSupplement());
}
//处理地址信息
if (bo.getAddresses()!= null && !bo.getAddresses().isEmpty()){
for (XzdAddressInfo address : bo.getAddresses()) {
address.setType("2");
address.setCustomerinformationId(update.getId());
}
xzdAddressInfoService.saveOrUpdateBatch(bo.getAddresses());
}
//处理联系人信息
if (bo.getContacts()!=null && !bo.getContacts().isEmpty()){
for (XzdContact contact : bo.getContacts()) {
contact.setType("2");
contact.setCustomerinformationId(update.getId());
}
xzdContactService.saveOrUpdateBatch(bo.getContacts());
}
//处理证照信息
if (bo.getCertificates()!= null && !bo.getCertificates().isEmpty()){
for (XzdCertificateInfo certificate : bo.getCertificates()) {
certificate.setType("2");
certificate.setCustomerinformationId(update.getId());
}
xzdCertificateInfoService.saveOrUpdateBatch(bo.getCertificates());
}
//处理结算信息
if (bo.getSettlement()!= null){
bo.getSettlement().setType("2");
bo.getSettlement().setCustomerinformationId(update.getId());
xzdSettlementInfoService.saveOrUpdate(bo.getSettlement());
}
//处理业务信息
if (bo.getBusiness() != null){
bo.getBusiness().setType("2");
bo.getBusiness().setCustomerinformationId(update.getId());
xzdBusinessInfoService.saveOrUpdate(bo.getBusiness());
}
//处理供应商类型
if (bo.getCustomerTypes() != null && !bo.getCustomerTypes().isEmpty()){
//删除原来的再新增
LambdaQueryWrapper<XzdCustomertypeInfo> xzdCustomertypeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
xzdCustomertypeInfoLambdaQueryWrapper.eq(XzdCustomertypeInfo::getType,"2");
xzdCustomertypeInfoLambdaQueryWrapper.eq(XzdCustomertypeInfo::getCustomerinformationId, update.getId());
xzdCustomertypeInfoService.remove(xzdCustomertypeInfoLambdaQueryWrapper);
for (XzdCustomertypeInfo customerType : bo.getCustomerTypes()) {
customerType.setType("2");
customerType.setCustomerinformationId(update.getId());
}
xzdCustomertypeInfoService.saveBatch(bo.getCustomerTypes());
}
//处理供应物料
if (bo.getMaterials()!= null && !bo.getMaterials().isEmpty()){
for (XzdSupplyMaterials material : bo.getMaterials()) {
material.setSupplierId(update.getId());
}
xzdSupplyMaterialsService.saveOrUpdateBatch(bo.getMaterials());
}
//供应商评价
if (bo.getEvaluations()!= null && !bo.getEvaluations().isEmpty()){
for (XzdSupplierEvaluation evaluation : bo.getEvaluations()) {
evaluation.setSupplierId(update.getId());
}
xzdSupplierEvaluationService.saveOrUpdateBatch(bo.getEvaluations());
}
//项目信息
if (bo.getProjects()!= null && !bo.getProjects().isEmpty()){
for (XzdProjectInfo project : bo.getProjects()) {
project.setCustomerinformationId(update.getId());
project.setType("2");
}
xzdProjectInfoService.saveOrUpdateBatch(bo.getProjects());
}
//合同信息
if (bo.getContracts()!= null && !bo.getContracts().isEmpty()){
for (XzdContractInfo contract : bo.getContracts()) {
contract.setType("2");
contract.setCustomerinformationId(update.getId());
}
xzdContractInfoService.saveOrUpdateBatch(bo.getContracts());
}
return b;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdSupplierInfo entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除供应商信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
@Transactional
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
boolean b = baseMapper.deleteByIds(ids) > 0;
for (Long id : ids) {
XzdSupplierInfoVo vo = baseMapper.selectVoById(id);
if(vo == null){
continue;
}
//删除资质新信息
LambdaQueryWrapper<XzdSupplierQualification> qualificationLambdaQueryWrapper = new LambdaQueryWrapper<>();
qualificationLambdaQueryWrapper.eq(XzdSupplierQualification::getSupplierId, id);
//删除附件
List<XzdSupplierQualification> list1 = xzdSupplierQualificationService.list(qualificationLambdaQueryWrapper);
List<Long> fileIds = new ArrayList<>();
for (XzdSupplierQualification qualification : list1) {
if (qualification.getFileId() != null){
fileIds.add(qualification.getFileId());
}
}
if (!fileIds.isEmpty()){
sysOssService.deleteWithValidByIds(fileIds,false);
}
xzdSupplierQualificationService.remove(qualificationLambdaQueryWrapper);
//删除供应商信息补充
LambdaQueryWrapper<XzdSupplierSupplement> supplementLambdaQueryWrapper = new LambdaQueryWrapper<>();
supplementLambdaQueryWrapper.eq(XzdSupplierSupplement::getSupplierId, id);
xzdSupplierSupplementService.remove(supplementLambdaQueryWrapper);
//删除地址信息
LambdaQueryWrapper<XzdAddressInfo> addressInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
addressInfoLambdaQueryWrapper.eq(XzdAddressInfo::getType,"2");
addressInfoLambdaQueryWrapper.eq(XzdAddressInfo::getCustomerinformationId, id);
xzdAddressInfoService.remove(addressInfoLambdaQueryWrapper);
//删除联系人信息
LambdaQueryWrapper<XzdContact> contactLambdaQueryWrapper = new LambdaQueryWrapper<>();
contactLambdaQueryWrapper.eq(XzdContact::getType,"2");
contactLambdaQueryWrapper.eq(XzdContact::getCustomerinformationId, id);
//删除附件
fileIds = new ArrayList<>();
List<XzdContact> list2 = xzdContactService.list(contactLambdaQueryWrapper);
for (XzdContact xzdContact : list2) {
if (xzdContact.getAttachment() != null){
fileIds.add(Long.valueOf(xzdContact.getAttachment()));
}
}
if (!list2.isEmpty()){
sysOssService.deleteWithValidByIds(fileIds,false);
}
xzdContactService.remove(contactLambdaQueryWrapper);
//处理证照信息
LambdaQueryWrapper<XzdCertificateInfo> certificateInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
certificateInfoLambdaQueryWrapper.eq(XzdCertificateInfo::getType,"2");
certificateInfoLambdaQueryWrapper.eq(XzdCertificateInfo::getCustomerinformationId, id);
//删除附件
fileIds = new ArrayList<>();
List<XzdCertificateInfo> list3 = xzdCertificateInfoService.list(certificateInfoLambdaQueryWrapper);
for (XzdCertificateInfo value : list3) {
if (value.getAttachment() != null){
fileIds.add(Long.valueOf(value.getAttachment()));
}
}
if (!list2.isEmpty()){
sysOssService.deleteWithValidByIds(fileIds,false);
}
xzdCertificateInfoService.remove(certificateInfoLambdaQueryWrapper);
//处理结算信息
LambdaQueryWrapper<XzdSettlementInfo> settlementInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
settlementInfoLambdaQueryWrapper.eq(XzdSettlementInfo::getType,"2");
settlementInfoLambdaQueryWrapper.eq(XzdSettlementInfo::getCustomerinformationId, id);
xzdSettlementInfoService.remove(settlementInfoLambdaQueryWrapper);
//处理业务信息
LambdaQueryWrapper<XzdBusinessInfo> businessInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
businessInfoLambdaQueryWrapper.eq(XzdBusinessInfo::getType,"2");
businessInfoLambdaQueryWrapper.eq(XzdBusinessInfo::getCustomerinformationId, id);
xzdBusinessInfoService.remove(businessInfoLambdaQueryWrapper);
//处理供应商类型
LambdaQueryWrapper<XzdCustomertypeInfo> xzdCustomertypeInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
xzdCustomertypeInfoLambdaQueryWrapper.eq(XzdCustomertypeInfo::getType,"2");
xzdCustomertypeInfoLambdaQueryWrapper.eq(XzdCustomertypeInfo::getCustomerinformationId, id);
xzdCustomertypeInfoService.remove(xzdCustomertypeInfoLambdaQueryWrapper);
//处理供应物料
LambdaQueryWrapper<XzdSupplyMaterials> xzdSupplyMaterialsLambdaQueryWrapper = new LambdaQueryWrapper<>();
xzdSupplyMaterialsLambdaQueryWrapper.eq(XzdSupplyMaterials::getSupplierId, id);
xzdSupplyMaterialsService.remove(xzdSupplyMaterialsLambdaQueryWrapper);
//供应商评价
LambdaQueryWrapper<XzdSupplierEvaluation> evaluationLambdaQueryWrapper = new LambdaQueryWrapper<>();
evaluationLambdaQueryWrapper.eq(XzdSupplierEvaluation::getSupplierId, id);
xzdSupplierEvaluationService.remove(evaluationLambdaQueryWrapper);
//项目信息
LambdaQueryWrapper<XzdProjectInfo> projectInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
projectInfoLambdaQueryWrapper.eq(XzdProjectInfo::getCustomerinformationId, id);
projectInfoLambdaQueryWrapper.eq(XzdProjectInfo::getType, "2");
xzdProjectInfoService.remove(projectInfoLambdaQueryWrapper);
//合同信息
LambdaQueryWrapper<XzdContractInfo> contractInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
contractInfoLambdaQueryWrapper.eq(XzdContractInfo::getCustomerinformationId, id);
contractInfoLambdaQueryWrapper.eq(XzdContractInfo::getType, "2");
xzdContractInfoService.remove(contractInfoLambdaQueryWrapper);
}
return b;
}
@Override
public R<List<XzdCustomertypeVo>> typeList(){
LambdaQueryWrapper<XzdCustomertype> infoLambdaQueryWrapper = new LambdaQueryWrapper<>();
infoLambdaQueryWrapper.eq(XzdCustomertype::getType,"2");
infoLambdaQueryWrapper.isNull(XzdCustomertype::getPid);
List<XzdCustomertype> typeList = xzdCustomertypeService.list(infoLambdaQueryWrapper);
if (typeList == null || typeList.isEmpty()){
return R.fail("暂无数据");
}
XzdCustomertypeVo vo;
List<XzdCustomertypeVo> vos = new ArrayList<>();
for (XzdCustomertype type : typeList) {
vo = new XzdCustomertypeVo();
BeanUtils.copyProperties(type, vo);
//查询子节点
vos.add(vo);
}
getChildren(vos);
return R.ok(vos);
}
private void getChildren(List<XzdCustomertypeVo> list){
LambdaQueryWrapper<XzdCustomertype> queryWrapper = new LambdaQueryWrapper<>();
for (XzdCustomertypeVo vo : list) {
queryWrapper.clear();
queryWrapper.eq(XzdCustomertype::getPid,vo.getId());
List<XzdCustomertype> children = xzdCustomertypeService.list(queryWrapper);
if (children!= null && !children.isEmpty()){
//再次转换VO
List<XzdCustomertypeVo> vos = new ArrayList<>();
for (XzdCustomertype child : children) {
XzdCustomertypeVo temp = new XzdCustomertypeVo();
BeanUtils.copyProperties(child, temp);
vos.add(temp);
}
vo.setChildren(vos);
getChildren(vos);
}
}
}
private void setValue(List<XzdSupplierInfoVo> vos){
if (vos == null || vos.isEmpty()){
return;
}
for (XzdSupplierInfoVo vo : vos) {
//处理资质信息
LambdaQueryWrapper<XzdSupplierQualification> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(XzdSupplierQualification::getSupplierId,vo.getId());
List<XzdSupplierQualification> list = xzdSupplierQualificationService.list(queryWrapper);
if (list!= null && !list.isEmpty()){
vo.setQualifications(list);
}
//处理供应商补充信息
LambdaQueryWrapper<XzdSupplierSupplement> xzdSupplierSupplementLqw = new LambdaQueryWrapper<>();
xzdSupplierSupplementLqw.eq(XzdSupplierSupplement::getSupplierId,vo.getId());
XzdSupplierSupplement supplements = xzdSupplierSupplementService.getOne(xzdSupplierSupplementLqw);
if (supplements!= null){
vo.setSupplement( supplements);
vo.setSszz(supplements.getBelongingOrganization());
vo.setFgbm(supplements.getResponsibleDepartment());
vo.setFgywy(supplements.getResponsibleSalesman());
vo.setGyszt(supplements.getSupplierStatus());
vo.setGysdj(supplements.getSupplierLevel());
vo.setGyslx(supplements.getSupplierMainType());
vo.setDjbz(String.valueOf(supplements.getFreezeFlag()));
vo.setShbz(String.valueOf(supplements.getAuditFlag()));
vo.setTbzt(supplements.getBiddingStatus());
}else {
vo.setSszz("暂无数据");
vo.setFgbm("暂无数据");
vo.setFgywy("暂无数据");
vo.setGyszt("暂无数据");
vo.setGyslx("暂无数据");
vo.setGysdj("暂无数据");
vo.setShbz(null);
vo.setDjbz(null);
vo.setTbzt("暂无数据");
}
//处理地址信息
LambdaQueryWrapper<XzdAddressInfo> addressInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
addressInfoLambdaQueryWrapper.eq(XzdAddressInfo::getCustomerinformationId,vo.getId()).eq(XzdAddressInfo::getType,"2");
List<XzdAddressInfo> addressInfos = xzdAddressInfoService.list(addressInfoLambdaQueryWrapper);
if (addressInfos!= null && !addressInfos.isEmpty()){
vo.setAddresses(addressInfos);
}
//处理联系人信息
LambdaQueryWrapper<XzdContact> contactLambdaQueryWrapper = new LambdaQueryWrapper<>();
contactLambdaQueryWrapper.eq(XzdContact::getCustomerinformationId,vo.getId()).eq(XzdContact::getType,"2");
List<XzdContact> contacts = xzdContactService.list(contactLambdaQueryWrapper);
if (contacts!= null && !contacts.isEmpty()){
// vo.getContacts().addAll(contacts);
vo.setContacts(contacts);
}
//处理证照信息
LambdaQueryWrapper<XzdCertificateInfo> certificateInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
certificateInfoLambdaQueryWrapper.eq(XzdCertificateInfo::getCustomerinformationId,vo.getId()).eq(XzdCertificateInfo::getType,"2");
List<XzdCertificateInfo> certificates = xzdCertificateInfoService.list(certificateInfoLambdaQueryWrapper);
if (certificates!= null && !certificates.isEmpty()){
// vo.getCertificates().addAll(certificates);
vo.setCertificates( certificates);
}
//处理结算信息
LambdaQueryWrapper<XzdSettlementInfo> settlementInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
settlementInfoLambdaQueryWrapper.eq(XzdSettlementInfo::getCustomerinformationId,vo.getId()).eq(XzdSettlementInfo::getType,"2");
XzdSettlementInfo settlements = xzdSettlementInfoService.getOne(settlementInfoLambdaQueryWrapper);
if (settlements!= null){
vo.setSettlement(settlements);
vo.setKhyh(settlements.getOpeningBank());
vo.setKhhzh(settlements.getAccountNumber());
}else {
vo.setKhyh("暂无数据");
vo.setKhhzh("暂无数据");
}
//处理业务信息
LambdaQueryWrapper<XzdBusinessInfo> businessInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
businessInfoLambdaQueryWrapper.eq(XzdBusinessInfo::getCustomerinformationId,vo.getId()).eq(XzdBusinessInfo::getType,"2");
XzdBusinessInfo businessInfo = xzdBusinessInfoService.getOne(businessInfoLambdaQueryWrapper);
if (businessInfo!= null){
vo.setBusiness(businessInfo);
}
//处理供应商类型
LambdaQueryWrapper<XzdCustomertypeInfo> supplierTypeLambdaQueryWrapper = new LambdaQueryWrapper<>();
supplierTypeLambdaQueryWrapper.eq(XzdCustomertypeInfo::getCustomerinformationId,vo.getId()).eq(XzdCustomertypeInfo::getType,"2");
List<XzdCustomertypeInfo> supplierTypes = xzdCustomertypeInfoService.list(supplierTypeLambdaQueryWrapper);
if (supplierTypes!= null && !supplierTypes.isEmpty()){
// vo.getCustomerTypes().addAll(supplierTypes);
vo.setCustomerTypes(supplierTypes);
}
//处理供应物料
LambdaQueryWrapper<XzdSupplyMaterials> supplyMaterielLambdaQueryWrapper = new LambdaQueryWrapper<>();
supplyMaterielLambdaQueryWrapper.eq(XzdSupplyMaterials::getSupplierId,vo.getId());
List<XzdSupplyMaterials> materials = xzdSupplyMaterialsService.list(supplyMaterielLambdaQueryWrapper);
if (materials!= null && !materials.isEmpty()){
// vo.getMaterials().addAll(materials);
vo.setMaterials(materials);
}
//处理供应商评价
LambdaQueryWrapper<XzdSupplierEvaluation> evaluationLambdaQueryWrapper = new LambdaQueryWrapper<>();
evaluationLambdaQueryWrapper.eq(XzdSupplierEvaluation::getSupplierId,vo.getId());
List<XzdSupplierEvaluation> evaluations = xzdSupplierEvaluationService.list(evaluationLambdaQueryWrapper);
if (evaluations!= null && !evaluations.isEmpty()){
// vo.getEvaluations().addAll(evaluations);
vo.setEvaluations( evaluations);
}
//处理项目信息
LambdaQueryWrapper<XzdProjectInfo> projectInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
projectInfoLambdaQueryWrapper.eq(XzdProjectInfo::getCustomerinformationId,vo.getId());
List<XzdProjectInfo> projects = xzdProjectInfoService.list(projectInfoLambdaQueryWrapper);
if (projects!= null && !projects.isEmpty()){
// vo.getProjects().addAll(projects);
vo.setProjects(projects);
}
//处理合同信息
LambdaQueryWrapper<XzdContractInfo> contractInfoLambdaQueryWrapper = new LambdaQueryWrapper<>();
contractInfoLambdaQueryWrapper.eq(XzdContractInfo::getCustomerinformationId,vo.getId());
List<XzdContractInfo> contracts = xzdContractInfoService.list(contractInfoLambdaQueryWrapper);
if (contracts!= null && !contracts.isEmpty()){
// vo.getContracts().addAll(contracts);
vo.setContracts(contracts);
}
//处理创建者
SysUserVo sysUserVo = sysUserService.selectUserById(vo.getCreateBy());
if (sysUserVo != null){
vo.setCreateByUser(sysUserVo.getUserName());
}else {
vo.setCreateByUser("暂无");
}
}
}
}

View File

@ -1,136 +0,0 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdSupplierQualificationBo;
import org.dromara.xzd.domain.vo.XzdSupplierQualificationVo;
import org.dromara.xzd.domain.XzdSupplierQualification;
import org.dromara.xzd.mapper.XzdSupplierQualificationMapper;
import org.dromara.xzd.service.IXzdSupplierQualificationService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 供应商资质信息Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdSupplierQualificationServiceImpl extends ServiceImpl<XzdSupplierQualificationMapper, XzdSupplierQualification> implements IXzdSupplierQualificationService {
private final XzdSupplierQualificationMapper baseMapper;
/**
* 查询供应商资质信息
*
* @param id 主键
* @return 供应商资质信息
*/
@Override
public XzdSupplierQualificationVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询供应商资质信息列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商资质信息分页列表
*/
@Override
public TableDataInfo<XzdSupplierQualificationVo> queryPageList(XzdSupplierQualificationBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdSupplierQualification> lqw = buildQueryWrapper(bo);
Page<XzdSupplierQualificationVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的供应商资质信息列表
*
* @param bo 查询条件
* @return 供应商资质信息列表
*/
@Override
public List<XzdSupplierQualificationVo> queryList(XzdSupplierQualificationBo bo) {
LambdaQueryWrapper<XzdSupplierQualification> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdSupplierQualification> buildQueryWrapper(XzdSupplierQualificationBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdSupplierQualification> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdSupplierQualification::getId);
lqw.eq(bo.getSupplierId() != null, XzdSupplierQualification::getSupplierId, bo.getSupplierId());
lqw.like(StringUtils.isNotBlank(bo.getName()), XzdSupplierQualification::getName, bo.getName());
lqw.eq(bo.getBeginTime() != null, XzdSupplierQualification::getBeginTime, bo.getBeginTime());
lqw.eq(bo.getEndTime() != null, XzdSupplierQualification::getEndTime, bo.getEndTime());
lqw.eq(StringUtils.isNotBlank(bo.getFileUrl()), XzdSupplierQualification::getFileUrl, bo.getFileUrl());
lqw.eq(bo.getFileId() != null, XzdSupplierQualification::getFileId, bo.getFileId());
return lqw;
}
/**
* 新增供应商资质信息
*
* @param bo 供应商资质信息
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdSupplierQualificationBo bo) {
XzdSupplierQualification add = MapstructUtils.convert(bo, XzdSupplierQualification.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改供应商资质信息
*
* @param bo 供应商资质信息
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdSupplierQualificationBo bo) {
XzdSupplierQualification update = MapstructUtils.convert(bo, XzdSupplierQualification.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdSupplierQualification entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除供应商资质信息信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -1,149 +0,0 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdSupplierSupplementBo;
import org.dromara.xzd.domain.vo.XzdSupplierSupplementVo;
import org.dromara.xzd.domain.XzdSupplierSupplement;
import org.dromara.xzd.mapper.XzdSupplierSupplementMapper;
import org.dromara.xzd.service.IXzdSupplierSupplementService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 供应商信息补充Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdSupplierSupplementServiceImpl extends ServiceImpl<XzdSupplierSupplementMapper, XzdSupplierSupplement> implements IXzdSupplierSupplementService {
private final XzdSupplierSupplementMapper baseMapper;
/**
* 查询供应商信息补充
*
* @param id 主键
* @return 供应商信息补充
*/
@Override
public XzdSupplierSupplementVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询供应商信息补充列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应商信息补充分页列表
*/
@Override
public TableDataInfo<XzdSupplierSupplementVo> queryPageList(XzdSupplierSupplementBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdSupplierSupplement> lqw = buildQueryWrapper(bo);
Page<XzdSupplierSupplementVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的供应商信息补充列表
*
* @param bo 查询条件
* @return 供应商信息补充列表
*/
@Override
public List<XzdSupplierSupplementVo> queryList(XzdSupplierSupplementBo bo) {
LambdaQueryWrapper<XzdSupplierSupplement> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdSupplierSupplement> buildQueryWrapper(XzdSupplierSupplementBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdSupplierSupplement> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdSupplierSupplement::getId);
lqw.eq(StringUtils.isNotBlank(bo.getSupplierStatus()), XzdSupplierSupplement::getSupplierStatus, bo.getSupplierStatus());
lqw.eq(StringUtils.isNotBlank(bo.getSupplierLevel()), XzdSupplierSupplement::getSupplierLevel, bo.getSupplierLevel());
lqw.eq(StringUtils.isNotBlank(bo.getResponsibleDepartment()), XzdSupplierSupplement::getResponsibleDepartment, bo.getResponsibleDepartment());
lqw.eq(StringUtils.isNotBlank(bo.getResponsibleSalesman()), XzdSupplierSupplement::getResponsibleSalesman, bo.getResponsibleSalesman());
lqw.eq(StringUtils.isNotBlank(bo.getBelongingOrganization()), XzdSupplierSupplement::getBelongingOrganization, bo.getBelongingOrganization());
lqw.eq(StringUtils.isNotBlank(bo.getCreator()), XzdSupplierSupplement::getCreator, bo.getCreator());
lqw.eq(bo.getCreateDate() != null, XzdSupplierSupplement::getCreateDate, bo.getCreateDate());
lqw.eq(bo.getAuditFlag() != null, XzdSupplierSupplement::getAuditFlag, bo.getAuditFlag());
lqw.eq(bo.getFreezeFlag() != null, XzdSupplierSupplement::getFreezeFlag, bo.getFreezeFlag());
lqw.eq(bo.getFreezeStartTime() != null, XzdSupplierSupplement::getFreezeStartTime, bo.getFreezeStartTime());
lqw.eq(bo.getFreezeEndTime() != null, XzdSupplierSupplement::getFreezeEndTime, bo.getFreezeEndTime());
lqw.eq(StringUtils.isNotBlank(bo.getSupplierMainType()), XzdSupplierSupplement::getSupplierMainType, bo.getSupplierMainType());
lqw.eq(StringUtils.isNotBlank(bo.getDefaultFinanceOrganization()), XzdSupplierSupplement::getDefaultFinanceOrganization, bo.getDefaultFinanceOrganization());
lqw.eq(StringUtils.isNotBlank(bo.getBiddingStatus()), XzdSupplierSupplement::getBiddingStatus, bo.getBiddingStatus());
lqw.eq(StringUtils.isNotBlank(bo.getServiceArea()), XzdSupplierSupplement::getServiceArea, bo.getServiceArea());
lqw.eq(bo.getQualificationValidity() != null, XzdSupplierSupplement::getQualificationValidity, bo.getQualificationValidity());
lqw.eq(StringUtils.isNotBlank(bo.getAssessmentTeamLeader()), XzdSupplierSupplement::getAssessmentTeamLeader, bo.getAssessmentTeamLeader());
lqw.eq(StringUtils.isNotBlank(bo.getAssessmentTeamMembers()), XzdSupplierSupplement::getAssessmentTeamMembers, bo.getAssessmentTeamMembers());
lqw.eq(StringUtils.isNotBlank(bo.getRecordOrganization()), XzdSupplierSupplement::getRecordOrganization, bo.getRecordOrganization());
return lqw;
}
/**
* 新增供应商信息补充
*
* @param bo 供应商信息补充
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdSupplierSupplementBo bo) {
XzdSupplierSupplement add = MapstructUtils.convert(bo, XzdSupplierSupplement.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改供应商信息补充
*
* @param bo 供应商信息补充
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdSupplierSupplementBo bo) {
XzdSupplierSupplement update = MapstructUtils.convert(bo, XzdSupplierSupplement.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdSupplierSupplement entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除供应商信息补充信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -1,145 +0,0 @@
package org.dromara.xzd.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.dromara.common.core.utils.MapstructUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.mybatis.core.page.PageQuery;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import org.dromara.xzd.domain.bo.XzdSupplyMaterialsBo;
import org.dromara.xzd.domain.vo.XzdSupplyMaterialsVo;
import org.dromara.xzd.domain.XzdSupplyMaterials;
import org.dromara.xzd.mapper.XzdSupplyMaterialsMapper;
import org.dromara.xzd.service.IXzdSupplyMaterialsService;
import java.util.List;
import java.util.Map;
import java.util.Collection;
/**
* 供应物料Service业务层处理
*
* @author Lion Li
* @date 2025-09-30
*/
@RequiredArgsConstructor
@Service
public class XzdSupplyMaterialsServiceImpl extends ServiceImpl<XzdSupplyMaterialsMapper, XzdSupplyMaterials> implements IXzdSupplyMaterialsService {
private final XzdSupplyMaterialsMapper baseMapper;
/**
* 查询供应物料
*
* @param id 主键
* @return 供应物料
*/
@Override
public XzdSupplyMaterialsVo queryById(Long id){
return baseMapper.selectVoById(id);
}
/**
* 分页查询供应物料列表
*
* @param bo 查询条件
* @param pageQuery 分页参数
* @return 供应物料分页列表
*/
@Override
public TableDataInfo<XzdSupplyMaterialsVo> queryPageList(XzdSupplyMaterialsBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<XzdSupplyMaterials> lqw = buildQueryWrapper(bo);
Page<XzdSupplyMaterialsVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}
/**
* 查询符合条件的供应物料列表
*
* @param bo 查询条件
* @return 供应物料列表
*/
@Override
public List<XzdSupplyMaterialsVo> queryList(XzdSupplyMaterialsBo bo) {
LambdaQueryWrapper<XzdSupplyMaterials> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw);
}
private LambdaQueryWrapper<XzdSupplyMaterials> buildQueryWrapper(XzdSupplyMaterialsBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<XzdSupplyMaterials> lqw = Wrappers.lambdaQuery();
lqw.orderByDesc(XzdSupplyMaterials::getId);
lqw.eq(StringUtils.isNotBlank(bo.getResourceCategory()), XzdSupplyMaterials::getResourceCategory, bo.getResourceCategory());
lqw.eq(StringUtils.isNotBlank(bo.getSkuCode()), XzdSupplyMaterials::getSkuCode, bo.getSkuCode());
lqw.like(StringUtils.isNotBlank(bo.getSkuName()), XzdSupplyMaterials::getSkuName, bo.getSkuName());
lqw.eq(StringUtils.isNotBlank(bo.getSpecification()), XzdSupplyMaterials::getSpecification, bo.getSpecification());
lqw.eq(StringUtils.isNotBlank(bo.getUnitOfMeasure()), XzdSupplyMaterials::getUnitOfMeasure, bo.getUnitOfMeasure());
lqw.eq(StringUtils.isNotBlank(bo.getSupplierMaterialCode()), XzdSupplyMaterials::getSupplierMaterialCode, bo.getSupplierMaterialCode());
lqw.like(StringUtils.isNotBlank(bo.getSupplierMaterialName()), XzdSupplyMaterials::getSupplierMaterialName, bo.getSupplierMaterialName());
lqw.eq(StringUtils.isNotBlank(bo.getSupplierMaterialBarcode()), XzdSupplyMaterials::getSupplierMaterialBarcode, bo.getSupplierMaterialBarcode());
lqw.eq(bo.getTaxInclusiveUnitPrice() != null, XzdSupplyMaterials::getTaxInclusiveUnitPrice, bo.getTaxInclusiveUnitPrice());
lqw.eq(bo.getQuota() != null, XzdSupplyMaterials::getQuota, bo.getQuota());
lqw.eq(bo.getExchangeRate() != null, XzdSupplyMaterials::getExchangeRate, bo.getExchangeRate());
lqw.eq(bo.getExchangeCycle() != null, XzdSupplyMaterials::getExchangeCycle, bo.getExchangeCycle());
lqw.eq(bo.getDeliveryCycle() != null, XzdSupplyMaterials::getDeliveryCycle, bo.getDeliveryCycle());
lqw.eq(StringUtils.isNotBlank(bo.getPaymentTerms()), XzdSupplyMaterials::getPaymentTerms, bo.getPaymentTerms());
lqw.eq(StringUtils.isNotBlank(bo.getRemarks()), XzdSupplyMaterials::getRemarks, bo.getRemarks());
return lqw;
}
/**
* 新增供应物料
*
* @param bo 供应物料
* @return 是否新增成功
*/
@Override
public Boolean insertByBo(XzdSupplyMaterialsBo bo) {
XzdSupplyMaterials add = MapstructUtils.convert(bo, XzdSupplyMaterials.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 修改供应物料
*
* @param bo 供应物料
* @return 是否修改成功
*/
@Override
public Boolean updateByBo(XzdSupplyMaterialsBo bo) {
XzdSupplyMaterials update = MapstructUtils.convert(bo, XzdSupplyMaterials.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(XzdSupplyMaterials entity){
//TODO 做一些数据校验,如唯一约束
}
/**
* 校验并批量删除供应物料信息
*
* @param ids 待删除的主键集合
* @param isValid 是否进行有效性校验
* @return 是否删除成功
*/
@Override
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
if(isValid){
//TODO 做一些业务上的校验,判断是否需要校验
}
return baseMapper.deleteByIds(ids) > 0;
}
}

View File

@ -1,97 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.dromara.xzd.mapper.XzdSupplierInfoMapper">
<select id="search" resultType="org.dromara.xzd.domain.vo.XzdSupplierInfoVo">
SELECT
info.id,info.unit_code,info.unit_name,info.unified_social_credit_code,
supplement.belonging_organization as sszz,
settlement.opening_bank as khyh,
settlement.account_number as khhzh,
supplement.creator as createByUser,
supplement.create_date as createTime,
supplement.update_time as updateTime,
supplement.responsible_department as fgbm,
supplement.responsible_salesman as fgywy,
supplement.supplier_status as gyszt,
(select tp.customer_type FROM xzd_customertype_info ti LEFT JOIN xzd_customertype tp on ti.customertype_id = tp.id WHERE ti.primary_class like '1' LIMIT 1) as gyslx,
# type.customer_type as gyslx,
supplement.supplier_level as gysdj,
info.is_group_supplier as isGroupSupplier,
info.is_blacklist as isBlacklist,
supplement.audit_flag as shbz,
supplement.bidding_status as tbzt,
contact.name as zlxrxm,
contact.mobile_phone as zlxrsj,
contact.office_location as zlxrdz
FROM xzd_supplier_info as info
LEFT JOIN xzd_supplier_supplement as supplement ON info.id = supplement.supplier_id
LEFT JOIN xzd_settlement_info as settlement ON info.id = settlement.customerinformation_id
# LEFT JOIN xzd_customertype_info as typeInfo ON typeInfo.type like '2' AND info.id = typeInfo.customerinformation_id
# LEFT JOIN xzd_customertype as type ON typeInfo.customertype_id = type.id AND type.is_main_type = 1
LEFT JOIN xzd_contact as contact ON info.id = contact.customerinformation_id AND contact.type like '2' AND contact.is_main_contact = 1
<where>
<if test='bo.unifiedSocialCreditCode != null and bo.unifiedSocialCreditCode != ""'>
AND info.unified_social_credit_code = #{bo.unifiedSocialCreditCode}
</if>
<if test='bo.unitName != null and bo.unitName != ""'>
AND info.unit_name LIKE CONCAT('%', #{bo.unitName}, '%')
</if>
<if test='bo.fgbm != null and bo.fgbm != ""'>
AND supplement.responsible_department = #{bo.fgbm}
</if>
<if test='bo.fgywy != null and bo.fgywy != ""'>
AND supplement.responsible_salesman = #{bo.fgywy}
</if>
<if test='bo.startTime != null'>
AND supplement.create_date &gt;= #{bo.startTime}
</if>
<if test='bo.endTime != null'>
AND supplement.create_date &lt;= #{bo.endTime}
</if>
<if test='bo.shzt != null and bo.shzt != ""'>
AND supplement.audit_flag = #{bo.shzt}
</if>
<if test='bo.djzt != null and bo.djzt != ""'>
AND supplement.freeze_flag = #{bo.djzt}
</if>
<if test='bo.tbzt != null and bo.tbzt != ""'>
AND supplement.bidding_status = #{bo.tbzt}
</if>
<if test='bo.country != null and bo.country != ""'>
AND info.country = #{bo.country}
</if>
<if test='bo.province != null and bo.province != ""'>
AND info.province = #{bo.province}
</if>
<if test='bo.city != null and bo.city != ""'>
AND info.city = #{bo.city}
</if>
<if test='bo.districtCounty != null and bo.districtCounty != ""'>
AND info.district_county = #{bo.districtCounty}
</if>
</where>
<if test='bo.pageNum != null and bo.pageSize != null'>
LIMIT #{bo.pageSize} OFFSET #{bo.offset}
</if>
</select>
</mapper>