Compare commits

...

2 Commits

Author SHA1 Message Date
4fec612e35 1.修改list, 其中调用iQsUserSupplierService的方法
2.修改add,增加供应商管理用户的增加与删除
3.修改edit,增加供应商管理用户的增加与删除
2025-07-17 12:38:44 +08:00
510e6a0ce2 feat(WfProcessServiceImpl): 修改“我的流程”--添加批次与规格名称支持
修改“我的流程”--添加批次与规格名称支持
2025-05-10 21:44:40 +08:00
2 changed files with 62 additions and 64 deletions

View File

@ -3,8 +3,10 @@ package net.ferrum.web.controller.business;
import cn.dev33.satoken.annotation.SaCheckPermission; import cn.dev33.satoken.annotation.SaCheckPermission;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import net.ferrum.business.domain.bo.QsSupplierBo; import net.ferrum.business.domain.bo.QsSupplierBo;
import net.ferrum.business.domain.bo.QsUserSupplierBo;
import net.ferrum.business.domain.vo.QsSupplierVo; import net.ferrum.business.domain.vo.QsSupplierVo;
import net.ferrum.business.service.IQsSupplierService; import net.ferrum.business.service.IQsSupplierService;
import net.ferrum.business.service.IQsUserSupplierService;
import net.ferrum.common.annotation.Log; import net.ferrum.common.annotation.Log;
import net.ferrum.common.annotation.RepeatSubmit; import net.ferrum.common.annotation.RepeatSubmit;
import net.ferrum.common.core.controller.BaseController; import net.ferrum.common.core.controller.BaseController;
@ -21,6 +23,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@ -39,13 +42,18 @@ public class QsSupplierController extends BaseController {
private final IQsSupplierService iQsSupplierService; private final IQsSupplierService iQsSupplierService;
private final IQsUserSupplierService iQsUserSupplierService;
/** /**
* 查询供应商信息列表 * 查询供应商信息列表
*/ */
@SaCheckPermission("business:supplier:list") @SaCheckPermission("business:supplier:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<QsSupplierVo> list(QsSupplierBo bo, PageQuery pageQuery) { public TableDataInfo<QsSupplierVo> list(QsSupplierBo bo, PageQuery pageQuery) {
return iQsSupplierService.queryPageList(bo, pageQuery);
return iQsUserSupplierService.selectSuppliersByUsersPages(bo, pageQuery);
//return iQsSupplierService.queryPageList(bo, pageQuery);
} }
/** /**
@ -67,8 +75,8 @@ public class QsSupplierController extends BaseController {
@SaCheckPermission("business:supplier:query") @SaCheckPermission("business:supplier:query")
@GetMapping("/{supplierId}") @GetMapping("/{supplierId}")
public R<QsSupplierVo> getInfo(@NotNull(message = "主键不能为空") public R<QsSupplierVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long supplierId) { @PathVariable String supplierId) {
return R.ok(iQsSupplierService.queryById(supplierId)); return R.ok(iQsSupplierService.queryById(Long.parseLong(supplierId)));
} }
/** /**
@ -79,7 +87,26 @@ public class QsSupplierController extends BaseController {
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<Void> add(@Validated(AddGroup.class) @RequestBody QsSupplierBo bo) { public R<Void> add(@Validated(AddGroup.class) @RequestBody QsSupplierBo bo) {
return toAjax(iQsSupplierService.insertByBo(bo)); boolean ret = iQsSupplierService.insertByBo(bo);
if (ret == true){
bo.getDockerUsers().forEach(dockerUser -> {
if(dockerUser.getDel()==null){ //=null是新增加的=2是增加后又删除了的
QsUserSupplierBo qsUserSupplierBo = new QsUserSupplierBo();
qsUserSupplierBo.setSupplierId(bo.getSupplierId());
qsUserSupplierBo.setUserId(dockerUser.getUserId());
if (dockerUser.getId() == null){
iQsUserSupplierService.insertByBo(qsUserSupplierBo);
}
else{
qsUserSupplierBo.setId(dockerUser.getId());
iQsUserSupplierService.updateByBo(qsUserSupplierBo);
}
}
});
}
return toAjax(ret);
} }
/** /**
@ -90,6 +117,29 @@ public class QsSupplierController extends BaseController {
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
public R<Void> edit(@Validated(EditGroup.class) @RequestBody QsSupplierBo bo) { public R<Void> edit(@Validated(EditGroup.class) @RequestBody QsSupplierBo bo) {
List<Long> ids = new ArrayList<>();
bo.getDockerUsers().forEach(dockerUser -> {
if(dockerUser.getDel()!=null){//=null是原来有的!=null 是后增加的
ids.add(dockerUser.getId());
}
else{
QsUserSupplierBo qsUserSupplierBo = new QsUserSupplierBo();
qsUserSupplierBo.setSupplierId(bo.getSupplierId());
qsUserSupplierBo.setUserId(dockerUser.getUserId());
if (dockerUser.getId() == null){
iQsUserSupplierService.insertByBo(qsUserSupplierBo);
}
else{
qsUserSupplierBo.setId(dockerUser.getId());
iQsUserSupplierService.updateByBo(qsUserSupplierBo);
}
}
});
if ( !(ids == null || ids.isEmpty()) ){
iQsUserSupplierService.deleteWithValidByIds(ids,true);
}
return toAjax(iQsSupplierService.updateByBo(bo)); return toAjax(iQsSupplierService.updateByBo(bo));
} }

View File

@ -157,11 +157,16 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
@Override @Override
public TableDataInfo<WfTaskVo> selectPageAllProcessList(ProcessQuery processQuery, PageQuery pageQuery) { public TableDataInfo<WfTaskVo> selectPageAllProcessList(ProcessQuery processQuery, PageQuery pageQuery) {
Page<WfTaskVo> page = new Page<>();
HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery() HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
//.startedBy(TaskUtils.getUserId()) //.startedBy(TaskUtils.getUserId())
.orderByProcessInstanceStartTime() .orderByProcessInstanceStartTime()
.desc(); .desc();
Page<WfTaskVo> page = getHistProcessList(historicProcessInstanceQuery,processQuery,pageQuery);
return TableDataInfo.build(page);
}
Page<WfTaskVo> getHistProcessList(HistoricProcessInstanceQuery historicProcessInstanceQuery,ProcessQuery processQuery, PageQuery pageQuery){
Page<WfTaskVo> page = new Page<>();
// 构建搜索条件 // 构建搜索条件
ProcessUtils.buildProcessSearch(historicProcessInstanceQuery, processQuery); ProcessUtils.buildProcessSearch(historicProcessInstanceQuery, processQuery);
int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1); int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1);
@ -235,73 +240,16 @@ public class WfProcessServiceImpl extends FlowServiceFactory implements IWfProce
taskVoList.add(taskVo); taskVoList.add(taskVo);
} }
page.setRecords(taskVoList); page.setRecords(taskVoList);
return TableDataInfo.build(page); return page;
} }
@Override @Override
public TableDataInfo<WfTaskVo> selectPageOwnProcessList(ProcessQuery processQuery, PageQuery pageQuery) { public TableDataInfo<WfTaskVo> selectPageOwnProcessList(ProcessQuery processQuery, PageQuery pageQuery) {
Page<WfTaskVo> page = new Page<>();
HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery() HistoricProcessInstanceQuery historicProcessInstanceQuery = historyService.createHistoricProcessInstanceQuery()
.startedBy(TaskUtils.getUserId()) .startedBy(TaskUtils.getUserId())
.orderByProcessInstanceStartTime() .orderByProcessInstanceStartTime()
.desc(); .desc();
// 构建搜索条件 Page<WfTaskVo> page = getHistProcessList(historicProcessInstanceQuery,processQuery,pageQuery);
ProcessUtils.buildProcessSearch(historicProcessInstanceQuery, processQuery);
int offset = pageQuery.getPageSize() * (pageQuery.getPageNum() - 1);
List<HistoricProcessInstance> historicProcessInstances = historicProcessInstanceQuery
.listPage(offset, pageQuery.getPageSize());
page.setTotal(historicProcessInstanceQuery.count());
List<WfTaskVo> taskVoList = new ArrayList<>();
for (HistoricProcessInstance hisIns : historicProcessInstances) {
WfTaskVo taskVo = new WfTaskVo();
// 获取流程状态
HistoricVariableInstance processStatusVariable = historyService.createHistoricVariableInstanceQuery()
.processInstanceId(hisIns.getId())
.variableName(ProcessConstants.PROCESS_STATUS_KEY)
.singleResult();
String processStatus = null;
if (ObjectUtil.isNotNull(processStatusVariable)) {
processStatus = Convert.toStr(processStatusVariable.getValue());
}
// 兼容旧流程
if (processStatus == null) {
processStatus = ObjectUtil.isNull(hisIns.getEndTime()) ? ProcessStatus.RUNNING.getStatus() : ProcessStatus.COMPLETED.getStatus();
}
taskVo.setProcessStatus(processStatus);
taskVo.setCreateTime(hisIns.getStartTime());
taskVo.setFinishTime(hisIns.getEndTime());
taskVo.setProcInsId(hisIns.getId());
//add for test --tzx
String spec[] = new String[2];
getHistSpecInfo(hisIns.getId(),spec);
taskVo.setSpecBatch(spec[0]);
taskVo.setSpecName(spec[1]);
//add end for test --tzx
// 计算耗时
if (Objects.nonNull(hisIns.getEndTime())) {
taskVo.setDuration(DateUtils.getDatePoor(hisIns.getEndTime(), hisIns.getStartTime()));
} else {
taskVo.setDuration(DateUtils.getDatePoor(DateUtils.getNowDate(), hisIns.getStartTime()));
}
// 流程部署实例信息
Deployment deployment = repositoryService.createDeploymentQuery()
.deploymentId(hisIns.getDeploymentId()).singleResult();
taskVo.setDeployId(hisIns.getDeploymentId());
taskVo.setProcDefId(hisIns.getProcessDefinitionId());
taskVo.setProcDefName(hisIns.getProcessDefinitionName());
taskVo.setProcDefVersion(hisIns.getProcessDefinitionVersion());
taskVo.setCategory(deployment.getCategory());
// 当前所处流程
List<Task> taskList = taskService.createTaskQuery().processInstanceId(hisIns.getId()).includeIdentityLinks().list();
if (CollUtil.isNotEmpty(taskList)) {
taskVo.setTaskName(taskList.stream().map(Task::getName).filter(StringUtils::isNotEmpty).collect(Collectors.joining(",")));
}
taskVoList.add(taskVo);
}
page.setRecords(taskVoList);
return TableDataInfo.build(page); return TableDataInfo.build(page);
} }