Commit ead4131e authored by 施翔轲's avatar 施翔轲

咨询机构管理:自定义表单相关修改

parent 80bfbece
...@@ -170,7 +170,8 @@ tenant: ...@@ -170,7 +170,8 @@ tenant:
- d_subcontract - d_subcontract
- advisory_body - advisory_body
- advisory_body_project - advisory_body_project
- advisory_body_custom_form - advisory_body_custom_form_data
- advisory_body_custom_form_template
- dim_area - dim_area
- biz_dict_data - biz_dict_data
- push_monitor_rules - push_monitor_rules
......
...@@ -5,13 +5,14 @@ import com.dsk.common.core.controller.BaseController; ...@@ -5,13 +5,14 @@ import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery; import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R; import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.AdvisoryBodyCustomForm; import com.dsk.cscec.domain.AdvisoryBodyCustomFormData;
import com.dsk.cscec.domain.AdvisoryBodyCustomFormTemplate;
import com.dsk.cscec.domain.bo.*; import com.dsk.cscec.domain.bo.*;
import com.dsk.cscec.domain.vo.*; import com.dsk.cscec.domain.vo.*;
import com.dsk.cscec.service.AdvisoryBodyCustomFormService; import com.dsk.cscec.service.AdvisoryBodyCustomFormDataService;
import com.dsk.cscec.service.AdvisoryBodyCustomFormTemplateService;
import com.dsk.cscec.service.AdvisoryBodyService; import com.dsk.cscec.service.AdvisoryBodyService;
import com.dsk.cscec.service.IDProjectService; import com.dsk.cscec.service.IDProjectService;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -33,7 +34,9 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -33,7 +34,9 @@ public class AdvisoryBodyManageController extends BaseController {
@Resource @Resource
private AdvisoryBodyService advisoryBodyService; private AdvisoryBodyService advisoryBodyService;
@Resource @Resource
private AdvisoryBodyCustomFormService advisoryBodyCustomFormService; private AdvisoryBodyCustomFormDataService customFormDataService;
@Resource
private AdvisoryBodyCustomFormTemplateService templateService;
/** /**
* 获取项目列表 * 获取项目列表
...@@ -95,28 +98,36 @@ public class AdvisoryBodyManageController extends BaseController { ...@@ -95,28 +98,36 @@ public class AdvisoryBodyManageController extends BaseController {
} }
/** /**
* 获取咨询机构自定义表单 * 获取自定义表单模板
*/
@GetMapping("/getCustomFormTemplate")
public R<AdvisoryBodyCustomFormTemplate> getCustomFormTemplate() {
//业务上确定只有一个模板
List<AdvisoryBodyCustomFormTemplate> templates = templateService.list();
return R.ok(templates.isEmpty() ? null : templates.get(0));
}
/**
* 编辑自定义表单模板
*/ */
@GetMapping("/getAdvisoryBodyCustomForm") @PostMapping("/editCustomFormTemplate")
public R<List<AdvisoryBodyCustomForm>> getAdvisoryBodyCustomForm() { public R<Void> editCustomFormTemplate(@Validated @RequestBody AdvisoryBodyCustomFormTemplate customFormTemplate) {
return R.ok(advisoryBodyCustomFormService.list()); return toAjax(templateService.editCustomFormTemplate(customFormTemplate));
} }
/** /**
* 新增咨询机构自定义表单 * 根据项目主键查询自定义表单数据表数据
*/ */
@PostMapping("/addAdvisoryBodyCustomForm") @GetMapping("/getCustomFormDataByProjectKey/{projectKey}")
@Transactional(rollbackFor = Exception.class) public R<AdvisoryBodyCustomFormData> getCustomFormDataByProjectKey(@PathVariable Long projectKey) {
public R<Void> addAdvisoryBodyCustomForm(@Validated @RequestBody AdvisoryBodyCustomForm advisoryBodyCustomForm) { return R.ok(customFormDataService.getById(projectKey));
return toAjax(advisoryBodyCustomFormService.save(advisoryBodyCustomForm));
} }
/** /**
* 更新咨询机构自定义表单 * 编辑自定义表单数据表数据
*/ */
@PutMapping("/updateAdvisoryBodyCustomForm") @PostMapping("/editCustomFormData")
@Transactional(rollbackFor = Exception.class) public R<Void> editCustomFormData(@Validated @RequestBody AdvisoryBodyCustomFormData customFormData) {
public R<Void> updateAdvisoryBodyCustomForm(@Validated @RequestBody EditAdvisoryBodyCustomFormBo editBo) { return toAjax(customFormDataService.editCustomFormData(customFormData));
return toAjax(advisoryBodyCustomFormService.updateById(editBo));
} }
} }
\ No newline at end of file
package com.dsk.cscec.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.dsk.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
/**
* 咨询机构自定义表单数据表(AdvisoryBodyCustomFormData)实体类
*
* @author sxk
* @since 2023-12-20 16:39:43
*/
@EqualsAndHashCode(callSuper = true)
@Data
public class AdvisoryBodyCustomFormData extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 项目主键
*/
@TableId(value = "project_key")
@NotNull(message = "项目主键不能为空")
private Long projectKey;
/**
* 模板ID
*/
@NotNull(message = "模板ID不能为空")
private Long templateId;
/**
* json数据
*/
@NotBlank(message = "json数据不能为空")
private String jsonData;
}
...@@ -9,20 +9,20 @@ import javax.validation.constraints.NotBlank; ...@@ -9,20 +9,20 @@ import javax.validation.constraints.NotBlank;
import java.io.Serializable; import java.io.Serializable;
/** /**
* 咨询机构自定义表单(AdvisoryBodyCustomForm)实体类 * 咨询机构自定义表单模板表(AdvisoryBodyCustomFormTemplate)实体类
* *
* @author sxk * @author sxk
* @since 2023-12-20 16:39:43 * @since 2024-01-15 16:53:19
*/ */
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@Data @Data
public class AdvisoryBodyCustomForm extends BaseEntity implements Serializable { public class AdvisoryBodyCustomFormTemplate extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 324906245942046585L;
/** /**
* 项目主键 * 模板ID
*/ */
@TableId(value = "ab_custom_form_id") @TableId(value = "template_id")
private Long abCustomFormId; private Long templateId;
/** /**
* json数据 * json数据
*/ */
......
package com.dsk.cscec.domain.bo;
import com.dsk.cscec.domain.AdvisoryBodyCustomForm;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @author sxk
* @date 2024.01.09
* @time 11:24
*/
@Data
public class EditAdvisoryBodyCustomFormBo extends AdvisoryBodyCustomForm {
/**
* 项目主键
*/
@NotNull(message = "自定义表单ID不能为空")
private Long abCustomFormId;
}
package com.dsk.cscec.mapper; package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.AdvisoryBodyCustomForm; import com.dsk.cscec.domain.AdvisoryBodyCustomFormData;
/** /**
* 咨询机构自定义表单(AdvisoryBodyCustomForm)表数据库访问层 * 咨询机构自定义表单数据表(AdvisoryBodyCustomFormData)表数据库访问层
* *
* @author sxk * @author sxk
* @since 2023-12-20 16:39:37 * @since 2023-12-20 16:39:37
*/ */
public interface AdvisoryBodyCustomFormMapper extends BaseMapper<AdvisoryBodyCustomForm> { public interface AdvisoryBodyCustomFormDataMapper extends BaseMapper<AdvisoryBodyCustomFormData> {
} }
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.cscec.domain.AdvisoryBodyCustomFormTemplate;
/**
* 咨询机构自定义表单模板表(AdvisoryBodyCustomFormTemplate)表数据库访问层
*
* @author sxk
* @since 2024-01-15 16:53:17
*/
public interface AdvisoryBodyCustomFormTemplateMapper extends BaseMapper<AdvisoryBodyCustomFormTemplate> {
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.AdvisoryBodyCustomFormData;
/**
* 咨询机构自定义表单数据表(AdvisoryBodyCustomFormData)表服务接口
*
* @author sxk
* @since 2023-12-20 17:33:31
*/
public interface AdvisoryBodyCustomFormDataService extends IService<AdvisoryBodyCustomFormData> {
/**
* 编辑自定义表单数据表数据
*
* @param customFormData 编辑信息
* @return 编辑结果
*/
Integer editCustomFormData(AdvisoryBodyCustomFormData customFormData);
}
\ No newline at end of file
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.AdvisoryBodyCustomForm;
/**
* 咨询机构自定义表单(AdvisoryBodyCustomForm)表服务接口
*
* @author makejava
* @since 2023-12-20 17:33:31
*/
public interface AdvisoryBodyCustomFormService extends IService<AdvisoryBodyCustomForm> {
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.cscec.domain.AdvisoryBodyCustomFormTemplate;
/**
* 咨询机构自定义表单模板表(AdvisoryBodyCustomFormTemplate)表服务接口
*
* @author sxk
* @since 2024-01-15 16:53:20
*/
public interface AdvisoryBodyCustomFormTemplateService extends IService<AdvisoryBodyCustomFormTemplate> {
/**
* 编辑自定义表单模板
*
* @param customFormTemplate 编辑对象
* @return 编辑结果
*/
Integer editCustomFormTemplate(AdvisoryBodyCustomFormTemplate customFormTemplate);
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.exception.ServiceException;
import com.dsk.cscec.domain.AdvisoryBodyCustomFormData;
import com.dsk.cscec.domain.AdvisoryBodyCustomFormTemplate;
import com.dsk.cscec.mapper.AdvisoryBodyCustomFormDataMapper;
import com.dsk.cscec.mapper.AdvisoryBodyCustomFormTemplateMapper;
import com.dsk.cscec.service.AdvisoryBodyCustomFormDataService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
/**
* 咨询机构自定义表单数据表(AdvisoryBodyCustomFormData)表服务实现类
*
* @author sxk
* @since 2023-12-20 17:33:31
*/
@Slf4j
@Service("advisoryBodyCustomFormService")
public class AdvisoryBodyCustomFormDataServiceImpl extends ServiceImpl<AdvisoryBodyCustomFormDataMapper, AdvisoryBodyCustomFormData> implements AdvisoryBodyCustomFormDataService {
@Resource
private AdvisoryBodyCustomFormDataMapper baseMapper;
@Resource
private AdvisoryBodyCustomFormTemplateMapper templateMapper;
/**
* 编辑自定义表单数据表数据
*
* @param customFormData 编辑信息
* @return 编辑结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Integer editCustomFormData(AdvisoryBodyCustomFormData customFormData) {
//校验自定义表单模板是否存在
if (!templateMapper.exists(new LambdaQueryWrapper<AdvisoryBodyCustomFormTemplate>()
.eq(AdvisoryBodyCustomFormTemplate::getTemplateId, customFormData.getTemplateId()))) {
throw new ServiceException("自定义表单模板不存在");
}
//数据存在,走更新覆盖;否则走新增
if (baseMapper.exists(new LambdaQueryWrapper<AdvisoryBodyCustomFormData>()
.eq(AdvisoryBodyCustomFormData::getProjectKey, customFormData.getProjectKey()))) {
log.info("项目{}更新自定义表单数据", customFormData.getTemplateId());
return baseMapper.updateById(customFormData);
} else {
log.info("项目{}新增自定义表单数据", customFormData.getTemplateId());
return baseMapper.insert(customFormData);
}
}
}
package com.dsk.cscec.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.cscec.domain.AdvisoryBodyCustomForm;
import com.dsk.cscec.mapper.AdvisoryBodyCustomFormMapper;
import com.dsk.cscec.service.AdvisoryBodyCustomFormService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 咨询机构自定义表单(AdvisoryBodyCustomForm)表服务实现类
*
* @author sxk
* @since 2023-12-20 17:33:31
*/
@Service("advisoryBodyCustomFormService")
public class AdvisoryBodyCustomFormServiceImpl extends ServiceImpl<AdvisoryBodyCustomFormMapper, AdvisoryBodyCustomForm> implements AdvisoryBodyCustomFormService {
@Resource
private AdvisoryBodyCustomFormMapper baseMapper;
}
package com.dsk.cscec.service.impl;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.exception.ServiceException;
import com.dsk.cscec.domain.AdvisoryBodyCustomFormTemplate;
import com.dsk.cscec.mapper.AdvisoryBodyCustomFormTemplateMapper;
import com.dsk.cscec.service.AdvisoryBodyCustomFormTemplateService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
/**
* 咨询机构自定义表单模板表(AdvisoryBodyCustomFormTemplate)表服务实现类
*
* @author sxk
* @since 2024-01-15 16:53:20
*/
@Slf4j
@Service("advisoryBodyCustomFormTemplateService")
public class AdvisoryBodyCustomFormTemplateServiceImpl extends ServiceImpl<AdvisoryBodyCustomFormTemplateMapper, AdvisoryBodyCustomFormTemplate> implements AdvisoryBodyCustomFormTemplateService {
@Resource
private AdvisoryBodyCustomFormTemplateMapper baseMapper;
/**
* 编辑自定义表单模板
*
* @param customFormTemplate 编辑对象
* @return 编辑结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Integer editCustomFormTemplate(AdvisoryBodyCustomFormTemplate customFormTemplate) {
//模板ID为空,则为新增,否则为更新覆盖
Long templateId = customFormTemplate.getTemplateId();
if (ObjectUtil.isNull(templateId)) {
templateId = IdUtil.getSnowflakeNextId();
customFormTemplate.setTemplateId(templateId);
log.info("新增自定义表单模板,模板ID:{}", templateId);
return baseMapper.insert(customFormTemplate);
} else {
//校验模板是否存在
if (!baseMapper.exists(new LambdaQueryWrapper<AdvisoryBodyCustomFormTemplate>()
.eq(AdvisoryBodyCustomFormTemplate::getTemplateId, customFormTemplate.getTemplateId()))) {
throw new ServiceException("该自定义表单模板不存在");
}
log.info("更新自定义表单模板{}", templateId);
return baseMapper.updateById(customFormTemplate);
}
}
}
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.cscec.mapper.AdvisoryBodyCustomFormMapper"> <mapper namespace="com.dsk.cscec.mapper.AdvisoryBodyCustomFormDataMapper">
</mapper> </mapper>
\ No newline at end of file
<?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.dsk.cscec.mapper.AdvisoryBodyCustomFormTemplateMapper">
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment