diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/ColumnTableNameResultDTO.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/ColumnTableNameResultDTO.java new file mode 100644 index 0000000000..3d1e20cc50 --- /dev/null +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/dto/result/ColumnTableNameResultDTO.java @@ -0,0 +1,20 @@ +package com.epmet.dto.result; + +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description 查询必填字段-接口返参 + * @Author sun + */ +@Data +public class ColumnTableNameResultDTO implements Serializable { + private static final long serialVersionUID = -8441112171986914418L; + //表名 + private String tableName; + //字段中文名 + private String label; + //字段名 + private String columnName; +} diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java index 58def540a4..a344922c2b 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/OperCustomizeOpenFeignClient.java @@ -11,6 +11,7 @@ import com.epmet.dto.result.*; import com.epmet.feign.fallback.OperCustomizeOpenFeignClientFallbackFactory; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -23,8 +24,8 @@ import java.util.Set; * @author yinzuomei@elink-cn.com * @date 2020/6/4 13:16 */ -//@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class,url = "http://localhost:8089") -@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class) +@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class,url = "http://localhost:8089") +//@FeignClient(name = ServiceConstant.OPER_CUSTOMIZE_SERVER, fallbackFactory = OperCustomizeOpenFeignClientFallbackFactory.class) public interface OperCustomizeOpenFeignClient { @PostMapping(value = "/oper/customize/customerfootbar/customerfootbars", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE) @@ -88,4 +89,12 @@ public interface OperCustomizeOpenFeignClient { */ @PostMapping("/oper/customize/icform/items") Result> listItems(@RequestBody CustomerFormQueryDTO formDto); + + /** + * @Author sun + * @Description 居民信息新增查询各表必填字段 + **/ + @PostMapping("/oper/customize/icformitem/getmustcolumn/{customerId}") + Result> getMustColumn(@PathVariable("customerId") String customerId); + } diff --git a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java index 2420adb817..6aa1809620 100644 --- a/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java +++ b/epmet-module/oper-customize/oper-customize-client/src/main/java/com/epmet/feign/fallback/OperCustomizeOpenFeignClientFallback.java @@ -74,4 +74,9 @@ public class OperCustomizeOpenFeignClientFallback implements OperCustomizeOpenFe public Result> listItems(CustomerFormQueryDTO formDto) { return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "listItems", formDto); } + + @Override + public Result> getMustColumn(String customerId) { + return ModuleUtils.feignConError(ServiceConstant.OPER_CUSTOMIZE_SERVER, "getMustColumn", customerId); + } } 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 3c6bbf4004..50f4d10ff9 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 @@ -26,6 +26,8 @@ import com.epmet.commons.tools.validator.group.AddGroup; import com.epmet.commons.tools.validator.group.UpdateGroup; import com.epmet.commons.tools.validator.group.DefaultGroup; import com.epmet.dto.IcFormItemDTO; +import com.epmet.dto.result.ColumnTableNameResultDTO; +import com.epmet.dto.result.CustomerStaffRoleResultDTO; import com.epmet.excel.IcFormItemExcel; import com.epmet.service.IcFormItemService; import org.springframework.beans.factory.annotation.Autowired; @@ -91,4 +93,13 @@ public class IcFormItemController { ExcelUtils.exportExcelToTarget(response, null, list, IcFormItemExcel.class); } + /** + * @Author sun + * @Description 居民信息新增查询各表必填字段 + **/ + @PostMapping("getmustcolumn/{customerId}") + public Result> getMustColumn(@PathVariable String customerId) { + return new Result>().ok(icFormItemService.getMustColumn(customerId)); + } + } \ No newline at end of file diff --git a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java index b07c41ef84..a0ad3ad839 100644 --- a/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java +++ b/epmet-module/oper-customize/oper-customize-server/src/main/java/com/epmet/dao/IcFormItemDao.java @@ -18,6 +18,7 @@ package com.epmet.dao; import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.result.ColumnTableNameResultDTO; import com.epmet.dto.result.ConditionResultDTO; import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.dto.result.TableHeaderResultDTO; @@ -64,4 +65,10 @@ public interface IcFormItemDao extends BaseDao { List querySubTables(@Param("customerId") String customerId, @Param("formCode")String formCode); Set queryIcResiSubTables(@Param("customerId") String customerId, @Param("formCode")String formCode); + + /** + * @Author sun + * @Description 居民信息新增查询各表必填字段 + **/ + List getMustColumn(@Param("customerId")String customerId); } \ No newline at end of file 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 15967aef43..32480613c2 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 @@ -21,6 +21,7 @@ import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.tools.page.PageData; import com.epmet.dto.IcFormItemDTO; import com.epmet.dto.form.CustomerFormQueryDTO; +import com.epmet.dto.result.ColumnTableNameResultDTO; import com.epmet.dto.result.ConditionResultDTO; import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.dto.result.TableHeaderResultDTO; @@ -115,4 +116,10 @@ public interface IcFormItemService extends BaseService { List querySubTables(String customerId, String formCode); Set queryIcResiSubTables(String customerId, String formCode); + + /** + * @Author sun + * @Description 居民信息新增查询各表必填字段 + **/ + List getMustColumn(String customerId); } \ No newline at end of file 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 c79d2e8fa0..a114d68126 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 @@ -27,6 +27,7 @@ import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.dao.IcFormItemDao; import com.epmet.dto.IcFormItemDTO; import com.epmet.dto.form.CustomerFormQueryDTO; +import com.epmet.dto.result.ColumnTableNameResultDTO; import com.epmet.dto.result.ConditionResultDTO; import com.epmet.dto.result.IcFormResColumnDTO; import com.epmet.dto.result.TableHeaderResultDTO; @@ -153,4 +154,13 @@ public class IcFormItemServiceImpl extends BaseServiceImpl getMustColumn(String customerId) { + return baseDao.getMustColumn(customerId); + } + } \ No newline at end of file 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 e8e67a4ba3..61a1c155c9 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 @@ -141,4 +141,21 @@ AND m.CUSTOMER_ID = #{customerId} AND m.FORM_CODE = #{formCode} + + + \ No newline at end of file diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java index 7bb1faee36..bed6dd6e50 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiUserServiceImpl.java @@ -162,6 +162,28 @@ public class IcResiUserServiceImpl extends BaseServiceImpl formDTO) { //循环自动拼接sql语句,往多个表新增数据 + //0.校验必填字段是否为空 + Result> resultList = operCustomizeOpenFeignClient.getMustColumn(tokenDto.getCustomerId()); + if (resultList.success() && null != resultList.getData()) { + StringBuffer str = new StringBuffer(""); + formDTO.forEach(f -> { + resultList.getData().forEach(l -> { + if (f.getTableName().equals(l.getTableName())) { + f.getList().forEach(map -> { + if (!map.containsKey(l.getColumnName())) { + str.append(str.length() < NumConstant.ONE ? l.getLabel() : "、" + l.getLabel()); + } + }); + } + }); + }); + if (!"".equals(str)) { + throw new RenException(String.format("新增居民信息,必要字段值为空,%s值为空", str)); + } + } else { + throw new RenException(String.format("新增居民信息-根据客户Id查询必填信息失败,customerId->%s", tokenDto.getCustomerId())); + } + //1.先往主表新增数据 //主表Id String resiUserId = UUID.randomUUID().toString().replaceAll("-", "");