This commit is contained in:
Vinjor 2024-10-31 18:50:01 +08:00
commit f4fe1d3fa3
12 changed files with 334 additions and 63 deletions

View File

@ -151,4 +151,29 @@ public class AppSwiperController extends BaseController
map.put("user", sysUser);
return CommonResult.success(map);
}
// @GetMapping("/getJcWorkerInfo")
// public CommonResult getJcWorkerInfo()
// {
//
// LambdaQueryWrapper<PartnerWorker> queryWrapper =new LambdaQueryWrapper<>();
// SysUser user = SecurityUtils.getLoginUser().getUser();
// queryWrapper.eq(PartnerWorker::getUserId,user.getUserId());
// PartnerWorker worker = jcWorkerService.getOne(queryWrapper);
// if (ObjectUtil.isNotEmpty(worker)){
// LambdaQueryWrapper<ShopMallPartners> queryWrapper1 =new LambdaQueryWrapper<>();
// queryWrapper1.eq(ShopMallPartners::getPartnerId,worker.getPartnerId()).eq(ShopMallPartners::getType,"jc").eq(ShopMallPartners::getIsBanned,"0");
// ShopMallPartners partner = partnersService.getOne(queryWrapper1);
// if (ObjectUtil.isEmpty(partner)){
// return error("信息有误");
// }
// ajax.put("partnerInfo", partner);
// }else {
// return error("信息有误");
// }
// SysUser sysUser = userService.selectUserById(user.getUserId());
//
// ajax.put("user", sysUser);
//
// return ajax;
// }
}

View File

@ -96,4 +96,13 @@ public class InspectionInfoController extends BaseController
{
return toAjax(inspectionInfoService.deleteInspectionInfoByIds(id));
}
/**
* 根据当前登陆人获取可以选择的工单
* @return
*/
@GetMapping("geStelectInspection")
public CommonResult geStelectInspection(){
return success(inspectionInfoService.geStelectInspection());
}
}

View File

@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.inspection.entity;
import java.util.Date;
import java.util.List;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
@ -143,4 +144,10 @@ public class InspectionInfo extends TenantBaseDO
private String isPayOnline;
//是否上门取车0否1是
private String isPickCar;
/** 当前流程节点 */
private Integer nowOrderNum;
/** 开始检测时需要 传入 选择项目的id、角色id、排序 */
private List<InspectionWorkNode> inspectionWorkNodes;
private String workNodeId;
}

View File

@ -0,0 +1,81 @@
package cn.iocoder.yudao.module.inspection.entity;
import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 检测流程表
* </p>
*
* @author dianliang
* @since 2024-10-31
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("inspection_work_node")
public class InspectionWorkNode extends TenantBaseDO {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.ASSIGN_UUID)
private String id;
/**
* 检测工单主键
*/
private Long inspectionInfoId;
/**
* 项目主键
*/
private String projectId;
/**
* 角色主键
*/
private Integer roleId;
/**
* 排序
*/
private Integer orderNum;
/**
* 记录类型inspection_records_type
*/
private String type;
/**
* 记录描述
*/
private String remark;
/**
* 维修图片
*/
private String dealImages;
/**
* 处理人
*/
private String dealUserName;
/**
* 处理人员工表id
*/
private Integer dealUserId;
}

View File

@ -0,0 +1,16 @@
package cn.iocoder.yudao.module.inspection.mapper;
import cn.iocoder.yudao.module.inspection.entity.InspectionWorkNode;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 检测流程表 Mapper 接口
* </p>
*
* @author dianliang
* @since 2024-10-31
*/
public interface InspectionWorkNodeMapper extends BaseMapper<InspectionWorkNode> {
}

View File

@ -75,4 +75,9 @@ public interface IInspectionInfoService extends IService<InspectionInfo>
Map<String,Object> workOrderData(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime);
/**
* 根据当前登陆人获取可以选择的工单
* @return
*/
List<InspectionInfo> geStelectInspection();
}

View File

@ -0,0 +1,16 @@
package cn.iocoder.yudao.module.inspection.service;
import cn.iocoder.yudao.module.inspection.entity.InspectionWorkNode;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 检测流程表 服务类
* </p>
*
* @author dianliang
* @since 2024-10-31
*/
public interface IInspectionWorkNodeService extends IService<InspectionWorkNode> {
}

View File

@ -2,9 +2,13 @@ package cn.iocoder.yudao.module.inspection.service.impl;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.iocoder.yudao.framework.security.core.LoginUser;
@ -17,7 +21,9 @@ import cn.iocoder.yudao.module.partner.service.IPartnerWorkerService;
import cn.iocoder.yudao.module.payment.service.IOrderInfoDetailService;
import cn.iocoder.yudao.module.payment.service.OrderInfoService;
import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.UserSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.permission.UserRoleDO;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import cn.iocoder.yudao.module.system.service.permission.RoleService;
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
import cn.iocoder.yudao.util.SendSmsUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@ -49,8 +55,7 @@ import javax.annotation.Resource;
* @date 2023-08-13
*/
@Service
public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,InspectionInfo> implements IInspectionInfoService
{
public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper, InspectionInfo> implements IInspectionInfoService {
@Autowired
private AdminUserService userService;
@Autowired
@ -72,8 +77,15 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
private IDelOrderInfoService delInspectionOrderService;
@Autowired
private IDelInspectionInfoService delInspectionInfoService;
@Autowired
private IInspectionWorkNodeService workNodeService;
@Autowired
private InspectionStepInfoService inspectionStepInfoService;
@Resource
private CustomerMainService customerMainService;
@Autowired
private RoleService roleService;
/**
* 查询请填写功能名称
*
@ -81,8 +93,7 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
* @return 请填写功能名称
*/
@Override
public InspectionInfo selectInspectionInfoById(Long id)
{
public InspectionInfo selectInspectionInfoById(Long id) {
return baseMapper.selectInspectionInfoById(id);
}
@ -93,9 +104,8 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
* @return 请填写功能名称
*/
@Override
public IPage<InspectionInfo> selectInspectionInfoList(Page<InspectionInfo> page, InspectionInfo inspectionInfo)
{
return baseMapper.selectInspectionInfoList(page,inspectionInfo);
public IPage<InspectionInfo> selectInspectionInfoList(Page<InspectionInfo> page, InspectionInfo inspectionInfo) {
return baseMapper.selectInspectionInfoList(page, inspectionInfo);
}
/**
@ -109,19 +119,23 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
public int insertInspectionInfo(InspectionInfo inspectionInfo) throws Exception {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
ShopMallPartners partners = appInspectionPartnerService.shopInfo();
LambdaQueryWrapper<PartnerWorker> workerQueryWrapper =new LambdaQueryWrapper<>();
workerQueryWrapper.eq(PartnerWorker::getUserId,loginUser.getId()).eq(PartnerWorker::getPartnerId,partners.getPartnerId());
PartnerWorker worker = workerService.getOne(workerQueryWrapper);
if (ObjectUtils.isNotEmpty(worker)){
inspectionInfo.setWorkId(worker.getId());
}else {
throw new Exception("请先将接待员加入员工");
// LambdaQueryWrapper<PartnerWorker> workerQueryWrapper =new LambdaQueryWrapper<>();
// workerQueryWrapper.eq(PartnerWorker::getUserId,loginUser.getId()).eq(PartnerWorker::getPartnerId,partners.getPartnerId());
// PartnerWorker worker = workerService.getOne(workerQueryWrapper);
// if (ObjectUtils.isNotEmpty(worker)){
// inspectionInfo.setWorkId(worker.getId());
// }else {
// throw new Exception("请先将接待员加入员工");
// }
if (ObjectUtils.isEmpty(inspectionInfo.getInspectionWorkNodes())) {
throw new RuntimeException("请选择检测项目");
}
AdminUserDO workerUser =userService.getUser(worker.getUserId());
String buyName = StringUtils.isNotEmpty(inspectionInfo.getBuyName())?inspectionInfo.getBuyName():"未知客户";
String buyPhone = StringUtils.isNotEmpty(inspectionInfo.getBuyPhone())?inspectionInfo.getBuyPhone():StringUtils.isNotEmpty(inspectionInfo.getBuyName())?inspectionInfo.getBuyName():"";
//当前登陆人 就是检测人
AdminUserDO workerUser = userService.getUser(loginUser.getId());
String buyName = StringUtils.isNotEmpty(inspectionInfo.getBuyName()) ? inspectionInfo.getBuyName() : "未知客户";
String buyPhone = StringUtils.isNotEmpty(inspectionInfo.getBuyPhone()) ? inspectionInfo.getBuyPhone() : StringUtils.isNotEmpty(inspectionInfo.getBuyName()) ? inspectionInfo.getBuyName() : "";
AdminUserDO user = userService.getUserByMobile(buyPhone);
if (ObjectUtils.isEmpty(user)){
if (ObjectUtils.isEmpty(user)) {
//新增用户
UserSaveReqVO userSaveReqVO = new UserSaveReqVO();
userSaveReqVO.setNickname(buyName);
@ -135,13 +149,13 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
user.setNickname(buyName);
user.setUsername(buyPhone);
user.setMobile(buyPhone);
}else {
} else {
inspectionInfo.setUserId(user.getId());
}
InspectionGoodsSku sku = skuService.getById(inspectionInfo.getSkuId());
ShopInspectionGoods goods = goodsService.getById(sku.getGoodsId());
ShopMallPartners partner = appInspectionPartnerService.getById(goods.getPartnerId());
OrderInfo orderInfo =new OrderInfo();
OrderInfo orderInfo = new OrderInfo();
orderInfo.setPartnerId(partners.getPartnerId());
orderInfo.setGoodsId(Long.parseLong(goods.getId().toString()));
orderInfo.setGoodsTitle(goods.getTitle());
@ -158,7 +172,7 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
orderInfo.setIsOnline("0");
orderInfo.setPhonenumber(user.getMobile());
orderInfo.setPartnerName(partner.getPartnerName());
orderInfo.setOrderNo("线下订单-"+System.currentTimeMillis());
orderInfo.setOrderNo("线下订单-" + System.currentTimeMillis());
//赊账的情况
orderInfo.setOrderStatus("0");
orderInfoService.save(orderInfo);
@ -169,9 +183,9 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
inspectionInfo.setStartTime(new Date());
inspectionInfo.setCategoryId(goods.getGoodsCategoryId());
inspectionInfo.setStatus("0");
inspectionInfo.setYear(DateUtil.format(inspectionInfo.getStartTime(),"yyyy"));
inspectionInfo.setMonth(DateUtil.format(inspectionInfo.getStartTime(),"yyyy-MM"));
inspectionInfo.setDay(DateUtil.format(inspectionInfo.getStartTime(),"yyyy-MM-dd"));
inspectionInfo.setYear(DateUtil.format(inspectionInfo.getStartTime(), "yyyy"));
inspectionInfo.setMonth(DateUtil.format(inspectionInfo.getStartTime(), "yyyy-MM"));
inspectionInfo.setDay(DateUtil.format(inspectionInfo.getStartTime(), "yyyy-MM-dd"));
try {
//开始检测短信发送
// 获取当前日期和时间
@ -182,18 +196,18 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
// 将当前时间转换为指定格式
String formattedTime = currentTime.format(formatter);
if (PhoneValidator.isValid(orderInfo.getPhonenumber())){
SendSmsUtil.sendMsgCommon(new String[]{formattedTime},orderInfo.getPhonenumber(),"1400852709","机动车管家小程序","1961713");
if (PhoneValidator.isValid(orderInfo.getPhonenumber())) {
SendSmsUtil.sendMsgCommon(new String[]{formattedTime}, orderInfo.getPhonenumber(), "1400852709", "机动车管家小程序", "1961713");
}
}catch (Exception ignored){
} catch (Exception ignored) {
log.error(ignored.getMessage());
}
//增加客户信息
LambdaQueryWrapper<PartnerCustomerInfo> queryWrapper =new LambdaQueryWrapper<>();
queryWrapper.eq(PartnerCustomerInfo::getPartnerId,inspectionInfo.getPartnerId()).eq(PartnerCustomerInfo::getUserId,orderInfo.getUserId());
LambdaQueryWrapper<PartnerCustomerInfo> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(PartnerCustomerInfo::getPartnerId, inspectionInfo.getPartnerId()).eq(PartnerCustomerInfo::getUserId, orderInfo.getUserId());
PartnerCustomerInfo customerInfo = customerInfoService.getOne(queryWrapper);
if (ObjectUtil.isEmpty(customerInfo)){
customerInfo =new PartnerCustomerInfo();
if (ObjectUtil.isEmpty(customerInfo)) {
customerInfo = new PartnerCustomerInfo();
customerInfo.setPartnerId(inspectionInfo.getPartnerId());
customerInfo.setUserId(user.getId());
customerInfo.setCustomerPhone(user.getMobile());
@ -206,14 +220,30 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
customerMainService.saveOrUpdate(customerMain);
try {
customerInfoService.insertPartnerCustomerInfo(customerInfo);
}catch (Exception ignored){
} catch (Exception ignored) {
}
}
//追加订单明细记录
orderInfoDetailService.save(new OrderInfoDetail(orderInfo.getId(),"线下订单创建",new Date(),0L,"1"));
return baseMapper.insert(inspectionInfo);
orderInfoDetailService.save(new OrderInfoDetail(orderInfo.getId(), "线下订单创建", new Date(), 0L, "1"));
//默认当前流程的顺序为1
inspectionInfo.setNowOrderNum(1);
//添加检测工单
baseMapper.insert(inspectionInfo);
//补充检测流程
List<InspectionWorkNode> inspectionWorkNodes = inspectionInfo.getInspectionWorkNodes();
//将检测工单流程补充检测工单id
inspectionWorkNodes.stream().forEach(inspectionWorkNode -> inspectionWorkNode.setInspectionInfoId(inspectionInfo.getId()));
workNodeService.saveBatch(inspectionWorkNodes);
//检测步骤表插入检测开始
InspectionStepInfo stepInfo = new InspectionStepInfo();
stepInfo.setInspectionInfoId(Integer.parseInt(String.valueOf(inspectionInfo.getId())));
stepInfo.setTitle("检测开始");
stepInfo.setContent("检测开始");
boolean save = inspectionStepInfoService.save(stepInfo);
return save ? 1 : 0;
}
@Override
@ -243,19 +273,19 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
public int updateInspectionInfo(InspectionInfo inspectionInfo) throws Exception {
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
ShopMallPartners partners = appInspectionPartnerService.shopInfo();
LambdaQueryWrapper<PartnerWorker> workerQueryWrapper =new LambdaQueryWrapper<>();
workerQueryWrapper.eq(PartnerWorker::getUserId,loginUser.getId()).eq(PartnerWorker::getPartnerId,partners.getPartnerId());
LambdaQueryWrapper<PartnerWorker> workerQueryWrapper = new LambdaQueryWrapper<>();
workerQueryWrapper.eq(PartnerWorker::getUserId, loginUser.getId()).eq(PartnerWorker::getPartnerId, partners.getPartnerId());
PartnerWorker worker = workerService.getOne(workerQueryWrapper);
AdminUserDO workerUser =userService.getUser(worker.getUserId());
if (ObjectUtils.isNotEmpty(worker)){
AdminUserDO workerUser = userService.getUser(worker.getUserId());
if (ObjectUtils.isNotEmpty(worker)) {
inspectionInfo.setWorkId(worker.getId());
}else {
} else {
throw new Exception("请先将接待员加入员工");
}
String buyName = StringUtils.isNotEmpty(inspectionInfo.getBuyName())?inspectionInfo.getBuyName():"未知客户";
String buyPhone = StringUtils.isNotEmpty(inspectionInfo.getBuyPhone())?inspectionInfo.getBuyPhone():StringUtils.isNotEmpty(inspectionInfo.getBuyName())?inspectionInfo.getBuyName():"";
String buyName = StringUtils.isNotEmpty(inspectionInfo.getBuyName()) ? inspectionInfo.getBuyName() : "未知客户";
String buyPhone = StringUtils.isNotEmpty(inspectionInfo.getBuyPhone()) ? inspectionInfo.getBuyPhone() : StringUtils.isNotEmpty(inspectionInfo.getBuyName()) ? inspectionInfo.getBuyName() : "";
AdminUserDO user = userService.getUserByMobile(buyPhone);
if (ObjectUtils.isEmpty(user)){
if (ObjectUtils.isEmpty(user)) {
//新增用户
UserSaveReqVO userSaveReqVO = new UserSaveReqVO();
userSaveReqVO.setNickname(buyName);
@ -264,7 +294,7 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
userSaveReqVO.setPassword("123456");
Long uid = userService.createUser(userSaveReqVO);
inspectionInfo.setUserId(uid);
}else {
} else {
inspectionInfo.setUserId(user.getId());
}
InspectionGoodsSku sku = skuService.getById(inspectionInfo.getSkuId());
@ -284,17 +314,16 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int deleteInspectionInfoByIds(Long id)
{
public int deleteInspectionInfoByIds(Long id) {
InspectionInfo info = this.getById(id);
baseMapper.deleteInspectionInfoById(id);
OrderInfo orderInfo = orderInfoService.getById(info.getInspectionOrderId());
orderInfoService.removeById(info.getInspectionOrderId());
//往回收站插入
DelInspectionInfo delInspectionInfo =new DelInspectionInfo();
DelOrderInfo delInspectionOrder =new DelOrderInfo();
BeanUtils.copyProperties(info,delInspectionInfo);
BeanUtils.copyProperties(orderInfo,delInspectionOrder);
DelInspectionInfo delInspectionInfo = new DelInspectionInfo();
DelOrderInfo delInspectionOrder = new DelOrderInfo();
BeanUtils.copyProperties(info, delInspectionInfo);
BeanUtils.copyProperties(orderInfo, delInspectionOrder);
delInspectionInfoService.insertDelInspectionInfo(delInspectionInfo);
delInspectionOrderService.insertDelOrderInfo(delInspectionOrder);
return 1;
@ -307,32 +336,79 @@ public class InspectionInfoServiceImpl extends ServiceImpl<InspectionInfoMapper,
* @return 结果
*/
@Override
public int deleteInspectionInfoById(Long id)
{
public int deleteInspectionInfoById(Long id) {
return baseMapper.deleteInspectionInfoById(id);
}
@Override
public List<InspectionInfo> workOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime){
return baseMapper.workOrder(partnerId,carNum,goodsTitle, customerSource, payType, startTime,roleId,endTime);
public List<InspectionInfo> workOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime) {
return baseMapper.workOrder(partnerId, carNum, goodsTitle, customerSource, payType, startTime, roleId, endTime);
}
@Override
public IPage<InspectionInfo> pageWorkOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime, Page<InspectionInfo> page) {
return baseMapper.pageWorkOrder(partnerId,carNum,goodsTitle, customerSource, payType, startTime,roleId,endTime,page);
return baseMapper.pageWorkOrder(partnerId, carNum, goodsTitle, customerSource, payType, startTime, roleId, endTime, page);
}
@Override
public List<InspectionInfo> delworkOrder(Long partnerId, String carNum, String goodsTitle,String customerSource,String payType,String startTime,Long roleId,String endTime){
return baseMapper.delworkOrder(partnerId,carNum,goodsTitle, customerSource, payType, startTime,roleId,endTime);
public List<InspectionInfo> delworkOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime) {
return baseMapper.delworkOrder(partnerId, carNum, goodsTitle, customerSource, payType, startTime, roleId, endTime);
}
@Override
public IPage<InspectionInfo> pageDelWorkOrder(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime, Page<InspectionInfo> page) {
return baseMapper.pageDelWorkOrder(partnerId,carNum,goodsTitle, customerSource, payType, startTime,roleId,endTime,page);
return baseMapper.pageDelWorkOrder(partnerId, carNum, goodsTitle, customerSource, payType, startTime, roleId, endTime, page);
}
@Override
public Map<String, Object> workOrderData(Long partnerId, String carNum, String goodsTitle, String customerSource, String payType, String startTime, Long roleId, String endTime) {
return baseMapper.workOrderData(partnerId,carNum,goodsTitle, customerSource, payType, startTime,roleId,endTime);
return baseMapper.workOrderData(partnerId, carNum, goodsTitle, customerSource, payType, startTime, roleId, endTime);
}
/**
* 根据当前登陆人获取可以选择的工单
*
* @return
*/
@Override
public List<InspectionInfo> geStelectInspection() {
//获取当前登录人
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
//获取当前登陆人的角色
List<UserRoleDO> byUserId = roleService.getByUserId(loginUser.getId());
List<Long> roleIds = byUserId.stream().map(UserRoleDO::getRoleId).collect(Collectors.toList());
//查询所有工单为进行中的
List<InspectionInfo> inspectionInfos = baseMapper.selectList(new LambdaQueryWrapper<InspectionInfo>()
.eq(InspectionInfo::getStatus, 0));
//根据工单id查询工单流程节点
List<Long> infoIds = inspectionInfos.stream().map(inspectionInfo -> inspectionInfo.getId()).collect(Collectors.toList());
if (ObjectUtils.isNotEmpty(infoIds)) {
List<InspectionWorkNode> inspectionWorkNodes = workNodeService.list(new LambdaQueryWrapper<InspectionWorkNode>()
.in(InspectionWorkNode::getInspectionInfoId, infoIds)
.eq(InspectionWorkNode::getDealUserId, null));
//工单集合
List<InspectionInfo> inspectionInfoList = new ArrayList<>();
//根据工单id查询工单流程节点
Map<Long, List<InspectionWorkNode>> inspectionWorkNodeMap = inspectionWorkNodes.stream().collect(Collectors.groupingBy(InspectionWorkNode::getInspectionInfoId));
for (InspectionInfo inspectionInfo : inspectionInfos) {
List<InspectionWorkNode> inspectionWorkNodeList = inspectionWorkNodeMap.get(inspectionInfo.getId());
//遍历工单流程节点 流程为key
if (CollectionUtil.isNotEmpty(inspectionWorkNodeList)) {
Map<Integer, InspectionWorkNode> inspectionWorkMap = inspectionWorkNodeList.stream().collect(Collectors.toMap(InspectionWorkNode::getOrderNum, item -> item));
InspectionWorkNode inspectionWorkNode = inspectionWorkMap.get(inspectionInfo.getNowOrderNum());
if (inspectionWorkNode != null){
//判断当前项目 当前登录人员 是否可以处理
if (roleIds.contains(inspectionWorkNode.getRoleId())){
inspectionInfo.setWorkNodeId(inspectionWorkNode.getId());
inspectionInfoList.add(inspectionInfo);
}
}
}
}
return inspectionInfoList;
}
return null;
}
}

View File

@ -0,0 +1,20 @@
package cn.iocoder.yudao.module.inspection.service.impl;
import cn.iocoder.yudao.module.inspection.entity.InspectionWorkNode;
import cn.iocoder.yudao.module.inspection.mapper.InspectionWorkNodeMapper;
import cn.iocoder.yudao.module.inspection.service.IInspectionWorkNodeService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 检测流程表 服务实现类
* </p>
*
* @author dianliang
* @since 2024-10-31
*/
@Service
public class InspectionWorkNodeServiceImpl extends ServiceImpl<InspectionWorkNodeMapper, InspectionWorkNode> implements IInspectionWorkNodeService {
}

View File

@ -66,15 +66,11 @@ public class SysConfigServiceImpl implements ISysConfigService {
*/
@Override
public String selectConfigByKey(String configKey) {
String configValue = Convert.toStr(redisCache2.getCacheObject(getCacheKey(configKey)));
if (StringUtils.isNotEmpty(configValue)) {
return configValue;
}
SysConfig config = new SysConfig();
config.setConfigKey(configKey);
SysConfig retConfig = configMapper2.selectConfig(config);
if (StringUtils.isNotNull(retConfig)) {
redisCache2.setCacheObject(getCacheKey(configKey), retConfig.getConfigValue());
return retConfig.getConfigValue();
}
return StringUtils.EMPTY;

View File

@ -168,4 +168,11 @@ public interface RoleService {
List<RoleDO> pageByQuery(RoleDO roleDO);
IPage<UserDTO> selectListByRoleId(RolePageReqVO role);
/**
* 根据用户id查询角色
* @param userId
* @return
*/
List<UserRoleDO> getByUserId(Long userId);
}

View File

@ -359,6 +359,19 @@ public class RoleServiceImpl implements RoleService {
return userRoleMapper.selectListByRoleId(page,role);
}
/**
* 根据用户id查询角色
*
* @param userId
* @return
*/
@Override
public List<UserRoleDO> getByUserId(Long userId) {
List<UserRoleDO> userRoleDOS = userRoleMapper.selectList(new LambdaQueryWrapper<UserRoleDO>()
.eq(UserRoleDO::getUserId, userId));
return userRoleDOS;
}
/**
* 获得自身的代理对象解决 AOP 生效问题
*