package com.gkhy.sign.service.impl;
|
|
import cn.hutool.crypto.asymmetric.Sign;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.github.pagehelper.PageInfo;
|
import com.gkhy.sign.dto.rep.SignatureFlowRep;
|
import com.gkhy.sign.dto.rep.SignatureItemRep;
|
import com.gkhy.sign.dto.req.SignatureItemAddReq;
|
import com.gkhy.sign.dto.req.SignatureItemReq;
|
import com.gkhy.sign.entity.SignatureFlow;
|
import com.gkhy.sign.entity.SignatureItem;
|
import com.gkhy.sign.mapper.SignatureFlowMapper;
|
import com.gkhy.sign.mapper.SignatureItemMapper;
|
import com.gkhy.sign.service.SignatureItemService;
|
import com.ruoyi.common.core.domain.entity.SysDept;
|
import com.ruoyi.common.core.domain.entity.SysRole;
|
import com.ruoyi.common.core.domain.entity.SysUser;
|
import com.ruoyi.common.utils.PageUtils;
|
import com.ruoyi.common.utils.SecurityUtils;
|
import com.ruoyi.system.mapper.SysDeptMapper;
|
import com.ruoyi.system.mapper.SysUserMapper;
|
import io.lettuce.core.RedisClient;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import javax.validation.constraints.NotNull;
|
import java.util.ArrayList;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
|
@Service
|
public class SignatureItemServiceImpl extends ServiceImpl<SignatureItemMapper, SignatureItem> implements SignatureItemService {
|
|
@Autowired
|
private SignatureItemMapper signatureItemMapper;
|
@Autowired
|
private SysDeptMapper sysDeptMapper;
|
@Autowired
|
private SysUserMapper sysUserMapper;
|
|
@Autowired
|
private SignatureFlowMapper signatureFlowMapper;
|
|
@Override
|
public List<SignatureItemRep> selectItemList(SignatureItemReq signatureItem) {
|
if (!SysUser.isAdmin(SecurityUtils.getUserId())) {
|
signatureItem.setUserId(SecurityUtils.getUserId());
|
}
|
List<SignatureItemRep> signatureItemReps = new ArrayList<>();
|
|
if (signatureItem.getType()==1){
|
signatureItemReps = signatureItemMapper.getItemList(signatureItem);
|
}else {
|
signatureItemReps = signatureItemMapper.getItemListApp(signatureItem);
|
}
|
|
for (SignatureItemRep signatureItemRep : signatureItemReps) {
|
List<SignatureFlowRep> signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureItemRep.getId());
|
signatureItemRep.setSignatureFlows(signatureFlowReps);
|
String initiaiUserId = signatureItemRep.getInitiaiUserId();
|
String[] split = initiaiUserId.split(",");
|
StringBuffer stringBuffer = new StringBuffer();
|
for (String userId : split) {
|
SysUser sysUser1 = sysUserMapper.selectUserById(Long.valueOf(userId));
|
stringBuffer.append(sysUser1.getNickName()).append(",");
|
}
|
stringBuffer.deleteCharAt(stringBuffer.length()-1);
|
signatureItemRep.setInitiaiUserName(stringBuffer.toString());
|
}
|
return signatureItemReps;
|
}
|
|
@Override
|
public int insertSignatureItem(SignatureItemAddReq signatureItemAddReq) {
|
SignatureItem signatureItem = new SignatureItem();
|
BeanUtils.copyProperties(signatureItemAddReq,signatureItem);
|
SysUser user = SecurityUtils.getLoginUser().getUser();
|
signatureItem.setCreateBy(user.getUserName());
|
signatureItem.setCreateTime(new Date());
|
signatureItem.setOriginateTime(new Date());
|
int insert = signatureItemMapper.insertSignatureItem(signatureItem);
|
|
List<SignatureFlowRep> signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureItem.getId());
|
for (String userDept : signatureItemAddReq.getUserDept()) {
|
String[] split = userDept.split("_");
|
SignatureFlow signatureFlow = new SignatureFlow();
|
signatureFlow.setItemId(signatureItem.getId());
|
signatureFlow.setUserId(SecurityUtils.getUserId());
|
SysUser sysUser2 = sysUserMapper.selectUserById(SecurityUtils.getUserId());
|
signatureFlow.setUserName(sysUser2.getNickName());
|
signatureFlow.setDeptId(SecurityUtils.getDeptId());
|
SysDept sysDept = sysDeptMapper.selectDeptById(SecurityUtils.getDeptId());
|
signatureFlow.setDeptName(sysDept.getDeptName());
|
signatureFlow.setSignUserId(Long.valueOf(split[0]));
|
SysUser sysUserSign = sysUserMapper.selectUserById(Long.valueOf(split[0]));
|
SysDept sysDeptSign = sysDeptMapper.selectDeptById(Long.valueOf(split[1]));
|
signatureFlow.setSignUserName(sysUserSign.getNickName());
|
signatureFlow.setSignDeptId(sysDeptSign.getDeptId());
|
signatureFlow.setSignDeptName(sysDeptSign.getDeptName());
|
signatureFlow.setStatus(0);
|
signatureFlow.setSort(signatureFlowReps.size()+1);
|
signatureFlowMapper.insert(signatureFlow);
|
}
|
return insert;
|
}
|
|
@Override
|
public int updateSignatureIteme(SignatureItem signatureItem) {
|
SysUser user = SecurityUtils.getLoginUser().getUser();
|
signatureItem.setUpdateBy(user.getUserName());
|
signatureItem.setUpdateTime(new Date());
|
return signatureItemMapper.updateById(signatureItem);
|
}
|
|
@Override
|
public int deleteItem(Integer ids) {
|
return signatureItemMapper.deleteItemByIds(ids);
|
}
|
}
|