liweidong
liweidong-hj 5 days ago
commit e546ea26bd
  1. 42
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/entity/MesApprovalFlowDefinitionEntity.java
  2. 16
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/entity/MesApprovalFlowEntity.java
  3. 39
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/entity/MesApprovalFlowUserEntity.java
  4. 23
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesApprovalFlowUserVO.java
  5. 5
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/common/pojo/vo/MesApprovalFlowVO.java
  6. 10
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/mapper/MesApprovalFlowDefinitionMapper.java
  7. 21
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/mapper/MesApprovalFlowDefinitionMapper.xml
  8. 1
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/mapper/MesApprovalFlowMapper.java
  9. 28
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/mapper/MesApprovalFlowMapper.xml
  10. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/mapper/MesApprovalFlowUserMapper.java
  11. 36
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/mapper/MesApprovalFlowUserMapper.xml
  12. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/ApprovalRecordDetailStrategy.java
  13. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalFlowDefinitionService.java
  14. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalFlowService.java
  15. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalFlowUserService.java
  16. 27
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/IMesApprovalRecordService.java
  17. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/IMesApprovalFlowDefinitionServiceImpl.java
  18. 22
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/IMesApprovalFlowUserServiceImpl.java
  19. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesApprovalFlowServiceImpl.java
  20. 121
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/MesApprovalRecordServiceImpl.java
  21. 32
      blade-service/blade-desk/src/main/java/org/springblade/desk/common/service/impl/OemStatementApprovalServiceImpl.java
  22. 13
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemSettlementApprovalServiceImpl.java
  23. 5
      blade-service/blade-desk/src/main/java/org/springblade/desk/oem/service/impl/OemStatementServiceImpl.java
  24. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.xml

@ -0,0 +1,42 @@
package org.springblade.desk.common.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
/**
* 审批流定义表
*/
@Data
@TableName("MES_APPROVAL_FLOW_DEFINITION")
@Schema(description = "MesApprovalFlowDefinition对象")
@EqualsAndHashCode(callSuper = true)
public class MesApprovalFlowDefinitionEntity extends BaseEntity {
/**
* 业务类型
*/
@Schema(description = "业务类型")
private String bizType;
/**
* 节点
*/
@Schema(description = "节点")
private String node;
/**
* 序号
*/
@Schema(description = "序号")
private Integer sort;
/**
* 下节点序号
*/
@Schema(description = "序号")
private Integer nextSort;
}

@ -47,30 +47,16 @@ public class MesApprovalFlowEntity extends BaseEntity {
@Schema(description = "序号")
private Integer nextSort;
/**
* 审核人
*/
@Schema(description = "审核人")
private Long approvalUser;
/**
* 审核时间
*/
@Schema(description = "审核时间")
private Date approvalTime;
public MesApprovalFlowEntity(){
}
public MesApprovalFlowEntity(Long bizId, String bizType, String node, Integer sort, Integer nextSort, Long approvalUser, Date approvalTime, Integer status){
public MesApprovalFlowEntity(Long bizId, String bizType, String node, Integer sort, Integer nextSort, Integer status){
this.bizId = bizId;
this.bizType = bizType;
this.node = node;
this.sort = sort;
this.nextSort = nextSort;
this.approvalUser = approvalUser;
this.approvalTime = approvalTime;
super.setStatus(status);
}
}

@ -0,0 +1,39 @@
package org.springblade.desk.common.pojo.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import java.util.Date;
/**
* 审批流程用户记录
*/
@Data
@TableName("MES_APPROVAL_FLOW_USER")
@Schema(description = "MesApprovalFlowUser对象")
@EqualsAndHashCode(callSuper = true)
public class MesApprovalFlowUserEntity extends BaseEntity {
/**
* 流程ID
*/
@Schema(description = "流程ID")
private Long flowId;
/**
* 审核人
*/
@Schema(description = "审核人")
private Long approvalUser;
/**
* 审核时间
*/
@Schema(description = "审核时间")
private Date approvalTime;
}

@ -0,0 +1,23 @@
package org.springblade.desk.common.pojo.vo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowUserEntity;
import java.io.Serial;
/**
* 审批流程用户记录视图类
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class MesApprovalFlowUserVO extends MesApprovalFlowUserEntity {
@Serial
private static final long serialVersionUID = 1L;
/**
* 审批人名称
*/
private String approvalUserName;
}

@ -5,6 +5,7 @@ import lombok.EqualsAndHashCode;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowEntity;
import java.io.Serial;
import java.util.List;
/**
* 审批流程VO
@ -17,8 +18,8 @@ public class MesApprovalFlowVO extends MesApprovalFlowEntity {
private static final long serialVersionUID = 1L;
/**
* 审批人名称
* 审批人
*/
private String approvalUserName;
private List<MesApprovalFlowUserVO> approvalUserList;
}

@ -0,0 +1,10 @@
package org.springblade.desk.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowDefinitionEntity;
/**
* 审批流定义Mapper
*/
public interface MesApprovalFlowDefinitionMapper extends BaseMapper<MesApprovalFlowDefinitionEntity> {
}

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.desk.common.mapper.MesApprovalFlowDefinitionMapper">
<!-- 通用查询映射结果 -->
<resultMap id="mesApprovalFlowDefinitionResultMap" type="org.springblade.desk.common.pojo.entity.MesApprovalFlowDefinitionEntity">
<result column="ID" property="id"/>
<result column="BIZ_TYPE" property="bizType"/>
<result column="NODE" property="node"/>
<result column="SORT" property="sort"/>
<result column="NEXT_SORT" property="nextSort"/>
<result column="CREATE_USER" property="createUser"/>
<result column="CREATE_DEPT" property="createDept"/>
<result column="CREATE_TIME" property="createTime"/>
<result column="UPDATE_USER" property="updateUser"/>
<result column="UPDATE_TIME" property="updateTime"/>
<result column="STATUS" property="status"/>
<result column="IS_DELETED" property="isDeleted"/>
</resultMap>
</mapper>

@ -11,5 +11,4 @@ import java.util.List;
*/
public interface MesApprovalFlowMapper extends BaseMapper<MesApprovalFlowEntity> {
List<MesApprovalFlowVO> queryVOList(MesApprovalFlowEntity mesApprovalFlow);
}

@ -10,8 +10,6 @@
<result column="NODE" property="node"/>
<result column="SORT" property="sort"/>
<result column="NEXT_SORT" property="nextSort"/>
<result column="APPROVAL_USER" property="approvalUser"/>
<result column="APPROVAL_TIME" property="approvalTime"/>
<result column="CREATE_USER" property="createUser"/>
<result column="CREATE_DEPT" property="createDept"/>
<result column="CREATE_TIME" property="createTime"/>
@ -21,30 +19,10 @@
<result column="IS_DELETED" property="isDeleted"/>
</resultMap>
<resultMap id="mesApprovalFlowVOResultMap" type="org.springblade.desk.common.pojo.vo.MesApprovalFlowVO" extends="mesApprovalFlowResultMap">
<result column="APPROVAL_USER_NAME" property="approvalUserName"/>
</resultMap>
<select id="selectMesApprovalFlowPage" resultMap="mesApprovalFlowResultMap">
select * from MES_APPROVAL_FLOW where is_deleted = 0
</select>
<select id="queryVOList" resultMap="mesApprovalFlowVOResultMap">
select a.*,
bu.REAL_NAME as APPROVAL_USER_NAME
from MES_APPROVAL_FLOW a
LEFT JOIN BLADE_USER bu ON a.APPROVAL_USER = bu.id
where a.is_deleted = 0
<if test="bizId != null and bizId != ''">
and a.biz_id = #{bizId}
</if>
<if test="bizType != null and bizType != ''">
and a.biz_type = #{bizType}
</if>
<if test="status != null and status != ''">
and a.status = #{status}
</if>
order by a.sort asc
select *
from MES_APPROVAL_FLOW
where is_deleted = 0
</select>
</mapper>

@ -0,0 +1,16 @@
package org.springblade.desk.common.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowUserEntity;
import org.springblade.desk.common.pojo.vo.MesApprovalFlowUserVO;
import java.util.List;
/**
* 审批流程用户Mapper
*/
public interface MesApprovalFlowUserMapper extends BaseMapper<MesApprovalFlowUserEntity> {
List<MesApprovalFlowUserVO> queryByFlowId(Long flowId);
}

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.desk.common.mapper.MesApprovalFlowUserMapper">
<!-- 通用查询映射结果 -->
<resultMap id="mesApprovalFlowUserResultMap" type="org.springblade.desk.common.pojo.entity.MesApprovalFlowUserEntity">
<result column="ID" property="id"/>
<result column="FLOW_ID" property="flowId"/>
<result column="APPROVAL_USER" property="approvalUser"/>
<result column="APPROVAL_TIME" property="approvalTime"/>
<result column="CREATE_USER" property="createUser"/>
<result column="CREATE_DEPT" property="createDept"/>
<result column="CREATE_TIME" property="createTime"/>
<result column="UPDATE_USER" property="updateUser"/>
<result column="UPDATE_TIME" property="updateTime"/>
<result column="STATUS" property="status"/>
<result column="IS_DELETED" property="isDeleted"/>
</resultMap>
<resultMap id="mesApprovalFlowUserVOResultMap" type="org.springblade.desk.common.pojo.vo.MesApprovalFlowUserVO" extends="mesApprovalFlowUserResultMap">
<result column="APPROVAL_USER_NAME" property="approvalUserName"/>
</resultMap>
<select id="queryByFlowId" resultMap="mesApprovalFlowUserVOResultMap">
SELECT a.*,
bu.REAL_NAME as APPROVAL_USER_NAME
FROM MES_APPROVAL_FLOW_USER a
LEFT JOIN BLADE_USER bu ON a.APPROVAL_USER = bu.id
WHERE a.is_deleted = 0
<if test="flowId != null">
and a.flow_id = #{flowId}
</if>
order by a.create_time asc
</select>
</mapper>

@ -10,7 +10,4 @@ public interface ApprovalRecordDetailStrategy<T> {
T getDetail(Long bizId);
void createApproval(Long bizId);
}

@ -0,0 +1,12 @@
package org.springblade.desk.common.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowDefinitionEntity;
/**
* 审批流定义Service
*/
public interface IMesApprovalFlowDefinitionService extends BaseService<MesApprovalFlowDefinitionEntity> {
}

@ -11,10 +11,4 @@ import java.util.List;
*/
public interface IMesApprovalFlowService extends BaseService<MesApprovalFlowEntity> {
/**
* 根据条件查询VO
* @param mesApprovalFlow
* @return
*/
List<MesApprovalFlowVO> queryVOList(MesApprovalFlowEntity mesApprovalFlow);
}

@ -0,0 +1,17 @@
package org.springblade.desk.common.service;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowUserEntity;
import org.springblade.desk.common.pojo.vo.MesApprovalFlowUserVO;
import java.util.List;
/**
* 审批流程用户记录Service
*/
public interface IMesApprovalFlowUserService extends BaseService<MesApprovalFlowUserEntity> {
List<MesApprovalFlowUserVO> queryByFlowId(Long flowId);
}

@ -42,6 +42,7 @@ import java.util.Date;
* @since 2026-02-26
*/
public interface IMesApprovalRecordService extends BaseService<MesApprovalRecordEntity> {
/**
* 自定义分页
*
@ -68,21 +69,39 @@ public interface IMesApprovalRecordService extends BaseService<MesApprovalRecord
*/
MesApprovalRecordDetailVO getDetail(MesApprovalRecordEntity mesApprovalRecord);
/**
*
* @param bizId
* @param bizType
*/
void createApproval(Long bizId, String bizType);
/**
* 更新待办
* 待办审核通过
*
* @param bizId
* @param bizType
* @param approvalUser
* @param approvalTime
*/
void updateApproval(Long bizId, String bizType, Long approvalUser, Date approvalTime);
void passApproval(Long bizId, String bizType, Long approvalUser, Date approvalTime);
/**
* 删除待办
* 待办审核驳回
*
* @param bizId
* @param bizType
*/
void removeApproval(Long bizId, String bizType);
void rejectApproval(Long bizId, String bizType);
/**
* 待办审核中
*
* @param bizId
* @param bizType
* @param approvalUser
* @param approvalTime
*/
void pendingApproval(Long bizId, String bizType, Long approvalUser, Date approvalTime);
}

@ -0,0 +1,17 @@
package org.springblade.desk.common.service.impl;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.common.mapper.MesApprovalFlowDefinitionMapper;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowDefinitionEntity;
import org.springblade.desk.common.service.IMesApprovalFlowDefinitionService;
import org.springframework.stereotype.Service;
/**
* 审批流定义Service实现类
*/
@Service
public class IMesApprovalFlowDefinitionServiceImpl extends BaseServiceImpl<MesApprovalFlowDefinitionMapper, MesApprovalFlowDefinitionEntity> implements IMesApprovalFlowDefinitionService {
}

@ -0,0 +1,22 @@
package org.springblade.desk.common.service.impl;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.common.mapper.MesApprovalFlowUserMapper;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowUserEntity;
import org.springblade.desk.common.pojo.vo.MesApprovalFlowUserVO;
import org.springblade.desk.common.service.IMesApprovalFlowUserService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 审批流程用户记录Service实现类
*/
@Service
public class IMesApprovalFlowUserServiceImpl extends BaseServiceImpl<MesApprovalFlowUserMapper, MesApprovalFlowUserEntity> implements IMesApprovalFlowUserService {
@Override
public List<MesApprovalFlowUserVO> queryByFlowId(Long flowId) {
return baseMapper.queryByFlowId(flowId);
}
}

@ -3,21 +3,13 @@ package org.springblade.desk.common.service.impl;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.desk.common.mapper.MesApprovalFlowMapper;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowEntity;
import org.springblade.desk.common.pojo.vo.MesApprovalFlowVO;
import org.springblade.desk.common.service.IMesApprovalFlowService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 审批流程Service实现类
*/
@Service
public class MesApprovalFlowServiceImpl extends BaseServiceImpl<MesApprovalFlowMapper, MesApprovalFlowEntity> implements IMesApprovalFlowService {
@Override
public List<MesApprovalFlowVO> queryVOList(MesApprovalFlowEntity mesApprovalFlow) {
return baseMapper.queryVOList(mesApprovalFlow);
}
}

@ -37,15 +37,12 @@ import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.desk.common.constant.ApprovalStatusConstant;
import org.springblade.desk.common.factory.MesApprovalDetailFactory;
import org.springblade.desk.common.mapper.MesApprovalRecordMapper;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowDefinitionEntity;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowEntity;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowUserEntity;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
import org.springblade.desk.common.pojo.vo.MesApprovalFlowVO;
import org.springblade.desk.common.pojo.vo.MesApprovalRecordDetailVO;
import org.springblade.desk.common.pojo.vo.MyHistoryMesApprovalRecordVO;
import org.springblade.desk.common.pojo.vo.MyMesApprovalRecordVO;
import org.springblade.desk.common.service.ApprovalRecordDetailStrategy;
import org.springblade.desk.common.service.IMesApprovalFlowService;
import org.springblade.desk.common.service.IMesApprovalRecordService;
import org.springblade.desk.common.pojo.vo.*;
import org.springblade.desk.common.service.*;
import org.springblade.system.cache.UserCache;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@ -66,11 +63,15 @@ public class MesApprovalRecordServiceImpl extends BaseServiceImpl<MesApprovalRec
private MesApprovalDetailFactory mesApprovalDetailFactory;
@Resource
private IMesApprovalFlowService approvalFlowService;
@Resource
private IMesApprovalFlowUserService approvalFlowUserService;
@Resource
private IMesApprovalFlowDefinitionService approvalFlowDefinitionService;
@Override
public IPage<MyMesApprovalRecordVO> selectMyMesApprovalRecordPage(Page<MesApprovalRecordEntity> page, MyMesApprovalRecordVO mesApprovalRecord) {
List<Integer> statusList = null;
if(StringUtils.isNotBlank(mesApprovalRecord.getStatusList())){
if (StringUtils.isNotBlank(mesApprovalRecord.getStatusList())) {
statusList = Arrays.stream(mesApprovalRecord.getStatusList().split(","))
.filter(StringUtils::isNotBlank)
.map(Integer::valueOf)
@ -101,10 +102,10 @@ public class MesApprovalRecordServiceImpl extends BaseServiceImpl<MesApprovalRec
return page1;
}
private String buildStatusName(Integer status){
if(status == ApprovalStatusConstant.WAITING) return "待审核";
if(status == ApprovalStatusConstant.PASS) return "审核通过";
if(status == ApprovalStatusConstant.REJECT) return "审核失败";
private String buildStatusName(Integer status) {
if (status == ApprovalStatusConstant.WAITING) return "待审核";
if (status == ApprovalStatusConstant.PASS) return "审核通过";
if (status == ApprovalStatusConstant.REJECT) return "审核失败";
return null;
}
@ -149,19 +150,64 @@ public class MesApprovalRecordServiceImpl extends BaseServiceImpl<MesApprovalRec
MesApprovalRecordEntity approvalRecordEntity = this.getById(mesApprovalRecord.getId());
MesApprovalRecordDetailVO detailVO = new MesApprovalRecordDetailVO();
BeanUtils.copyProperties(approvalRecordEntity, detailVO);
MesApprovalFlowEntity flowQuery = new MesApprovalFlowEntity();
flowQuery.setBizId(approvalRecordEntity.getBizId());
flowQuery.setBizType(approvalRecordEntity.getBizType());
List<MesApprovalFlowVO> flowList = approvalFlowService.queryVOList(flowQuery);
detailVO.setFlowList(flowList);
List<MesApprovalFlowVO> flowVOS = new ArrayList<>();
List<MesApprovalFlowEntity> flowList = approvalFlowService.list(new LambdaQueryWrapper<MesApprovalFlowEntity>().eq(MesApprovalFlowEntity::getBizId, approvalRecordEntity.getBizId()).eq(MesApprovalFlowEntity::getBizType, approvalRecordEntity.getBizType()));
if (CollectionUtils.isNotEmpty(flowList)) {
for (MesApprovalFlowEntity mesApprovalFlowEntity : flowList) {
MesApprovalFlowVO vo = new MesApprovalFlowVO();
BeanUtils.copyProperties(mesApprovalFlowEntity, vo);
List<MesApprovalFlowUserVO> approvalUserList = approvalFlowUserService.queryByFlowId(mesApprovalFlowEntity.getId());
vo.setApprovalUserList(approvalUserList);
flowVOS.add(vo);
}
}
detailVO.setFlowList(flowVOS);
ApprovalRecordDetailStrategy strategy = mesApprovalDetailFactory.getStrategy(approvalRecordEntity.getBizType());
if (strategy != null) {
Object detail = strategy.getDetail(approvalRecordEntity.getBizId());
detailVO.setDetailData(detail);
}
return detailVO;
}
@Override
public void updateApproval(Long bizId, String bizType, Long approvalUser, Date approvalTime) {
public void createApproval(Long bizId, String bizType) {
// 创建待办
MesApprovalRecordEntity approvalRecord = new MesApprovalRecordEntity();
approvalRecord.setBizId(bizId);
approvalRecord.setBizType(bizType);
approvalRecord.setContent(bizType);
approvalRecord.setStatus(ApprovalStatusConstant.WAITING);
this.save(approvalRecord);
List<MesApprovalFlowDefinitionEntity> flowDefinitionList = approvalFlowDefinitionService.list(new LambdaQueryWrapper<MesApprovalFlowDefinitionEntity>().eq(MesApprovalFlowDefinitionEntity::getBizType, bizType).orderByAsc(MesApprovalFlowDefinitionEntity::getSort));
List<MesApprovalFlowEntity> flowList = new ArrayList<>();
for (int i = 0; i < flowDefinitionList.size(); i++) {
MesApprovalFlowDefinitionEntity definition = flowDefinitionList.get(i);
int status;
if (i == 0) {
status = 3;
} else if (i == 1) {
status = 2;
} else {
status = 1;
}
MesApprovalFlowEntity flow = new MesApprovalFlowEntity(bizId, definition.getBizType(), definition.getNode(), definition.getSort(), definition.getNextSort(), status);
flowList.add(flow);
}
approvalFlowService.saveBatch(flowList);
MesApprovalFlowEntity firstFlow = flowList.stream().filter(flow -> flow.getSort() == 1).findFirst().orElse(null);
if (firstFlow != null) {
MesApprovalFlowUserEntity flowUser = new MesApprovalFlowUserEntity();
flowUser.setFlowId(firstFlow.getId());
flowUser.setApprovalUser(approvalRecord.getCreateUser());
flowUser.setApprovalTime(approvalRecord.getCreateTime());
approvalFlowUserService.save(flowUser);
}
}
@Override
public void passApproval(Long bizId, String bizType, Long approvalUser, Date approvalTime) {
MesApprovalRecordEntity entity = getByBiz(bizId, bizType);
if (entity == null || entity.getStatus() != ApprovalStatusConstant.WAITING) {
return;
@ -171,23 +217,23 @@ public class MesApprovalRecordServiceImpl extends BaseServiceImpl<MesApprovalRec
upd.setStatus(ApprovalStatusConstant.PASS);
this.updateById(upd);
MesApprovalFlowEntity flowQuery = new MesApprovalFlowEntity();
flowQuery.setBizId(bizId);
flowQuery.setBizType(bizType);
List<MesApprovalFlowVO> flowList = approvalFlowService.queryVOList(flowQuery);
MesApprovalFlowVO currentFlow = flowList.stream().filter(flow -> flow.getStatus().equals(2)).findFirst().orElse(null);
List<MesApprovalFlowEntity> flowList = approvalFlowService.list(new LambdaQueryWrapper<MesApprovalFlowEntity>().eq(MesApprovalFlowEntity::getBizId, bizId).eq(MesApprovalFlowEntity::getBizType, bizType));
MesApprovalFlowEntity currentFlow = flowList.stream().filter(flow -> flow.getStatus().equals(2)).findFirst().orElse(null);
if (currentFlow != null) {
MesApprovalFlowEntity currentFlowEntity = new MesApprovalFlowEntity();
currentFlowEntity.setId(currentFlow.getId());
currentFlowEntity.setApprovalUser(approvalUser);
currentFlowEntity.setApprovalTime(approvalTime);
currentFlowEntity.setStatus(3);
approvalFlowService.updateById(currentFlowEntity);
MesApprovalFlowUserEntity flowUser = new MesApprovalFlowUserEntity();
flowUser.setFlowId(currentFlow.getId());
flowUser.setApprovalUser(approvalUser);
flowUser.setApprovalTime(approvalTime);
approvalFlowUserService.save(flowUser);
Integer nextSort = currentFlow.getNextSort();
if (nextSort == null) {
return;
}
MesApprovalFlowVO nextFlow = flowList.stream().filter(flow -> flow.getSort().equals(nextSort)).findFirst().orElse(null);
MesApprovalFlowEntity nextFlow = flowList.stream().filter(flow -> flow.getSort().equals(nextSort)).findFirst().orElse(null);
if (nextFlow != null) {
MesApprovalRecordEntity save = new MesApprovalRecordEntity();
BeanUtils.copyProperties(entity, save);
@ -211,7 +257,7 @@ public class MesApprovalRecordServiceImpl extends BaseServiceImpl<MesApprovalRec
* @param bizType
*/
@Override
public void removeApproval(Long bizId, String bizType) {
public void rejectApproval(Long bizId, String bizType) {
MesApprovalRecordEntity entity = getByBiz(bizId, bizType);
if (entity == null || entity.getStatus() != ApprovalStatusConstant.WAITING) {
return;
@ -220,14 +266,25 @@ public class MesApprovalRecordServiceImpl extends BaseServiceImpl<MesApprovalRec
upd.setId(entity.getId());
upd.setStatus(ApprovalStatusConstant.REJECT);
this.updateById(upd);
MesApprovalFlowEntity flowQuery = new MesApprovalFlowEntity();
flowQuery.setBizId(bizId);
flowQuery.setBizType(bizType);
List<MesApprovalFlowVO> flowList = approvalFlowService.queryVOList(flowQuery);
List<Long> ids = flowList.stream().map(MesApprovalFlowVO::getId).collect(Collectors.toList());
List<MesApprovalFlowEntity> flowList = approvalFlowService.list(new LambdaQueryWrapper<MesApprovalFlowEntity>().eq(MesApprovalFlowEntity::getBizId, bizId).eq(MesApprovalFlowEntity::getBizType, bizType));
List<Long> ids = flowList.stream().map(MesApprovalFlowEntity::getId).collect(Collectors.toList());
approvalFlowService.removeByIds(ids);
}
@Override
public void pendingApproval(Long bizId, String bizType, Long approvalUser, Date approvalTime) {
List<MesApprovalFlowEntity> flowList = approvalFlowService.list(new LambdaQueryWrapper<MesApprovalFlowEntity>().eq(MesApprovalFlowEntity::getBizId, bizId).eq(MesApprovalFlowEntity::getBizType, bizType).eq(MesApprovalFlowEntity::getStatus, 2));
if (CollectionUtils.isEmpty(flowList)) {
return;
}
MesApprovalFlowEntity currentFlow = flowList.get(0);
MesApprovalFlowUserEntity flowUser = new MesApprovalFlowUserEntity();
flowUser.setFlowId(currentFlow.getId());
flowUser.setApprovalUser(approvalUser);
flowUser.setApprovalTime(approvalTime);
approvalFlowUserService.save(flowUser);
}
private MesApprovalRecordEntity getByBiz(Long bizId, String bizType) {
return this.getOne(new LambdaQueryWrapper<MesApprovalRecordEntity>()
.eq(MesApprovalRecordEntity::getBizType, bizType)

@ -1,19 +1,12 @@
package org.springblade.desk.common.service.impl;
import jakarta.annotation.Resource;
import org.springblade.desk.common.constant.ApprovalStatusConstant;
import org.springblade.desk.common.enums.MesApprovalRecordBizTypeEnum;
import org.springblade.desk.common.pojo.entity.MesApprovalFlowEntity;
import org.springblade.desk.common.pojo.entity.MesApprovalRecordEntity;
import org.springblade.desk.common.service.ApprovalRecordDetailStrategy;
import org.springblade.desk.common.service.IMesApprovalFlowService;
import org.springblade.desk.common.service.IMesApprovalRecordService;
import org.springblade.desk.oem.pojo.entity.OemSettlementApprovalEntity;
import org.springblade.desk.oem.pojo.vo.OemSettlementApprovalDetailVO;
import org.springblade.desk.oem.service.IOemSettlementApprovalService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -24,14 +17,9 @@ import java.util.Map;
@Service
public class OemStatementApprovalServiceImpl implements ApprovalRecordDetailStrategy<Map<String, Object>> {
@Resource
private IMesApprovalRecordService mesApprovalRecordService;
@Resource
private IMesApprovalFlowService mesApprovalFlowService;
@Resource
private IOemSettlementApprovalService oemSettlementApprovalService;
@Override
public String getBizType() {
return MesApprovalRecordBizTypeEnum.OEM_STATEMENT.getDesc();
@ -47,24 +35,4 @@ public class OemStatementApprovalServiceImpl implements ApprovalRecordDetailStra
return resultMap;
}
@Override
public void createApproval(Long bizId) {
// 创建待办
MesApprovalRecordEntity approvalRecord = new MesApprovalRecordEntity();
approvalRecord.setBizId(bizId);
approvalRecord.setBizType(getBizType());
approvalRecord.setContent(getBizType());
approvalRecord.setStatus(ApprovalStatusConstant.WAITING);
mesApprovalRecordService.save(approvalRecord);
// 创建审批流程
OemSettlementApprovalEntity oemSettlementApproval = oemSettlementApprovalService.getById(bizId);
List<MesApprovalFlowEntity> flowList = new ArrayList<>();
flowList.add(new MesApprovalFlowEntity(oemSettlementApproval.getId(), getBizType(), "提交", 1, 2, oemSettlementApproval.getCreateUser(), oemSettlementApproval.getCreateTime(), 3));
flowList.add(new MesApprovalFlowEntity(oemSettlementApproval.getId(), getBizType(), "一级校对", 2, 3, null, null, 2));
flowList.add(new MesApprovalFlowEntity(oemSettlementApproval.getId(), getBizType(), "二级校对", 3, 4, null, null, 1));
flowList.add(new MesApprovalFlowEntity(oemSettlementApproval.getId(), getBizType(), "审核", 4, null, null, null, 1));
mesApprovalFlowService.saveBatch(flowList);
}
}

@ -245,8 +245,13 @@ public class OemSettlementApprovalServiceImpl extends BaseServiceImpl<OemSettlem
// 保存审批记录
this.updateById(approval);
// 更新待办
mesApprovalRecordService.updateApproval(approval.getId(), MesApprovalRecordBizTypeEnum.OEM_STATEMENT.getDesc(), currentUserId, now);
// 处理待办
if(approval.getApprovalStatus() == OemSettlementApprovalEntity.ApprovalStatusEnum.PROOFREADING.getCode()){
mesApprovalRecordService.pendingApproval(approval.getId(), MesApprovalRecordBizTypeEnum.OEM_STATEMENT.getDesc(), currentUserId, now);
}
if(approval.getApprovalStatus() == OemSettlementApprovalEntity.ApprovalStatusEnum.WAITING_AUDIT.getCode()){
mesApprovalRecordService.passApproval(approval.getId(), MesApprovalRecordBizTypeEnum.OEM_STATEMENT.getDesc(), currentUserId, now);
}
return R.success();
}
@ -284,7 +289,7 @@ public class OemSettlementApprovalServiceImpl extends BaseServiceImpl<OemSettlem
updateStatementsStatus(approval.getId(), OemStatementEntity.PENDING_PUSH_SETTLEMENT, null);
// 更新待办
mesApprovalRecordService.updateApproval(approval.getId(), MesApprovalRecordBizTypeEnum.OEM_STATEMENT.getDesc(), currentUserId, now);
mesApprovalRecordService.passApproval(approval.getId(), MesApprovalRecordBizTypeEnum.OEM_STATEMENT.getDesc(), currentUserId, now);
return R.success();
} else {
// 审核不通过
@ -307,7 +312,7 @@ public class OemSettlementApprovalServiceImpl extends BaseServiceImpl<OemSettlem
// 更新所有关联结算单的状态为【结算异常】
updateStatementsStatus(approval.getId(), OemStatementEntity.ERR_SETTLEMENT, "MES结算审核不通过");
// 更新待办
mesApprovalRecordService.removeApproval(approval.getId(), MesApprovalRecordBizTypeEnum.OEM_STATEMENT.getDesc());
mesApprovalRecordService.rejectApproval(approval.getId(), MesApprovalRecordBizTypeEnum.OEM_STATEMENT.getDesc());
return R.success("审批已拒绝");
}

@ -2320,9 +2320,8 @@ public class OemStatementServiceImpl extends BaseServiceImpl<OemStatementMapper,
// 发送消息通知给“外协结算校对员”角色的用户
sendNotificationToProofreaders(approval);
ApprovalRecordDetailStrategy strategy = mesApprovalDetailFactory.getStrategy(MesApprovalRecordBizTypeEnum.OEM_STATEMENT.getDesc());
strategy.createApproval(approval.getId());
// 创建代办
mesApprovalRecordService.createApproval(approval.getId(), MesApprovalRecordBizTypeEnum.OEM_STATEMENT.getDesc());
return R.success();
}

@ -206,7 +206,9 @@
GROUP BY b.DEVICE_CODE, b.CATEGORYS, a.HANG_NUM, a.MTN_CODE
</select>
<select id="getMacToolUseByWpId" resultType="org.springblade.desk.produce.pojo.vo.MesMacToolUseVO">
SELECT a.MTN_CODE AS code,
SELECT
a.ID AS id,
a.MTN_CODE AS code,
c.wo_code AS woCode,
c.PART_CODE AS partCode,
c.BATCH_NO AS batchNo,

Loading…
Cancel
Save