diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/EditIFormItemFormDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/EditIFormItemFormDTO.java new file mode 100644 index 0000000000..9e0b100717 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/form/EditIFormItemFormDTO.java @@ -0,0 +1,39 @@ +package com.epmet.dto.form; + +import com.epmet.dto.result.OptionDTO; +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import java.io.Serializable; +import java.util.List; + + +@Data +public class EditIFormItemFormDTO implements Serializable { + /** + * 客户id + * 可空,为空时,修改所有客户符合条件的记录 + */ + private String customerId; + + /** + * ic_form_item.id + */ + private String formItemId; + + /** + * 组件名称对应的是ic_form_item.label + */ + @NotBlank(message = "label不能为空") + private String label; + + /** + * 组件类型 + */ + private String itemType; + + /** + * ic_form_item_options + */ + private List options; +} diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java index f38a16f323..8eb1a4e549 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/controller/IcFormItemController.java @@ -18,6 +18,8 @@ package com.epmet.controller; import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.dto.form.EditIFormItemFormDTO; import com.epmet.dto.result.ColumnTableNameResultDTO; import com.epmet.dto.result.ResiCategoryItemResultDTO; import com.epmet.service.IcFormItemService; @@ -60,4 +62,20 @@ public class IcFormItemController { return new Result().ok(r); } + + /** + * 修改组件的类型 + * 来源于需求: + * 16、所患大病、所患慢病更改为下拉框选择,慢病类型:高血压、类风湿、心脏病、肝硬化、糖尿病、其他;大病类别:恶性肿瘤、肾功能衰竭、肝硬化或急性肝坏死、脑中风、急性心机梗塞、急性坏死性胰腺炎、器官移植、系统性红斑狼疮、再生障碍性贫血、其他 + * 17、人户状况更改为下拉框选择,类别:人户一致,人在户不在,户在人不在 + * 18、居住情况类别缺少针对夫妻两人居住的类别,增加“其他”分类,类别:与子女同住、空巢、独居、其他 + * @param formDTO + * @return + */ + @PostMapping("edit-item-type") + public Result editItemType(@RequestBody EditIFormItemFormDTO formDTO ){ + ValidatorUtils.validateEntity(formDTO); + icFormItemService.editItemType(formDTO); + return new Result(); + } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java index a5cab9bc23..0912092f94 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/IcFormItemService.java @@ -19,6 +19,7 @@ package com.epmet.service; import com.epmet.commons.mybatis.service.BaseService; import com.epmet.dto.form.CustomerFormQueryDTO; +import com.epmet.dto.form.EditIFormItemFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcFormItemEntity; @@ -62,4 +63,16 @@ public interface IcFormItemService extends BaseService { * @return */ List listResiCategoryItems(String customerId); + + /** + * 修改组件的类型 + * 来源于需求: + * 16、所患大病、所患慢病更改为下拉框选择,慢病类型:高血压、类风湿、心脏病、肝硬化、糖尿病、其他;大病类别:恶性肿瘤、肾功能衰竭、肝硬化或急性肝坏死、脑中风、急性心机梗塞、急性坏死性胰腺炎、器官移植、系统性红斑狼疮、再生障碍性贫血、其他 + * 17、人户状况更改为下拉框选择,类别:人户一致,人在户不在,户在人不在 + * 18、居住情况类别缺少针对夫妻两人居住的类别,增加“其他”分类,类别:与子女同住、空巢、独居、其他 + * + * @param formDTO + * @return + */ + void editItemType(EditIFormItemFormDTO formDTO); } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java index e7afee12c9..9ad0956dc7 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/service/impl/IcFormItemServiceImpl.java @@ -18,13 +18,19 @@ package com.epmet.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.tools.constant.StrConstant; import com.epmet.dao.IcFormItemDao; +import com.epmet.dao.IcFormItemOptionsDao; import com.epmet.dto.form.CustomerFormQueryDTO; +import com.epmet.dto.form.EditIFormItemFormDTO; import com.epmet.dto.result.*; import com.epmet.entity.IcFormItemEntity; import com.epmet.service.IcFormItemService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -39,8 +45,11 @@ import java.util.stream.Collectors; * @author generator generator@elink-cn.com * @since v1.0.0 2021-10-26 */ +@Slf4j @Service public class IcFormItemServiceImpl extends BaseServiceImpl implements IcFormItemService { + @Autowired + private IcFormItemOptionsDao icFormItemOptionsDao; /** * 获取居民信息的查询条件,组件列表 @@ -152,4 +161,43 @@ public class IcFormItemServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper().lambda() + .eq(StringUtils.isNotBlank(formDTO.getCustomerId()),IcFormItemEntity::getCustomerId, formDTO.getCustomerId()) + .eq(StringUtils.isNotBlank(formDTO.getFormItemId()),IcFormItemEntity::getId,formDTO.getFormItemId()) + .eq(IcFormItemEntity::getLabel,formDTO.getLabel()); + List list=baseDao.selectList(queryWrapper); + if(CollectionUtils.isEmpty(list)){ + return; + } + for(IcFormItemEntity entity:list){ + //修改组件类型 + entity.setItemType(formDTO.getItemType()); + baseDao.updateById(entity); + if(!CollectionUtils.isEmpty(formDTO.getOptions())){ + //todo + // 先删除后新增 + /*int sort=1; + for(OptionDTO optionDTO:formDTO.getOptions()){ + IcFormItemOptionsEntity optionsEntity=new IcFormItemOptionsEntity(); + optionsEntity.setCustomerId(); + + }*/ + } + + } + + } } diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml index d7c518a984..e4c82f8b15 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml +++ b/epmet-module/oper-customize/oper-customize-server/src/main/resources/mapper/IcFormItemDao.xml @@ -100,7 +100,7 @@ temp.LABEL from ( SELECT - ifnull(g.TABLE_NAME,'ic_resi_user') AS table_name, + IF(LENGTH(g.TABLE_NAME)>0,g.TABLE_NAME,'ic_resi_user') AS table_name, #( CASE WHEN M.ITEM_GROUP_ID = '0' THEN 'ic_resi_user' ELSE g.TABLE_NAME END ) AS table_name, m.COLUMN_NAME AS columnName, m.LABEL