Compare commits
	
		
			3 Commits
		
	
	
		
			66d2f24256
			...
			6a200b391e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 6a200b391e | |||
| 6e0e867e57 | |||
| 69e8e4169b | 
| @ -300,7 +300,7 @@ dxf2GeoJson: | |||||||
|   file-name: main.exe |   file-name: main.exe | ||||||
| ys7: | ys7: | ||||||
|   app-key: 3acf9f1a43dc4209841e0893003db0a2 |   app-key: 3acf9f1a43dc4209841e0893003db0a2 | ||||||
|   app-secret: 09e29c70ae1161fbc3ce2030fc09ba2e |   app-secret: 4bbf3e9394f55d3af6e3af27b2d3db36 | ||||||
| # 斯巴达算法 | # 斯巴达算法 | ||||||
| sparta: | sparta: | ||||||
|   url: http://119.3.204.120:8040 |   url: http://119.3.204.120:8040 | ||||||
|  | |||||||
| @ -18,7 +18,6 @@ import org.dromara.contractor.service.ISubConstructionUserService; | |||||||
| import org.dromara.contractor.service.ISubUserSalaryDetailService; | import org.dromara.contractor.service.ISubUserSalaryDetailService; | ||||||
| import org.dromara.design.service.IDesTechnicalStandardService; | import org.dromara.design.service.IDesTechnicalStandardService; | ||||||
| import org.dromara.facility.domain.FacMatrix; | import org.dromara.facility.domain.FacMatrix; | ||||||
| import org.dromara.facility.domain.FacPhotovoltaicPanel; |  | ||||||
| import org.dromara.facility.service.IFacMatrixService; | import org.dromara.facility.service.IFacMatrixService; | ||||||
| import org.dromara.facility.service.IFacPhotovoltaicPanelPartsService; | import org.dromara.facility.service.IFacPhotovoltaicPanelPartsService; | ||||||
| import org.dromara.facility.service.IFacPhotovoltaicPanelService; | import org.dromara.facility.service.IFacPhotovoltaicPanelService; | ||||||
| @ -102,52 +101,6 @@ public class DemoTest { | |||||||
|     @Resource |     @Resource | ||||||
|     private IOutConstructionValueService constructionValueService; |     private IOutConstructionValueService constructionValueService; | ||||||
|  |  | ||||||
|     @Test |  | ||||||
|     void syncTest() { |  | ||||||
|         List<BusProject> projects = projectService.lambdaQuery() |  | ||||||
|             .eq(BusProject::getPId, 1968506669544656898L) |  | ||||||
|             .list(); |  | ||||||
|         Set<Long> projectIds = projects.stream().map(BusProject::getId).collect(Collectors.toSet()); |  | ||||||
|         List<FacPhotovoltaicPanel> zujian = photovoltaicPanelService.lambdaQuery() |  | ||||||
|             .eq(FacPhotovoltaicPanel::getProgressCategoryName, "组件安装") |  | ||||||
|             .in(FacPhotovoltaicPanel::getProjectId, projectIds) |  | ||||||
|             .list(); |  | ||||||
|         Map<Long, List<FacPhotovoltaicPanel>> zujianMap = zujian.stream() |  | ||||||
|             .collect(Collectors.groupingBy(FacPhotovoltaicPanel::getMatrixId)); |  | ||||||
|         List<PgsProgressCategory> zhijia = progressCategoryService.lambdaQuery() |  | ||||||
|             .eq(PgsProgressCategory::getName, "支架安装") |  | ||||||
|             .in(PgsProgressCategory::getProjectId, projectIds) |  | ||||||
|             .list(); |  | ||||||
|         Map<Long, List<PgsProgressCategory>> zhijiaMap = zhijia.stream() |  | ||||||
|             .collect(Collectors.groupingBy(PgsProgressCategory::getMatrixId)); |  | ||||||
|         List<FacPhotovoltaicPanel> newP = new ArrayList<>(); |  | ||||||
|         for (Map.Entry<Long, List<FacPhotovoltaicPanel>> entry : zujianMap.entrySet()) { |  | ||||||
|             Long key = entry.getKey(); |  | ||||||
|             List<FacPhotovoltaicPanel> panels = entry.getValue(); |  | ||||||
|             List<PgsProgressCategory> list = zhijiaMap.getOrDefault(key, new ArrayList<>()); |  | ||||||
|             if (CollUtil.isEmpty(list)) { |  | ||||||
|                 continue; |  | ||||||
|             } |  | ||||||
|             PgsProgressCategory zhi = list.getFirst(); |  | ||||||
|             List<FacPhotovoltaicPanel> panelList = panels.stream().map(panel -> { |  | ||||||
|                 FacPhotovoltaicPanel p = new FacPhotovoltaicPanel(); |  | ||||||
|                 p.setProjectId(panel.getProjectId()); |  | ||||||
|                 p.setMatrixId(panel.getMatrixId()); |  | ||||||
|                 p.setName(panel.getName()); |  | ||||||
|                 p.setPositions(panel.getPositions()); |  | ||||||
|                 p.setProgressCategoryId(zhi.getId()); |  | ||||||
|                 p.setProgressCategoryName(zhi.getName()); |  | ||||||
|                 p.setRemark(panel.getRemark()); |  | ||||||
|                 p.setCreateDept(panel.getCreateDept()); |  | ||||||
|                 p.setCreateBy(panel.getCreateBy()); |  | ||||||
|                 p.setUpdateBy(panel.getUpdateBy()); |  | ||||||
|                 return p; |  | ||||||
|             }).toList(); |  | ||||||
|             newP.addAll(panelList); |  | ||||||
|         } |  | ||||||
|         photovoltaicPanelService.saveBatch(newP); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     @Test |     @Test | ||||||
|     void testConstructionValue() { |     void testConstructionValue() { | ||||||
|  | |||||||
| @ -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; |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -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); |  | ||||||
| //    } |  | ||||||
| } |  | ||||||
| @ -76,8 +76,6 @@ import java.time.temporal.ChronoUnit; | |||||||
| import java.util.*; | import java.util.*; | ||||||
| import java.util.stream.Collectors; | import java.util.stream.Collectors; | ||||||
|  |  | ||||||
| import static org.dromara.project.domain.enums.BusAttendanceClockStatusEnum.ATTENDANCE_LIST; |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * 施工人员Service业务层处理 |  * 施工人员Service业务层处理 | ||||||
|  * |  * | ||||||
| @ -1131,7 +1129,6 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU | |||||||
|         } |         } | ||||||
|         //只查施工人员 |         //只查施工人员 | ||||||
|         lqw.eq(SubConstructionUser::getUserRole, "0"); |         lqw.eq(SubConstructionUser::getUserRole, "0"); | ||||||
|         lqw.isNotNull(SubConstructionUser::getTeamId); |  | ||||||
|         // 分页查询获取数据 |         // 分页查询获取数据 | ||||||
|         Page<SubConstructionUser> constructionUserPage = this.page(pageQuery.build(), lqw); |         Page<SubConstructionUser> constructionUserPage = this.page(pageQuery.build(), lqw); | ||||||
|         List<SubConstructionUser> constructionUserList = constructionUserPage.getRecords(); |         List<SubConstructionUser> constructionUserList = constructionUserPage.getRecords(); | ||||||
| @ -1197,12 +1194,8 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU | |||||||
|                                 unClockDays++; |                                 unClockDays++; | ||||||
|                             } |                             } | ||||||
|                         } |                         } | ||||||
|                         if((clockInStatus!=null && ATTENDANCE_LIST.contains(clockInStatus)) |  | ||||||
|                             || (clockOutStatus!=null && ATTENDANCE_LIST.contains(clockOutStatus))){ |  | ||||||
|                             attendanceDays++; |  | ||||||
|                         } |  | ||||||
|  |  | ||||||
|                     } |                     } | ||||||
|  |                     attendanceDays = dailyMap.size() - leaveDays; | ||||||
|                 } |                 } | ||||||
|             } |             } | ||||||
|             constructionUserAttendanceTotalResp.setAttendanceDays(attendanceDays); |             constructionUserAttendanceTotalResp.setAttendanceDays(attendanceDays); | ||||||
|  | |||||||
| @ -14,6 +14,7 @@ import org.dromara.common.core.utils.ObjectUtils; | |||||||
| import org.dromara.common.core.utils.StringUtils; | import org.dromara.common.core.utils.StringUtils; | ||||||
| import org.dromara.common.mybatis.core.page.PageQuery; | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
| import org.dromara.common.mybatis.core.page.TableDataInfo; | import org.dromara.common.mybatis.core.page.TableDataInfo; | ||||||
|  | import org.dromara.common.satoken.utils.LoginHelper; | ||||||
| import org.dromara.contractor.domain.SubConstructionUser; | import org.dromara.contractor.domain.SubConstructionUser; | ||||||
| import org.dromara.contractor.domain.SubContractor; | import org.dromara.contractor.domain.SubContractor; | ||||||
| import org.dromara.contractor.domain.dto.contractor.SubContractorCreateReq; | import org.dromara.contractor.domain.dto.contractor.SubContractorCreateReq; | ||||||
| @ -118,10 +119,7 @@ public class SubContractorServiceImpl extends ServiceImpl<SubContractorMapper, S | |||||||
|         // 数据校验 |         // 数据校验 | ||||||
|         validEntityBeforeSave(contractor); |         validEntityBeforeSave(contractor); | ||||||
|         String name = req.getName(); |         String name = req.getName(); | ||||||
|         Long count = this.lambdaQuery() |         Long count = this.lambdaQuery().eq(SubContractor::getName, name).count(); | ||||||
|             .eq(SubContractor::getName, name) |  | ||||||
|             .eq(SubContractor::getProjectId, req.getProjectId()) |  | ||||||
|             .count(); |  | ||||||
|         if (count > 0) { |         if (count > 0) { | ||||||
|             throw new ServiceException("分包单位名称重复", HttpStatus.BAD_REQUEST); |             throw new ServiceException("分包单位名称重复", HttpStatus.BAD_REQUEST); | ||||||
|         } |         } | ||||||
| @ -162,11 +160,7 @@ public class SubContractorServiceImpl extends ServiceImpl<SubContractorMapper, S | |||||||
|         } |         } | ||||||
|         // 判断名称是否重复 |         // 判断名称是否重复 | ||||||
|         if (!oldContractor.getName().equals(req.getName())) { |         if (!oldContractor.getName().equals(req.getName())) { | ||||||
|             Long count = this.lambdaQuery() |             Long count = this.lambdaQuery().eq(SubContractor::getName, req.getName()).count(); | ||||||
|                 .eq(SubContractor::getName, req.getName()) |  | ||||||
|                 .eq(SubContractor::getProjectId, req.getProjectId()) |  | ||||||
|                 .ne(SubContractor::getId, contractor.getId()) |  | ||||||
|                 .count(); |  | ||||||
|             if (count > 0) { |             if (count > 0) { | ||||||
|                 throw new ServiceException("分包单位名称重复", HttpStatus.BAD_REQUEST); |                 throw new ServiceException("分包单位名称重复", HttpStatus.BAD_REQUEST); | ||||||
|             } |             } | ||||||
|  | |||||||
| @ -353,9 +353,6 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl<BusBillo | |||||||
|         lqw.eq(BusBillofquantitiesVersions::getWorkOrderType, "3"); |         lqw.eq(BusBillofquantitiesVersions::getWorkOrderType, "3"); | ||||||
|         lqw.eq(BusBillofquantitiesVersions::getStatus, BusinessStatusEnum.FINISH.getStatus()); |         lqw.eq(BusBillofquantitiesVersions::getStatus, BusinessStatusEnum.FINISH.getStatus()); | ||||||
|         List<BusBillofquantitiesVersionsVo> result = baseMapper.selectVoList(lqw); |         List<BusBillofquantitiesVersionsVo> result = baseMapper.selectVoList(lqw); | ||||||
|         if (CollUtil.isEmpty(result)) { |  | ||||||
|             return Collections.emptyList(); |  | ||||||
|         } |  | ||||||
|         List<String> versionss = new ArrayList<>(); |         List<String> versionss = new ArrayList<>(); | ||||||
|         result.forEach(v -> versionss.add(v.getVersions())); |         result.forEach(v -> versionss.add(v.getVersions())); | ||||||
|         List<BusBillofquantities> busBillofquantities = busBillofquantitiesService.getBaseMapper().selectList(new LambdaQueryWrapper<BusBillofquantities>() |         List<BusBillofquantities> busBillofquantities = busBillofquantitiesService.getBaseMapper().selectList(new LambdaQueryWrapper<BusBillofquantities>() | ||||||
|  | |||||||
| @ -15,9 +15,6 @@ import org.dromara.common.log.enums.BusinessType; | |||||||
| import org.dromara.common.mybatis.core.page.PageQuery; | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
| import org.dromara.common.mybatis.core.page.TableDataInfo; | import org.dromara.common.mybatis.core.page.TableDataInfo; | ||||||
| import org.dromara.common.web.core.BaseController; | import org.dromara.common.web.core.BaseController; | ||||||
| import org.dromara.contractor.domain.dto.contractor.SubContractorQueryReq; |  | ||||||
| import org.dromara.contractor.domain.vo.contractor.SubContractorVo; |  | ||||||
| import org.dromara.contractor.service.ISubContractorService; |  | ||||||
| import org.dromara.materials.domain.dto.materials.MatMaterialsCreateReq; | import org.dromara.materials.domain.dto.materials.MatMaterialsCreateReq; | ||||||
| import org.dromara.materials.domain.dto.materials.MatMaterialsGisReq; | import org.dromara.materials.domain.dto.materials.MatMaterialsGisReq; | ||||||
| import org.dromara.materials.domain.dto.materials.MatMaterialsQueryReq; | import org.dromara.materials.domain.dto.materials.MatMaterialsQueryReq; | ||||||
| @ -43,8 +40,6 @@ public class MatMaterialsController extends BaseController { | |||||||
|  |  | ||||||
|     private final IMatMaterialsService materialsService; |     private final IMatMaterialsService materialsService; | ||||||
|  |  | ||||||
|     private final ISubContractorService contractorService; |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 查询材料列表 |      * 查询材料列表 | ||||||
|      */ |      */ | ||||||
| @ -160,13 +155,4 @@ public class MatMaterialsController extends BaseController { | |||||||
|                           @PathVariable Long[] ids) { |                           @PathVariable Long[] ids) { | ||||||
|         return toAjax(materialsService.deleteWithValidByIds(List.of(ids), true)); |         return toAjax(materialsService.deleteWithValidByIds(List.of(ids), true)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 查询分包单位列表 |  | ||||||
|      */ |  | ||||||
|     @SaCheckPermission("materials:materials:contractorList") |  | ||||||
|     @GetMapping("/contractorList") |  | ||||||
|     public R<List<SubContractorVo>> contractorList(SubContractorQueryReq req) { |  | ||||||
|         return R.ok(contractorService.queryList(req)); |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -94,13 +94,4 @@ public class MatMaterialsInventory extends BaseEntity { | |||||||
|      */ |      */ | ||||||
|     private String remark; |     private String remark; | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 操作人id |  | ||||||
|      */ |  | ||||||
|     private Long operatorId; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 分包单位id |  | ||||||
|      */ |  | ||||||
|     private Long recipientId; |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -114,22 +114,11 @@ public class BusAttendanceController extends BaseController { | |||||||
|         return toAjax(busAttendanceService.deleteWithValidByIds(List.of(ids), true)); |         return toAjax(busAttendanceService.deleteWithValidByIds(List.of(ids), true)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 查询项目施工人员前14天考勤状况 |  | ||||||
|      */ |  | ||||||
|     @SaCheckPermission("project:attendance:list") |  | ||||||
|     @GetMapping("/list/clockDate/twoWeek") |     @GetMapping("/list/clockDate/twoWeek") | ||||||
|     public R<List<BusAttendanceClockDateForTwoWeekVo>> getClockDateForTwoWeekList(Long projectId) { |     public R<List<BusAttendanceClockDateForTwoWeekVo>> getClockDateForTwoWeekList(Long projectId) { | ||||||
|         return R.ok(busAttendanceService.getClockDateForTwoWeekList(projectId)); |         return R.ok(busAttendanceService.getClockDateForTwoWeekList(projectId)); | ||||||
|     } |     } | ||||||
|     /** |  | ||||||
|      * 查询项目施工人员当天考勤状况 |  | ||||||
|      */ |  | ||||||
|     @SaCheckPermission("project:attendance:list") |  | ||||||
|     @GetMapping("/list/clockDate/today") |  | ||||||
|     public R<BusAttendanceClockDateForTwoWeekVo> getTodayAttendanceData(Long projectId) { |  | ||||||
|         return R.ok(busAttendanceService.getTodayAttendanceData(projectId)); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     @PostMapping("/exportList") |     @PostMapping("/exportList") | ||||||
|     public void exportList(AttendanceExportDto dto, HttpServletResponse response) { |     public void exportList(AttendanceExportDto dto, HttpServletResponse response) { | ||||||
|  | |||||||
| @ -1,7 +1,6 @@ | |||||||
| package org.dromara.project.controller.app; | package org.dromara.project.controller.app; | ||||||
|  |  | ||||||
| import cn.hutool.core.collection.CollectionUtil; | import cn.hutool.core.collection.CollectionUtil; | ||||||
| import com.baomidou.mybatisplus.core.metadata.IPage; |  | ||||||
| import com.baomidou.mybatisplus.core.toolkit.Wrappers; | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||||
| import jakarta.annotation.Resource; | import jakarta.annotation.Resource; | ||||||
| import jakarta.validation.constraints.NotNull; | import jakarta.validation.constraints.NotNull; | ||||||
| @ -129,8 +128,8 @@ public class BusAttendanceAppController extends BaseController { | |||||||
|      * 获取用户打卡异常记录 |      * 获取用户打卡异常记录 | ||||||
|      */ |      */ | ||||||
|     @GetMapping("/getAbnormalAttendance/{projectId}") |     @GetMapping("/getAbnormalAttendance/{projectId}") | ||||||
|     public TableDataInfo<BusAttendanceVo> getAbnormalAttendance(@NotNull @PathVariable("projectId") Long projectId, PageQuery pageQuery){ |     public R<List<BusAttendanceVo>> getAbnormalAttendance(@NotNull @PathVariable("projectId") Long projectId){ | ||||||
|         return attendanceService.getAbnormalAttendance(projectId,pageQuery); |         return R.ok(attendanceService.getAbnormalAttendance(projectId)); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|  | |||||||
| @ -140,14 +140,4 @@ public class BusLeave extends BaseEntity { | |||||||
|      */ |      */ | ||||||
|     private String auditStatus; |     private String auditStatus; | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 时间类型 1-天 2-小时 |  | ||||||
|      */ |  | ||||||
|     private String  timeType; |  | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 时间段类型 1-上午 2-下午 |  | ||||||
|      */ |  | ||||||
|     private String  periodType; |  | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -1,8 +1,8 @@ | |||||||
| package org.dromara.project.service; | package org.dromara.project.service; | ||||||
|  |  | ||||||
| import com.baomidou.mybatisplus.core.metadata.IPage; |  | ||||||
| import jakarta.servlet.http.HttpServletResponse; | import jakarta.servlet.http.HttpServletResponse; | ||||||
| import jakarta.validation.constraints.NotNull; | import jakarta.validation.constraints.NotNull; | ||||||
|  | import org.dromara.common.core.domain.R; | ||||||
| import org.dromara.project.domain.dto.attendance.*; | import org.dromara.project.domain.dto.attendance.*; | ||||||
| import org.dromara.project.domain.vo.BusAttendanceVo; | import org.dromara.project.domain.vo.BusAttendanceVo; | ||||||
| import org.dromara.project.domain.bo.BusAttendanceBo; | import org.dromara.project.domain.bo.BusAttendanceBo; | ||||||
| @ -13,9 +13,12 @@ import org.dromara.common.mybatis.core.page.PageQuery; | |||||||
| import com.baomidou.mybatisplus.extension.service.IService; | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
| import org.dromara.project.domain.vo.BusMonthAttendanceVo; | import org.dromara.project.domain.vo.BusMonthAttendanceVo; | ||||||
| import org.dromara.project.domain.vo.attendance.*; | import org.dromara.project.domain.vo.attendance.*; | ||||||
|  | import org.springframework.format.annotation.DateTimeFormat; | ||||||
| import org.springframework.web.bind.annotation.PathVariable; | import org.springframework.web.bind.annotation.PathVariable; | ||||||
|  | import org.springframework.web.bind.annotation.RequestParam; | ||||||
| import org.springframework.web.multipart.MultipartFile; | import org.springframework.web.multipart.MultipartFile; | ||||||
|  |  | ||||||
|  | import java.time.LocalDate; | ||||||
| import java.util.Collection; | import java.util.Collection; | ||||||
| import java.util.List; | import java.util.List; | ||||||
|  |  | ||||||
| @ -129,9 +132,9 @@ public interface IBusAttendanceService extends IService<BusAttendance>{ | |||||||
|     List<BusMonthAttendanceVo> getMonthAttendance(Long projectId, String  month); |     List<BusMonthAttendanceVo> getMonthAttendance(Long projectId, String  month); | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 获取用户打卡异常记录 |      * 获取用户指定月份的打卡记录 | ||||||
|      */ |      */ | ||||||
|     TableDataInfo<BusAttendanceVo> getAbnormalAttendance(@NotNull @PathVariable("projectId") Long projectId, PageQuery pageQuery); |     List<BusAttendanceVo> getAbnormalAttendance(@NotNull @PathVariable("projectId") Long projectId); | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 统计指定日期的打卡人员 |      * 统计指定日期的打卡人员 | ||||||
| @ -164,11 +167,6 @@ public interface IBusAttendanceService extends IService<BusAttendance>{ | |||||||
|      */ |      */ | ||||||
|     List<BusAttendanceClockDateForTwoWeekVo> getClockDateForTwoWeekList(Long projectId); |     List<BusAttendanceClockDateForTwoWeekVo> getClockDateForTwoWeekList(Long projectId); | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 获取项目当天的考勤数据 |  | ||||||
|      */ |  | ||||||
|     BusAttendanceClockDateForTwoWeekVo getTodayAttendanceData(Long projectId); |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 获取导出的考勤数据 |      * 获取导出的考勤数据 | ||||||
|      */ |      */ | ||||||
|  | |||||||
| @ -6,7 +6,6 @@ import cn.hutool.core.util.StrUtil; | |||||||
| import cn.hutool.json.JSONArray; | import cn.hutool.json.JSONArray; | ||||||
| import cn.hutool.json.JSONUtil; | import cn.hutool.json.JSONUtil; | ||||||
| import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||||
| import com.baomidou.mybatisplus.core.metadata.IPage; |  | ||||||
| import com.baomidou.mybatisplus.core.toolkit.Wrappers; | import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||||
| import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; | ||||||
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||||||
| @ -15,6 +14,7 @@ import jakarta.annotation.Resource; | |||||||
| import jakarta.servlet.http.HttpServletResponse; | import jakarta.servlet.http.HttpServletResponse; | ||||||
| import lombok.RequiredArgsConstructor; | import lombok.RequiredArgsConstructor; | ||||||
| import lombok.extern.slf4j.Slf4j; | import lombok.extern.slf4j.Slf4j; | ||||||
|  | import org.apache.poi.hssf.usermodel.HSSFWorkbook; | ||||||
| import org.apache.poi.ss.usermodel.*; | import org.apache.poi.ss.usermodel.*; | ||||||
| import org.apache.poi.ss.util.CellRangeAddress; | import org.apache.poi.ss.util.CellRangeAddress; | ||||||
| import org.apache.poi.xssf.usermodel.XSSFWorkbook; | import org.apache.poi.xssf.usermodel.XSSFWorkbook; | ||||||
| @ -64,8 +64,6 @@ import java.util.*; | |||||||
| import java.util.concurrent.CompletableFuture; | import java.util.concurrent.CompletableFuture; | ||||||
| import java.util.stream.Collectors; | import java.util.stream.Collectors; | ||||||
|  |  | ||||||
| import static org.dromara.project.domain.enums.BusAttendanceClockStatusEnum.ATTENDANCE_LIST; |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * 考勤Service业务层处理 |  * 考勤Service业务层处理 | ||||||
|  * |  * | ||||||
| @ -324,16 +322,18 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|  |  | ||||||
|             //打卡范围 |             //打卡范围 | ||||||
|             if (!checkInRange(req)) { |             if (!checkInRange(req)) { | ||||||
|                 throw new ServiceException("打卡位置不在范围内", HttpStatus.ERROR); |                 throw new ServiceException("打卡位置不在范围内", HttpStatus.BAD_REQUEST); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             //用户信息校验 |             //用户信息校验 | ||||||
|             SubConstructionUser constructionUser = constructionUserService.getBySysUserId(userId); |             SubConstructionUser constructionUser = constructionUserService.getBySysUserId(userId); | ||||||
|             if ("1".equals(constructionUser.getStatus())) { |             final String status = "1"; | ||||||
|                 throw new ServiceException("当前用户已离职", HttpStatus.ERROR); |             if (constructionUser.getStatus().equals(status)) { | ||||||
|  |                 throw new ServiceException("当前用户已离职", HttpStatus.BAD_REQUEST); | ||||||
|             } |             } | ||||||
|             if ("1".equals(constructionUser.getClock())) { |             final String noClock = "1"; | ||||||
|                 throw new ServiceException("当前用户已被禁止打卡", HttpStatus.ERROR); |             if (constructionUser.getClock().equals(noClock)) { | ||||||
|  |                 throw new ServiceException("当前用户已被禁止打卡", HttpStatus.BAD_REQUEST); | ||||||
|             } |             } | ||||||
|             // 判断用户是否已经被拉黑 |             // 判断用户是否已经被拉黑 | ||||||
|             constructionBlacklistService.validUserInBlacklist(constructionUser.getSysUserId(), req.getProjectId()); |             constructionBlacklistService.validUserInBlacklist(constructionUser.getSysUserId(), req.getProjectId()); | ||||||
| @ -342,27 +342,27 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|             try { |             try { | ||||||
|                 result = constructionUserService.faceComparison(file); |                 result = constructionUserService.faceComparison(file); | ||||||
|             } catch (Exception e) { |             } catch (Exception e) { | ||||||
|                 throw new ServiceException("人脸识别失败,请重新识别", HttpStatus.ERROR); |                 throw new ServiceException("人脸识别失败,请重新识别", HttpStatus.BAD_REQUEST); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             if (!result) { |             if (!result) { | ||||||
|                 throw new ServiceException("人脸识别失败,请重新识别", HttpStatus.ERROR); |                 throw new ServiceException("人脸识别失败,请重新识别", HttpStatus.BAD_REQUEST); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             //打卡规则 |             //打卡规则 | ||||||
|             BusAttendanceRuleVo busAttendanceRuleVo = attendanceRuleService.queryByProjectId(req.getProjectId()); |             BusAttendanceRuleVo busAttendanceRuleVo = attendanceRuleService.queryByProjectId(req.getProjectId()); | ||||||
|  |  | ||||||
|             if (busAttendanceRuleVo == null) { |             if (busAttendanceRuleVo == null) { | ||||||
|                 throw new ServiceException("未设置打卡规则", HttpStatus.ERROR); |                 throw new ServiceException("未设置打卡规则", HttpStatus.BAD_REQUEST); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|             // 考勤时间 |             // 考勤时间 | ||||||
|             //确定考勤日期 |             //确定考勤日期 | ||||||
|             LocalDate localDate = calculateAttendanceDate(now, busAttendanceRuleVo); |             LocalDate localDate = calculateAttendanceDate(now, busAttendanceRuleVo); | ||||||
|  |  | ||||||
| //            if (leaveService.isLeave(localDate, userId)) { |             if (leaveService.isLeave(localDate, userId)) { | ||||||
| //                throw new ServiceException("当前用户正在请假中", HttpStatus.ERROR); |                 throw new ServiceException("当前用户正在请假中", HttpStatus.BAD_REQUEST); | ||||||
| //            } |             } | ||||||
|  |  | ||||||
|             // 判断当前用户打卡状态 |             // 判断当前用户打卡状态 | ||||||
|  |  | ||||||
| @ -399,12 +399,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|                 // 记录打卡坐标 |                 // 记录打卡坐标 | ||||||
|                 attendance.setLat(req.getLat()); |                 attendance.setLat(req.getLat()); | ||||||
|                 attendance.setLng(req.getLng()); |                 attendance.setLng(req.getLng()); | ||||||
|                 try { |  | ||||||
|                 attendance.setClockLocation(JSTUtil.getLocationName(req.getLat(), req.getLng())); |                 attendance.setClockLocation(JSTUtil.getLocationName(req.getLat(), req.getLng())); | ||||||
|                 }catch (Exception e) { |  | ||||||
|                     log.error("获取打卡位置失败", e); |  | ||||||
|                 } |  | ||||||
|  |  | ||||||
|                 // 上传人脸照 |                 // 上传人脸照 | ||||||
|                 SysOssVo upload = ossService.upload(file); |                 SysOssVo upload = ossService.upload(file); | ||||||
|                 attendance.setFacePic(upload.getOssId().toString()); |                 attendance.setFacePic(upload.getOssId().toString()); | ||||||
| @ -458,11 +453,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|                     // 记录打卡坐标 |                     // 记录打卡坐标 | ||||||
|                     attendance.setLat(req.getLat()); |                     attendance.setLat(req.getLat()); | ||||||
|                     attendance.setLng(req.getLng()); |                     attendance.setLng(req.getLng()); | ||||||
|                     try { |  | ||||||
|                     attendance.setClockLocation(JSTUtil.getLocationName(req.getLat(), req.getLng())); |                     attendance.setClockLocation(JSTUtil.getLocationName(req.getLat(), req.getLng())); | ||||||
|                     }catch (Exception e) { |  | ||||||
|                         log.error("获取打卡位置失败", e); |  | ||||||
|                     } |  | ||||||
|                     // 上传人脸照 |                     // 上传人脸照 | ||||||
|                     SysOssVo upload = ossService.upload(file); |                     SysOssVo upload = ossService.upload(file); | ||||||
|                     attendance.setFacePic(upload.getOssId().toString()); |                     attendance.setFacePic(upload.getOssId().toString()); | ||||||
| @ -598,8 +589,6 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|         Long userId = LoginHelper.getUserId(); |         Long userId = LoginHelper.getUserId(); | ||||||
|         Long projectId = req.getProjectId(); |         Long projectId = req.getProjectId(); | ||||||
|  |  | ||||||
|         SysUserVo sysUserVo = userService.queryById(userId); |  | ||||||
|  |  | ||||||
|         //判断是否要求范围内打卡 |         //判断是否要求范围内打卡 | ||||||
|         BusUserProjectRelevancy relevancy = userProjectRelevancyService.getOne(Wrappers.lambdaQuery(BusUserProjectRelevancy.class) |         BusUserProjectRelevancy relevancy = userProjectRelevancyService.getOne(Wrappers.lambdaQuery(BusUserProjectRelevancy.class) | ||||||
|             .eq(BusUserProjectRelevancy::getUserId, userId) |             .eq(BusUserProjectRelevancy::getUserId, userId) | ||||||
| @ -609,7 +598,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|             throw new ServiceException("当前用户未加入项目", HttpStatus.BAD_REQUEST); |             throw new ServiceException("当前用户未加入项目", HttpStatus.BAD_REQUEST); | ||||||
|         } |         } | ||||||
|         //判断是否是施工员 管理员返回项目全部打卡范围,施工人员返回班组打卡范围 |         //判断是否是施工员 管理员返回项目全部打卡范围,施工人员返回班组打卡范围 | ||||||
|         boolean isConstruct = "0".equals(sysUserVo.getAppUserType()); |         boolean isConstruct = "1".equals(relevancy.getUserType()); | ||||||
|         List<Long> rangeIds = new ArrayList<>(); |         List<Long> rangeIds = new ArrayList<>(); | ||||||
|         if (isConstruct) { |         if (isConstruct) { | ||||||
|             BusProjectTeamMember one = projectTeamMemberService.getOne(Wrappers.lambdaQuery(BusProjectTeamMember.class) |             BusProjectTeamMember one = projectTeamMemberService.getOne(Wrappers.lambdaQuery(BusProjectTeamMember.class) | ||||||
| @ -647,7 +636,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|             .toList(); |             .toList(); | ||||||
|  |  | ||||||
|         if (CollUtil.isEmpty(punchRangeList)) { |         if (CollUtil.isEmpty(punchRangeList)) { | ||||||
|             throw new ServiceException(isConstruct ? "班组未配置考勤范围" : "项目未配置考勤范围", HttpStatus.ERROR); |             throw new ServiceException(isConstruct ? "班组未配置考勤范围" : "项目未配置考勤范围", HttpStatus.BAD_REQUEST); | ||||||
|         } |         } | ||||||
|         List<GeoPoint> matchingRange = JSTUtil.findMatchingRange(req.getLat(), req.getLng(), punchRangeList); |         List<GeoPoint> matchingRange = JSTUtil.findMatchingRange(req.getLat(), req.getLng(), punchRangeList); | ||||||
|         return matchingRange != null; |         return matchingRange != null; | ||||||
| @ -718,7 +707,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|  |  | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public TableDataInfo<BusAttendanceVo> getAbnormalAttendance(Long projectId, PageQuery pageQuery) { |     public List<BusAttendanceVo> getAbnormalAttendance(Long projectId) { | ||||||
|  |  | ||||||
|         List<String> abnormalList = Arrays.asList(BusAttendanceClockStatusEnum.LATE.getValue(), |         List<String> abnormalList = Arrays.asList(BusAttendanceClockStatusEnum.LATE.getValue(), | ||||||
|             BusAttendanceClockStatusEnum.LEAVEEARLY.getValue(), |             BusAttendanceClockStatusEnum.LEAVEEARLY.getValue(), | ||||||
| @ -733,16 +722,16 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|  |  | ||||||
|         boolean b = relevancyList.stream().allMatch(relevancy -> "1".equals(relevancy.getUserType())); |         boolean b = relevancyList.stream().allMatch(relevancy -> "1".equals(relevancy.getUserType())); | ||||||
|  |  | ||||||
|         IPage<BusAttendanceVo> busAttendanceVoIPage = baseMapper.selectVoPage(pageQuery.build(), Wrappers.lambdaQuery(BusAttendance.class) |         List<BusAttendanceVo> busAttendanceVos = baseMapper.selectVoList(Wrappers.lambdaQuery(BusAttendance.class) | ||||||
|             .eq(BusAttendance::getUserId, userId) |             .eq(BusAttendance::getUserId, userId) | ||||||
|             .eq(b, BusAttendance::getProjectId, projectId) |             .eq(b, BusAttendance::getProjectId, projectId) | ||||||
|             .in(BusAttendance::getClockStatus, abnormalList) |             .in(BusAttendance::getClockStatus, abnormalList) | ||||||
|         ); |         ); | ||||||
|         //转换星期几 |         //转换星期几 | ||||||
|         for (BusAttendanceVo busAttendanceVo : busAttendanceVoIPage.getRecords()) { |         for (BusAttendanceVo busAttendanceVo : busAttendanceVos) { | ||||||
|             busAttendanceVo.setWeek(busAttendanceVo.getClockDate().getDayOfWeek().getValue()); |             busAttendanceVo.setWeek(busAttendanceVo.getClockDate().getDayOfWeek().getValue()); | ||||||
|         } |         } | ||||||
|         return TableDataInfo.build(busAttendanceVoIPage); |         return busAttendanceVos; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
| @ -879,25 +868,6 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|         return checkTime.isBefore(clockOutDateTime); |         return checkTime.isBefore(clockOutDateTime); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| //    /** |  | ||||||
| //     * 判断是否请假 |  | ||||||
| //     */ |  | ||||||
| //    private Boolean isLeave(LocalDateTime checkTime,String type,Long userId){ |  | ||||||
| //        // 获取当天请假数据 |  | ||||||
| //        LocalDate localDate = checkTim     e.toLocalDate(); |  | ||||||
| //        LocalDateTime dateStart = LocalDateTime.of(localDate, LocalTime.MIN); |  | ||||||
| //        LocalDateTime dateEnd = LocalDateTime.of(localDate, LocalTime.MAX); |  | ||||||
| // |  | ||||||
| //        leaveService.isLeave() |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| // |  | ||||||
| //    } |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|     public AttendanceCountVo getAttendanceCount(AttendanceCountDto dto) { |     public AttendanceCountVo getAttendanceCount(AttendanceCountDto dto) { | ||||||
| @ -1186,17 +1156,15 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|         List<Long> allUserIds = constructionUserService.list(Wrappers.<SubConstructionUser>lambdaQuery() |         List<Long> allUserIds = constructionUserService.list(Wrappers.<SubConstructionUser>lambdaQuery() | ||||||
|             .eq(SubConstructionUser::getUserRole, "0") |             .eq(SubConstructionUser::getUserRole, "0") | ||||||
|             .eq(SubConstructionUser::getProjectId,projectId) |             .eq(SubConstructionUser::getProjectId,projectId) | ||||||
|             .isNotNull(SubConstructionUser::getTeamId) |  | ||||||
|         ).stream().map(SubConstructionUser::getSysUserId).toList(); |         ).stream().map(SubConstructionUser::getSysUserId).toList(); | ||||||
|  |  | ||||||
|  |  | ||||||
|         // 往前14天,包含今天 |         // 往前14天,包含今天 | ||||||
|         LocalDate startDate = now.minusDays(14); |         LocalDate startDate = now.minusDays(14); | ||||||
|         LocalDate endDate = now.minusDays(1); |  | ||||||
|         List<BusAttendance> list = list(Wrappers.<BusAttendance>lambdaQuery() |         List<BusAttendance> list = list(Wrappers.<BusAttendance>lambdaQuery() | ||||||
|             .eq(BusAttendance::getProjectId, projectId) |             .eq(BusAttendance::getProjectId, projectId) | ||||||
|             .notIn(CollectionUtil.isNotEmpty(excludeUserIds),BusAttendance::getUserId, excludeUserIds) |             .notIn(CollectionUtil.isNotEmpty(excludeUserIds),BusAttendance::getUserId, excludeUserIds) | ||||||
|             .between(BusAttendance::getClockDate, startDate, endDate) |             .between(BusAttendance::getClockDate, startDate, now) | ||||||
|             .orderByAsc(BusAttendance::getClockDate) |             .orderByAsc(BusAttendance::getClockDate) | ||||||
|         ); |         ); | ||||||
|  |  | ||||||
| @ -1215,9 +1183,10 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|  |  | ||||||
|         // 统计全勤、半勤、缺卡人数 |         // 统计全勤、半勤、缺卡人数 | ||||||
|         List<BusAttendanceClockDateForTwoWeekVo> result = new ArrayList<>(); |         List<BusAttendanceClockDateForTwoWeekVo> result = new ArrayList<>(); | ||||||
|  |         List<String> validStatusList = Arrays.asList("1", "2", "3", "5"); | ||||||
|  |  | ||||||
|         LocalDate currentDate = startDate; |         LocalDate currentDate = startDate; | ||||||
|         while (!currentDate.isAfter(endDate)) { |         while (!currentDate.isAfter(now)) { | ||||||
|             Map<Long, List<BusAttendance>> userAttendanceMap = dateUserMap.getOrDefault(currentDate, new HashMap<>()); |             Map<Long, List<BusAttendance>> userAttendanceMap = dateUserMap.getOrDefault(currentDate, new HashMap<>()); | ||||||
|  |  | ||||||
|             int full = 0, half = 0, absent = 0; |             int full = 0, half = 0, absent = 0; | ||||||
| @ -1227,63 +1196,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|  |  | ||||||
|                 long validCount = records.stream() |                 long validCount = records.stream() | ||||||
|                     .map(BusAttendance::getClockStatus) |                     .map(BusAttendance::getClockStatus) | ||||||
|                     .filter(ATTENDANCE_LIST::contains) |                     .filter(validStatusList::contains) | ||||||
|                     .count(); |  | ||||||
|  |  | ||||||
|                 if (validCount >= 1) { |  | ||||||
|                     full++; |  | ||||||
|                 } else { |  | ||||||
|                     absent++; |  | ||||||
|                 } |  | ||||||
|             } |  | ||||||
|  |  | ||||||
|             BusAttendanceClockDateForTwoWeekVo vo = new BusAttendanceClockDateForTwoWeekVo(); |  | ||||||
|             vo.setClockDate(currentDate); |  | ||||||
|             vo.setAttendance(full); |  | ||||||
|             vo.setHalfAttendance(half); |  | ||||||
|             vo.setAbsenteeism(absent); |  | ||||||
|             result.add(vo); |  | ||||||
|             currentDate = currentDate.plusDays(1); |  | ||||||
|         } |  | ||||||
|  |  | ||||||
|         return result; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     @Override |  | ||||||
|     public BusAttendanceClockDateForTwoWeekVo getTodayAttendanceData(Long projectId) { |  | ||||||
|  |  | ||||||
|         LocalDate now = LocalDate.now(); |  | ||||||
|  |  | ||||||
|         //查询所有管理员和分包人员 排除 |  | ||||||
|         List<Long> excludeUserIds = constructionUserService.list(Wrappers.<SubConstructionUser>lambdaQuery() |  | ||||||
|             .ne(SubConstructionUser::getUserRole, "0") |  | ||||||
|         ).stream().map(SubConstructionUser::getSysUserId).toList(); |  | ||||||
|  |  | ||||||
|         List<Long> allUserIds = constructionUserService.list(Wrappers.<SubConstructionUser>lambdaQuery() |  | ||||||
|             .eq(SubConstructionUser::getUserRole, "0") |  | ||||||
|             .eq(SubConstructionUser::getProjectId,projectId) |  | ||||||
|             .isNotNull(SubConstructionUser::getTeamId) |  | ||||||
|         ).stream().map(SubConstructionUser::getSysUserId).toList(); |  | ||||||
|  |  | ||||||
|  |  | ||||||
|         List<BusAttendance> list = list(Wrappers.<BusAttendance>lambdaQuery() |  | ||||||
|             .eq(BusAttendance::getProjectId, projectId) |  | ||||||
|             .notIn(CollectionUtil.isNotEmpty(excludeUserIds),BusAttendance::getUserId, excludeUserIds) |  | ||||||
|             .eq(BusAttendance::getClockDate, now) |  | ||||||
|             .orderByAsc(BusAttendance::getClockDate) |  | ||||||
|         ); |  | ||||||
|  |  | ||||||
|         Map<Long, List<BusAttendance>> collect = list.stream().collect(Collectors.groupingBy(BusAttendance::getUserId)); |  | ||||||
|  |  | ||||||
|         int full = 0, half = 0, absent = 0; |  | ||||||
|  |  | ||||||
|         for (Map.Entry<Long, List<BusAttendance>> userEntry : collect.entrySet()) { |  | ||||||
|             List<BusAttendance> records = userEntry.getValue(); |  | ||||||
|  |  | ||||||
|             long validCount = records.stream() |  | ||||||
|                 .map(BusAttendance::getClockStatus) |  | ||||||
|                 .filter(ATTENDANCE_LIST::contains) |  | ||||||
|                     .count(); |                     .count(); | ||||||
|  |  | ||||||
|                 if (validCount >= 2) { |                 if (validCount >= 2) { | ||||||
| @ -1296,17 +1209,23 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | |||||||
|             } |             } | ||||||
|  |  | ||||||
|             BusAttendanceClockDateForTwoWeekVo vo = new BusAttendanceClockDateForTwoWeekVo(); |             BusAttendanceClockDateForTwoWeekVo vo = new BusAttendanceClockDateForTwoWeekVo(); | ||||||
|         vo.setClockDate(now); |             vo.setClockDate(currentDate); | ||||||
|             vo.setAttendance(full); |             vo.setAttendance(full); | ||||||
|             vo.setHalfAttendance(half); |             vo.setHalfAttendance(half); | ||||||
|             vo.setAbsenteeism(absent); |             vo.setAbsenteeism(absent); | ||||||
|         //计算考勤率 |             //如果是当天,则计算考勤率 | ||||||
|  |             if (currentDate.equals(now)) { | ||||||
|                 vo.setAllUserNum(allUserIds.size()); |                 vo.setAllUserNum(allUserIds.size()); | ||||||
|                 vo.setClockNum(full+half); |                 vo.setClockNum(full+half); | ||||||
|                 vo.setAttendanceRate(BigDecimalUtil.toPercentage(new BigDecimal(full+half), |                 vo.setAttendanceRate(BigDecimalUtil.toPercentage(new BigDecimal(full+half), | ||||||
|                     new BigDecimal(allUserIds.size()))); |                     new BigDecimal(allUserIds.size()))); | ||||||
|  |             } | ||||||
|  |  | ||||||
|         return vo; |             result.add(vo); | ||||||
|  |             currentDate = currentDate.plusDays(1); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return result; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|  | |||||||
| @ -399,10 +399,8 @@ public class BusLeaveServiceImpl extends ServiceImpl<BusLeaveMapper, BusLeave> | |||||||
|         LambdaQueryWrapper<BusLeave> wrapper = new LambdaQueryWrapper<>(); |         LambdaQueryWrapper<BusLeave> wrapper = new LambdaQueryWrapper<>(); | ||||||
|         wrapper |         wrapper | ||||||
|             .eq(BusLeave::getUserId, userId) |             .eq(BusLeave::getUserId, userId) | ||||||
|             .lt(BusLeave::getStartTime, newEnd)     // 已有记录的开始时间 < 新记录的结束时间 |             .le(BusLeave::getStartTime, newEnd)     // 已有记录的开始时间 < 新记录的结束时间 | ||||||
|             .gt(BusLeave::getEndTime, newStart) |             .ge(BusLeave::getEndTime, newStart);    // 已有记录的结束时间 > 新记录的开始时间 | ||||||
|             .eq(BusLeave::getAuditStatus, BusinessStatusEnum.FINISH.getStatus()) |  | ||||||
|         ;    // 已有记录的结束时间 > 新记录的开始时间 |  | ||||||
|  |  | ||||||
|         // 4. 执行冲突校验 |         // 4. 执行冲突校验 | ||||||
|         if (count(wrapper) > 0) { |         if (count(wrapper) > 0) { | ||||||
|  | |||||||
| @ -329,7 +329,10 @@ public class BusProjectTeamMemberServiceImpl extends ServiceImpl<BusProjectTeamM | |||||||
|         constructionUserExit.setSalaryConfirmationFile(salaryConfirmationFile); |         constructionUserExit.setSalaryConfirmationFile(salaryConfirmationFile); | ||||||
|         constructionUserExit.setTeamId(constructionUser.getTeamId()); |         constructionUserExit.setTeamId(constructionUser.getTeamId()); | ||||||
|         String sfzNumber = constructionUser.getSfzNumber(); |         String sfzNumber = constructionUser.getSfzNumber(); | ||||||
|  |         if (StringUtils.isNotBlank(sfzNumber)) { | ||||||
|  |             sfzNumber = idCardEncryptorUtil.decrypt(sfzNumber); | ||||||
|             constructionUserExit.setSfzNumber(sfzNumber); |             constructionUserExit.setSfzNumber(sfzNumber); | ||||||
|  |         } | ||||||
|         constructionUserExit.setEntryDate(constructionUser.getEntryDate()); |         constructionUserExit.setEntryDate(constructionUser.getEntryDate()); | ||||||
|         constructionUserExit.setLeaveDate(new Date()); |         constructionUserExit.setLeaveDate(new Date()); | ||||||
|         constructionUserExit.setRemark(req.getRemark()); |         constructionUserExit.setRemark(req.getRemark()); | ||||||
|  | |||||||
| @ -149,9 +149,7 @@ public class SysUserVo implements Serializable { | |||||||
|      */ |      */ | ||||||
|     private List<Long> projectIds; |     private List<Long> projectIds; | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * app用户类型 0-施工人员 1-管理人员 2-分包人员 |  | ||||||
|      */ |  | ||||||
|     private String appUserType; |     private String appUserType; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|  | |||||||
| @ -50,7 +50,6 @@ import org.dromara.system.mapper.*; | |||||||
| import org.dromara.system.service.ISysOssService; | import org.dromara.system.service.ISysOssService; | ||||||
| import org.dromara.system.service.ISysUserFileService; | import org.dromara.system.service.ISysUserFileService; | ||||||
| import org.dromara.system.service.ISysUserService; | import org.dromara.system.service.ISysUserService; | ||||||
| import org.jetbrains.annotations.NotNull; |  | ||||||
| import org.springframework.cache.annotation.CacheEvict; | import org.springframework.cache.annotation.CacheEvict; | ||||||
| import org.springframework.cache.annotation.Cacheable; | import org.springframework.cache.annotation.Cacheable; | ||||||
| import org.springframework.context.annotation.Lazy; | import org.springframework.context.annotation.Lazy; | ||||||
| @ -930,25 +929,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { | |||||||
|             projects = projectIds; |             projects = projectIds; | ||||||
|         } |         } | ||||||
|  |  | ||||||
|         List<SysUserRole> sysUserRoles = getSysUserRoles(userId, appUserType, projects); |         Long roleId = "1".equals(appUserType)?4L:5L; | ||||||
|         userRoleMapper.insertBatch(sysUserRoles); |  | ||||||
|  |  | ||||||
|         return baseMapper.update(null, |  | ||||||
|             new LambdaUpdateWrapper<SysUser>() |  | ||||||
|                 .set(SysUser::getAppUserType, appUserType) |  | ||||||
|                 .set(contractorId!=null,SysUser::getContractorId, contractorId) |  | ||||||
|                 .eq(SysUser::getUserId, userId)) > 0; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     private  List<SysUserRole> getSysUserRoles(Long userId, String appUserType, List<Long> projects) { |  | ||||||
|         Long roleId; |  | ||||||
|         if("0".equals(appUserType)){ |  | ||||||
|             roleId = 2L; |  | ||||||
|         }else if("1".equals(appUserType)){ |  | ||||||
|             roleId = 4L; |  | ||||||
|         }else { |  | ||||||
|             roleId = 5L; |  | ||||||
|         } |  | ||||||
|         ArrayList<SysUserRole> sysUserRoles = new ArrayList<>(); |         ArrayList<SysUserRole> sysUserRoles = new ArrayList<>(); | ||||||
|         for (Long project : projects) { |         for (Long project : projects) { | ||||||
|             SysUserRole sysUserRole = new SysUserRole(); |             SysUserRole sysUserRole = new SysUserRole(); | ||||||
| @ -957,7 +938,13 @@ public class SysUserServiceImpl implements ISysUserService, UserService { | |||||||
|             sysUserRole.setRoleId(roleId); |             sysUserRole.setRoleId(roleId); | ||||||
|             sysUserRoles.add(sysUserRole); |             sysUserRoles.add(sysUserRole); | ||||||
|         } |         } | ||||||
|         return sysUserRoles; |         userRoleMapper.insertBatch(sysUserRoles); | ||||||
|  |  | ||||||
|  |         return baseMapper.update(null, | ||||||
|  |             new LambdaUpdateWrapper<SysUser>() | ||||||
|  |                 .set(SysUser::getAppUserType, appUserType) | ||||||
|  |                 .set(contractorId!=null,SysUser::getContractorId, contractorId) | ||||||
|  |                 .eq(SysUser::getUserId, userId)) > 0; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     @Override |     @Override | ||||||
|  | |||||||
| @ -0,0 +1,109 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.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.biddingManagement.domain.dto.BiddingManagementDto; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.dto.QuerBiddingManagementDto; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.QuerListXzdBidPreVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.QueryListXzdVo; | ||||||
|  | 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.biddingManagement.domain.vo.XzdBidPreProjectVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.bo.XzdBidPreProjectBo; | ||||||
|  | import org.dromara.xzd.biddingManagement.service.IXzdBidPreProjectService; | ||||||
|  | import org.dromara.common.mybatis.core.page.TableDataInfo; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 标前立项 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @Validated | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @RestController | ||||||
|  | @RequestMapping("/biddingManagement/bidPreProject") | ||||||
|  | public class XzdBidPreProjectController extends BaseController { | ||||||
|  |  | ||||||
|  |     private final IXzdBidPreProjectService xzdBidPreProjectService; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询标前立项列表 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("biddingManagement:bidPreProject:list") | ||||||
|  |     @GetMapping("/list") | ||||||
|  |     public QueryListXzdVo list(QuerBiddingManagementDto bo, PageQuery pageQuery) { | ||||||
|  |         return xzdBidPreProjectService.queryPageList(bo, pageQuery); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 导出标前立项列表 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("biddingManagement:bidPreProject:export") | ||||||
|  |     @Log(title = "标前立项", businessType = BusinessType.EXPORT) | ||||||
|  |     @PostMapping("/export") | ||||||
|  |     public void export(XzdBidPreProjectBo bo, HttpServletResponse response) { | ||||||
|  |         List<XzdBidPreProjectVo> list = xzdBidPreProjectService.queryList(bo); | ||||||
|  |         ExcelUtil.exportExcel(list, "标前立项", XzdBidPreProjectVo.class, response); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 获取标前立项详细信息 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("biddingManagement:bidPreProject:query") | ||||||
|  |     @GetMapping("/{id}") | ||||||
|  |     public R<QuerListXzdBidPreVo> getInfo(@NotNull(message = "主键不能为空") | ||||||
|  |                                      @PathVariable Long id) { | ||||||
|  |         return R.ok(xzdBidPreProjectService.queryById(id)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增标前立项 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("biddingManagement:bidPreProject:add") | ||||||
|  |     @Log(title = "标前立项", businessType = BusinessType.INSERT) | ||||||
|  |     @RepeatSubmit() | ||||||
|  |     @PostMapping() | ||||||
|  |     public R<Void> add(@Validated(AddGroup.class) @RequestBody BiddingManagementDto bo) { | ||||||
|  |         return toAjax(xzdBidPreProjectService.insertByBo(bo)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改标前立项 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("biddingManagement:bidPreProject:edit") | ||||||
|  |     @Log(title = "标前立项", businessType = BusinessType.UPDATE) | ||||||
|  |     @RepeatSubmit() | ||||||
|  |     @PutMapping() | ||||||
|  |     public R<Void> edit(@RequestBody BiddingManagementDto bo ) { | ||||||
|  |         return toAjax(xzdBidPreProjectService.updateByBo(bo)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 删除标前立项 | ||||||
|  |      * | ||||||
|  |      * @param ids 主键串 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("biddingManagement:bidPreProject:remove") | ||||||
|  |     @Log(title = "标前立项", businessType = BusinessType.DELETE) | ||||||
|  |     @DeleteMapping("/{ids}") | ||||||
|  |     public R<Void> remove(@NotEmpty(message = "主键不能为空") | ||||||
|  |                           @PathVariable Long[] ids) { | ||||||
|  |         return toAjax(xzdBidPreProjectService.deleteWithValidByIds(List.of(ids), true)); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,106 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.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.biddingManagement.domain.bo.XzdProjectRiskAssessmentBo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectRiskAssessmentVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.service.IXzdProjectRiskAssessmentService; | ||||||
|  | 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.common.mybatis.core.page.TableDataInfo; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 项目风险评估签审意见 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @Validated | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @RestController | ||||||
|  | @RequestMapping("/xzd/projectRiskAssessment") | ||||||
|  | public class XzdProjectRiskAssessmentController extends BaseController { | ||||||
|  |  | ||||||
|  |     private final IXzdProjectRiskAssessmentService xzdProjectRiskAssessmentService; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询项目风险评估签审意见列表 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("xzd:projectRiskAssessment:list") | ||||||
|  |     @GetMapping("/list") | ||||||
|  |     public TableDataInfo<XzdProjectRiskAssessmentVo> list(XzdProjectVo bo, PageQuery pageQuery) { | ||||||
|  |         return xzdProjectRiskAssessmentService.queryPageList(bo, pageQuery); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 导出项目风险评估签审意见列表 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("xzd:projectRiskAssessment:export") | ||||||
|  |     @Log(title = "项目风险评估签审意见", businessType = BusinessType.EXPORT) | ||||||
|  |     @PostMapping("/export") | ||||||
|  |     public void export(XzdProjectRiskAssessmentBo bo, HttpServletResponse response) { | ||||||
|  |         List<XzdProjectRiskAssessmentVo> list = xzdProjectRiskAssessmentService.queryList(bo); | ||||||
|  |         ExcelUtil.exportExcel(list, "项目风险评估签审意见", XzdProjectRiskAssessmentVo.class, response); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 获取项目风险评估签审意见详细信息 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("xzd:projectRiskAssessment:query") | ||||||
|  |     @GetMapping("/{id}") | ||||||
|  |     public R<XzdProjectRiskAssessmentVo> getInfo(@NotNull(message = "主键不能为空") | ||||||
|  |                                      @PathVariable Long id) { | ||||||
|  |         return R.ok(xzdProjectRiskAssessmentService.queryById(id)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增项目风险评估签审意见 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("xzd:projectRiskAssessment:add") | ||||||
|  |     @Log(title = "项目风险评估签审意见", businessType = BusinessType.INSERT) | ||||||
|  |     @RepeatSubmit() | ||||||
|  |     @PostMapping() | ||||||
|  |     public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdProjectRiskAssessmentBo bo) { | ||||||
|  |         return toAjax(xzdProjectRiskAssessmentService.insertByBo(bo)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改项目风险评估签审意见 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("xzd:projectRiskAssessment:edit") | ||||||
|  |     @Log(title = "项目风险评估签审意见", businessType = BusinessType.UPDATE) | ||||||
|  |     @RepeatSubmit() | ||||||
|  |     @PutMapping() | ||||||
|  |     public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdProjectRiskAssessmentBo bo) { | ||||||
|  |         return toAjax(xzdProjectRiskAssessmentService.updateByBo(bo)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 删除项目风险评估签审意见 | ||||||
|  |      * | ||||||
|  |      * @param ids 主键串 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("xzd:projectRiskAssessment:remove") | ||||||
|  |     @Log(title = "项目风险评估签审意见", businessType = BusinessType.DELETE) | ||||||
|  |     @DeleteMapping("/{ids}") | ||||||
|  |     public R<Void> remove(@NotEmpty(message = "主键不能为空") | ||||||
|  |                           @PathVariable Long[] ids) { | ||||||
|  |         return toAjax(xzdProjectRiskAssessmentService.deleteWithValidByIds(List.of(ids), true)); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,126 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.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_bid_pre_project | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @TableName("xzd_bid_pre_project") | ||||||
|  | public class XzdBidPreProject extends BaseEntity { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 主键ID | ||||||
|  |      */ | ||||||
|  |     @TableId(value = "id") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目编码 | ||||||
|  |      */ | ||||||
|  |     private String projectNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目名称 | ||||||
|  |      */ | ||||||
|  |     private String projectName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 国家 | ||||||
|  |      */ | ||||||
|  |     private String country; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 省 | ||||||
|  |      */ | ||||||
|  |     private String province; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 城市 | ||||||
|  |      */ | ||||||
|  |     private String city; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 区县 | ||||||
|  |      */ | ||||||
|  |     private String district; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工程地点 | ||||||
|  |      */ | ||||||
|  |     private String projectLocation; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 资金来源 | ||||||
|  |      */ | ||||||
|  |     private String capitalSource; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 承包方式 | ||||||
|  |      */ | ||||||
|  |     private String contractingMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 经营模式 | ||||||
|  |      */ | ||||||
|  |     private String operationMode; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目类型 | ||||||
|  |      */ | ||||||
|  |     private Long projectTypeId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标方式 | ||||||
|  |      */ | ||||||
|  |     private String biddingMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 联系方法 | ||||||
|  |      */ | ||||||
|  |     private String liaisonMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 投资单位 | ||||||
|  |      */ | ||||||
|  |     private String investmentUnit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工程造价(万元) | ||||||
|  |      */ | ||||||
|  |     private Long projectCost; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 资料费 | ||||||
|  |      */ | ||||||
|  |     private Long informationCost; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 文件ID | ||||||
|  |      */ | ||||||
|  |     private String fileId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 审核状态 | ||||||
|  |      */ | ||||||
|  |     private String auditStatus; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,193 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.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_bqlx_project_info | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @TableName("xzd_bqlx_project_info") | ||||||
|  | public class XzdBqlxProjectInfo extends BaseEntity { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 主键ID | ||||||
|  |      */ | ||||||
|  |     @TableId(value = "id") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 关联标前立项ID | ||||||
|  |      */ | ||||||
|  |     private Long bidPreProjectId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 预计开工日期 | ||||||
|  |      */ | ||||||
|  |     private Date expectedStartDate; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 资质要求 | ||||||
|  |      */ | ||||||
|  |     private String qualificationRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 报名开始时间 | ||||||
|  |      */ | ||||||
|  |     private Date bidStartDate; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 报名截止时间 | ||||||
|  |      */ | ||||||
|  |     private Date bidEndDate; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 投标截止时间 | ||||||
|  |      */ | ||||||
|  |     private Date submissionDeadline; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设计情况 | ||||||
|  |      */ | ||||||
|  |     private String designDescription; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工程概况 | ||||||
|  |      */ | ||||||
|  |     private String projectStatus; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标公告地址 | ||||||
|  |      */ | ||||||
|  |     private String biddingAnnouncementAddress; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 质量要求 | ||||||
|  |      */ | ||||||
|  |     private String qualityRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工期要求(天) | ||||||
|  |      */ | ||||||
|  |     private Long durationDays; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 最低资质要求 | ||||||
|  |      */ | ||||||
|  |     private String lowestQualificationRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目经理要求 | ||||||
|  |      */ | ||||||
|  |     private String projectManagerRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 业绩要求 | ||||||
|  |      */ | ||||||
|  |     private String performanceRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 开标时间 | ||||||
|  |      */ | ||||||
|  |     private Date startDate; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 评标方式 | ||||||
|  |      */ | ||||||
|  |     private String evaluationMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 投标保证金形式 | ||||||
|  |      */ | ||||||
|  |     private String biddingDepositForm; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 投标保证金 | ||||||
|  |      */ | ||||||
|  |     private Long biddingDeposit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 建设单位 | ||||||
|  |      */ | ||||||
|  |     private String constructionUnit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 建设单位联系人 | ||||||
|  |      */ | ||||||
|  |     private String constructionPerson; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 建设单位联系方式 | ||||||
|  |      */ | ||||||
|  |     private String constructionMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标单位 | ||||||
|  |      */ | ||||||
|  |     private String biddingUnit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标单位联系人 | ||||||
|  |      */ | ||||||
|  |     private String biddingPerson; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标单位联系方式 | ||||||
|  |      */ | ||||||
|  |     private String biddingMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 成本价 | ||||||
|  |      */ | ||||||
|  |     private Long costPrice; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标控制价 | ||||||
|  |      */ | ||||||
|  |     private Long biddingPriceControl; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目编码 | ||||||
|  |      */ | ||||||
|  |     private String projectNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 默认财务组织 | ||||||
|  |      */ | ||||||
|  |     private String defaultFinance; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 涉及财务组织 | ||||||
|  |      */ | ||||||
|  |     private String involveFinance; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 文件ID | ||||||
|  |      */ | ||||||
|  |     private String fileId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 审核状态 | ||||||
|  |      */ | ||||||
|  |     private String auditStatus; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,121 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.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_project_risk_assessment | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @TableName("xzd_project_risk_assessment") | ||||||
|  | public class XzdProjectRiskAssessment extends BaseEntity { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 主键ID | ||||||
|  |      */ | ||||||
|  |     @TableId(value = "id") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 单据编号 | ||||||
|  |      */ | ||||||
|  |     private String documentNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目名称 | ||||||
|  |      */ | ||||||
|  |     private String projectName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目业主 | ||||||
|  |      */ | ||||||
|  |     private String projectBusinessOwner; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 联合体成员方 | ||||||
|  |      */ | ||||||
|  |     private String jointBodyMembers; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 预计合同额(万元) | ||||||
|  |      */ | ||||||
|  |     private Long estimatedContractAmount; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 单价指标 | ||||||
|  |      */ | ||||||
|  |     private String unitPriceIndex; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工期风险 | ||||||
|  |      */ | ||||||
|  |     private String engineeringRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 技术风险 | ||||||
|  |      */ | ||||||
|  |     private String technicalRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 经济风险 | ||||||
|  |      */ | ||||||
|  |     private String economicRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 合同风险 | ||||||
|  |      */ | ||||||
|  |     private String contractRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 人员风险 | ||||||
|  |      */ | ||||||
|  |     private String personnelRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 施工风险 | ||||||
|  |      */ | ||||||
|  |     private String constructionRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 管理风险 | ||||||
|  |      */ | ||||||
|  |     private String managementRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分包风险 | ||||||
|  |      */ | ||||||
|  |     private String subcontractRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 其他风险 | ||||||
|  |      */ | ||||||
|  |     private String otherRisks; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 文件ID | ||||||
|  |      */ | ||||||
|  |     private String fileId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 审核状态 | ||||||
|  |      */ | ||||||
|  |     private String auditStatus; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,134 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.domain.bo; | ||||||
|  |  | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdBidPreProject; | ||||||
|  | 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_bid_pre_project | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @AutoMapper(target = XzdBidPreProject.class, reverseConvertGenerate = false) | ||||||
|  | public class XzdBidPreProjectBo extends BaseEntity { | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 主键ID | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目编码 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "项目编码不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private String projectNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目名称 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "项目名称不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private String projectName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 国家 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "国家不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private String country; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 省 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "省不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private String province; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 城市 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "城市不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private String city; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 区县 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "区县不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private String district; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工程地点 | ||||||
|  |      */ | ||||||
|  |     private String projectLocation; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 资金来源 | ||||||
|  |      */ | ||||||
|  |     private String capitalSource; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 承包方式 | ||||||
|  |      */ | ||||||
|  |     private String contractingMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 经营模式 | ||||||
|  |      */ | ||||||
|  |     private String operationMode; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目类型 | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "项目类型不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private Long projectTypeId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标方式 | ||||||
|  |      */ | ||||||
|  |     private String biddingMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 联系方法 | ||||||
|  |      */ | ||||||
|  |     private String liaisonMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 投资单位 | ||||||
|  |      */ | ||||||
|  |     private String investmentUnit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工程造价(万元) | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "工程造价(万元)不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private Long projectCost; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 资料费 | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "资料费不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private Long informationCost; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 文件ID | ||||||
|  |      */ | ||||||
|  |     private String fileId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 审核状态 | ||||||
|  |      */ | ||||||
|  |     private String auditStatus; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,195 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.domain.bo; | ||||||
|  |  | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdBqlxProjectInfo; | ||||||
|  | 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_bqlx_project_info | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @AutoMapper(target = XzdBqlxProjectInfo.class, reverseConvertGenerate = false) | ||||||
|  | public class XzdBqlxProjectInfoBo extends BaseEntity { | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 主键ID | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 关联标前立项ID | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "关联标前立项ID不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private Long bidPreProjectId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 预计开工日期 | ||||||
|  |      */ | ||||||
|  |     private Date expectedStartDate; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 资质要求 | ||||||
|  |      */ | ||||||
|  |     private String qualificationRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 报名开始时间 | ||||||
|  |      */ | ||||||
|  |     private Date bidStartDate; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 报名截止时间 | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "报名截止时间不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private Date bidEndDate; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 投标截止时间 | ||||||
|  |      */ | ||||||
|  |     private Date submissionDeadline; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设计情况 | ||||||
|  |      */ | ||||||
|  |     private String designDescription; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工程概况 | ||||||
|  |      */ | ||||||
|  |     private String projectStatus; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标公告地址 | ||||||
|  |      */ | ||||||
|  |     private String biddingAnnouncementAddress; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 质量要求 | ||||||
|  |      */ | ||||||
|  |     private String qualityRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工期要求(天) | ||||||
|  |      */ | ||||||
|  |     private Long durationDays; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 最低资质要求 | ||||||
|  |      */ | ||||||
|  |     private String lowestQualificationRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目经理要求 | ||||||
|  |      */ | ||||||
|  |     private String projectManagerRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 业绩要求 | ||||||
|  |      */ | ||||||
|  |     private String performanceRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 开标时间 | ||||||
|  |      */ | ||||||
|  |     private Date startDate; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 评标方式 | ||||||
|  |      */ | ||||||
|  |     private String evaluationMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 投标保证金形式 | ||||||
|  |      */ | ||||||
|  |     private String biddingDepositForm; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 投标保证金 | ||||||
|  |      */ | ||||||
|  |     private Long biddingDeposit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 建设单位 | ||||||
|  |      */ | ||||||
|  |     private String constructionUnit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 建设单位联系人 | ||||||
|  |      */ | ||||||
|  |     private String constructionPerson; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 建设单位联系方式 | ||||||
|  |      */ | ||||||
|  |     private String constructionMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标单位 | ||||||
|  |      */ | ||||||
|  |     private String biddingUnit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标单位联系人 | ||||||
|  |      */ | ||||||
|  |     private String biddingPerson; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标单位联系方式 | ||||||
|  |      */ | ||||||
|  |     private String biddingMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 成本价 | ||||||
|  |      */ | ||||||
|  |     private Long costPrice; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标控制价 | ||||||
|  |      */ | ||||||
|  |     private Long biddingPriceControl; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目编码 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "项目编码不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private String projectNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 默认财务组织 | ||||||
|  |      */ | ||||||
|  |     private String defaultFinance; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 涉及财务组织 | ||||||
|  |      */ | ||||||
|  |     private String involveFinance; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 文件ID | ||||||
|  |      */ | ||||||
|  |     private String fileId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 审核状态 | ||||||
|  |      */ | ||||||
|  |     private String auditStatus; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,120 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.domain.bo; | ||||||
|  |  | ||||||
|  | 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 org.dromara.xzd.biddingManagement.domain.XzdProjectRiskAssessment; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 项目风险评估签审意见业务对象 xzd_project_risk_assessment | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @AutoMapper(target = XzdProjectRiskAssessment.class, reverseConvertGenerate = false) | ||||||
|  | public class XzdProjectRiskAssessmentBo extends BaseEntity { | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 主键ID | ||||||
|  |      */ | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 单据编号 | ||||||
|  |      */ | ||||||
|  |     private String documentNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目名称 | ||||||
|  |      */ | ||||||
|  |     private String projectName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目业主 | ||||||
|  |      */ | ||||||
|  |     private String projectBusinessOwner; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 联合体成员方 | ||||||
|  |      */ | ||||||
|  |     private String jointBodyMembers; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 预计合同额(万元) | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "预计合同额(万元)不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private Long estimatedContractAmount; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 单价指标 | ||||||
|  |      */ | ||||||
|  |     private String unitPriceIndex; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工期风险 | ||||||
|  |      */ | ||||||
|  |     private String engineeringRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 技术风险 | ||||||
|  |      */ | ||||||
|  |     private String technicalRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 经济风险 | ||||||
|  |      */ | ||||||
|  |     private String economicRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 合同风险 | ||||||
|  |      */ | ||||||
|  |     private String contractRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 人员风险 | ||||||
|  |      */ | ||||||
|  |     private String personnelRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 施工风险 | ||||||
|  |      */ | ||||||
|  |     private String constructionRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 管理风险 | ||||||
|  |      */ | ||||||
|  |     private String managementRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分包风险 | ||||||
|  |      */ | ||||||
|  |     private String subcontractRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 其他风险 | ||||||
|  |      */ | ||||||
|  |     private String otherRisks; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 文件ID | ||||||
|  |      */ | ||||||
|  |     private String fileId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 审核状态 | ||||||
|  |      */ | ||||||
|  |     private String auditStatus; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.domain.dto; | ||||||
|  |  | ||||||
|  | import lombok.Data; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.bo.XzdBidPreProjectBo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.bo.XzdBqlxProjectInfoBo; | ||||||
|  |  | ||||||
|  | @Data | ||||||
|  | public class BiddingManagementDto { | ||||||
|  |  | ||||||
|  |     private XzdBidPreProjectBo xzdBidPreProjectBo; | ||||||
|  |  | ||||||
|  |     private XzdBqlxProjectInfoBo xzdBqlxProjectInfoBo; | ||||||
|  | } | ||||||
| @ -0,0 +1,52 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.domain.dto; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import jakarta.validation.constraints.NotBlank; | ||||||
|  | import jakarta.validation.constraints.NotNull; | ||||||
|  | import lombok.Data; | ||||||
|  | import org.dromara.common.core.validate.AddGroup; | ||||||
|  | import org.dromara.common.core.validate.EditGroup; | ||||||
|  |  | ||||||
|  | @Data | ||||||
|  | public class QuerBiddingManagementDto { | ||||||
|  |  | ||||||
|  | //    XzdBidPreProjectBo | ||||||
|  |     /** | ||||||
|  |      * 项目编码 | ||||||
|  |      */ | ||||||
|  |     private String projectNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目名称 | ||||||
|  |      */ | ||||||
|  |     private String projectName; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目类型 | ||||||
|  |      */ | ||||||
|  |     private Long projectTypeId; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     private Long createBy; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     private Long createDept; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //    XzdBqlxProjectInfoBo | ||||||
|  |     /** | ||||||
|  |      * 建设单位 | ||||||
|  |      */ | ||||||
|  |     private String constructionUnit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     private Integer num; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,13 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.domain.vo; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import lombok.Data; | ||||||
|  |  | ||||||
|  | @Data | ||||||
|  | public class QuerListXzdBidPreVo { | ||||||
|  |  | ||||||
|  |     private XzdBidPreProjectVo xzdBidPreProjectVo; | ||||||
|  |  | ||||||
|  |     private XzdBqlxProjectInfoVo xzdBqlxProjectInfoVo; | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,15 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.domain.vo; | ||||||
|  |  | ||||||
|  | import lombok.Builder; | ||||||
|  | import lombok.Data; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | @Data | ||||||
|  | public class QueryListXzdVo { | ||||||
|  |  | ||||||
|  |     private List<QuerListXzdBidPreVo> list; | ||||||
|  |  | ||||||
|  |     private Integer total; | ||||||
|  | } | ||||||
| @ -0,0 +1,164 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.domain.vo; | ||||||
|  |  | ||||||
|  | import org.dromara.common.translation.annotation.Translation; | ||||||
|  | import org.dromara.common.translation.constant.TransConstant; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdBidPreProject; | ||||||
|  | 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_bid_pre_project | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @ExcelIgnoreUnannotated | ||||||
|  | @AutoMapper(target = XzdBidPreProject.class) | ||||||
|  | public class XzdBidPreProjectVo implements Serializable { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 主键ID | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "主键ID") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目编码 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "项目编码") | ||||||
|  |     private String projectNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目名称 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "项目名称") | ||||||
|  |     private String projectName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 国家 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "国家") | ||||||
|  |     private String country; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 省 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "省") | ||||||
|  |     private String province; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 城市 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "城市") | ||||||
|  |     private String city; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 区县 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "区县") | ||||||
|  |     private String district; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工程地点 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "工程地点") | ||||||
|  |     private String projectLocation; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 资金来源 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "资金来源") | ||||||
|  |     private String capitalSource; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 承包方式 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "承包方式", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_contracting_method") | ||||||
|  |     private String contractingMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 经营模式 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "经营模式", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_business_model") | ||||||
|  |     private String operationMode; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目类型 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "项目类型") | ||||||
|  |     private Long projectTypeId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标方式 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "招标方式", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_bidding_method") | ||||||
|  |     private String biddingMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 联系方法 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "联系方法") | ||||||
|  |     private String liaisonMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 投资单位 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "投资单位") | ||||||
|  |     private String investmentUnit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工程造价(万元) | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "工程造价", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(readConverterExp = "万=元") | ||||||
|  |     private Long projectCost; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 资料费 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "资料费") | ||||||
|  |     private Long informationCost; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 文件ID | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "文件ID") | ||||||
|  |     private String fileId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "备注") | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 审核状态 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "审核状态") | ||||||
|  |     private String auditStatus; | ||||||
|  |  | ||||||
|  |     private Long createBy; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy") | ||||||
|  |     private String createByUserName; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,235 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.domain.vo; | ||||||
|  |  | ||||||
|  | import java.util.Date; | ||||||
|  | import com.fasterxml.jackson.annotation.JsonFormat; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdBqlxProjectInfo; | ||||||
|  | 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_bqlx_project_info | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @ExcelIgnoreUnannotated | ||||||
|  | @AutoMapper(target = XzdBqlxProjectInfo.class) | ||||||
|  | public class XzdBqlxProjectInfoVo implements Serializable { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 主键ID | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "主键ID") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 关联标前立项ID | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "关联标前立项ID") | ||||||
|  |     private Long bidPreProjectId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 预计开工日期 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "预计开工日期") | ||||||
|  |     private Date expectedStartDate; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 资质要求 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "资质要求") | ||||||
|  |     private String qualificationRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 报名开始时间 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "报名开始时间") | ||||||
|  |     private Date bidStartDate; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 报名截止时间 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "报名截止时间") | ||||||
|  |     private Date bidEndDate; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 投标截止时间 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "投标截止时间") | ||||||
|  |     private Date submissionDeadline; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 设计情况 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "设计情况") | ||||||
|  |     private String designDescription; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工程概况 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "工程概况") | ||||||
|  |     private String projectStatus; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标公告地址 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "招标公告地址") | ||||||
|  |     private String biddingAnnouncementAddress; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 质量要求 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "质量要求") | ||||||
|  |     private String qualityRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工期要求(天) | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "工期要求", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(readConverterExp = "天=") | ||||||
|  |     private Long durationDays; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 最低资质要求 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "最低资质要求") | ||||||
|  |     private String lowestQualificationRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目经理要求 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "项目经理要求") | ||||||
|  |     private String projectManagerRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 业绩要求 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "业绩要求") | ||||||
|  |     private String performanceRequirement; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 开标时间 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "开标时间") | ||||||
|  |     private Date startDate; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 评标方式 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "评标方式", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_evaluation_method") | ||||||
|  |     private String evaluationMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 投标保证金形式 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "投标保证金形式", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_margin_type") | ||||||
|  |     private String biddingDepositForm; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 投标保证金 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "投标保证金") | ||||||
|  |     private Long biddingDeposit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 建设单位 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "建设单位") | ||||||
|  |     private String constructionUnit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 建设单位联系人 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "建设单位联系人") | ||||||
|  |     private String constructionPerson; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 建设单位联系方式 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "建设单位联系方式") | ||||||
|  |     private String constructionMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标单位 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "招标单位") | ||||||
|  |     private String biddingUnit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标单位联系人 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "招标单位联系人") | ||||||
|  |     private String biddingPerson; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标单位联系方式 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "招标单位联系方式") | ||||||
|  |     private String biddingMethod; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 成本价 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "成本价") | ||||||
|  |     private Long costPrice; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 招标控制价 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "招标控制价") | ||||||
|  |     private Long biddingPriceControl; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目编码 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "项目编码") | ||||||
|  |     private String projectNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 默认财务组织 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "默认财务组织") | ||||||
|  |     private String defaultFinance; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 涉及财务组织 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "涉及财务组织") | ||||||
|  |     private String involveFinance; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 文件ID | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "文件ID") | ||||||
|  |     private String fileId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "备注") | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 审核状态 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "审核状态") | ||||||
|  |     private String auditStatus; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,168 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.domain.vo; | ||||||
|  |  | ||||||
|  | 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 org.dromara.common.translation.annotation.Translation; | ||||||
|  | import org.dromara.common.translation.constant.TransConstant; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdProjectRiskAssessment; | ||||||
|  |  | ||||||
|  | import java.io.Serial; | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.time.LocalDateTime; | ||||||
|  | import java.util.Date; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 项目风险评估签审意见视图对象 xzd_project_risk_assessment | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @ExcelIgnoreUnannotated | ||||||
|  | @AutoMapper(target = XzdProjectRiskAssessment.class) | ||||||
|  | public class XzdProjectRiskAssessmentVo 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 projectName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目业主 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "项目业主") | ||||||
|  |     private String projectBusinessOwner; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 联合体成员方 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "联合体成员方") | ||||||
|  |     private String jointBodyMembers; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 预计合同额(万元) | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "预计合同额(万元)") | ||||||
|  |     private Long estimatedContractAmount; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 单价指标 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "单价指标") | ||||||
|  |     private String unitPriceIndex; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 工期风险 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "工期风险", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_risk_assessment_type") | ||||||
|  |     private String engineeringRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 技术风险 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "技术风险", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_risk_assessment_type") | ||||||
|  |     private String technicalRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 经济风险 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "经济风险", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_risk_assessment_type") | ||||||
|  |     private String economicRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 合同风险 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "合同风险", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_risk_assessment_type") | ||||||
|  |     private String contractRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 人员风险 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "人员风险", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_risk_assessment_type") | ||||||
|  |     private String personnelRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 施工风险 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "施工风险", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_risk_assessment_type") | ||||||
|  |     private String constructionRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 管理风险 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "管理风险", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_risk_assessment_type") | ||||||
|  |     private String managementRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分包风险 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "分包风险", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_risk_assessment_type") | ||||||
|  |     private String subcontractRisk; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 其他风险 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "其他风险", converter = ExcelDictConvert.class) | ||||||
|  |     @ExcelDictFormat(dictType = "xzd_risk_assessment_type") | ||||||
|  |     private String otherRisks; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 文件ID | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "文件ID") | ||||||
|  |     private String fileId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "备注") | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 审核状态 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "审核状态") | ||||||
|  |     private String auditStatus; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     private LocalDateTime createTime; | ||||||
|  |  | ||||||
|  |     private String createBy; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 创建者姓名 | ||||||
|  |      */ | ||||||
|  |     @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "createBy") | ||||||
|  |     private String createByName; | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,44 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.domain.vo; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import com.alibaba.excel.annotation.ExcelProperty; | ||||||
|  | import com.baomidou.mybatisplus.annotation.FieldFill; | ||||||
|  | import com.baomidou.mybatisplus.annotation.TableField; | ||||||
|  | import lombok.Data; | ||||||
|  |  | ||||||
|  | import java.time.LocalDateTime; | ||||||
|  |  | ||||||
|  | @Data | ||||||
|  | public class XzdProjectVo { | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 单据编号 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "单据编号") | ||||||
|  |     private String documentNumber; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目名称 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "项目名称") | ||||||
|  |     private String projectName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目业主 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "项目业主") | ||||||
|  |     private String projectBusinessOwner; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 创建者 录入人 | ||||||
|  |      */ | ||||||
|  |     private Long createBy; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     private LocalDateTime startTime; | ||||||
|  |  | ||||||
|  |     private LocalDateTime endTime; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,24 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.mapper; | ||||||
|  |  | ||||||
|  | import org.apache.ibatis.annotations.Param; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdBidPreProject; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.dto.QuerBiddingManagementDto; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.QuerListXzdBidPreVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdBidPreProjectVo; | ||||||
|  | import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 标前立项Mapper接口 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | public interface XzdBidPreProjectMapper extends BaseMapperPlus<XzdBidPreProject, XzdBidPreProjectVo> { | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     List<QuerListXzdBidPreVo> queryPageListBy(@Param("bo") QuerBiddingManagementDto bo, @Param("pageSize") Integer pageSize); | ||||||
|  |  | ||||||
|  |     Integer queryPageListByNum(@Param("bo") QuerBiddingManagementDto bo, @Param("pageSize") Integer pageSize); | ||||||
|  | } | ||||||
| @ -0,0 +1,15 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.mapper; | ||||||
|  |  | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdBqlxProjectInfo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdBqlxProjectInfoVo; | ||||||
|  | import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 标前立项Mapper接口 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | public interface XzdBqlxProjectInfoMapper extends BaseMapperPlus<XzdBqlxProjectInfo, XzdBqlxProjectInfoVo> { | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,16 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.mapper; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdProjectRiskAssessment; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectRiskAssessmentVo; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 项目风险评估签审意见Mapper接口 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | public interface XzdProjectRiskAssessmentMapper extends BaseMapperPlus<XzdProjectRiskAssessment, XzdProjectRiskAssessmentVo> { | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -0,0 +1,74 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.service; | ||||||
|  |  | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.dto.BiddingManagementDto; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.dto.QuerBiddingManagementDto; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.QuerListXzdBidPreVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.QueryListXzdVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdBidPreProjectVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.bo.XzdBidPreProjectBo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdBidPreProject; | ||||||
|  | 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 IXzdBidPreProjectService extends IService<XzdBidPreProject>{ | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询标前立项 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      * @return 标前立项 | ||||||
|  |      */ | ||||||
|  |     QuerListXzdBidPreVo queryById(Long id); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分页查询标前立项列表 | ||||||
|  |      * | ||||||
|  |      * @param bo        查询条件 | ||||||
|  |      * @param pageQuery 分页参数 | ||||||
|  |      * @return 标前立项分页列表 | ||||||
|  |      */ | ||||||
|  |     QueryListXzdVo queryPageList(QuerBiddingManagementDto bo, PageQuery pageQuery); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询符合条件的标前立项列表 | ||||||
|  |      * | ||||||
|  |      * @param bo 查询条件 | ||||||
|  |      * @return 标前立项列表 | ||||||
|  |      */ | ||||||
|  |     List<XzdBidPreProjectVo> queryList(XzdBidPreProjectBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增标前立项 | ||||||
|  |      * | ||||||
|  |      * @param bo 标前立项 | ||||||
|  |      * @return 是否新增成功 | ||||||
|  |      */ | ||||||
|  |     Boolean insertByBo(BiddingManagementDto bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改标前立项 | ||||||
|  |      * | ||||||
|  |      * @param bo 标前立项 | ||||||
|  |      * @return 是否修改成功 | ||||||
|  |      */ | ||||||
|  |     Boolean updateByBo(BiddingManagementDto bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 校验并批量删除标前立项信息 | ||||||
|  |      * | ||||||
|  |      * @param ids     待删除的主键集合 | ||||||
|  |      * @param isValid 是否进行有效性校验 | ||||||
|  |      * @return 是否删除成功 | ||||||
|  |      */ | ||||||
|  |     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); | ||||||
|  | } | ||||||
| @ -0,0 +1,70 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.service; | ||||||
|  |  | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdBqlxProjectInfoVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.bo.XzdBqlxProjectInfoBo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdBqlxProjectInfo; | ||||||
|  | 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 IXzdBqlxProjectInfoService extends IService<XzdBqlxProjectInfo>{ | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询标前立项 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      * @return 标前立项 | ||||||
|  |      */ | ||||||
|  |     XzdBqlxProjectInfoVo queryById(Long id); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分页查询标前立项列表 | ||||||
|  |      * | ||||||
|  |      * @param bo        查询条件 | ||||||
|  |      * @param pageQuery 分页参数 | ||||||
|  |      * @return 标前立项分页列表 | ||||||
|  |      */ | ||||||
|  |     TableDataInfo<XzdBqlxProjectInfoVo> queryPageList(XzdBqlxProjectInfoBo bo, PageQuery pageQuery); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询符合条件的标前立项列表 | ||||||
|  |      * | ||||||
|  |      * @param bo 查询条件 | ||||||
|  |      * @return 标前立项列表 | ||||||
|  |      */ | ||||||
|  |     List<XzdBqlxProjectInfoVo> queryList(XzdBqlxProjectInfoBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增标前立项 | ||||||
|  |      * | ||||||
|  |      * @param bo 标前立项 | ||||||
|  |      * @return 是否新增成功 | ||||||
|  |      */ | ||||||
|  |     Boolean insertByBo(XzdBqlxProjectInfoBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改标前立项 | ||||||
|  |      * | ||||||
|  |      * @param bo 标前立项 | ||||||
|  |      * @return 是否修改成功 | ||||||
|  |      */ | ||||||
|  |     Boolean updateByBo(XzdBqlxProjectInfoBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 校验并批量删除标前立项信息 | ||||||
|  |      * | ||||||
|  |      * @param ids     待删除的主键集合 | ||||||
|  |      * @param isValid 是否进行有效性校验 | ||||||
|  |      * @return 是否删除成功 | ||||||
|  |      */ | ||||||
|  |     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); | ||||||
|  | } | ||||||
| @ -0,0 +1,73 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.service; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import org.dromara.common.mybatis.core.page.TableDataInfo; | ||||||
|  | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
|  |  | ||||||
|  | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdProjectRiskAssessment; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.bo.XzdProjectRiskAssessmentBo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectRiskAssessmentVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectVo; | ||||||
|  |  | ||||||
|  | import java.util.Collection; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 项目风险评估签审意见Service接口 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | public interface IXzdProjectRiskAssessmentService extends IService<XzdProjectRiskAssessment>{ | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询项目风险评估签审意见 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      * @return 项目风险评估签审意见 | ||||||
|  |      */ | ||||||
|  |     XzdProjectRiskAssessmentVo queryById(Long id); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分页查询项目风险评估签审意见列表 | ||||||
|  |      * | ||||||
|  |      * @param bo        查询条件 | ||||||
|  |      * @param pageQuery 分页参数 | ||||||
|  |      * @return 项目风险评估签审意见分页列表 | ||||||
|  |      */ | ||||||
|  |     TableDataInfo<XzdProjectRiskAssessmentVo> queryPageList(XzdProjectVo bo, PageQuery pageQuery); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询符合条件的项目风险评估签审意见列表 | ||||||
|  |      * | ||||||
|  |      * @param bo 查询条件 | ||||||
|  |      * @return 项目风险评估签审意见列表 | ||||||
|  |      */ | ||||||
|  |     List<XzdProjectRiskAssessmentVo> queryList(XzdProjectRiskAssessmentBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增项目风险评估签审意见 | ||||||
|  |      * | ||||||
|  |      * @param bo 项目风险评估签审意见 | ||||||
|  |      * @return 是否新增成功 | ||||||
|  |      */ | ||||||
|  |     Boolean insertByBo(XzdProjectRiskAssessmentBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改项目风险评估签审意见 | ||||||
|  |      * | ||||||
|  |      * @param bo 项目风险评估签审意见 | ||||||
|  |      * @return 是否修改成功 | ||||||
|  |      */ | ||||||
|  |     Boolean updateByBo(XzdProjectRiskAssessmentBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 校验并批量删除项目风险评估签审意见信息 | ||||||
|  |      * | ||||||
|  |      * @param ids     待删除的主键集合 | ||||||
|  |      * @param isValid 是否进行有效性校验 | ||||||
|  |      * @return 是否删除成功 | ||||||
|  |      */ | ||||||
|  |     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); | ||||||
|  | } | ||||||
| @ -0,0 +1,217 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.service.impl; | ||||||
|  |  | ||||||
|  | import cn.hutool.core.bean.BeanUtil; | ||||||
|  | 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.xzd.biddingManagement.domain.XzdBqlxProjectInfo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.bo.XzdBqlxProjectInfoBo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.dto.BiddingManagementDto; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.dto.QuerBiddingManagementDto; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.QuerListXzdBidPreVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.QueryListXzdVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdBqlxProjectInfoVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.mapper.XzdBqlxProjectInfoMapper; | ||||||
|  | import org.dromara.xzd.biddingManagement.service.IXzdBqlxProjectInfoService; | ||||||
|  | import org.dromara.xzd.utilS.AreaUtil; | ||||||
|  | import org.springframework.beans.BeanUtils; | ||||||
|  | import org.springframework.stereotype.Service; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.bo.XzdBidPreProjectBo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdBidPreProjectVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdBidPreProject; | ||||||
|  | import org.dromara.xzd.biddingManagement.mapper.XzdBidPreProjectMapper; | ||||||
|  | import org.dromara.xzd.biddingManagement.service.IXzdBidPreProjectService; | ||||||
|  | import org.springframework.transaction.annotation.Transactional; | ||||||
|  |  | ||||||
|  | import java.time.LocalDateTime; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.Collection; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 标前立项Service业务层处理 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Service | ||||||
|  | public class XzdBidPreProjectServiceImpl extends ServiceImpl<XzdBidPreProjectMapper, XzdBidPreProject> implements IXzdBidPreProjectService { | ||||||
|  |  | ||||||
|  |     private final XzdBidPreProjectMapper baseMapper; | ||||||
|  |  | ||||||
|  |     private final IXzdBqlxProjectInfoService iXzdBqlxProjectInfoService; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     private final AreaUtil areaUtil; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询标前立项 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      * @return 标前立项 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public QuerListXzdBidPreVo queryById(Long id){ | ||||||
|  |         QuerListXzdBidPreVo querListXzdBidPreVo = new QuerListXzdBidPreVo(); | ||||||
|  |         XzdBidPreProjectVo xzdBidPreProjectVo = baseMapper.selectVoById(id); | ||||||
|  |         XzdBqlxProjectInfo xzdBqlxProjectInfo = iXzdBqlxProjectInfoService.getBaseMapper().selectOne(new LambdaQueryWrapper<>(XzdBqlxProjectInfo.class).eq(XzdBqlxProjectInfo::getBidPreProjectId, id)); | ||||||
|  |         XzdBqlxProjectInfoVo res = new XzdBqlxProjectInfoVo(); | ||||||
|  |         BeanUtils.copyProperties(xzdBqlxProjectInfo, res); | ||||||
|  |  | ||||||
|  |         querListXzdBidPreVo.setXzdBqlxProjectInfoVo(res); | ||||||
|  |         querListXzdBidPreVo.setXzdBidPreProjectVo(xzdBidPreProjectVo); | ||||||
|  |  | ||||||
|  |         return querListXzdBidPreVo; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分页查询标前立项列表 | ||||||
|  |      * | ||||||
|  |      * @param bo        查询条件 | ||||||
|  |      * @param pageQuery 分页参数 | ||||||
|  |      * @return 标前立项分页列表 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public QueryListXzdVo queryPageList(QuerBiddingManagementDto bo, PageQuery pageQuery) { | ||||||
|  |  | ||||||
|  |         QueryListXzdVo queryListXzdVo = new QueryListXzdVo(); | ||||||
|  |  | ||||||
|  |         if (pageQuery.getPageNum() != null && pageQuery.getPageSize() != null){ | ||||||
|  |             bo.setNum((pageQuery.getPageNum() - 1 ) * pageQuery.getPageSize() ); | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |        List<QuerListXzdBidPreVo> list = baseMapper.queryPageListBy(bo,pageQuery.getPageSize()); | ||||||
|  |         Integer  res  = baseMapper.queryPageListByNum(bo,pageQuery.getPageSize()); | ||||||
|  |  | ||||||
|  |         queryListXzdVo.setList(list); | ||||||
|  |  | ||||||
|  |         queryListXzdVo.setTotal(res); | ||||||
|  |  | ||||||
|  |         return queryListXzdVo; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询符合条件的标前立项列表 | ||||||
|  |      * | ||||||
|  |      * @param bo 查询条件 | ||||||
|  |      * @return 标前立项列表 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public List<XzdBidPreProjectVo> queryList(XzdBidPreProjectBo bo) { | ||||||
|  |         LambdaQueryWrapper<XzdBidPreProject> lqw = buildQueryWrapper(bo); | ||||||
|  |         return baseMapper.selectVoList(lqw); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private LambdaQueryWrapper<XzdBidPreProject> buildQueryWrapper(XzdBidPreProjectBo bo) { | ||||||
|  |         Map<String, Object> params = bo.getParams(); | ||||||
|  |         LambdaQueryWrapper<XzdBidPreProject> lqw = Wrappers.lambdaQuery(); | ||||||
|  |         lqw.orderByDesc(XzdBidPreProject::getId); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getProjectNumber()), XzdBidPreProject::getProjectNumber, bo.getProjectNumber()); | ||||||
|  |         lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdBidPreProject::getProjectName, bo.getProjectName()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getCountry()), XzdBidPreProject::getCountry, bo.getCountry()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getProvince()), XzdBidPreProject::getProvince, bo.getProvince()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getCity()), XzdBidPreProject::getCity, bo.getCity()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getDistrict()), XzdBidPreProject::getDistrict, bo.getDistrict()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getProjectLocation()), XzdBidPreProject::getProjectLocation, bo.getProjectLocation()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getCapitalSource()), XzdBidPreProject::getCapitalSource, bo.getCapitalSource()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getContractingMethod()), XzdBidPreProject::getContractingMethod, bo.getContractingMethod()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getOperationMode()), XzdBidPreProject::getOperationMode, bo.getOperationMode()); | ||||||
|  |         lqw.eq(bo.getProjectTypeId() != null, XzdBidPreProject::getProjectTypeId, bo.getProjectTypeId()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getBiddingMethod()), XzdBidPreProject::getBiddingMethod, bo.getBiddingMethod()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getLiaisonMethod()), XzdBidPreProject::getLiaisonMethod, bo.getLiaisonMethod()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getInvestmentUnit()), XzdBidPreProject::getInvestmentUnit, bo.getInvestmentUnit()); | ||||||
|  |         lqw.eq(bo.getProjectCost() != null, XzdBidPreProject::getProjectCost, bo.getProjectCost()); | ||||||
|  |         lqw.eq(bo.getInformationCost() != null, XzdBidPreProject::getInformationCost, bo.getInformationCost()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdBidPreProject::getFileId, bo.getFileId()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdBidPreProject::getAuditStatus, bo.getAuditStatus()); | ||||||
|  |         return lqw; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增标前立项 | ||||||
|  |      * | ||||||
|  |      * @param bo 标前立项 | ||||||
|  |      * @return 是否新增成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     @Transactional(rollbackFor = Exception.class) | ||||||
|  |     public Boolean insertByBo(BiddingManagementDto bo) { | ||||||
|  |  | ||||||
|  |         try { | ||||||
|  |             Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdBidPreProject>().gt(XzdBidPreProject::getCreateTime, LocalDateTime.now().minusDays(1))); | ||||||
|  |             String s = areaUtil.generateDateBasedNumber(); | ||||||
|  |  | ||||||
|  | //        标前立项 | ||||||
|  |             XzdBidPreProjectBo xzdBidPreProjectBo = bo.getXzdBidPreProjectBo(); | ||||||
|  |             XzdBidPreProject xzdBidPreProject = new XzdBidPreProject(); | ||||||
|  |             if (xzdBidPreProjectBo != null) { | ||||||
|  |                 BeanUtil.copyProperties(xzdBidPreProjectBo, xzdBidPreProject); | ||||||
|  |                 xzdBidPreProject.setProjectNumber(s+"-"+(l+1)); | ||||||
|  |                 baseMapper.insert(xzdBidPreProject); | ||||||
|  |             } | ||||||
|  |  | ||||||
|  | //标前立项-项目信息 | ||||||
|  |             XzdBqlxProjectInfoBo xzdBqlxProjectInfoBo = bo.getXzdBqlxProjectInfoBo(); | ||||||
|  |             xzdBqlxProjectInfoBo.setBidPreProjectId(xzdBidPreProject.getId()); | ||||||
|  |  | ||||||
|  |             iXzdBqlxProjectInfoService.insertByBo(xzdBqlxProjectInfoBo); | ||||||
|  |         }catch (Exception e) { | ||||||
|  |             log.error("新增标前立项失败", e); | ||||||
|  |             return false; | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         return true; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改标前立项 | ||||||
|  |      * | ||||||
|  |      * @param bo 标前立项 | ||||||
|  |      * @return 是否修改成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean updateByBo(BiddingManagementDto bo) { | ||||||
|  |  | ||||||
|  |  | ||||||
|  | //        XzdBidPreProjectBo xzdBidPreProjectBo = bo.getXzdBidPreProjectBo(); | ||||||
|  | // | ||||||
|  | //        baseMapper.updateById(xzdBidPreProjectBo); | ||||||
|  | // | ||||||
|  | //        XzdBqlxProjectInfoBo xzdBqlxProjectInfoBo = bo.getXzdBqlxProjectInfoBo(); | ||||||
|  | // | ||||||
|  | // | ||||||
|  | //        validEntityBeforeSave(update); | ||||||
|  |         return false; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 保存前的数据校验 | ||||||
|  |      */ | ||||||
|  |     private void validEntityBeforeSave(XzdBidPreProject entity){ | ||||||
|  |         //TODO 做一些数据校验,如唯一约束 | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 校验并批量删除标前立项信息 | ||||||
|  |      * | ||||||
|  |      * @param ids     待删除的主键集合 | ||||||
|  |      * @param isValid 是否进行有效性校验 | ||||||
|  |      * @return 是否删除成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { | ||||||
|  |         if(isValid){ | ||||||
|  |             //TODO 做一些业务上的校验,判断是否需要校验 | ||||||
|  |         } | ||||||
|  |         return baseMapper.deleteByIds(ids) > 0; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,161 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.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.biddingManagement.domain.bo.XzdBqlxProjectInfoBo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdBqlxProjectInfoVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.XzdBqlxProjectInfo; | ||||||
|  | import org.dromara.xzd.biddingManagement.mapper.XzdBqlxProjectInfoMapper; | ||||||
|  | import org.dromara.xzd.biddingManagement.service.IXzdBqlxProjectInfoService; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.Collection; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 标前立项Service业务层处理 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Service | ||||||
|  | public class XzdBqlxProjectInfoServiceImpl extends ServiceImpl<XzdBqlxProjectInfoMapper, XzdBqlxProjectInfo> implements IXzdBqlxProjectInfoService { | ||||||
|  |  | ||||||
|  |     private final XzdBqlxProjectInfoMapper baseMapper; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询标前立项 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      * @return 标前立项 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public XzdBqlxProjectInfoVo queryById(Long id){ | ||||||
|  |         return baseMapper.selectVoById(id); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分页查询标前立项列表 | ||||||
|  |      * | ||||||
|  |      * @param bo        查询条件 | ||||||
|  |      * @param pageQuery 分页参数 | ||||||
|  |      * @return 标前立项分页列表 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public TableDataInfo<XzdBqlxProjectInfoVo> queryPageList(XzdBqlxProjectInfoBo bo, PageQuery pageQuery) { | ||||||
|  |         LambdaQueryWrapper<XzdBqlxProjectInfo> lqw = buildQueryWrapper(bo); | ||||||
|  |         Page<XzdBqlxProjectInfoVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); | ||||||
|  |         return TableDataInfo.build(result); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询符合条件的标前立项列表 | ||||||
|  |      * | ||||||
|  |      * @param bo 查询条件 | ||||||
|  |      * @return 标前立项列表 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public List<XzdBqlxProjectInfoVo> queryList(XzdBqlxProjectInfoBo bo) { | ||||||
|  |         LambdaQueryWrapper<XzdBqlxProjectInfo> lqw = buildQueryWrapper(bo); | ||||||
|  |         return baseMapper.selectVoList(lqw); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private LambdaQueryWrapper<XzdBqlxProjectInfo> buildQueryWrapper(XzdBqlxProjectInfoBo bo) { | ||||||
|  |         Map<String, Object> params = bo.getParams(); | ||||||
|  |         LambdaQueryWrapper<XzdBqlxProjectInfo> lqw = Wrappers.lambdaQuery(); | ||||||
|  |         lqw.orderByDesc(XzdBqlxProjectInfo::getId); | ||||||
|  |         lqw.eq(bo.getBidPreProjectId() != null, XzdBqlxProjectInfo::getBidPreProjectId, bo.getBidPreProjectId()); | ||||||
|  |         lqw.eq(bo.getExpectedStartDate() != null, XzdBqlxProjectInfo::getExpectedStartDate, bo.getExpectedStartDate()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getQualificationRequirement()), XzdBqlxProjectInfo::getQualificationRequirement, bo.getQualificationRequirement()); | ||||||
|  |         lqw.eq(bo.getBidStartDate() != null, XzdBqlxProjectInfo::getBidStartDate, bo.getBidStartDate()); | ||||||
|  |         lqw.eq(bo.getBidEndDate() != null, XzdBqlxProjectInfo::getBidEndDate, bo.getBidEndDate()); | ||||||
|  |         lqw.eq(bo.getSubmissionDeadline() != null, XzdBqlxProjectInfo::getSubmissionDeadline, bo.getSubmissionDeadline()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getDesignDescription()), XzdBqlxProjectInfo::getDesignDescription, bo.getDesignDescription()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getProjectStatus()), XzdBqlxProjectInfo::getProjectStatus, bo.getProjectStatus()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getBiddingAnnouncementAddress()), XzdBqlxProjectInfo::getBiddingAnnouncementAddress, bo.getBiddingAnnouncementAddress()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getQualityRequirement()), XzdBqlxProjectInfo::getQualityRequirement, bo.getQualityRequirement()); | ||||||
|  |         lqw.eq(bo.getDurationDays() != null, XzdBqlxProjectInfo::getDurationDays, bo.getDurationDays()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getLowestQualificationRequirement()), XzdBqlxProjectInfo::getLowestQualificationRequirement, bo.getLowestQualificationRequirement()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getProjectManagerRequirement()), XzdBqlxProjectInfo::getProjectManagerRequirement, bo.getProjectManagerRequirement()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getPerformanceRequirement()), XzdBqlxProjectInfo::getPerformanceRequirement, bo.getPerformanceRequirement()); | ||||||
|  |         lqw.eq(bo.getStartDate() != null, XzdBqlxProjectInfo::getStartDate, bo.getStartDate()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getEvaluationMethod()), XzdBqlxProjectInfo::getEvaluationMethod, bo.getEvaluationMethod()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getBiddingDepositForm()), XzdBqlxProjectInfo::getBiddingDepositForm, bo.getBiddingDepositForm()); | ||||||
|  |         lqw.eq(bo.getBiddingDeposit() != null, XzdBqlxProjectInfo::getBiddingDeposit, bo.getBiddingDeposit()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getConstructionUnit()), XzdBqlxProjectInfo::getConstructionUnit, bo.getConstructionUnit()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getConstructionPerson()), XzdBqlxProjectInfo::getConstructionPerson, bo.getConstructionPerson()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getConstructionMethod()), XzdBqlxProjectInfo::getConstructionMethod, bo.getConstructionMethod()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getBiddingUnit()), XzdBqlxProjectInfo::getBiddingUnit, bo.getBiddingUnit()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getBiddingPerson()), XzdBqlxProjectInfo::getBiddingPerson, bo.getBiddingPerson()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getBiddingMethod()), XzdBqlxProjectInfo::getBiddingMethod, bo.getBiddingMethod()); | ||||||
|  |         lqw.eq(bo.getCostPrice() != null, XzdBqlxProjectInfo::getCostPrice, bo.getCostPrice()); | ||||||
|  |         lqw.eq(bo.getBiddingPriceControl() != null, XzdBqlxProjectInfo::getBiddingPriceControl, bo.getBiddingPriceControl()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getProjectNumber()), XzdBqlxProjectInfo::getProjectNumber, bo.getProjectNumber()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getDefaultFinance()), XzdBqlxProjectInfo::getDefaultFinance, bo.getDefaultFinance()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getInvolveFinance()), XzdBqlxProjectInfo::getInvolveFinance, bo.getInvolveFinance()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdBqlxProjectInfo::getFileId, bo.getFileId()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdBqlxProjectInfo::getAuditStatus, bo.getAuditStatus()); | ||||||
|  |         return lqw; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增标前立项 | ||||||
|  |      * | ||||||
|  |      * @param bo 标前立项 | ||||||
|  |      * @return 是否新增成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean insertByBo(XzdBqlxProjectInfoBo bo) { | ||||||
|  |         XzdBqlxProjectInfo add = MapstructUtils.convert(bo, XzdBqlxProjectInfo.class); | ||||||
|  |         validEntityBeforeSave(add); | ||||||
|  |         boolean flag = baseMapper.insert(add) > 0; | ||||||
|  |         if (flag) { | ||||||
|  |             bo.setId(add.getId()); | ||||||
|  |         } | ||||||
|  |         return flag; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改标前立项 | ||||||
|  |      * | ||||||
|  |      * @param bo 标前立项 | ||||||
|  |      * @return 是否修改成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean updateByBo(XzdBqlxProjectInfoBo bo) { | ||||||
|  |         XzdBqlxProjectInfo update = MapstructUtils.convert(bo, XzdBqlxProjectInfo.class); | ||||||
|  |         validEntityBeforeSave(update); | ||||||
|  |         return baseMapper.updateById(update) > 0; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 保存前的数据校验 | ||||||
|  |      */ | ||||||
|  |     private void validEntityBeforeSave(XzdBqlxProjectInfo entity){ | ||||||
|  |         //TODO 做一些数据校验,如唯一约束 | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 校验并批量删除标前立项信息 | ||||||
|  |      * | ||||||
|  |      * @param ids     待删除的主键集合 | ||||||
|  |      * @param isValid 是否进行有效性校验 | ||||||
|  |      * @return 是否删除成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { | ||||||
|  |         if(isValid){ | ||||||
|  |             //TODO 做一些业务上的校验,判断是否需要校验 | ||||||
|  |         } | ||||||
|  |         return baseMapper.deleteByIds(ids) > 0; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,176 @@ | |||||||
|  | package org.dromara.xzd.biddingManagement.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.xzd.biddingManagement.domain.XzdProjectRiskAssessment; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.bo.XzdProjectRiskAssessmentBo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectRiskAssessmentVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.domain.vo.XzdProjectVo; | ||||||
|  | import org.dromara.xzd.biddingManagement.mapper.XzdProjectRiskAssessmentMapper; | ||||||
|  | import org.dromara.xzd.biddingManagement.service.IXzdProjectRiskAssessmentService; | ||||||
|  | import org.dromara.xzd.utilS.AreaUtil; | ||||||
|  | import org.springframework.stereotype.Service; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import java.time.LocalDateTime; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  | import java.util.Collection; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 项目风险评估签审意见Service业务层处理 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-10 | ||||||
|  |  */ | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @Service | ||||||
|  | public class XzdProjectRiskAssessmentServiceImpl extends ServiceImpl<XzdProjectRiskAssessmentMapper, XzdProjectRiskAssessment> implements IXzdProjectRiskAssessmentService { | ||||||
|  |  | ||||||
|  |     private final XzdProjectRiskAssessmentMapper baseMapper; | ||||||
|  |  | ||||||
|  |     private final AreaUtil areaUtil; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询项目风险评估签审意见 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      * @return 项目风险评估签审意见 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public XzdProjectRiskAssessmentVo queryById(Long id){ | ||||||
|  |         return baseMapper.selectVoById(id); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分页查询项目风险评估签审意见列表 | ||||||
|  |      * | ||||||
|  |      * @param bo        查询条件 | ||||||
|  |      * @param pageQuery 分页参数 | ||||||
|  |      * @return 项目风险评估签审意见分页列表 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public TableDataInfo<XzdProjectRiskAssessmentVo> queryPageList(XzdProjectVo bo, PageQuery pageQuery) { | ||||||
|  |         LambdaQueryWrapper<XzdProjectRiskAssessment> lqw = buildQueryWrapper1(bo); | ||||||
|  |         Page<XzdProjectRiskAssessmentVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); | ||||||
|  |  | ||||||
|  |         return TableDataInfo.build(result); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询符合条件的项目风险评估签审意见列表 | ||||||
|  |      * | ||||||
|  |      * @param bo 查询条件 | ||||||
|  |      * @return 项目风险评估签审意见列表 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public List<XzdProjectRiskAssessmentVo> queryList(XzdProjectRiskAssessmentBo bo) { | ||||||
|  |         LambdaQueryWrapper<XzdProjectRiskAssessment> lqw = buildQueryWrapper(bo); | ||||||
|  |         return baseMapper.selectVoList(lqw); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private LambdaQueryWrapper<XzdProjectRiskAssessment> buildQueryWrapper(XzdProjectRiskAssessmentBo bo) { | ||||||
|  |         Map<String, Object> params = bo.getParams(); | ||||||
|  |         LambdaQueryWrapper<XzdProjectRiskAssessment> lqw = Wrappers.lambdaQuery(); | ||||||
|  |         lqw.orderByDesc(XzdProjectRiskAssessment::getId); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getDocumentNumber()), XzdProjectRiskAssessment::getDocumentNumber, bo.getDocumentNumber()); | ||||||
|  |         lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdProjectRiskAssessment::getProjectName, bo.getProjectName()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getProjectBusinessOwner()), XzdProjectRiskAssessment::getProjectBusinessOwner, bo.getProjectBusinessOwner()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getJointBodyMembers()), XzdProjectRiskAssessment::getJointBodyMembers, bo.getJointBodyMembers()); | ||||||
|  |         lqw.eq(bo.getEstimatedContractAmount() != null, XzdProjectRiskAssessment::getEstimatedContractAmount, bo.getEstimatedContractAmount()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getUnitPriceIndex()), XzdProjectRiskAssessment::getUnitPriceIndex, bo.getUnitPriceIndex()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getEngineeringRisk()), XzdProjectRiskAssessment::getEngineeringRisk, bo.getEngineeringRisk()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getTechnicalRisk()), XzdProjectRiskAssessment::getTechnicalRisk, bo.getTechnicalRisk()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getEconomicRisk()), XzdProjectRiskAssessment::getEconomicRisk, bo.getEconomicRisk()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getContractRisk()), XzdProjectRiskAssessment::getContractRisk, bo.getContractRisk()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getPersonnelRisk()), XzdProjectRiskAssessment::getPersonnelRisk, bo.getPersonnelRisk()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getConstructionRisk()), XzdProjectRiskAssessment::getConstructionRisk, bo.getConstructionRisk()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getManagementRisk()), XzdProjectRiskAssessment::getManagementRisk, bo.getManagementRisk()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getSubcontractRisk()), XzdProjectRiskAssessment::getSubcontractRisk, bo.getSubcontractRisk()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getOtherRisks()), XzdProjectRiskAssessment::getOtherRisks, bo.getOtherRisks()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getFileId()), XzdProjectRiskAssessment::getFileId, bo.getFileId()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getAuditStatus()), XzdProjectRiskAssessment::getAuditStatus, bo.getAuditStatus()); | ||||||
|  |         return lqw; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     private LambdaQueryWrapper<XzdProjectRiskAssessment> buildQueryWrapper1(XzdProjectVo bo) { | ||||||
|  |         LambdaQueryWrapper<XzdProjectRiskAssessment> lqw = Wrappers.lambdaQuery(); | ||||||
|  |         lqw.orderByDesc(XzdProjectRiskAssessment::getId); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getDocumentNumber()), XzdProjectRiskAssessment::getDocumentNumber, bo.getDocumentNumber()); | ||||||
|  |         lqw.like(StringUtils.isNotBlank(bo.getProjectName()), XzdProjectRiskAssessment::getProjectName, bo.getProjectName()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getProjectBusinessOwner()), XzdProjectRiskAssessment::getProjectBusinessOwner, bo.getProjectBusinessOwner()); | ||||||
|  |         lqw.eq(StringUtils.isNotBlank(bo.getCreateBy().toString()), XzdProjectRiskAssessment::getCreateBy, bo.getCreateBy()); | ||||||
|  |         lqw.ge(StringUtils.isNotBlank(bo.getStartTime().toString()), XzdProjectRiskAssessment::getCreateTime, bo.getStartTime()); | ||||||
|  |         lqw.le(StringUtils.isNotBlank(bo.getEndTime().toString()), XzdProjectRiskAssessment::getCreateTime, bo.getEndTime()); | ||||||
|  |  | ||||||
|  |         return lqw; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增项目风险评估签审意见 | ||||||
|  |      * | ||||||
|  |      * @param bo 项目风险评估签审意见 | ||||||
|  |      * @return 是否新增成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean insertByBo(XzdProjectRiskAssessmentBo bo) { | ||||||
|  |         XzdProjectRiskAssessment add = MapstructUtils.convert(bo, XzdProjectRiskAssessment.class); | ||||||
|  |         validEntityBeforeSave(add); | ||||||
|  |         if(add != null){ | ||||||
|  |             String s = areaUtil.generateDateBasedNumber(); | ||||||
|  |             Long l = baseMapper.selectCount(new LambdaQueryWrapper<XzdProjectRiskAssessment>().gt(XzdProjectRiskAssessment::getCreateTime, LocalDateTime.now().minusDays(1))); | ||||||
|  |             add.setDocumentNumber(s+"-"+(l+1)); | ||||||
|  |         } | ||||||
|  |         boolean flag = baseMapper.insert(add) > 0; | ||||||
|  |         if (flag) { | ||||||
|  |             bo.setId(add.getId()); | ||||||
|  |         } | ||||||
|  |         return flag; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改项目风险评估签审意见 | ||||||
|  |      * | ||||||
|  |      * @param bo 项目风险评估签审意见 | ||||||
|  |      * @return 是否修改成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean updateByBo(XzdProjectRiskAssessmentBo bo) { | ||||||
|  |         XzdProjectRiskAssessment update = MapstructUtils.convert(bo, XzdProjectRiskAssessment.class); | ||||||
|  |         validEntityBeforeSave(update); | ||||||
|  |         return baseMapper.updateById(update) > 0; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 保存前的数据校验 | ||||||
|  |      */ | ||||||
|  |     private void validEntityBeforeSave(XzdProjectRiskAssessment entity){ | ||||||
|  |         //TODO 做一些数据校验,如唯一约束 | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 校验并批量删除项目风险评估签审意见信息 | ||||||
|  |      * | ||||||
|  |      * @param ids     待删除的主键集合 | ||||||
|  |      * @param isValid 是否进行有效性校验 | ||||||
|  |      * @return 是否删除成功 | ||||||
|  |      */ | ||||||
|  |     @Override | ||||||
|  |     public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) { | ||||||
|  |         if(isValid){ | ||||||
|  |             //TODO 做一些业务上的校验,判断是否需要校验 | ||||||
|  |         } | ||||||
|  |         return baseMapper.deleteByIds(ids) > 0; | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -5,17 +5,14 @@ import cn.dev33.satoken.annotation.SaCheckPermission; | |||||||
| import lombok.RequiredArgsConstructor; | import lombok.RequiredArgsConstructor; | ||||||
| import org.dromara.common.core.domain.R; | import org.dromara.common.core.domain.R; | ||||||
| import org.dromara.common.mybatis.core.page.PageQuery; | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
| import org.dromara.xzd.domain.XzdCustomertype; |  | ||||||
| import org.dromara.xzd.domain.dto.AddCorrespondentDto; | import org.dromara.xzd.domain.dto.AddCorrespondentDto; | ||||||
|  | import org.dromara.xzd.domain.dto.QuerCorrespondentDto; | ||||||
| import org.dromara.xzd.domain.dto.XzdClienteleListDto; | import org.dromara.xzd.domain.dto.XzdClienteleListDto; | ||||||
| import org.dromara.xzd.domain.vo.XzdClienteleListSumVo; | import org.dromara.xzd.domain.vo.XzdClienteleListSumVo; | ||||||
| import org.dromara.xzd.domain.vo.XzdClienteleListVo; |  | ||||||
| import org.dromara.xzd.domain.vo.XzdCustomertypeVo; | import org.dromara.xzd.domain.vo.XzdCustomertypeVo; | ||||||
| import org.dromara.xzd.domain.vo.XzdPoiAreaVo; | import org.dromara.xzd.domain.vo.XzdPoiAreaVo; | ||||||
| import org.dromara.xzd.service.IXzdCorrespondentList; | import org.dromara.xzd.service.IXzdCorrespondentList; | ||||||
| import org.dromara.xzd.service.IXzdCustomertypeInfoService; |  | ||||||
| import org.dromara.xzd.service.IXzdCustomertypeService; | import org.dromara.xzd.service.IXzdCustomertypeService; | ||||||
| import org.dromara.xzd.service.IXzdPoiAreaService; |  | ||||||
| import org.springframework.validation.annotation.Validated; | import org.springframework.validation.annotation.Validated; | ||||||
| import org.springframework.web.bind.annotation.*; | import org.springframework.web.bind.annotation.*; | ||||||
|  |  | ||||||
| @ -38,7 +35,6 @@ public class XzdCorrespondentList { | |||||||
|     /** |     /** | ||||||
|      * 查询区域列表 |      * 查询区域列表 | ||||||
|      */ |      */ | ||||||
| //    @SaCheckPermission("xzd:poiArea:list") |  | ||||||
|     @GetMapping("/list") |     @GetMapping("/list") | ||||||
|     public R<XzdPoiAreaVo> list() { |     public R<XzdPoiAreaVo> list() { | ||||||
|         return iXzdCorrespondentList.queryPageList(); |         return iXzdCorrespondentList.queryPageList(); | ||||||
| @ -48,19 +44,29 @@ public class XzdCorrespondentList { | |||||||
|     /** |     /** | ||||||
|      * 客户信息添加 |      * 客户信息添加 | ||||||
|      */ |      */ | ||||||
|     @SaCheckPermission("xzd:poiArea:add") |     @SaCheckPermission("xzd:customertypeInfo:add") | ||||||
|     @PostMapping("/addCorrespondent") |     @PostMapping("/addCorrespondent") | ||||||
|     public R<String> addCorrespondent(@RequestBody AddCorrespondentDto dto) { |     public R<String> addCorrespondent(@RequestBody AddCorrespondentDto dto) { | ||||||
|         return iXzdCorrespondentList.addCorrespondent(dto); |         return iXzdCorrespondentList.addCorrespondent(dto); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 客户信息修改 | ||||||
|  |      */ | ||||||
|  |     @SaCheckPermission("xzd:customertypeInfo:edit") | ||||||
|  |     @PutMapping("/addCorrespondent") | ||||||
|  |     public R<String> putCorrespondent(@RequestBody AddCorrespondentDto dto) { | ||||||
|  |         return iXzdCorrespondentList.putCorrespondent(dto); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 客户信息删除 |      * 客户信息删除 | ||||||
|      */ |      */ | ||||||
|     @SaCheckPermission("xzd:poiArea:del") |     @SaCheckPermission("xzd:customertypeInfo:remove") | ||||||
|     @PostMapping("/delCorrespondent") |     @DeleteMapping("/delCorrespondent/{dto}") | ||||||
|     public R<String> delCorrespondent(@RequestBody List<AddCorrespondentDto> dto) { |     public R<String> delCorrespondent(@PathVariable Long[] dto) { | ||||||
|         return iXzdCorrespondentList.delCorrespondent(dto); |         return iXzdCorrespondentList.delCorrespondent(dto); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -69,9 +75,9 @@ public class XzdCorrespondentList { | |||||||
|     /** |     /** | ||||||
|      * 客户信息列表 |      * 客户信息列表 | ||||||
|      */ |      */ | ||||||
|     @SaCheckPermission("xzd:poiArea:list") |     @SaCheckPermission("xzd:customertypeInfo:query") | ||||||
|     @PostMapping("/queryCustomertype") |     @GetMapping("/queryCustomertype") | ||||||
|     public R<XzdClienteleListSumVo> queryCustomertype(@RequestBody XzdClienteleListDto dto, PageQuery pageQuery) { |     public R<XzdClienteleListSumVo> queryCustomertype( XzdClienteleListDto dto,  PageQuery pageQuery) { | ||||||
|         return iXzdCorrespondentList.queryCustomertype(dto, pageQuery); |         return iXzdCorrespondentList.queryCustomertype(dto, pageQuery); | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @ -79,21 +85,19 @@ public class XzdCorrespondentList { | |||||||
|     /** |     /** | ||||||
|      * 客户类型列表 |      * 客户类型列表 | ||||||
|      */ |      */ | ||||||
|     @SaCheckPermission("xzd:poiArea:list") |     @SaCheckPermission("xzd:customertypeInfo:query") | ||||||
|     @PostMapping("/queryCustomertypeList") |     @PostMapping("/queryCustomertypeList") | ||||||
|     public R<List<XzdCustomertypeVo>> queryCustomertypeList() { |     public R<List<XzdCustomertypeVo>> queryCustomertypeList() { | ||||||
|         return iXzdCustomertypeService.queryCustomertypeList(); |         return iXzdCustomertypeService.queryCustomertypeList(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 客户详情 | ||||||
|  |      */ | ||||||
|  |     @GetMapping("/getCustomerByid/{id}") | ||||||
|  |     public R<QuerCorrespondentDto> getCustomerByid(@PathVariable Long id) { | ||||||
|  |         return iXzdCorrespondentList.getCustomerByid(id); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -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)); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -0,0 +1,99 @@ | |||||||
|  | package org.dromara.xzd.controller; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | import cn.hutool.core.lang.tree.Tree; | ||||||
|  | import lombok.RequiredArgsConstructor; | ||||||
|  | import jakarta.servlet.http.HttpServletResponse; | ||||||
|  | import jakarta.validation.constraints.*; | ||||||
|  | import org.dromara.xzd.domain.bo.XzdProjectTypeBo; | ||||||
|  | import org.dromara.xzd.domain.vo.XzdProjectTypeVo; | ||||||
|  | import org.dromara.xzd.service.IXzdProjectTypeService; | ||||||
|  | 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.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; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 项目类型 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-09 | ||||||
|  |  */ | ||||||
|  | @Validated | ||||||
|  | @RequiredArgsConstructor | ||||||
|  | @RestController | ||||||
|  | @RequestMapping("/system/projectType") | ||||||
|  | public class XzdProjectTypeController extends BaseController { | ||||||
|  |  | ||||||
|  |     private final IXzdProjectTypeService xzdProjectTypeService; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询项目类型列表 | ||||||
|  |      */ | ||||||
|  |     @GetMapping("/list") | ||||||
|  |     public R<List<Tree<String>>> list(XzdProjectTypeBo bo) { | ||||||
|  |         List<XzdProjectTypeVo> list = xzdProjectTypeService.queryList(bo); | ||||||
|  |         return R.ok(xzdProjectTypeService.buildMenuTreeSelect(list)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 导出项目类型列表 | ||||||
|  |      */ | ||||||
|  |     @Log(title = "项目类型", businessType = BusinessType.EXPORT) | ||||||
|  |     @PostMapping("/export") | ||||||
|  |     public void export(XzdProjectTypeBo bo, HttpServletResponse response) { | ||||||
|  |         List<XzdProjectTypeVo> list = xzdProjectTypeService.queryList(bo); | ||||||
|  |         ExcelUtil.exportExcel(list, "项目类型", XzdProjectTypeVo.class, response); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 获取项目类型详细信息 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      */ | ||||||
|  |     @GetMapping("/{id}") | ||||||
|  |     public R<XzdProjectTypeVo> getInfo(@NotNull(message = "主键不能为空") | ||||||
|  |                                      @PathVariable Long id) { | ||||||
|  |         return R.ok(xzdProjectTypeService.queryById(id)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增项目类型 | ||||||
|  |      */ | ||||||
|  |     @Log(title = "项目类型", businessType = BusinessType.INSERT) | ||||||
|  |     @RepeatSubmit() | ||||||
|  |     @PostMapping() | ||||||
|  |     public R<Void> add(@Validated(AddGroup.class) @RequestBody XzdProjectTypeBo bo) { | ||||||
|  |         return toAjax(xzdProjectTypeService.insertByBo(bo)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改项目类型 | ||||||
|  |      */ | ||||||
|  |     @Log(title = "项目类型", businessType = BusinessType.UPDATE) | ||||||
|  |     @RepeatSubmit() | ||||||
|  |     @PutMapping() | ||||||
|  |     public R<Void> edit(@Validated(EditGroup.class) @RequestBody XzdProjectTypeBo bo) { | ||||||
|  |         return toAjax(xzdProjectTypeService.updateByBo(bo)); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 删除项目类型 | ||||||
|  |      * | ||||||
|  |      * @param ids 主键串 | ||||||
|  |      */ | ||||||
|  |     @Log(title = "项目类型", businessType = BusinessType.DELETE) | ||||||
|  |     @DeleteMapping("/{ids}") | ||||||
|  |     public R<Void> remove(@NotEmpty(message = "主键不能为空") | ||||||
|  |                           @PathVariable Long[] ids) { | ||||||
|  |         return toAjax(xzdProjectTypeService.deleteWithValidByIds(List.of(ids), true)); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -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(); |  | ||||||
|     } |  | ||||||
| } |  | ||||||
| @ -4,11 +4,8 @@ import org.dromara.common.mybatis.core.domain.BaseEntity; | |||||||
| import com.baomidou.mybatisplus.annotation.*; | import com.baomidou.mybatisplus.annotation.*; | ||||||
| import lombok.Data; | import lombok.Data; | ||||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||||
| import org.dromara.xzd.domain.vo.XzdCustomertypeInfoVo; |  | ||||||
| import org.dromara.xzd.domain.vo.XzdCustomertypeVo; |  | ||||||
|  |  | ||||||
| import java.io.Serial; | import java.io.Serial; | ||||||
| import java.util.List; |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * 客户|供应商类型(公共)对象 xzd_customertype |  * 客户|供应商类型(公共)对象 xzd_customertype | ||||||
|  | |||||||
| @ -14,9 +14,8 @@ import java.io.Serial; | |||||||
|  * @date 2025-09-30 |  * @date 2025-09-30 | ||||||
|  */ |  */ | ||||||
| @Data | @Data | ||||||
| @EqualsAndHashCode(callSuper = true) |  | ||||||
| @TableName("xzd_poi_area") | @TableName("xzd_poi_area") | ||||||
| public class XzdPoiArea extends BaseEntity { | public class XzdPoiArea { | ||||||
|  |  | ||||||
|     @Serial |     @Serial | ||||||
|     private static final long serialVersionUID = 1L; |     private static final long serialVersionUID = 1L; | ||||||
|  | |||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -0,0 +1,54 @@ | |||||||
|  | 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 java.io.Serial; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 项目类型对象 xzd_project_type | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-09 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @TableName("xzd_project_type") | ||||||
|  | public class XzdProjectType extends BaseEntity { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 主键ID | ||||||
|  |      */ | ||||||
|  |     @TableId(value = "id") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 父节点ID | ||||||
|  |      */ | ||||||
|  |     private Long parentId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目类型名称 | ||||||
|  |      */ | ||||||
|  |     private String typeName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 排序 | ||||||
|  |      */ | ||||||
|  |     private Long sortOrder; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -1,5 +1,6 @@ | |||||||
| package org.dromara.xzd.domain; | package org.dromara.xzd.domain; | ||||||
|  |  | ||||||
|  | import com.alibaba.excel.annotation.ExcelProperty; | ||||||
| import org.dromara.common.mybatis.core.domain.BaseEntity; | import org.dromara.common.mybatis.core.domain.BaseEntity; | ||||||
| import com.baomidou.mybatisplus.annotation.*; | import com.baomidou.mybatisplus.annotation.*; | ||||||
| import lombok.Data; | import lombok.Data; | ||||||
| @ -42,6 +43,11 @@ public class XzdSettlementInfo extends BaseEntity { | |||||||
|      */ |      */ | ||||||
|     private String settlementUnit; |     private String settlementUnit; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分管部门 | ||||||
|  |      */ | ||||||
|  |     private String branchedPassage; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 结算方式 |      * 结算方式 | ||||||
|      */ |      */ | ||||||
|  | |||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -8,6 +8,9 @@ import io.github.linpeilie.annotations.AutoMapper; | |||||||
| import lombok.Data; | import lombok.Data; | ||||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||||
| import jakarta.validation.constraints.*; | import jakarta.validation.constraints.*; | ||||||
|  |  | ||||||
|  | import java.time.LocalDate; | ||||||
|  | import java.time.LocalDateTime; | ||||||
| import java.util.Date; | import java.util.Date; | ||||||
| import com.fasterxml.jackson.annotation.JsonFormat; | import com.fasterxml.jackson.annotation.JsonFormat; | ||||||
|  |  | ||||||
| @ -50,12 +53,12 @@ public class XzdCertificateInfoBo extends BaseEntity { | |||||||
|     /** |     /** | ||||||
|      * 生效日期 |      * 生效日期 | ||||||
|      */ |      */ | ||||||
|     private Date effectiveDate; |     private LocalDateTime effectiveDate; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 截止日期 |      * 截止日期 | ||||||
|      */ |      */ | ||||||
|     private Date expirationDate; |     private LocalDateTime expirationDate; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 停用标志(0:未停用,1:已停用) |      * 停用标志(0:未停用,1:已停用) | ||||||
|  | |||||||
| @ -8,6 +8,9 @@ import io.github.linpeilie.annotations.AutoMapper; | |||||||
| import lombok.Data; | import lombok.Data; | ||||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||||
| import jakarta.validation.constraints.*; | import jakarta.validation.constraints.*; | ||||||
|  |  | ||||||
|  | import java.time.LocalDate; | ||||||
|  | import java.time.LocalDateTime; | ||||||
| import java.util.Date; | import java.util.Date; | ||||||
| import com.fasterxml.jackson.annotation.JsonFormat; | import com.fasterxml.jackson.annotation.JsonFormat; | ||||||
|  |  | ||||||
| @ -75,12 +78,12 @@ public class XzdCustomerDetailBo extends BaseEntity { | |||||||
|     /** |     /** | ||||||
|      * 冻结开始时间 |      * 冻结开始时间 | ||||||
|      */ |      */ | ||||||
|     private Date freezeStartTime; |     private LocalDateTime freezeStartTime; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 冻结结束时间 |      * 冻结结束时间 | ||||||
|      */ |      */ | ||||||
|     private Date freezeEndTime; |     private LocalDateTime freezeEndTime; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 经销商类型 |      * 经销商类型 | ||||||
|  | |||||||
| @ -8,6 +8,9 @@ import io.github.linpeilie.annotations.AutoMapper; | |||||||
| import lombok.Data; | import lombok.Data; | ||||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||||
| import jakarta.validation.constraints.*; | import jakarta.validation.constraints.*; | ||||||
|  |  | ||||||
|  | import java.time.LocalDate; | ||||||
|  | import java.time.LocalDateTime; | ||||||
| import java.util.Date; | import java.util.Date; | ||||||
| import com.fasterxml.jackson.annotation.JsonFormat; | import com.fasterxml.jackson.annotation.JsonFormat; | ||||||
|  |  | ||||||
| @ -123,7 +126,7 @@ public class XzdCustomerinformationBo extends BaseEntity { | |||||||
|     /** |     /** | ||||||
|      * 工商变更时间 |      * 工商变更时间 | ||||||
|      */ |      */ | ||||||
|     private Date industrialCommercialChangeTime; |     private LocalDateTime industrialCommercialChangeTime; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 备注 |      * 备注 | ||||||
| @ -163,7 +166,7 @@ public class XzdCustomerinformationBo extends BaseEntity { | |||||||
|     /** |     /** | ||||||
|      * 单位成立日期 |      * 单位成立日期 | ||||||
|      */ |      */ | ||||||
|     private Date establishmentDate; |     private LocalDateTime establishmentDate; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 纳税身份类型 |      * 纳税身份类型 | ||||||
| @ -208,7 +211,7 @@ public class XzdCustomerinformationBo extends BaseEntity { | |||||||
|     /** |     /** | ||||||
|      * 注册时间 |      * 注册时间 | ||||||
|      */ |      */ | ||||||
|     private Date registrationTime; |     private LocalDateTime registrationTime; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 营业范围 |      * 营业范围 | ||||||
|  | |||||||
| @ -8,6 +8,9 @@ import io.github.linpeilie.annotations.AutoMapper; | |||||||
| import lombok.Data; | import lombok.Data; | ||||||
| import lombok.EqualsAndHashCode; | import lombok.EqualsAndHashCode; | ||||||
| import jakarta.validation.constraints.*; | import jakarta.validation.constraints.*; | ||||||
|  |  | ||||||
|  | import java.time.LocalDate; | ||||||
|  | import java.time.LocalDateTime; | ||||||
| import java.util.Date; | import java.util.Date; | ||||||
| import com.fasterxml.jackson.annotation.JsonFormat; | import com.fasterxml.jackson.annotation.JsonFormat; | ||||||
|  |  | ||||||
| @ -75,7 +78,7 @@ public class XzdProjectInfoBo extends BaseEntity { | |||||||
|     /** |     /** | ||||||
|      * 项目日期 |      * 项目日期 | ||||||
|      */ |      */ | ||||||
|     private Date projectDate; |     private LocalDateTime projectDate; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 管理组织 |      * 管理组织 | ||||||
|  | |||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -0,0 +1,55 @@ | |||||||
|  | package org.dromara.xzd.domain.bo; | ||||||
|  |  | ||||||
|  | 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 org.dromara.xzd.domain.XzdProjectType; | ||||||
|  |  | ||||||
|  | import java.util.Date; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 项目类型业务对象 xzd_project_type | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-09 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @EqualsAndHashCode(callSuper = true) | ||||||
|  | @AutoMapper(target = XzdProjectType.class, reverseConvertGenerate = false) | ||||||
|  | public class XzdProjectTypeBo extends BaseEntity { | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 主键ID | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "主键ID不能为空", groups = { EditGroup.class }) | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 父节点ID | ||||||
|  |      */ | ||||||
|  |     @NotNull(message = "父节点ID不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private Long parentId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目类型名称 | ||||||
|  |      */ | ||||||
|  |     @NotBlank(message = "项目类型名称不能为空", groups = { AddGroup.class, EditGroup.class }) | ||||||
|  |     private String typeName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 排序 | ||||||
|  |      */ | ||||||
|  |     private Long sortOrder; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -75,6 +75,11 @@ public class XzdSettlementInfoBo extends BaseEntity { | |||||||
|      */ |      */ | ||||||
|     private String accountName; |     private String accountName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分管部门 | ||||||
|  |      */ | ||||||
|  |     private String branchedPassage; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 开户行省 |      * 开户行省 | ||||||
|      */ |      */ | ||||||
|  | |||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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; |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -37,10 +37,10 @@ public class AddCorrespondentDto { | |||||||
|     private XzdBusinessInfoBo xzdBusinessInfo; |     private XzdBusinessInfoBo xzdBusinessInfo; | ||||||
|  |  | ||||||
|     //    项目信息 |     //    项目信息 | ||||||
|     private XzdProjectInfoBo xzdProjectInfo; |     private List<XzdProjectInfoBo> xzdProjectInfo; | ||||||
|  |  | ||||||
|     //    合同信息 |     //    合同信息 | ||||||
|     private XzdContractInfoBo xzdContractInfo; |     private List<XzdContractInfoBo> xzdContractInfo; | ||||||
|  |  | ||||||
|     //    客户类型信息 |     //    客户类型信息 | ||||||
|     private List<XzdCustomertypeInfoBo> xzdCustomertypeInfo; |     private List<XzdCustomertypeInfoBo> xzdCustomertypeInfo; | ||||||
|  | |||||||
| @ -0,0 +1,50 @@ | |||||||
|  | package org.dromara.xzd.domain.dto; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import lombok.Data; | ||||||
|  | import org.dromara.xzd.domain.*; | ||||||
|  | import org.dromara.xzd.domain.bo.*; | ||||||
|  | import org.dromara.xzd.domain.vo.XzdCustomerDetailVo; | ||||||
|  | import org.dromara.xzd.domain.vo.XzdCustomerinformationVo; | ||||||
|  |  | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | @Data | ||||||
|  | public class QuerCorrespondentDto { | ||||||
|  |  | ||||||
|  |     //    客户信息 | ||||||
|  |     private XzdCustomerinformationVo xzdCustomerinformation; | ||||||
|  |  | ||||||
|  |     //    tab客户信息 | ||||||
|  |     private XzdCustomerDetail xzdCustomerDetail; | ||||||
|  |  | ||||||
|  |     //    地址信息 | ||||||
|  |     private List<XzdAddressInfo> xzdAddressInfo; | ||||||
|  |  | ||||||
|  |     //    联系人信息 | ||||||
|  |     private List<XzdContact> xzdContact; | ||||||
|  |  | ||||||
|  |     //    证件信息 | ||||||
|  |     private List<XzdCertificateInfo> xzdCertificateInfo; | ||||||
|  |  | ||||||
|  |     //    资质信息 | ||||||
|  |     private List<XzdQualificationInfo> xzdQualificationInfo; | ||||||
|  |  | ||||||
|  |     //    结算信息 | ||||||
|  |     private XzdSettlementInfo xzdSettlementInfo; | ||||||
|  |  | ||||||
|  |     //    业务信息 | ||||||
|  |     private XzdBusinessInfo xzdBusinessInfo; | ||||||
|  |  | ||||||
|  |     //    项目信息 | ||||||
|  |     private List<XzdProjectInfo> xzdProjectInfo; | ||||||
|  |  | ||||||
|  |     //    合同信息 | ||||||
|  |     private List<XzdContractInfo> xzdContractInfo; | ||||||
|  |  | ||||||
|  |     //    客户类型信息 | ||||||
|  |     private List<XzdCustomertypeInfo> xzdCustomertypeInfo; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -16,6 +16,12 @@ public class XzdClienteleListDto { | |||||||
|      */ |      */ | ||||||
|     private String unitCode; |     private String unitCode; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 区域ID | ||||||
|  |      */ | ||||||
|  |     private Long poiAreaId; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 单位名称 |      * 单位名称 | ||||||
|  | |||||||
| @ -15,15 +15,22 @@ import java.util.Date; | |||||||
| public class XzdClienteleListVo { | public class XzdClienteleListVo { | ||||||
|  |  | ||||||
|  |  | ||||||
| //  未找到字段   审核人,冻结人,工作流标志,是否加入黑名单,变更状态 | //  未找到字段   审核人,冻结人,工作流标志,变更状态 | ||||||
|  |  | ||||||
|  |  | ||||||
| //  XzdCustomerinformationBo | //  XzdCustomerinformationBo | ||||||
|  |  | ||||||
|  | //    客户id | ||||||
|  |  | ||||||
|  |     private Long customerId; | ||||||
|  |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 单位编号 |      * 单位编号 | ||||||
|      */ |      */ | ||||||
|     private String unitCode; |     private String unitCode; | ||||||
|  |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 单位名称 |      * 单位名称 | ||||||
|      */ |      */ | ||||||
|  | |||||||
| @ -11,7 +11,7 @@ import lombok.Data; | |||||||
| import java.io.Serial; | import java.io.Serial; | ||||||
| import java.io.Serializable; | import java.io.Serializable; | ||||||
| import java.util.Date; | import java.util.Date; | ||||||
| import java.util.List; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
| @ -65,9 +65,5 @@ public class XzdCustomertypeVo implements Serializable { | |||||||
|     @ExcelProperty(value = "客户类型") |     @ExcelProperty(value = "客户类型") | ||||||
|     private String customerType; |     private String customerType; | ||||||
|  |  | ||||||
|     /** |  | ||||||
|      * 子节点 |  | ||||||
|      */ |  | ||||||
|     List<XzdCustomertypeVo> children; |  | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -0,0 +1,67 @@ | |||||||
|  | package org.dromara.xzd.domain.vo; | ||||||
|  |  | ||||||
|  | import java.util.ArrayList; | ||||||
|  | import java.util.Date; | ||||||
|  |  | ||||||
|  | import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; | ||||||
|  | import com.alibaba.excel.annotation.ExcelProperty; | ||||||
|  | import io.github.linpeilie.annotations.AutoMapper; | ||||||
|  | import lombok.Data; | ||||||
|  | import org.dromara.xzd.domain.XzdProjectType; | ||||||
|  |  | ||||||
|  | import java.io.Serial; | ||||||
|  | import java.io.Serializable; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 项目类型视图对象 xzd_project_type | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-09 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | @ExcelIgnoreUnannotated | ||||||
|  | @AutoMapper(target = XzdProjectType.class) | ||||||
|  | public class XzdProjectTypeVo implements Serializable { | ||||||
|  |  | ||||||
|  |     @Serial | ||||||
|  |     private static final long serialVersionUID = 1L; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 主键ID | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "主键ID") | ||||||
|  |     private Long id; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 父节点ID | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "父节点ID") | ||||||
|  |     private Long parentId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 项目类型名称 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "项目类型名称") | ||||||
|  |     private String typeName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 排序 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "排序") | ||||||
|  |     private Long sortOrder; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 备注 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "备注") | ||||||
|  |     private String remark; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     private List<XzdProjectTypeVo> children = new ArrayList<>();; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -58,6 +58,13 @@ public class XzdSettlementInfoVo implements Serializable { | |||||||
|     @ExcelProperty(value = "结算方式") |     @ExcelProperty(value = "结算方式") | ||||||
|     private String settlementMethod; |     private String settlementMethod; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 分管部门 | ||||||
|  |      */ | ||||||
|  |     @ExcelProperty(value = "分管部门") | ||||||
|  |     private String branchedPassage; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 结算币种 |      * 结算币种 | ||||||
|      */ |      */ | ||||||
|  | |||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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; |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -3,8 +3,8 @@ package org.dromara.xzd.enums; | |||||||
|  |  | ||||||
| public enum ZxdEnum { | public enum ZxdEnum { | ||||||
|  |  | ||||||
|     TYPE_CORRESPONDENT("类型","1"), |     TYPE_CORRESPONDENT("客户","1"), | ||||||
|     TYPE_SUPPLIER("类型","2"); |     TYPE_SUPPLIER("供应商","2"); | ||||||
|  |  | ||||||
|  |  | ||||||
|     private final String TypeName; |     private final String TypeName; | ||||||
|  | |||||||
| @ -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> { |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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> { |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -0,0 +1,16 @@ | |||||||
|  | package org.dromara.xzd.mapper; | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; | ||||||
|  | import org.dromara.xzd.domain.XzdProjectType; | ||||||
|  | import org.dromara.xzd.domain.vo.XzdProjectTypeVo; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 项目类型Mapper接口 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-09 | ||||||
|  |  */ | ||||||
|  | public interface XzdProjectTypeMapper extends BaseMapperPlus<XzdProjectType, XzdProjectTypeVo> { | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -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> { |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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); |  | ||||||
|  |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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> { |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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> { |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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> { |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -3,6 +3,7 @@ package org.dromara.xzd.service; | |||||||
| import org.dromara.common.core.domain.R; | import org.dromara.common.core.domain.R; | ||||||
| import org.dromara.common.mybatis.core.page.PageQuery; | import org.dromara.common.mybatis.core.page.PageQuery; | ||||||
| import org.dromara.xzd.domain.dto.AddCorrespondentDto; | import org.dromara.xzd.domain.dto.AddCorrespondentDto; | ||||||
|  | import org.dromara.xzd.domain.dto.QuerCorrespondentDto; | ||||||
| import org.dromara.xzd.domain.dto.XzdClienteleListDto; | import org.dromara.xzd.domain.dto.XzdClienteleListDto; | ||||||
| import org.dromara.xzd.domain.vo.XzdClienteleListSumVo; | import org.dromara.xzd.domain.vo.XzdClienteleListSumVo; | ||||||
| import org.dromara.xzd.domain.vo.XzdClienteleListVo; | import org.dromara.xzd.domain.vo.XzdClienteleListVo; | ||||||
| @ -16,7 +17,11 @@ public interface IXzdCorrespondentList { | |||||||
|  |  | ||||||
|     R<String> addCorrespondent(AddCorrespondentDto dto); |     R<String> addCorrespondent(AddCorrespondentDto dto); | ||||||
|  |  | ||||||
|     R<String> delCorrespondent(List<AddCorrespondentDto> dto); |     R<String> delCorrespondent(Long[] dto); | ||||||
|  |  | ||||||
|     R<XzdClienteleListSumVo> queryCustomertype(XzdClienteleListDto dto, PageQuery pageQuery); |     R<XzdClienteleListSumVo> queryCustomertype(XzdClienteleListDto dto, PageQuery pageQuery); | ||||||
|  |  | ||||||
|  |     R<String> putCorrespondent(AddCorrespondentDto dto); | ||||||
|  |  | ||||||
|  |     R<QuerCorrespondentDto> getCustomerByid(Long id); | ||||||
| } | } | ||||||
|  | |||||||
| @ -73,4 +73,6 @@ public interface IXzdCustomertypeService extends IService<XzdCustomertype>{ | |||||||
|     R<List<AddCorrespondentDto>> queryCustomertype(); |     R<List<AddCorrespondentDto>> queryCustomertype(); | ||||||
|  |  | ||||||
|     R<List<XzdCustomertypeVo>> queryCustomertypeList(); |     R<List<XzdCustomertypeVo>> queryCustomertypeList(); | ||||||
|  |  | ||||||
|  |     R<AddCorrespondentDto> getCustomerByid(Long id); | ||||||
| } | } | ||||||
|  | |||||||
| @ -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); |  | ||||||
| } |  | ||||||
| @ -0,0 +1,65 @@ | |||||||
|  | package org.dromara.xzd.service; | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | import cn.hutool.core.lang.tree.Tree; | ||||||
|  | import com.baomidou.mybatisplus.extension.service.IService; | ||||||
|  | import org.dromara.xzd.domain.XzdProjectType; | ||||||
|  | import org.dromara.xzd.domain.bo.XzdProjectTypeBo; | ||||||
|  | import org.dromara.xzd.domain.vo.XzdProjectTypeVo; | ||||||
|  |  | ||||||
|  | import java.util.Collection; | ||||||
|  | import java.util.List; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 项目类型Service接口 | ||||||
|  |  * | ||||||
|  |  * @author Lion Li | ||||||
|  |  * @date 2025-10-09 | ||||||
|  |  */ | ||||||
|  | public interface IXzdProjectTypeService extends IService<XzdProjectType>{ | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询项目类型 | ||||||
|  |      * | ||||||
|  |      * @param id 主键 | ||||||
|  |      * @return 项目类型 | ||||||
|  |      */ | ||||||
|  |     XzdProjectTypeVo queryById(Long id); | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 查询符合条件的项目类型列表 | ||||||
|  |      * | ||||||
|  |      * @param bo 查询条件 | ||||||
|  |      * @return 项目类型列表 | ||||||
|  |      */ | ||||||
|  |     List<XzdProjectTypeVo> queryList(XzdProjectTypeBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 新增项目类型 | ||||||
|  |      * | ||||||
|  |      * @param bo 项目类型 | ||||||
|  |      * @return 是否新增成功 | ||||||
|  |      */ | ||||||
|  |     Boolean insertByBo(XzdProjectTypeBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 修改项目类型 | ||||||
|  |      * | ||||||
|  |      * @param bo 项目类型 | ||||||
|  |      * @return 是否修改成功 | ||||||
|  |      */ | ||||||
|  |     Boolean updateByBo(XzdProjectTypeBo bo); | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 校验并批量删除项目类型信息 | ||||||
|  |      * | ||||||
|  |      * @param ids     待删除的主键集合 | ||||||
|  |      * @param isValid 是否进行有效性校验 | ||||||
|  |      * @return 是否删除成功 | ||||||
|  |      */ | ||||||
|  |     Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid); | ||||||
|  |  | ||||||
|  |     List<Tree<String>> buildMenuTreeSelect(List<XzdProjectTypeVo> list); | ||||||
|  | } | ||||||
| @ -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); |  | ||||||
| } |  | ||||||
| @ -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(); |  | ||||||
|  |  | ||||||
| } |  | ||||||
| @ -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); |  | ||||||
| } |  | ||||||
| @ -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); |  | ||||||
| } |  | ||||||
| @ -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); |  | ||||||
| } |  | ||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	