吕宣芝 1 год назад
Родитель
Сommit
fbadb89864

+ 106 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zdsz/ZEngineeringIndustryController.java

@@ -0,0 +1,106 @@
+package com.ruoyi.web.controller.zdsz;
+
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.annotation.RepeatSubmit;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringIndustryBo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+import com.ruoyi.zdsz.service.IZEngineeringIndustryService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.Arrays;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 工业工程|市政工程
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Validated
+@RequiredArgsConstructor
+@RestController
+@RequestMapping("/zdsz/engineeringIndustry")
+public class ZEngineeringIndustryController extends BaseController {
+
+    private final IZEngineeringIndustryService iZEngineeringIndustryService;
+
+    /**
+     * 查询工业工程|市政工程列表
+     */
+    @SaCheckPermission("zdsz:engineeringIndustry:list")
+    @GetMapping("/list")
+    public TableDataInfo<ZEngineeringIndustryVo> list(ZEngineeringIndustryBo bo, PageQuery pageQuery) {
+        return iZEngineeringIndustryService.queryPageList(bo, pageQuery);
+    }
+
+    /**
+     * 导出工业工程|市政工程列表
+     */
+    @SaCheckPermission("zdsz:engineeringIndustry:export")
+    @Log(title = "工业工程|市政工程", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(ZEngineeringIndustryBo bo, HttpServletResponse response) {
+        List<ZEngineeringIndustryVo> list = iZEngineeringIndustryService.queryList(bo);
+        ExcelUtil.exportExcel(list, "工业工程|市政工程", ZEngineeringIndustryVo.class, response);
+    }
+
+    /**
+     * 获取工业工程|市政工程详细信息
+     *
+     * @param id 主键
+     */
+    @SaCheckPermission("zdsz:engineeringIndustry:query")
+    @GetMapping("/{id}")
+    public R<ZEngineeringIndustryVo> getInfo(@NotNull(message = "主键不能为空")@PathVariable String id) {
+        return R.ok(iZEngineeringIndustryService.queryById(id));
+    }
+
+    /**
+     * 新增工业工程|市政工程
+     */
+    @SaCheckPermission("zdsz:engineeringIndustry:add")
+    @Log(title = "工业工程|市政工程", businessType = BusinessType.INSERT)
+    @RepeatSubmit()
+    @PostMapping()
+    public R<Void> add(@Validated(AddGroup.class) @RequestBody ZEngineeringIndustryBo bo) {
+        return toAjax(iZEngineeringIndustryService.insertByBo(bo));
+    }
+
+    /**
+     * 修改工业工程|市政工程
+     */
+    @SaCheckPermission("zdsz:engineeringIndustry:edit")
+    @Log(title = "工业工程|市政工程", businessType = BusinessType.UPDATE)
+    @RepeatSubmit()
+    @PutMapping()
+    public R<Void> edit(@Validated(EditGroup.class) @RequestBody ZEngineeringIndustryBo bo) {
+        return toAjax(iZEngineeringIndustryService.updateByBo(bo));
+    }
+
+    /**
+     * 删除工业工程|市政工程
+     *
+     * @param ids 主键串
+     */
+    @SaCheckPermission("zdsz:engineeringIndustry:remove")
+    @Log(title = "工业工程|市政工程", businessType = BusinessType.DELETE)
+    @DeleteMapping("/{ids}")
+    public R<Void> remove(@NotEmpty(message = "主键不能为空")@PathVariable String[] ids) {
+        return toAjax(iZEngineeringIndustryService.deleteWithValidByIds(Arrays.asList(ids), true));
+    }
+}

+ 88 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/ZEngineeringIndustry.java

@@ -0,0 +1,88 @@
+package com.ruoyi.zdsz.domain;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.Version;
+import com.ruoyi.common.core.domain.BaseEntity;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * 工业工程|市政工程对象 z_engineering_industry
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@TableName("z_engineering_industry")
+public class ZEngineeringIndustry extends BaseEntity {
+
+    private static final long serialVersionUID=1L;
+
+    /**
+     *
+     */
+    @TableId(value = "id")
+    private String id;
+    /**
+     * 工程类型
+     */
+    private String enginType;
+    /**
+     * 建筑单位
+     */
+    private String constructUnit;
+    /**
+     * 项目负责人
+     */
+    private String projectHead;
+    /**
+     * 现场负责人
+     */
+    private String sceneHead;
+    /**
+     * 设计单位
+     */
+    private String designUnit;
+    /**
+     * 设计负责人
+     */
+    private String designHead;
+    /**
+     * 设计联系电话
+     */
+    private String designPhone;
+    /**
+     * 监理单位
+     */
+    private String supervisionUnit;
+    /**
+     * 监理负责人
+     */
+    private String supervisionHead;
+    /**
+     * 监理联系电话
+     */
+    private String supervisionPhone;
+    /**
+     * 类型(工业工程|市政工程)
+     */
+    private String type;
+    /**
+     * 乐观锁
+     */
+    @Version
+    private String version;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 删除标识
+     */
+    @TableLogic
+    private String delFlag;
+
+}

+ 103 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringIndustryBo.java

@@ -0,0 +1,103 @@
+package com.ruoyi.zdsz.domain.bo;
+
+import com.ruoyi.common.core.domain.BaseEntity;
+import com.ruoyi.common.core.validate.AddGroup;
+import com.ruoyi.common.core.validate.EditGroup;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * 工业工程|市政工程业务对象 z_engineering_industry
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ZEngineeringIndustryBo extends BaseEntity {
+
+    /**
+     *
+     */
+    @NotBlank(message = "不能为空", groups = { EditGroup.class })
+    private String id;
+
+    /**
+     * 工程类型
+     */
+    @NotBlank(message = "工程类型不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String enginType;
+
+    /**
+     * 建筑单位
+     */
+    @NotBlank(message = "建筑单位不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String constructUnit;
+
+    /**
+     * 项目负责人
+     */
+    @NotBlank(message = "项目负责人不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String projectHead;
+
+    /**
+     * 现场负责人
+     */
+    @NotBlank(message = "现场负责人不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String sceneHead;
+
+    /**
+     * 设计单位
+     */
+    @NotBlank(message = "设计单位不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String designUnit;
+
+    /**
+     * 设计负责人
+     */
+    @NotBlank(message = "设计负责人不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String designHead;
+
+    /**
+     * 设计联系电话
+     */
+    @NotBlank(message = "设计联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String designPhone;
+
+    /**
+     * 监理单位
+     */
+    @NotBlank(message = "监理单位不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String supervisionUnit;
+
+    /**
+     * 监理负责人
+     */
+    @NotBlank(message = "监理负责人不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String supervisionHead;
+
+    /**
+     * 监理联系电话
+     */
+    @NotBlank(message = "监理联系电话不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String supervisionPhone;
+
+    /**
+     * 类型(工业工程|市政工程)
+     */
+    @NotBlank(message = "类型(工业工程|市政工程)不能为空", groups = { AddGroup.class, EditGroup.class })
+    private String type;
+
+    private ZEngineeringNodeBo zEngineeringNodeBo;
+
+    public ZEngineeringNodeBo getzEngineeringNodeBo() {
+        return zEngineeringNodeBo;
+    }
+
+    public void setzEngineeringNodeBo(ZEngineeringNodeBo zEngineeringNodeBo) {
+        this.zEngineeringNodeBo = zEngineeringNodeBo;
+    }
+}

+ 1 - 1
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/bo/ZEngineeringNodeBo.java

@@ -44,7 +44,7 @@ public class ZEngineeringNodeBo extends BaseEntity {
     /**
      * 备注
      */
-    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
+//    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
     private String remark;
 
     public ZEngineeringInfoBo getzEngineeringInfoBo() {

+ 94 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/domain/vo/ZEngineeringIndustryVo.java

@@ -0,0 +1,94 @@
+package com.ruoyi.zdsz.domain.vo;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * 工业工程|市政工程视图对象 z_engineering_industry
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@Data
+@ExcelIgnoreUnannotated
+public class ZEngineeringIndustryVo implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     *
+     */
+    @ExcelProperty(value = "")
+    private String id;
+
+    /**
+     * 工程类型
+     */
+    @ExcelProperty(value = "工程类型")
+    private String enginType;
+
+    /**
+     * 建筑单位
+     */
+    @ExcelProperty(value = "建筑单位")
+    private String constructUnit;
+
+    /**
+     * 项目负责人
+     */
+    @ExcelProperty(value = "项目负责人")
+    private String projectHead;
+
+    /**
+     * 现场负责人
+     */
+    @ExcelProperty(value = "现场负责人")
+    private String sceneHead;
+
+    /**
+     * 设计单位
+     */
+    @ExcelProperty(value = "设计单位")
+    private String designUnit;
+
+    /**
+     * 设计负责人
+     */
+    @ExcelProperty(value = "设计负责人")
+    private String designHead;
+
+    /**
+     * 设计联系电话
+     */
+    @ExcelProperty(value = "设计联系电话")
+    private String designPhone;
+
+    /**
+     * 监理单位
+     */
+    @ExcelProperty(value = "监理单位")
+    private String supervisionUnit;
+
+    /**
+     * 监理负责人
+     */
+    @ExcelProperty(value = "监理负责人")
+    private String supervisionHead;
+
+    /**
+     * 监理联系电话
+     */
+    @ExcelProperty(value = "监理联系电话")
+    private String supervisionPhone;
+
+    /**
+     * 类型(工业工程|市政工程)
+     */
+    @ExcelProperty(value = "类型(工业工程|市政工程)")
+    private String type;
+
+
+}

+ 15 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/mapper/ZEngineeringIndustryMapper.java

@@ -0,0 +1,15 @@
+package com.ruoyi.zdsz.mapper;
+
+import com.ruoyi.common.core.mapper.BaseMapperPlus;
+import com.ruoyi.zdsz.domain.ZEngineeringIndustry;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+
+/**
+ * 工业工程|市政工程Mapper接口
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+public interface ZEngineeringIndustryMapper extends BaseMapperPlus<ZEngineeringIndustryMapper, ZEngineeringIndustry, ZEngineeringIndustryVo> {
+
+}

+ 48 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/IZEngineeringIndustryService.java

@@ -0,0 +1,48 @@
+package com.ruoyi.zdsz.service;
+
+import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringIndustryBo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * 工业工程|市政工程Service接口
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+public interface IZEngineeringIndustryService {
+
+    /**
+     * 查询工业工程|市政工程
+     */
+    ZEngineeringIndustryVo queryById(String id);
+
+    /**
+     * 查询工业工程|市政工程列表
+     */
+    TableDataInfo<ZEngineeringIndustryVo> queryPageList(ZEngineeringIndustryBo bo, PageQuery pageQuery);
+
+    /**
+     * 查询工业工程|市政工程列表
+     */
+    List<ZEngineeringIndustryVo> queryList(ZEngineeringIndustryBo bo);
+
+    /**
+     * 新增工业工程|市政工程
+     */
+    Boolean insertByBo(ZEngineeringIndustryBo bo);
+
+    /**
+     * 修改工业工程|市政工程
+     */
+    Boolean updateByBo(ZEngineeringIndustryBo bo);
+
+    /**
+     * 校验并批量删除工业工程|市政工程信息
+     */
+    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);
+}

+ 134 - 0
ruoyi-zdsz/src/main/java/com/ruoyi/zdsz/service/impl/ZEngineeringIndustryServiceImpl.java

@@ -0,0 +1,134 @@
+package com.ruoyi.zdsz.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ruoyi.common.annotation.DynamicName;
+import com.ruoyi.common.core.domain.PageQuery;
+import com.ruoyi.common.core.page.TableDataInfo;
+import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.zdsz.domain.ZEngineeringIndustry;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringIndustryBo;
+import com.ruoyi.zdsz.domain.bo.ZEngineeringNodeBo;
+import com.ruoyi.zdsz.domain.vo.ZEngineeringIndustryVo;
+import com.ruoyi.zdsz.mapper.ZEngineeringIndustryMapper;
+import com.ruoyi.zdsz.service.IZEngineeringIndustryService;
+import com.ruoyi.zdsz.service.IZEngineeringInfoService;
+import com.ruoyi.zdsz.service.IZEngineeringNodeService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.Resource;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 工业工程|市政工程Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2024-01-02
+ */
+@RequiredArgsConstructor
+@Service
+public class ZEngineeringIndustryServiceImpl implements IZEngineeringIndustryService {
+
+    private final ZEngineeringIndustryMapper baseMapper;
+
+    @Resource
+    private IZEngineeringInfoService izEngineeringInfoService;
+    @Resource
+    private IZEngineeringNodeService izEngineeringNodeService;
+
+    /**
+     * 查询工业工程|市政工程
+     */
+    @Override
+    public ZEngineeringIndustryVo queryById(String id){
+        return baseMapper.selectVoById(id);
+    }
+
+    /**
+     * 查询工业工程|市政工程列表
+     */
+    @Override
+    public TableDataInfo<ZEngineeringIndustryVo> queryPageList(ZEngineeringIndustryBo bo, PageQuery pageQuery) {
+        LambdaQueryWrapper<ZEngineeringIndustry> lqw = buildQueryWrapper(bo);
+        Page<ZEngineeringIndustryVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
+        return TableDataInfo.build(result);
+    }
+
+    /**
+     * 查询工业工程|市政工程列表
+     */
+    @Override
+    public List<ZEngineeringIndustryVo> queryList(ZEngineeringIndustryBo bo) {
+        LambdaQueryWrapper<ZEngineeringIndustry> lqw = buildQueryWrapper(bo);
+        return baseMapper.selectVoList(lqw);
+    }
+
+    private LambdaQueryWrapper<ZEngineeringIndustry> buildQueryWrapper(ZEngineeringIndustryBo bo) {
+        Map<String, Object> params = bo.getParams();
+        LambdaQueryWrapper<ZEngineeringIndustry> lqw = Wrappers.lambdaQuery();
+        lqw.eq(StringUtils.isNotBlank(bo.getEnginType()), ZEngineeringIndustry::getEnginType, bo.getEnginType());
+        lqw.eq(StringUtils.isNotBlank(bo.getConstructUnit()), ZEngineeringIndustry::getConstructUnit, bo.getConstructUnit());
+        lqw.eq(StringUtils.isNotBlank(bo.getProjectHead()), ZEngineeringIndustry::getProjectHead, bo.getProjectHead());
+        lqw.eq(StringUtils.isNotBlank(bo.getSceneHead()), ZEngineeringIndustry::getSceneHead, bo.getSceneHead());
+        lqw.eq(StringUtils.isNotBlank(bo.getDesignUnit()), ZEngineeringIndustry::getDesignUnit, bo.getDesignUnit());
+        lqw.eq(StringUtils.isNotBlank(bo.getDesignHead()), ZEngineeringIndustry::getDesignHead, bo.getDesignHead());
+        lqw.eq(StringUtils.isNotBlank(bo.getDesignPhone()), ZEngineeringIndustry::getDesignPhone, bo.getDesignPhone());
+        lqw.eq(StringUtils.isNotBlank(bo.getSupervisionUnit()), ZEngineeringIndustry::getSupervisionUnit, bo.getSupervisionUnit());
+        lqw.eq(StringUtils.isNotBlank(bo.getSupervisionHead()), ZEngineeringIndustry::getSupervisionHead, bo.getSupervisionHead());
+        lqw.eq(StringUtils.isNotBlank(bo.getSupervisionPhone()), ZEngineeringIndustry::getSupervisionPhone, bo.getSupervisionPhone());
+        lqw.eq(StringUtils.isNotBlank(bo.getType()), ZEngineeringIndustry::getType, bo.getType());
+        return lqw;
+    }
+
+    /**
+     * 新增工业工程|市政工程
+     */
+    @Override
+    @Transactional(rollbackFor=Exception.class)
+    public Boolean insertByBo(ZEngineeringIndustryBo bo) {
+        ZEngineeringIndustry add = BeanUtil.toBean(bo, ZEngineeringIndustry.class);
+        validEntityBeforeSave(add);
+        boolean flag = baseMapper.insert(add) > 0;
+        if (flag) {
+            bo.setId(add.getId());
+        }
+        bo.getzEngineeringNodeBo().setCivliId(add.getId());
+        bo.getzEngineeringNodeBo().setType("新增工业工程");
+        izEngineeringNodeService.insert(bo.getzEngineeringNodeBo());
+        return flag;
+    }
+
+    /**
+     * 修改工业工程|市政工程
+     */
+    @Override
+    public Boolean updateByBo(ZEngineeringIndustryBo bo) {
+        ZEngineeringIndustry update = BeanUtil.toBean(bo, ZEngineeringIndustry.class);
+        validEntityBeforeSave(update);
+        return baseMapper.updateById(update) > 0;
+    }
+
+    /**
+     * 保存前的数据校验
+     */
+    private void validEntityBeforeSave(ZEngineeringIndustry entity){
+        //TODO 做一些数据校验,如唯一约束
+    }
+
+    /**
+     * 批量删除工业工程|市政工程
+     */
+    @Override
+    public Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid) {
+        if(isValid){
+            //TODO 做一些业务上的校验,判断是否需要校验
+        }
+        return baseMapper.deleteBatchIds(ids) > 0;
+    }
+}

+ 30 - 0
ruoyi-zdsz/src/main/resources/mapper/zdsz/ZEngineeringIndustryMapper.xml

@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.zdsz.mapper.ZEngineeringIndustryMapper">
+
+    <resultMap type="com.ruoyi.zdsz.domain.ZEngineeringIndustry" id="ZEngineeringIndustryResult">
+        <result property="id" column="id"/>
+        <result property="enginType" column="engin_type"/>
+        <result property="constructUnit" column="construct_unit"/>
+        <result property="projectHead" column="project_head"/>
+        <result property="sceneHead" column="scene_head"/>
+        <result property="designUnit" column="design_unit"/>
+        <result property="designHead" column="design_head"/>
+        <result property="designPhone" column="design_phone"/>
+        <result property="supervisionUnit" column="supervision_unit"/>
+        <result property="supervisionHead" column="supervision_head"/>
+        <result property="supervisionPhone" column="supervision_phone"/>
+        <result property="type" column="type"/>
+        <result property="version" column="version"/>
+        <result property="remark" column="remark"/>
+        <result property="delFlag" column="del_flag"/>
+        <result property="createBy" column="create_by"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateBy" column="update_by"/>
+        <result property="updateTime" column="update_time"/>
+    </resultMap>
+
+
+</mapper>