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