package com.gkhy.sign.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gkhy.sign.dto.rep.SignatureFlowRep; import com.gkhy.sign.dto.req.SignatureFlowAddReq; import com.gkhy.sign.dto.req.SignatureFlowSignReq; 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.SignatureFlowService; import com.ruoyi.common.core.domain.entity.SysDept; import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.system.mapper.SysDeptMapper; import com.ruoyi.system.mapper.SysUserMapper; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Date; import java.util.List; @Service public class SignatureFlowServiceImpl extends ServiceImpl implements SignatureFlowService { @Autowired private SignatureFlowMapper signatureFlowMapper; @Autowired private SignatureItemMapper signatureItemMapper; @Autowired private SysUserMapper sysUserMapper; @Autowired private SysDeptMapper sysDeptMapper; @Override public List selectFlowList(Long id) { return signatureFlowMapper.selectbyItemId(id); } @Override public int insertSignatureFlow(SignatureFlow signatureFlow) { // SignatureFlow signatureFlow1 = signatureFlowMapper.selectByItemIdAndUserId(signatureFlow); // if (signatureFlow1.getStatus() == 0 ){ // throw new RuntimeException("尚未签名,不能流转"); // } List signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureFlow.getItemId()); signatureFlow.setSort(signatureFlowReps.size()+1); SysUser sysUser = sysUserMapper.selectUserById(signatureFlow.getUserId()); SysDept sysDept = sysDeptMapper.selectDeptById(signatureFlow.getDeptId()); signatureFlow.setUserName(sysUser.getNickName()); signatureFlow.setDeptName(sysDept.getDeptName()); SysUser sysUserSign = sysUserMapper.selectUserById(signatureFlow.getSignUserId()); SysDept sysDeptSign = sysDeptMapper.selectDeptById(signatureFlow.getSignDeptId()); signatureFlow.setSignUserName(sysUserSign.getNickName()); signatureFlow.setSignDeptName(sysDeptSign.getDeptName()); return signatureFlowMapper.insert(signatureFlow); } @Override public int saveSignatureFlow(SignatureFlowSignReq signatureFlowReq) { return signatureFlowMapper.updateByFlowItemId(signatureFlowReq); } @Override public int returnFile(SignatureFlow signatureFlow) { LoginUser loginUser = SecurityUtils.getLoginUser(); signatureFlow.setStatus(3); SysUser sysUser = sysUserMapper.selectUserById(loginUser.getUserId()); SysDept sysDept = sysDeptMapper.selectDeptById(loginUser.getDeptId()); signatureFlow.setUserId(loginUser.getUserId()); signatureFlow.setUserName(sysUser.getNickName()); signatureFlow.setDeptId(loginUser.getDeptId()); signatureFlow.setDeptName(sysDept.getDeptName()); signatureFlow.setSignDeptId(sysDept.getDeptId()); signatureFlow.setSignDeptName(sysDept.getDeptName()); signatureFlow.setSignUserId(sysUser.getUserId()); signatureFlow.setSignUserName(sysUser.getNickName()); List signatureFlowReps = signatureFlowMapper.selectbyItemId(signatureFlow.getItemId()); signatureFlow.setSort(signatureFlowReps.size()+1); int i = signatureFlowMapper.insert(signatureFlow); SignatureItem signatureItem = new SignatureItem(); if (i>0){ signatureItem.setId(Long.valueOf(signatureFlow.getItemId())); signatureItem.setFilePath(signatureFlow.getFilePath()); signatureItem.setStatus(2); signatureItem.setUpdateBy(SecurityUtils.getUsername()); signatureItem.setUpdateTime(new Date()); signatureItemMapper.updateByItemId(signatureItem); } return i; } }