package cn.gistack.sm.sjztmd.service.impl;
|
|
import cn.gistack.sm.sjztmd.entity.TbFileStorageLocation;
|
import cn.gistack.sm.sjztmd.entity.TbRelResUser;
|
import cn.gistack.sm.sjztmd.entity.TbResStagCapDisc;
|
import cn.gistack.sm.sjztmd.mapper.TbRelResUserMapper;
|
import cn.gistack.sm.sjztmd.mapper.TbResStagCapDiscMapper;
|
import cn.gistack.sm.sjztmd.service.ITbAttResBaseService;
|
import cn.gistack.sm.sjztmd.service.ITbResStagCapDiscService;
|
import cn.gistack.system.user.feign.IUserClient;
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import org.springblade.core.mp.support.Condition;
|
import org.springblade.core.secure.utils.AuthUtil;
|
import org.springblade.core.tool.utils.DateUtil;
|
import org.springblade.core.tool.utils.StringUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
import java.util.HashMap;
|
import java.util.List;
|
|
@Service
|
@DS("zt")
|
@Transactional(rollbackFor = Exception.class)
|
public class TbResStagCapDiscServiceImpl extends ServiceImpl<TbResStagCapDiscMapper, TbResStagCapDisc> implements ITbResStagCapDiscService {
|
@Autowired
|
private IUserClient userClient;
|
|
|
@Autowired
|
private ITbAttResBaseService tbAttResBaseService;
|
|
@Override
|
public Boolean addAll(List<TbResStagCapDisc> list) {
|
//先把该水库的数据全部删除
|
String resGuid = list.get(0).getResGuid();
|
|
baseMapper.deleteByResGuid(resGuid);
|
Date now = DateUtil.now();
|
|
|
//循环数组
|
list.forEach(tbResStagCapDisc -> {
|
//如果guid为空表示新增数据
|
if (StringUtil.isBlank(tbResStagCapDisc.getGuid())){
|
tbResStagCapDisc.setCreateTime(now);
|
tbResStagCapDisc.setUpdateTime(now);
|
//更新操作日志
|
setUpdateLog(tbResStagCapDisc,tbResStagCapDisc);
|
baseMapper.insert(tbResStagCapDisc);
|
}else{
|
//更新数据
|
tbResStagCapDisc.setUpdateTime(now);
|
//更新操作日志
|
setUpdateLog(tbResStagCapDisc,tbResStagCapDisc);
|
baseMapper.insert(tbResStagCapDisc);
|
}
|
});
|
return true;
|
}
|
|
@Override
|
public List<TbResStagCapDisc> getAll(TbResStagCapDisc tbResStagCapDisc) {
|
List<TbResStagCapDisc> list = list(Condition.getQueryWrapper(tbResStagCapDisc)
|
.orderByAsc("order_id")
|
);
|
return list;
|
}
|
|
@Override
|
public Boolean auditByGuid(List<TbResStagCapDisc> list) {
|
boolean b = false;
|
boolean edit = false;
|
// 编辑标记
|
if (list.get(0).getCheckState()==4){
|
edit = true;
|
}
|
|
for (int i = 0; i < list.size(); i++) {
|
|
TbResStagCapDisc tbResStagCapDisc = list.get(i);
|
|
//更新操作日志
|
setUpdateLog(tbResStagCapDisc,tbResStagCapDisc);
|
|
//更新审核日志
|
setUpdateCheckLog(tbResStagCapDisc,tbResStagCapDisc);
|
|
// 驳回情况下将状态修改回0即已填写未提交状态
|
if (tbResStagCapDisc.getCheckState()==3){
|
tbResStagCapDisc.setCheckState(0);
|
}
|
|
Date now = DateUtil.now();
|
//更新数据
|
tbResStagCapDisc.setUpdateTime(now);
|
updateById(tbResStagCapDisc);
|
}
|
|
// if (b){
|
// if (!edit) {
|
// tbAttResBaseService.updateFinalState(list.get(0).getResGuid(), list.get(0).getCheckState());
|
// }
|
// return true;
|
// }
|
|
return true;
|
}
|
|
/**
|
* @param older
|
* @param newer
|
* 更新审核记录
|
*/
|
private void setUpdateCheckLog(TbResStagCapDisc older, TbResStagCapDisc newer) {
|
String fillName = "";
|
if (newer.getCheckState()==2){
|
fillName = "审核";
|
}
|
if (newer.getCheckState()==3){
|
fillName = "退回" + (null==newer.getReason()?"":":" + newer.getReason());
|
}
|
|
// 拼接
|
String time = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date());
|
String userName = AuthUtil.getUser().getUserName();
|
String phone = userClient.userInfoById(AuthUtil.getUserId()).getData().getPhone();
|
StringBuilder builder = new StringBuilder();
|
builder.append(time)
|
.append(",")
|
.append(fillName)
|
.append(",")
|
.append(userName)
|
.append(",")
|
.append(phone)
|
.append(";");
|
// 判断是否存在
|
if (null==older){
|
// 填报
|
newer.setCheckLog(builder.toString());
|
}else {
|
StringBuilder stringBuilder = new StringBuilder(null==older.getCheckLog()?"":older.getCheckLog());
|
stringBuilder.append(builder);
|
// 填报
|
newer.setCheckLog(stringBuilder.toString());
|
}
|
}
|
|
/**
|
* @param older
|
* @param newer
|
* 更新操作记录
|
*/
|
private void setUpdateLog(TbResStagCapDisc older,TbResStagCapDisc newer) {
|
String fillName = "";
|
if (newer.getCheckState()==0){
|
fillName = "编辑";
|
}
|
if (newer.getCheckState()==1){
|
fillName = "提交";
|
}
|
if (newer.getCheckState()==2){
|
fillName = "审核";
|
}
|
if (newer.getCheckState()==3){
|
fillName = "退回" + (null==newer.getCheckLog()?"":":" + newer.getCheckLog());
|
}
|
if (newer.getCheckState()==4){
|
fillName = "编辑";
|
newer.setCheckState(older.getCheckState());
|
}
|
|
// 拼接
|
String time = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(new Date());
|
String userName = AuthUtil.getUser().getUserName();
|
String phone = userClient.userInfoById(AuthUtil.getUserId()).getData().getPhone();
|
StringBuilder builder = new StringBuilder();
|
builder.append(time)
|
.append(",")
|
.append(fillName)
|
.append(",")
|
.append(userName)
|
.append(",")
|
.append(phone)
|
.append(";");
|
// 判断是否存在
|
if (null==older){
|
// 填报
|
newer.setLog(builder.toString());
|
}else {
|
StringBuilder stringBuilder = new StringBuilder(null==older.getLog()?"":older.getLog());
|
stringBuilder.append(builder);
|
// 填报
|
newer.setLog(stringBuilder.toString());
|
}
|
}
|
}
|