diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiSubCheckDetailChildFormDTO.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiSubCheckDetailChildFormDTO.java new file mode 100644 index 000000000..74221b698 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiSubCheckDetailChildFormDTO.java @@ -0,0 +1,30 @@ +package com.elink.esua.epdc.dto.form; + +import lombok.Data; + +import java.io.Serializable; + +/** + * + * @author sarnath + * @version 1.0 + * @date 2020-12-08 15:26 + */ +@Data +public class KpiSubCheckDetailChildFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + //详情id + private String id; + //详情描述 + private String desribe; + //考核项大类名称 + private String pCheckItemName; + //考核项子类名称 + private String checkItemName; + //详情图片集合 + private String[] imageUrl; + //详情图片缩略图集合 + private String[] thumbnail; + //详情文件集合 + private String[] files; +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiSubCheckDetailFormDTO.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiSubCheckDetailFormDTO.java new file mode 100644 index 000000000..c7ff4afe1 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiSubCheckDetailFormDTO.java @@ -0,0 +1,22 @@ +package com.elink.esua.epdc.dto.form; + +import lombok.Data; + +import java.io.Serializable; +import java.util.List; + +/** + * + * 详情数据接收接口 + * @author wk + * @version 1.0 + * @date 2020-12-08 15:20 + */ +@Data +public class KpiSubCheckDetailFormDTO implements Serializable { + private static final long serialVersionUID = 1L; + private String infoId; + private String[] gridIds; + private List infoDetail; + +} diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/SubPositionCheckDetailController.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/SubPositionCheckDetailController.java index 58bc25c3c..594b73490 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/SubPositionCheckDetailController.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/SubPositionCheckDetailController.java @@ -27,6 +27,7 @@ import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; import com.elink.esua.epdc.dto.SubPositionCheckDetailDTO; import com.elink.esua.epdc.dto.SysDeptDTO; +import com.elink.esua.epdc.dto.form.KpiSubCheckDetailFormDTO; import com.elink.esua.epdc.excel.SubPositionCheckDetailExcel; import com.elink.esua.epdc.service.SubPositionCheckDetailService; import org.springframework.beans.factory.annotation.Autowired; @@ -103,4 +104,19 @@ public class SubPositionCheckDetailController { return subPositionCheckDetailService.getsubDetailGrids(); } + /* + * + * 提交网格实体化详情数据 + * @param dto + * @author wk + * @date 2020-12-08 17:07 + * @return com.elink.esua.epdc.commons.tools.utils.Result + */ + @PostMapping("addDetail") + public Result addDetail(@RequestBody KpiSubCheckDetailFormDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + subPositionCheckDetailService.saveInfoDetailList(dto); + return new Result(); + } } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/SubPositionCheckDetailService.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/SubPositionCheckDetailService.java index 3716710a0..a7c5e683a 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/SubPositionCheckDetailService.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/SubPositionCheckDetailService.java @@ -22,6 +22,7 @@ import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.utils.Result; import com.elink.esua.epdc.dto.SubPositionCheckDetailDTO; import com.elink.esua.epdc.dto.SysDeptDTO; +import com.elink.esua.epdc.dto.form.KpiSubCheckDetailFormDTO; import com.elink.esua.epdc.entity.SubPositionCheckDetailEntity; import java.util.List; @@ -102,4 +103,14 @@ public interface SubPositionCheckDetailService extends BaseService> */ Result> getsubDetailGrids(); + + /* + * + * 提报详情 - 添加 + * @param dto + * @author wk + * @date 2020-12-08 15:38 + * @return void + */ + void saveInfoDetailList(KpiSubCheckDetailFormDTO dto); } \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/SubPositionCheckDetailServiceImpl.java b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/SubPositionCheckDetailServiceImpl.java index 36ef29480..d76335b81 100644 --- a/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/SubPositionCheckDetailServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/SubPositionCheckDetailServiceImpl.java @@ -25,11 +25,19 @@ import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.dao.SubAuditRecordsLogDao; +import com.elink.esua.epdc.dao.SubFileImgDao; import com.elink.esua.epdc.dao.SubPositionCheckDetailDao; +import com.elink.esua.epdc.dao.SubPositionCheckInfoDao; import com.elink.esua.epdc.dto.SubPositionCheckDetailDTO; import com.elink.esua.epdc.dto.SysDeptDTO; import com.elink.esua.epdc.dto.epdc.form.KpiGridIdsFormDTO; +import com.elink.esua.epdc.dto.form.KpiSubCheckDetailChildFormDTO; +import com.elink.esua.epdc.dto.form.KpiSubCheckDetailFormDTO; +import com.elink.esua.epdc.entity.SubAuditRecordsLogEntity; +import com.elink.esua.epdc.entity.SubFileImgEntity; import com.elink.esua.epdc.entity.SubPositionCheckDetailEntity; +import com.elink.esua.epdc.entity.SubPositionCheckInfoEntity; import com.elink.esua.epdc.feign.AdminFeignClient; import com.elink.esua.epdc.redis.SubPositionCheckDetailRedis; import com.elink.esua.epdc.service.SubPositionCheckDetailService; @@ -38,8 +46,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.security.Security; +import java.text.SimpleDateFormat; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.Map; @@ -57,6 +66,12 @@ public class SubPositionCheckDetailServiceImpl extends BaseServiceImpl page(Map params) { @@ -130,4 +145,177 @@ public class SubPositionCheckDetailServiceImpl extends BaseServiceImpl detailList = dto.getInfoDetail(); + //2.存detail表数据 3、存文件表数据 (存文件还需要在修改一下) + addDetailDate(infoId,detailList); + //4、存审核记录表数据 + addRecordsDate(infoId); + + + } + /* + * + * 存info表中数据 + * @param dto + * @author wk + * @date 2020-12-08 15:48 + * @return void + */ + @Transactional(rollbackFor = Exception.class) + String addInfoDate(KpiSubCheckDetailFormDTO dto){ + SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date=new Date(); + SubPositionCheckInfoEntity checkInfoEntity= new SubPositionCheckInfoEntity(); + Long deptId = SecurityUser.getUser().getDeptId(); + Result res = adminFeignClient.get(deptId); + Long gridId = res.getData().getId(); + String type = res.getData().getTypeKey(); + if ("grid_party".equals(type)){ //如果是网格账号就要查一下所属社区 + checkInfoEntity.setCommunityId(res.getData().getPid().toString()); + checkInfoEntity.setCommunityName(res.getData().getParentName()); + }else if("community_party".equals(type)){ //如果是社区直接存 + checkInfoEntity.setCommunityId(gridId.toString()); + checkInfoEntity.setCommunityName(res.getData().getName()); + } + String[] gridIds = dto.getGridIds(); + //拼装关联网格ID,关联网格名称 + String ids = gridIds(gridIds); + checkInfoEntity.setGridIds(ids); + String gridNames =gridNames(gridIds); + checkInfoEntity.setGridNames(gridNames); + checkInfoEntity.setSubmitTime(sdf1.format(date)); + checkInfoEntity.setStatus("1"); + infoDao.insert(checkInfoEntity); + return checkInfoEntity.getId(); + } + /* + * + * 添加详情表信息 + * @param infoId + * @param detailList + * @author wk + * @date 2020-12-08 16:15 + * @return void + */ + @Transactional(rollbackFor = Exception.class) + void addDetailDate(String infoId,List detailList){ + //一个infoid对应多个详情 + for (KpiSubCheckDetailChildFormDTO dto:detailList) { + SubPositionCheckDetailEntity entity = new SubPositionCheckDetailEntity(); + entity.setInfoId(infoId); + entity.setCheckDescribe(dto.getDesribe()); + entity.setPCheckItemName(dto.getPCheckItemName()); + entity.setCheckDescribe(dto.getCheckItemName()); + insert(entity); + String detailId = entity.getId(); + //进行图片和文件存储 + addSubFileImage(detailId,dto); + + } + + } + /* + * + * 插入文件 + * @param detailId + * @param dto + * @author wk + * @date 2020-12-08 16:35 + * @return void + */ + @Transactional(rollbackFor = Exception.class) + void addSubFileImage(String detailId,KpiSubCheckDetailChildFormDTO dto){ + //获取 图片地址 和文件地址 + String[] imageUrl = dto.getImageUrl(); + String[] thumbnail = dto.getThumbnail(); + if (imageUrl.length>0){ + for (int i = 0; i < imageUrl.length; i++) { + SubFileImgEntity subFileImgEntity = new SubFileImgEntity(); + subFileImgEntity.setDetailId(detailId); + subFileImgEntity.setUrl(imageUrl[i]); + subFileImgEntity.setFileType("1"); + subFileImgEntity.setThumbnail(thumbnail[i]); + fileImgDao.insert(subFileImgEntity); + } + } + String[] files = dto.getFiles(); + if (files.length>0){ + for (int i = 0; i < files.length; i++) { + SubFileImgEntity subFileImgEntity = new SubFileImgEntity(); + subFileImgEntity.setDetailId(detailId); + subFileImgEntity.setFileType("2"); + subFileImgEntity.setFileName(files[i]); + fileImgDao.insert(subFileImgEntity); + } + } + } + + /* + * + * 添加审核流程表 + * @param infoId + * @author wk + * @date 2020-12-08 16:58 + * @return void + */ + @Transactional(rollbackFor = Exception.class) + void addRecordsDate(String infoId){ + SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date=new Date(); + Long deptId = SecurityUser.getUser().getDeptId(); + Result res = adminFeignClient.get(deptId); + String deptName = res.getData().getName(); + SubAuditRecordsLogEntity entity = new SubAuditRecordsLogEntity(); + entity.setCheckDeptId(deptId.toString()); + entity.setCheckDeptName(deptName); + entity.setCheckTime(sdf1.format(date)); + entity.setProcessCode("1"); + entity.setProcessName("提交"); + logDao.insert(entity); + } + + /* + * + * 拼接网格id + * @param ids + * @author wk + * @date 2020-12-08 16:16 + * @return java.lang.String + */ + private String gridIds(String[] ids){ + String gridIds = ""; + for (int i = 0; i < ids.length; i++) { + if (i == 0){ + gridIds = ids[i]; + } + gridIds = gridIds +","+ ids[i]; + } + return gridIds; + } + /* + * + * 拼接网格name + * @param ids + * @author wk + * @date 2020-12-08 16:16 + * @return java.lang.String + */ + private String gridNames(String[] ids){ + String gridNames = ""; + for (int i = 0; i < ids.length; i++) { + Result res = adminFeignClient.get(Long.parseLong(ids[i])); + String name = res.getData().getName(); + if (i == 0){ + gridNames = name; + } + gridNames = gridNames +","+ name; + } + return gridNames; + } + } \ No newline at end of file