Compare commits
	
		
			3 Commits
		
	
	
		
			66d2f24256
			...
			6a200b391e
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 6a200b391e | |||
| 6e0e867e57 | |||
| 69e8e4169b | 
| @ -300,7 +300,7 @@ dxf2GeoJson: | ||||
|   file-name: main.exe | ||||
| ys7: | ||||
|   app-key: 3acf9f1a43dc4209841e0893003db0a2 | ||||
|   app-secret: 09e29c70ae1161fbc3ce2030fc09ba2e | ||||
|   app-secret: 4bbf3e9394f55d3af6e3af27b2d3db36 | ||||
| # 斯巴达算法 | ||||
| sparta: | ||||
|   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.design.service.IDesTechnicalStandardService; | ||||
| import org.dromara.facility.domain.FacMatrix; | ||||
| import org.dromara.facility.domain.FacPhotovoltaicPanel; | ||||
| import org.dromara.facility.service.IFacMatrixService; | ||||
| import org.dromara.facility.service.IFacPhotovoltaicPanelPartsService; | ||||
| import org.dromara.facility.service.IFacPhotovoltaicPanelService; | ||||
| @ -102,52 +101,6 @@ public class DemoTest { | ||||
|     @Resource | ||||
|     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 | ||||
|     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.stream.Collectors; | ||||
|  | ||||
| import static org.dromara.project.domain.enums.BusAttendanceClockStatusEnum.ATTENDANCE_LIST; | ||||
|  | ||||
| /** | ||||
|  * 施工人员Service业务层处理 | ||||
|  * | ||||
| @ -1131,7 +1129,6 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU | ||||
|         } | ||||
|         //只查施工人员 | ||||
|         lqw.eq(SubConstructionUser::getUserRole, "0"); | ||||
|         lqw.isNotNull(SubConstructionUser::getTeamId); | ||||
|         // 分页查询获取数据 | ||||
|         Page<SubConstructionUser> constructionUserPage = this.page(pageQuery.build(), lqw); | ||||
|         List<SubConstructionUser> constructionUserList = constructionUserPage.getRecords(); | ||||
| @ -1197,12 +1194,8 @@ public class SubConstructionUserServiceImpl extends ServiceImpl<SubConstructionU | ||||
|                                 unClockDays++; | ||||
|                             } | ||||
|                         } | ||||
|                         if((clockInStatus!=null && ATTENDANCE_LIST.contains(clockInStatus)) | ||||
|                             || (clockOutStatus!=null && ATTENDANCE_LIST.contains(clockOutStatus))){ | ||||
|                             attendanceDays++; | ||||
|                         } | ||||
|  | ||||
|                     } | ||||
|                     attendanceDays = dailyMap.size() - leaveDays; | ||||
|                 } | ||||
|             } | ||||
|             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.mybatis.core.page.PageQuery; | ||||
| 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.SubContractor; | ||||
| import org.dromara.contractor.domain.dto.contractor.SubContractorCreateReq; | ||||
| @ -118,10 +119,7 @@ public class SubContractorServiceImpl extends ServiceImpl<SubContractorMapper, S | ||||
|         // 数据校验 | ||||
|         validEntityBeforeSave(contractor); | ||||
|         String name = req.getName(); | ||||
|         Long count = this.lambdaQuery() | ||||
|             .eq(SubContractor::getName, name) | ||||
|             .eq(SubContractor::getProjectId, req.getProjectId()) | ||||
|             .count(); | ||||
|         Long count = this.lambdaQuery().eq(SubContractor::getName, name).count(); | ||||
|         if (count > 0) { | ||||
|             throw new ServiceException("分包单位名称重复", HttpStatus.BAD_REQUEST); | ||||
|         } | ||||
| @ -162,11 +160,7 @@ public class SubContractorServiceImpl extends ServiceImpl<SubContractorMapper, S | ||||
|         } | ||||
|         // 判断名称是否重复 | ||||
|         if (!oldContractor.getName().equals(req.getName())) { | ||||
|             Long count = this.lambdaQuery() | ||||
|                 .eq(SubContractor::getName, req.getName()) | ||||
|                 .eq(SubContractor::getProjectId, req.getProjectId()) | ||||
|                 .ne(SubContractor::getId, contractor.getId()) | ||||
|                 .count(); | ||||
|             Long count = this.lambdaQuery().eq(SubContractor::getName, req.getName()).count(); | ||||
|             if (count > 0) { | ||||
|                 throw new ServiceException("分包单位名称重复", HttpStatus.BAD_REQUEST); | ||||
|             } | ||||
|  | ||||
| @ -353,9 +353,6 @@ public class BusBillofquantitiesVersionsServiceImpl extends ServiceImpl<BusBillo | ||||
|         lqw.eq(BusBillofquantitiesVersions::getWorkOrderType, "3"); | ||||
|         lqw.eq(BusBillofquantitiesVersions::getStatus, BusinessStatusEnum.FINISH.getStatus()); | ||||
|         List<BusBillofquantitiesVersionsVo> result = baseMapper.selectVoList(lqw); | ||||
|         if (CollUtil.isEmpty(result)) { | ||||
|             return Collections.emptyList(); | ||||
|         } | ||||
|         List<String> versionss = new ArrayList<>(); | ||||
|         result.forEach(v -> versionss.add(v.getVersions())); | ||||
|         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.TableDataInfo; | ||||
| 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.MatMaterialsGisReq; | ||||
| import org.dromara.materials.domain.dto.materials.MatMaterialsQueryReq; | ||||
| @ -43,8 +40,6 @@ public class MatMaterialsController extends BaseController { | ||||
|  | ||||
|     private final IMatMaterialsService materialsService; | ||||
|  | ||||
|     private final ISubContractorService contractorService; | ||||
|  | ||||
|     /** | ||||
|      * 查询材料列表 | ||||
|      */ | ||||
| @ -160,13 +155,4 @@ public class MatMaterialsController extends BaseController { | ||||
|                           @PathVariable Long[] ids) { | ||||
|         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; | ||||
|  | ||||
|     /** | ||||
|      * 操作人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)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 查询项目施工人员前14天考勤状况 | ||||
|      */ | ||||
|     @SaCheckPermission("project:attendance:list") | ||||
|  | ||||
|     @GetMapping("/list/clockDate/twoWeek") | ||||
|     public R<List<BusAttendanceClockDateForTwoWeekVo>> getClockDateForTwoWeekList(Long 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") | ||||
|     public void exportList(AttendanceExportDto dto, HttpServletResponse response) { | ||||
|  | ||||
| @ -1,7 +1,6 @@ | ||||
| package org.dromara.project.controller.app; | ||||
|  | ||||
| import cn.hutool.core.collection.CollectionUtil; | ||||
| import com.baomidou.mybatisplus.core.metadata.IPage; | ||||
| import com.baomidou.mybatisplus.core.toolkit.Wrappers; | ||||
| import jakarta.annotation.Resource; | ||||
| import jakarta.validation.constraints.NotNull; | ||||
| @ -129,8 +128,8 @@ public class BusAttendanceAppController extends BaseController { | ||||
|      * 获取用户打卡异常记录 | ||||
|      */ | ||||
|     @GetMapping("/getAbnormalAttendance/{projectId}") | ||||
|     public TableDataInfo<BusAttendanceVo> getAbnormalAttendance(@NotNull @PathVariable("projectId") Long projectId, PageQuery pageQuery){ | ||||
|         return attendanceService.getAbnormalAttendance(projectId,pageQuery); | ||||
|     public R<List<BusAttendanceVo>> getAbnormalAttendance(@NotNull @PathVariable("projectId") Long projectId){ | ||||
|         return R.ok(attendanceService.getAbnormalAttendance(projectId)); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|  | ||||
| @ -140,14 +140,4 @@ public class BusLeave extends BaseEntity { | ||||
|      */ | ||||
|     private String auditStatus; | ||||
|  | ||||
|     /** | ||||
|      * 时间类型 1-天 2-小时 | ||||
|      */ | ||||
|     private String  timeType; | ||||
|  | ||||
|     /** | ||||
|      * 时间段类型 1-上午 2-下午 | ||||
|      */ | ||||
|     private String  periodType; | ||||
|  | ||||
| } | ||||
|  | ||||
| @ -1,8 +1,8 @@ | ||||
| package org.dromara.project.service; | ||||
|  | ||||
| import com.baomidou.mybatisplus.core.metadata.IPage; | ||||
| import jakarta.servlet.http.HttpServletResponse; | ||||
| import jakarta.validation.constraints.NotNull; | ||||
| import org.dromara.common.core.domain.R; | ||||
| import org.dromara.project.domain.dto.attendance.*; | ||||
| import org.dromara.project.domain.vo.BusAttendanceVo; | ||||
| 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 org.dromara.project.domain.vo.BusMonthAttendanceVo; | ||||
| 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.RequestParam; | ||||
| import org.springframework.web.multipart.MultipartFile; | ||||
|  | ||||
| import java.time.LocalDate; | ||||
| import java.util.Collection; | ||||
| import java.util.List; | ||||
|  | ||||
| @ -129,9 +132,9 @@ public interface IBusAttendanceService extends IService<BusAttendance>{ | ||||
|     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); | ||||
|  | ||||
|     /** | ||||
|      * 获取项目当天的考勤数据 | ||||
|      */ | ||||
|     BusAttendanceClockDateForTwoWeekVo getTodayAttendanceData(Long projectId); | ||||
|  | ||||
|     /** | ||||
|      * 获取导出的考勤数据 | ||||
|      */ | ||||
|  | ||||
| @ -6,7 +6,6 @@ import cn.hutool.core.util.StrUtil; | ||||
| import cn.hutool.json.JSONArray; | ||||
| import cn.hutool.json.JSONUtil; | ||||
| 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.extension.plugins.pagination.Page; | ||||
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||||
| @ -15,6 +14,7 @@ import jakarta.annotation.Resource; | ||||
| import jakarta.servlet.http.HttpServletResponse; | ||||
| import lombok.RequiredArgsConstructor; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| import org.apache.poi.hssf.usermodel.HSSFWorkbook; | ||||
| import org.apache.poi.ss.usermodel.*; | ||||
| import org.apache.poi.ss.util.CellRangeAddress; | ||||
| import org.apache.poi.xssf.usermodel.XSSFWorkbook; | ||||
| @ -64,8 +64,6 @@ import java.util.*; | ||||
| import java.util.concurrent.CompletableFuture; | ||||
| import java.util.stream.Collectors; | ||||
|  | ||||
| import static org.dromara.project.domain.enums.BusAttendanceClockStatusEnum.ATTENDANCE_LIST; | ||||
|  | ||||
| /** | ||||
|  * 考勤Service业务层处理 | ||||
|  * | ||||
| @ -324,16 +322,18 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | ||||
|  | ||||
|             //打卡范围 | ||||
|             if (!checkInRange(req)) { | ||||
|                 throw new ServiceException("打卡位置不在范围内", HttpStatus.ERROR); | ||||
|                 throw new ServiceException("打卡位置不在范围内", HttpStatus.BAD_REQUEST); | ||||
|             } | ||||
|  | ||||
|             //用户信息校验 | ||||
|             SubConstructionUser constructionUser = constructionUserService.getBySysUserId(userId); | ||||
|             if ("1".equals(constructionUser.getStatus())) { | ||||
|                 throw new ServiceException("当前用户已离职", HttpStatus.ERROR); | ||||
|             final String status = "1"; | ||||
|             if (constructionUser.getStatus().equals(status)) { | ||||
|                 throw new ServiceException("当前用户已离职", HttpStatus.BAD_REQUEST); | ||||
|             } | ||||
|             if ("1".equals(constructionUser.getClock())) { | ||||
|                 throw new ServiceException("当前用户已被禁止打卡", HttpStatus.ERROR); | ||||
|             final String noClock = "1"; | ||||
|             if (constructionUser.getClock().equals(noClock)) { | ||||
|                 throw new ServiceException("当前用户已被禁止打卡", HttpStatus.BAD_REQUEST); | ||||
|             } | ||||
|             // 判断用户是否已经被拉黑 | ||||
|             constructionBlacklistService.validUserInBlacklist(constructionUser.getSysUserId(), req.getProjectId()); | ||||
| @ -342,27 +342,27 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | ||||
|             try { | ||||
|                 result = constructionUserService.faceComparison(file); | ||||
|             } catch (Exception e) { | ||||
|                 throw new ServiceException("人脸识别失败,请重新识别", HttpStatus.ERROR); | ||||
|                 throw new ServiceException("人脸识别失败,请重新识别", HttpStatus.BAD_REQUEST); | ||||
|             } | ||||
|  | ||||
|             if (!result) { | ||||
|                 throw new ServiceException("人脸识别失败,请重新识别", HttpStatus.ERROR); | ||||
|                 throw new ServiceException("人脸识别失败,请重新识别", HttpStatus.BAD_REQUEST); | ||||
|             } | ||||
|  | ||||
|             //打卡规则 | ||||
|             BusAttendanceRuleVo busAttendanceRuleVo = attendanceRuleService.queryByProjectId(req.getProjectId()); | ||||
|  | ||||
|             if (busAttendanceRuleVo == null) { | ||||
|                 throw new ServiceException("未设置打卡规则", HttpStatus.ERROR); | ||||
|                 throw new ServiceException("未设置打卡规则", HttpStatus.BAD_REQUEST); | ||||
|             } | ||||
|  | ||||
|             // 考勤时间 | ||||
|             //确定考勤日期 | ||||
|             LocalDate localDate = calculateAttendanceDate(now, busAttendanceRuleVo); | ||||
|  | ||||
| //            if (leaveService.isLeave(localDate, userId)) { | ||||
| //                throw new ServiceException("当前用户正在请假中", HttpStatus.ERROR); | ||||
| //            } | ||||
|             if (leaveService.isLeave(localDate, userId)) { | ||||
|                 throw new ServiceException("当前用户正在请假中", HttpStatus.BAD_REQUEST); | ||||
|             } | ||||
|  | ||||
|             // 判断当前用户打卡状态 | ||||
|  | ||||
| @ -399,12 +399,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | ||||
|                 // 记录打卡坐标 | ||||
|                 attendance.setLat(req.getLat()); | ||||
|                 attendance.setLng(req.getLng()); | ||||
|                 try { | ||||
|                 attendance.setClockLocation(JSTUtil.getLocationName(req.getLat(), req.getLng())); | ||||
|                 }catch (Exception e) { | ||||
|                     log.error("获取打卡位置失败", e); | ||||
|                 } | ||||
|  | ||||
|                 // 上传人脸照 | ||||
|                 SysOssVo upload = ossService.upload(file); | ||||
|                 attendance.setFacePic(upload.getOssId().toString()); | ||||
| @ -458,11 +453,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | ||||
|                     // 记录打卡坐标 | ||||
|                     attendance.setLat(req.getLat()); | ||||
|                     attendance.setLng(req.getLng()); | ||||
|                     try { | ||||
|                     attendance.setClockLocation(JSTUtil.getLocationName(req.getLat(), req.getLng())); | ||||
|                     }catch (Exception e) { | ||||
|                         log.error("获取打卡位置失败", e); | ||||
|                     } | ||||
|                     // 上传人脸照 | ||||
|                     SysOssVo upload = ossService.upload(file); | ||||
|                     attendance.setFacePic(upload.getOssId().toString()); | ||||
| @ -598,8 +589,6 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | ||||
|         Long userId = LoginHelper.getUserId(); | ||||
|         Long projectId = req.getProjectId(); | ||||
|  | ||||
|         SysUserVo sysUserVo = userService.queryById(userId); | ||||
|  | ||||
|         //判断是否要求范围内打卡 | ||||
|         BusUserProjectRelevancy relevancy = userProjectRelevancyService.getOne(Wrappers.lambdaQuery(BusUserProjectRelevancy.class) | ||||
|             .eq(BusUserProjectRelevancy::getUserId, userId) | ||||
| @ -609,7 +598,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | ||||
|             throw new ServiceException("当前用户未加入项目", HttpStatus.BAD_REQUEST); | ||||
|         } | ||||
|         //判断是否是施工员 管理员返回项目全部打卡范围,施工人员返回班组打卡范围 | ||||
|         boolean isConstruct = "0".equals(sysUserVo.getAppUserType()); | ||||
|         boolean isConstruct = "1".equals(relevancy.getUserType()); | ||||
|         List<Long> rangeIds = new ArrayList<>(); | ||||
|         if (isConstruct) { | ||||
|             BusProjectTeamMember one = projectTeamMemberService.getOne(Wrappers.lambdaQuery(BusProjectTeamMember.class) | ||||
| @ -647,7 +636,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | ||||
|             .toList(); | ||||
|  | ||||
|         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); | ||||
|         return matchingRange != null; | ||||
| @ -718,7 +707,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | ||||
|  | ||||
|  | ||||
|     @Override | ||||
|     public TableDataInfo<BusAttendanceVo> getAbnormalAttendance(Long projectId, PageQuery pageQuery) { | ||||
|     public List<BusAttendanceVo> getAbnormalAttendance(Long projectId) { | ||||
|  | ||||
|         List<String> abnormalList = Arrays.asList(BusAttendanceClockStatusEnum.LATE.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())); | ||||
|  | ||||
|         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(b, BusAttendance::getProjectId, projectId) | ||||
|             .in(BusAttendance::getClockStatus, abnormalList) | ||||
|         ); | ||||
|         //转换星期几 | ||||
|         for (BusAttendanceVo busAttendanceVo : busAttendanceVoIPage.getRecords()) { | ||||
|         for (BusAttendanceVo busAttendanceVo : busAttendanceVos) { | ||||
|             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); | ||||
|     } | ||||
|  | ||||
| //    /** | ||||
| //     * 判断是否请假 | ||||
| //     */ | ||||
| //    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 | ||||
|     public AttendanceCountVo getAttendanceCount(AttendanceCountDto dto) { | ||||
| @ -1186,17 +1156,15 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | ||||
|         List<Long> allUserIds = constructionUserService.list(Wrappers.<SubConstructionUser>lambdaQuery() | ||||
|             .eq(SubConstructionUser::getUserRole, "0") | ||||
|             .eq(SubConstructionUser::getProjectId,projectId) | ||||
|             .isNotNull(SubConstructionUser::getTeamId) | ||||
|         ).stream().map(SubConstructionUser::getSysUserId).toList(); | ||||
|  | ||||
|  | ||||
|         // 往前14天,包含今天 | ||||
|         LocalDate startDate = now.minusDays(14); | ||||
|         LocalDate endDate = now.minusDays(1); | ||||
|         List<BusAttendance> list = list(Wrappers.<BusAttendance>lambdaQuery() | ||||
|             .eq(BusAttendance::getProjectId, projectId) | ||||
|             .notIn(CollectionUtil.isNotEmpty(excludeUserIds),BusAttendance::getUserId, excludeUserIds) | ||||
|             .between(BusAttendance::getClockDate, startDate, endDate) | ||||
|             .between(BusAttendance::getClockDate, startDate, now) | ||||
|             .orderByAsc(BusAttendance::getClockDate) | ||||
|         ); | ||||
|  | ||||
| @ -1215,9 +1183,10 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | ||||
|  | ||||
|         // 统计全勤、半勤、缺卡人数 | ||||
|         List<BusAttendanceClockDateForTwoWeekVo> result = new ArrayList<>(); | ||||
|         List<String> validStatusList = Arrays.asList("1", "2", "3", "5"); | ||||
|  | ||||
|         LocalDate currentDate = startDate; | ||||
|         while (!currentDate.isAfter(endDate)) { | ||||
|         while (!currentDate.isAfter(now)) { | ||||
|             Map<Long, List<BusAttendance>> userAttendanceMap = dateUserMap.getOrDefault(currentDate, new HashMap<>()); | ||||
|  | ||||
|             int full = 0, half = 0, absent = 0; | ||||
| @ -1227,63 +1196,7 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | ||||
|  | ||||
|                 long validCount = records.stream() | ||||
|                     .map(BusAttendance::getClockStatus) | ||||
|                     .filter(ATTENDANCE_LIST::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) | ||||
|                     .filter(validStatusList::contains) | ||||
|                     .count(); | ||||
|  | ||||
|                 if (validCount >= 2) { | ||||
| @ -1296,17 +1209,23 @@ public class BusAttendanceServiceImpl extends ServiceImpl<BusAttendanceMapper, B | ||||
|             } | ||||
|  | ||||
|             BusAttendanceClockDateForTwoWeekVo vo = new BusAttendanceClockDateForTwoWeekVo(); | ||||
|         vo.setClockDate(now); | ||||
|             vo.setClockDate(currentDate); | ||||
|             vo.setAttendance(full); | ||||
|             vo.setHalfAttendance(half); | ||||
|             vo.setAbsenteeism(absent); | ||||
|         //计算考勤率 | ||||
|             //如果是当天,则计算考勤率 | ||||
|             if (currentDate.equals(now)) { | ||||
|                 vo.setAllUserNum(allUserIds.size()); | ||||
|                 vo.setClockNum(full+half); | ||||
|                 vo.setAttendanceRate(BigDecimalUtil.toPercentage(new BigDecimal(full+half), | ||||
|                     new BigDecimal(allUserIds.size()))); | ||||
|             } | ||||
|  | ||||
|         return vo; | ||||
|             result.add(vo); | ||||
|             currentDate = currentDate.plusDays(1); | ||||
|         } | ||||
|  | ||||
|         return result; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|  | ||||
| @ -399,10 +399,8 @@ public class BusLeaveServiceImpl extends ServiceImpl<BusLeaveMapper, BusLeave> | ||||
|         LambdaQueryWrapper<BusLeave> wrapper = new LambdaQueryWrapper<>(); | ||||
|         wrapper | ||||
|             .eq(BusLeave::getUserId, userId) | ||||
|             .lt(BusLeave::getStartTime, newEnd)     // 已有记录的开始时间 < 新记录的结束时间 | ||||
|             .gt(BusLeave::getEndTime, newStart) | ||||
|             .eq(BusLeave::getAuditStatus, BusinessStatusEnum.FINISH.getStatus()) | ||||
|         ;    // 已有记录的结束时间 > 新记录的开始时间 | ||||
|             .le(BusLeave::getStartTime, newEnd)     // 已有记录的开始时间 < 新记录的结束时间 | ||||
|             .ge(BusLeave::getEndTime, newStart);    // 已有记录的结束时间 > 新记录的开始时间 | ||||
|  | ||||
|         // 4. 执行冲突校验 | ||||
|         if (count(wrapper) > 0) { | ||||
|  | ||||
| @ -329,7 +329,10 @@ public class BusProjectTeamMemberServiceImpl extends ServiceImpl<BusProjectTeamM | ||||
|         constructionUserExit.setSalaryConfirmationFile(salaryConfirmationFile); | ||||
|         constructionUserExit.setTeamId(constructionUser.getTeamId()); | ||||
|         String sfzNumber = constructionUser.getSfzNumber(); | ||||
|         if (StringUtils.isNotBlank(sfzNumber)) { | ||||
|             sfzNumber = idCardEncryptorUtil.decrypt(sfzNumber); | ||||
|             constructionUserExit.setSfzNumber(sfzNumber); | ||||
|         } | ||||
|         constructionUserExit.setEntryDate(constructionUser.getEntryDate()); | ||||
|         constructionUserExit.setLeaveDate(new Date()); | ||||
|         constructionUserExit.setRemark(req.getRemark()); | ||||
|  | ||||
| @ -149,9 +149,7 @@ public class SysUserVo implements Serializable { | ||||
|      */ | ||||
|     private List<Long> projectIds; | ||||
|  | ||||
|     /** | ||||
|      * app用户类型 0-施工人员 1-管理人员 2-分包人员 | ||||
|      */ | ||||
|  | ||||
|     private String appUserType; | ||||
|  | ||||
|     /** | ||||
|  | ||||
| @ -50,7 +50,6 @@ import org.dromara.system.mapper.*; | ||||
| import org.dromara.system.service.ISysOssService; | ||||
| import org.dromara.system.service.ISysUserFileService; | ||||
| import org.dromara.system.service.ISysUserService; | ||||
| import org.jetbrains.annotations.NotNull; | ||||
| import org.springframework.cache.annotation.CacheEvict; | ||||
| import org.springframework.cache.annotation.Cacheable; | ||||
| import org.springframework.context.annotation.Lazy; | ||||
| @ -930,25 +929,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService { | ||||
|             projects = projectIds; | ||||
|         } | ||||
|  | ||||
|         List<SysUserRole> sysUserRoles = getSysUserRoles(userId, appUserType, projects); | ||||
|         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; | ||||
|         } | ||||
|         Long roleId = "1".equals(appUserType)?4L:5L; | ||||
|         ArrayList<SysUserRole> sysUserRoles = new ArrayList<>(); | ||||
|         for (Long project : projects) { | ||||
|             SysUserRole sysUserRole = new SysUserRole(); | ||||
| @ -957,7 +938,13 @@ public class SysUserServiceImpl implements ISysUserService, UserService { | ||||
|             sysUserRole.setRoleId(roleId); | ||||
|             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 | ||||
|  | ||||
| @ -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 org.dromara.common.core.domain.R; | ||||
| 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.QuerCorrespondentDto; | ||||
| import org.dromara.xzd.domain.dto.XzdClienteleListDto; | ||||
| 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.XzdPoiAreaVo; | ||||
| import org.dromara.xzd.service.IXzdCorrespondentList; | ||||
| import org.dromara.xzd.service.IXzdCustomertypeInfoService; | ||||
| import org.dromara.xzd.service.IXzdCustomertypeService; | ||||
| import org.dromara.xzd.service.IXzdPoiAreaService; | ||||
| import org.springframework.validation.annotation.Validated; | ||||
| import org.springframework.web.bind.annotation.*; | ||||
|  | ||||
| @ -38,7 +35,6 @@ public class XzdCorrespondentList { | ||||
|     /** | ||||
|      * 查询区域列表 | ||||
|      */ | ||||
| //    @SaCheckPermission("xzd:poiArea:list") | ||||
|     @GetMapping("/list") | ||||
|     public R<XzdPoiAreaVo> list() { | ||||
|         return iXzdCorrespondentList.queryPageList(); | ||||
| @ -48,19 +44,29 @@ public class XzdCorrespondentList { | ||||
|     /** | ||||
|      * 客户信息添加 | ||||
|      */ | ||||
|     @SaCheckPermission("xzd:poiArea:add") | ||||
|     @SaCheckPermission("xzd:customertypeInfo:add") | ||||
|     @PostMapping("/addCorrespondent") | ||||
|     public R<String> addCorrespondent(@RequestBody AddCorrespondentDto 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") | ||||
|     @PostMapping("/delCorrespondent") | ||||
|     public R<String> delCorrespondent(@RequestBody List<AddCorrespondentDto> dto) { | ||||
|     @SaCheckPermission("xzd:customertypeInfo:remove") | ||||
|     @DeleteMapping("/delCorrespondent/{dto}") | ||||
|     public R<String> delCorrespondent(@PathVariable Long[] dto) { | ||||
|         return iXzdCorrespondentList.delCorrespondent(dto); | ||||
|     } | ||||
|  | ||||
| @ -69,9 +75,9 @@ public class XzdCorrespondentList { | ||||
|     /** | ||||
|      * 客户信息列表 | ||||
|      */ | ||||
|     @SaCheckPermission("xzd:poiArea:list") | ||||
|     @PostMapping("/queryCustomertype") | ||||
|     public R<XzdClienteleListSumVo> queryCustomertype(@RequestBody XzdClienteleListDto dto, PageQuery pageQuery) { | ||||
|     @SaCheckPermission("xzd:customertypeInfo:query") | ||||
|     @GetMapping("/queryCustomertype") | ||||
|     public R<XzdClienteleListSumVo> queryCustomertype( XzdClienteleListDto dto,  PageQuery pageQuery) { | ||||
|         return iXzdCorrespondentList.queryCustomertype(dto, pageQuery); | ||||
|     } | ||||
|  | ||||
| @ -79,21 +85,19 @@ public class XzdCorrespondentList { | ||||
|     /** | ||||
|      * 客户类型列表 | ||||
|      */ | ||||
|     @SaCheckPermission("xzd:poiArea:list") | ||||
|     @SaCheckPermission("xzd:customertypeInfo:query") | ||||
|     @PostMapping("/queryCustomertypeList") | ||||
|     public R<List<XzdCustomertypeVo>> 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 lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import org.dromara.xzd.domain.vo.XzdCustomertypeInfoVo; | ||||
| import org.dromara.xzd.domain.vo.XzdCustomertypeVo; | ||||
|  | ||||
| import java.io.Serial; | ||||
| import java.util.List; | ||||
|  | ||||
| /** | ||||
|  * 客户|供应商类型(公共)对象 xzd_customertype | ||||
|  | ||||
| @ -14,9 +14,8 @@ import java.io.Serial; | ||||
|  * @date 2025-09-30 | ||||
|  */ | ||||
| @Data | ||||
| @EqualsAndHashCode(callSuper = true) | ||||
| @TableName("xzd_poi_area") | ||||
| public class XzdPoiArea extends BaseEntity { | ||||
| public class XzdPoiArea { | ||||
|  | ||||
|     @Serial | ||||
|     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; | ||||
|  | ||||
| import com.alibaba.excel.annotation.ExcelProperty; | ||||
| import org.dromara.common.mybatis.core.domain.BaseEntity; | ||||
| import com.baomidou.mybatisplus.annotation.*; | ||||
| import lombok.Data; | ||||
| @ -42,6 +43,11 @@ public class XzdSettlementInfo extends BaseEntity { | ||||
|      */ | ||||
|     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.EqualsAndHashCode; | ||||
| import jakarta.validation.constraints.*; | ||||
|  | ||||
| import java.time.LocalDate; | ||||
| import java.time.LocalDateTime; | ||||
| import java.util.Date; | ||||
| 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:已停用) | ||||
|  | ||||
| @ -8,6 +8,9 @@ import io.github.linpeilie.annotations.AutoMapper; | ||||
| import lombok.Data; | ||||
| import lombok.EqualsAndHashCode; | ||||
| import jakarta.validation.constraints.*; | ||||
|  | ||||
| import java.time.LocalDate; | ||||
| import java.time.LocalDateTime; | ||||
| import java.util.Date; | ||||
| 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.EqualsAndHashCode; | ||||
| import jakarta.validation.constraints.*; | ||||
|  | ||||
| import java.time.LocalDate; | ||||
| import java.time.LocalDateTime; | ||||
| import java.util.Date; | ||||
| 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.EqualsAndHashCode; | ||||
| import jakarta.validation.constraints.*; | ||||
|  | ||||
| import java.time.LocalDate; | ||||
| import java.time.LocalDateTime; | ||||
| import java.util.Date; | ||||
| 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 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 XzdProjectInfoBo xzdProjectInfo; | ||||
|     private List<XzdProjectInfoBo> xzdProjectInfo; | ||||
|  | ||||
|     //    合同信息 | ||||
|     private XzdContractInfoBo xzdContractInfo; | ||||
|     private List<XzdContractInfoBo> xzdContractInfo; | ||||
|  | ||||
|     //    客户类型信息 | ||||
|     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; | ||||
|  | ||||
|     /** | ||||
|      * 区域ID | ||||
|      */ | ||||
|     private Long poiAreaId; | ||||
|  | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 单位名称 | ||||
|  | ||||
| @ -15,15 +15,22 @@ import java.util.Date; | ||||
| public class XzdClienteleListVo { | ||||
|  | ||||
|  | ||||
| //  未找到字段   审核人,冻结人,工作流标志,是否加入黑名单,变更状态 | ||||
| //  未找到字段   审核人,冻结人,工作流标志,变更状态 | ||||
|  | ||||
|  | ||||
| //  XzdCustomerinformationBo | ||||
|  | ||||
| //    客户id | ||||
|  | ||||
|     private Long customerId; | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 单位编号 | ||||
|      */ | ||||
|     private String unitCode; | ||||
|  | ||||
|  | ||||
|     /** | ||||
|      * 单位名称 | ||||
|      */ | ||||
|  | ||||
| @ -11,7 +11,7 @@ import lombok.Data; | ||||
| import java.io.Serial; | ||||
| import java.io.Serializable; | ||||
| import java.util.Date; | ||||
| import java.util.List; | ||||
|  | ||||
|  | ||||
|  | ||||
| /** | ||||
| @ -65,9 +65,5 @@ public class XzdCustomertypeVo implements Serializable { | ||||
|     @ExcelProperty(value = "客户类型") | ||||
|     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 = "结算方式") | ||||
|     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 { | ||||
|  | ||||
|     TYPE_CORRESPONDENT("类型","1"), | ||||
|     TYPE_SUPPLIER("类型","2"); | ||||
|     TYPE_CORRESPONDENT("客户","1"), | ||||
|     TYPE_SUPPLIER("供应商","2"); | ||||
|  | ||||
|  | ||||
|     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.mybatis.core.page.PageQuery; | ||||
| 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.vo.XzdClienteleListSumVo; | ||||
| import org.dromara.xzd.domain.vo.XzdClienteleListVo; | ||||
| @ -16,7 +17,11 @@ public interface IXzdCorrespondentList { | ||||
|  | ||||
|     R<String> addCorrespondent(AddCorrespondentDto dto); | ||||
|  | ||||
|     R<String> delCorrespondent(List<AddCorrespondentDto> dto); | ||||
|     R<String> delCorrespondent(Long[] dto); | ||||
|  | ||||
|     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<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
	