Browse Source

【pc端 -新增网格实体化详情】【添加数据】魏凯 2020-12-8

feature/dangjian
weikai 5 years ago
parent
commit
e7aedd82a7
  1. 30
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiSubCheckDetailChildFormDTO.java
  2. 22
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-client/src/main/java/com/elink/esua/epdc/dto/form/KpiSubCheckDetailFormDTO.java
  3. 16
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/controller/SubPositionCheckDetailController.java
  4. 11
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/SubPositionCheckDetailService.java
  5. 190
      esua-epdc/epdc-module/epdc-kpi/epdc-kpi-server/src/main/java/com/elink/esua/epdc/service/impl/SubPositionCheckDetailServiceImpl.java

30
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;
}

22
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<KpiSubCheckDetailChildFormDTO> infoDetail;
}

16
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();
}
}

11
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<SubPositionCh
* @return com.elink.esua.epdc.commons.tools.utils.Result<java.util.List<com.elink.esua.epdc.dto.SysDeptDTO>>
*/
Result<List<SysDeptDTO>> getsubDetailGrids();
/*
*
* 提报详情 - 添加
* @param dto
* @author wk
* @date 2020-12-08 15:38
* @return void
*/
void saveInfoDetailList(KpiSubCheckDetailFormDTO dto);
}

190
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<SubPositi
@Autowired
private AdminFeignClient adminFeignClient;
@Autowired
private SubPositionCheckInfoDao infoDao;
@Autowired
private SubFileImgDao fileImgDao;
@Autowired
private SubAuditRecordsLogDao logDao;
@Override
public PageData<SubPositionCheckDetailDTO> page(Map<String, Object> params) {
@ -130,4 +145,177 @@ public class SubPositionCheckDetailServiceImpl extends BaseServiceImpl<SubPositi
return adminFeignClient.getKpiGridIds(formDTO);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void saveInfoDetailList(KpiSubCheckDetailFormDTO dto) {
//4步存储 1、存info表数据 2.存detail表数据 3、存文件表数据 4、存审核记录表数据
String infoId = addInfoDate(dto);
List<KpiSubCheckDetailChildFormDTO> 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<SysDeptDTO> 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<KpiSubCheckDetailChildFormDTO> 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<SysDeptDTO> 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<SysDeptDTO> res = adminFeignClient.get(Long.parseLong(ids[i]));
String name = res.getData().getName();
if (i == 0){
gridNames = name;
}
gridNames = gridNames +","+ name;
}
return gridNames;
}
}
Loading…
Cancel
Save