package com.gkhy.sign.service.impl; 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.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.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; @Service public class SignatureItemServiceImpl extends ServiceImpl implements SignatureItemService { @Autowired private SignatureItemMapper signatureItemMapper; @Autowired private SysDeptMapper sysDeptMapper; @Autowired private SysUserMapper sysUser; @Autowired private SignatureFlowMapper signatureFlowMapper; @Override public List selectItemList(SignatureItemReq signatureItem) { if (!SysUser.isAdmin(SecurityUtils.getUserId())) { signatureItem.setUserId(SecurityUtils.getUserId()); } List itemList = signatureItemMapper.getItemList(signatureItem); for (SignatureItemRep signatureItemRep : itemList) { List signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureItemRep.getId()); signatureItemRep.setSignatureFlows(signatureFlowReps); } return itemList; } @Override public int insertSignatureItem(SignatureItem signatureItem) { SysUser user = SecurityUtils.getLoginUser().getUser(); signatureItem.setCreateBy(user.getUserName()); signatureItem.setCreateTime(new Date()); signatureItem.setOriginateTime(new Date()); int insert = signatureItemMapper.insertSignatureItem(signatureItem); List signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureItem.getId()); SignatureFlow signatureFlow = new SignatureFlow(); signatureFlow.setItemId(signatureItem.getId()); signatureFlow.setUserId(SecurityUtils.getUserId()); SysUser sysUser2 = sysUser.selectUserById(SecurityUtils.getUserId()); signatureFlow.setUserName(sysUser2.getNickName()); signatureFlow.setDeptId(SecurityUtils.getDeptId()); SysDept sysDept = sysDeptMapper.selectDeptById(SecurityUtils.getDeptId()); signatureFlow.setDeptName(sysDept.getDeptName()); signatureFlow.setSignUserId(signatureItem.getInitiaiUserId()); SysUser sysUser1 = sysUser.selectUserById(signatureItem.getInitiaiUserId()); SysDept sysDept1 = sysDeptMapper.selectDeptById(sysUser1.getDeptId()); signatureFlow.setSignUserName(sysUser1.getNickName()); signatureFlow.setSignDeptId(sysDept1.getDeptId()); signatureFlow.setSignDeptName(sysDept1.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); } }