Commit 5f948795 by 李小惠

修改快速出库

parents da74ef9b 194e787e
package com.junmp.jyzb.Repository;
import com.junmp.jyzb.entity.EquipmentSize;
import com.junmp.jyzb.entity.EquipmentType;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
public interface SizeRepository extends ElasticsearchRepository<EquipmentSize, Long> {
}
......@@ -44,6 +44,15 @@ public class CrudController {
public Object testOrgDocument() {
return pubOrgService.AddToEs();
}
@ApiOperation("一键初始化ES")
@PostMapping("UpdateES")
public Object UpdateES() {
pubOrgService.AddToEs();
equipmentTypeService.addEs();
return true;
}
@ApiOperation("添加单个文档")
@PostMapping("addDocument")
public Blog addDocument() {
......
......@@ -227,6 +227,12 @@ public class BusForm implements Serializable {
*/
@TableField(value = "destory_name")
private String destoryName;
/**
* 审核人信息
*/
@TableField(value = "current_assign")
private String currentAssign;
private static final long serialVersionUID = 1L;
......
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
......@@ -9,18 +10,23 @@ import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
@ApiModel(value = "com-junmp-jyzb-domain-EquipmentSize")
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("base_equipment_size")
@Document(indexName = "size_pinyin")
@JsonIgnoreProperties(ignoreUnknown = true)
public class EquipmentSize implements Serializable {
/**
* 装备号型ID
*/
@ApiModelProperty(value = "装备号型ID")
@TableField("id")
@Id
private String id;
/**
......
......@@ -83,6 +83,11 @@ public class Reassignment implements Serializable {
private String examineState;
/**
* 当前审核人
*/
@TableField(value = "current_assign")
private String currentAssign;
/**
* 经办人
*/
@TableField(value = "user_name")
......
......@@ -25,7 +25,11 @@ public class Stocktake implements Serializable {
*/
@TableField(value = "process_id")
private String processId;
/**
* 当前审核人
*/
@TableField(value = "current_assign")
private String currentAssign;
/**
* 单据业务类型:盘库stocktake
*/
......
......@@ -12,9 +12,11 @@ import com.junmp.junmpProcess.exception.WorkFlowException;
import com.junmp.junmpProcess.mapper.OrgUserMapper;
import com.junmp.junmpProcess.service.Repository.ProcessTemplateService;
import com.junmp.jyzb.api.exception.enums.OrderExceptionEnum;
import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.entity.SupplierType;
import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.service.BusFormService;
import com.junmp.jyzb.service.OrderMainService;
import com.junmp.jyzb.service.ReassignmentService;
import com.junmp.jyzb.service.StocktakeService;
import com.junmp.v2.auth.api.bean.login.LoginUser;
import com.junmp.v2.auth.api.context.LoginContext;
import com.junmp.v2.common.exception.base.ServiceException;
......@@ -53,14 +55,18 @@ public class CounterSignListener implements ExecutionListener {
@Resource
public OrderMainService orderMainService;
@Resource
private StocktakeService stocktakeService;
@Resource
public BusFormService busFormService;
@Resource
private MessageApi messageApi;
@Resource
private RepositoryService repositoryService;
@Resource
private OrgUserMapper orgUserMapper;
@Resource
private HistoryService historyService;
private ReassignmentService reassignmentService;
@Override
public void notify(DelegateExecution execution) {
String currentActivityId = execution.getCurrentActivityId();
......@@ -201,15 +207,49 @@ public class CounterSignListener implements ExecutionListener {
{
OrderMain om= orderMainService.getOne(new LambdaQueryWrapper<OrderMain>()
.eq(OrderMain::getProcessId, execution.getProcessInstanceId()));
if (om!=null)//判断有没有启动的当前单据
if (om!=null&&assigneeList.size()>0)//判断有没有启动的当前单据,并且下一审核人信息不为空,有启动的单据则把审核人信息加入
{
List<String> currentAssigneeList = (List<String>) om;
String assigneeString = String.join(",", currentAssigneeList);
String assigneeString = String.join(",", assigneeList);
om.setCurrentAssign(assigneeString);
orderMainService.updateById(om);
}
}
else if (orderType.equals("reassigment"))//调岗相关
{
Reassignment re= reassignmentService.getOne(new LambdaQueryWrapper<Reassignment>()
.eq(Reassignment::getProcessId, execution.getProcessInstanceId()));
if (re!=null&&assigneeList.size()>0)//判断有没有启动的当前单据,并且下一审核人信息不为空,有启动的单据则把审核人信息加入
{
String assigneeString = String.join(",", assigneeList);
re.setCurrentAssign(assigneeString);
reassignmentService.updateById(re);
}
}
else if (orderType.equals("bussinessOrder"))//业务单据
{
BusForm re= busFormService.getOne(new LambdaQueryWrapper<BusForm>()
.eq(BusForm::getProcessId, execution.getProcessInstanceId()));
if (re!=null&&assigneeList.size()>0)//判断有没有启动的当前单据,并且下一审核人信息不为空,有启动的单据则把审核人信息加入
{
String assigneeString = String.join(",", assigneeList);
re.setCurrentAssign(assigneeString);
busFormService.updateById(re);
}
}
else if (orderType.equals("stocktakeOrder"))//业务单据
{
Stocktake re= stocktakeService.getOne(new LambdaQueryWrapper<Stocktake>()
.eq(Stocktake::getProcessId, execution.getProcessInstanceId()));
if (re!=null&&assigneeList.size()>0)//判断有没有启动的当前单据,并且下一审核人信息不为空,有启动的单据则把审核人信息加入
{
String assigneeString = String.join(",", assigneeList);
re.setCurrentAssign(assigneeString);
stocktakeService.updateById(re);
}
}
assigneeList.forEach(userId->//为相应的用户推送消息
{
if (userId!=LoginContext.getContext().getLoginUser().getUserId().toString())//非本人审核单据
......
......@@ -11,6 +11,8 @@ import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
public interface EquipmentSizeService extends IService<EquipmentSize> {
Object addEs();
String addSize(UpdateEquipmentSizeReq req);
EquipmentSize getOneSize(QueryEquipmentSizeReq req);
......
......@@ -106,8 +106,11 @@ public class BusFormServiceImpl extends ServiceImpl<BusFormMapper, BusForm> impl
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
busForm.setProcessId(ProcessInstanceId);
String assigns= FlowInstanceService.GetNextAssign(ProcessInstanceId);//这里需要手动更新审核人信息
busForm.setCurrentAssign(assigns);
}
if(ObjectUtil.isNotNull(req.getId())){
//已经是一个草稿,在点击提交的时候只需要更新即可,因为数据库中已经存在该单据
updateById(busForm);
......
......@@ -4,12 +4,16 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.Repository.SizeRepository;
import com.junmp.jyzb.Repository.TypeRepository;
import com.junmp.jyzb.api.bean.dto.EquipmentSizeDto;
import com.junmp.jyzb.api.bean.dto.EquipmentTypeDto;
import com.junmp.jyzb.api.bean.query.QueryEquipmentSizeReq;
import com.junmp.jyzb.api.bean.query.QueryEquipmentTypeReq;
import com.junmp.jyzb.api.bean.req.UpdateEquipmentSizeReq;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.entity.EquipmentSize;
import com.junmp.jyzb.entity.EquipmentType;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.jyzb.mapper.EquipmentTypeMapper;
import com.junmp.jyzb.service.EquipmentSizeService;
......@@ -22,6 +26,7 @@ import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import com.junmp.jyzb.mapper.EquipmentSizeMapper;
......@@ -35,8 +40,16 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
@Resource
private EquipmentSizeMapper equipmentSizeMapper;
@Autowired
private SizeRepository sizeRepository;
@Override
public Object addEs() {
QueryEquipmentTypeReq req =new QueryEquipmentTypeReq();
req.setType(0);
List<EquipmentSize> esDto=this.list();
return sizeRepository.saveAll(esDto);
}
@Override
public String addSize(UpdateEquipmentSizeReq req) {
EquipmentSize size = new EquipmentSize();
......@@ -44,6 +57,7 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
BeanPlusUtil.copyProperties(req, size);
size.setId(sizeID);
this.save(size);
sizeRepository.save(size);
return sizeID;
}
......@@ -54,6 +68,7 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
@Override
public Boolean deleteSize(UpdateEquipmentSizeReq req) {
sizeRepository.deleteById(Long.valueOf(req.getId()));
return this.removeById(req.getId());
}
......@@ -62,6 +77,7 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
public Boolean updateSize(UpdateEquipmentSizeReq req) {
EquipmentSize size = this.querySize(req);
BeanPlusUtil.copyProperties(req, size);
sizeRepository.save(size);
return this.updateById(size);
}
......@@ -69,6 +85,7 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
public Boolean changeSizeState(UpdateEquipmentSizeReq req) {
EquipmentSize size = this.querySize(req);
size.setState(Integer.valueOf(req.getState()));
sizeRepository.save(size);
return this.updateById(size);
}
......
......@@ -276,7 +276,7 @@ public class EquipmentTypeServiceImpl extends ServiceImpl<EquipmentTypeMapper, E
ElasticsearchUtil es=new ElasticsearchUtil<>(client);
// 先从ES中拿到检索数据
List<EquipmentType> searchResults = es.searchEntities("type_pinyin","name",0, 10, req.getTypeName(),EquipmentType.class);
List<EquipmentType> searchResults = es.searchEntities("type_pinyin","name",0, 50, req.getTypeName(),EquipmentType.class);
LambdaQueryWrapper<EquipmentType> wp = this.createWrapper(req);
// 获取所有组织机构数据
List<EquipmentType> allTypes = this.list(wp);
......
......@@ -724,6 +724,8 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
startProcessInstanceDTO.setUserId(req.getUserId());
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
reassignment.setProcessId(ProcessInstanceId);
String assigns= FlowInstanceService.GetNextAssign(ProcessInstanceId);//这里需要手动更新审核人信息
reassignment.setCurrentAssign(assigns);
reassignmentService.updateById(reassignment);
}
return reassignment.getId();
......
......@@ -83,6 +83,11 @@ public class StocktakeServiceImpl extends ServiceImpl<StocktakeMapper, Stocktake
startProcessInstanceDTO.setUserId(req.getUserId());
String ProcessInstanceId= FlowInstanceService.startProcessInstanceById(startProcessInstanceDTO);
stocktake.setProcessId(ProcessInstanceId);
String assigns= FlowInstanceService.GetNextAssign(ProcessInstanceId);//这里需要手动更新审核人信息
stocktake.setCurrentAssign(assigns);
updateById(stocktake);
}
this.save(stocktake);
return stocktake.getId();
......
......@@ -35,11 +35,11 @@ public class ElasticsearchUtil<T> {
builder.size(pageSize);
MatchQueryBuilder matchQueryBuilder = QueryBuilders.matchQuery(index, keyword).operator(Operator.AND);
MatchQueryBuilder matchQueryBuilder2 = QueryBuilders.matchQuery(index+".pinyin", keyword).operator(Operator.AND);
// MatchQueryBuilder matchQueryBuilder2 = QueryBuilders.matchQuery(index+".pinyin", keyword).operator(Operator.AND);
BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery();
boolQueryBuilder.should(matchQueryBuilder);
boolQueryBuilder.should(matchQueryBuilder2);
// boolQueryBuilder.should(matchQueryBuilder2);
if (typeName.equals("orgName"))
{
builder.postFilter(new TermQueryBuilder("delFlag", 1));
......
......@@ -39,6 +39,13 @@ public interface IFlowInstanceService {
String startProcessInstanceById(StartProcessInstanceDTO processInstanceDto);
/**
* 获取下一审核人信息
*
* @return
*/
String GetNextAssign(String processInstanceId);
/**
* 通过流程实例id獲取表單ID
*
* @return
......
......@@ -33,6 +33,7 @@ import org.flowable.engine.repository.ProcessDefinition;
import org.flowable.engine.runtime.ProcessInstance;
import org.flowable.engine.runtime.ProcessInstanceBuilder;
import org.flowable.task.api.Task;
import org.flowable.variable.api.history.HistoricVariableInstance;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
......@@ -103,6 +104,24 @@ public class FlowInstanceServiceImpl extends FlowServiceFactory implements IFlow
return historicProcessInstance;
}
///获取下一个审核人信息
@Override
public String GetNextAssign(String processInstanceId)
{
String assigneeString="";
Object assigneeObject = runtimeService.getVariable(processInstanceId, "currentAssignee");
if (assigneeObject instanceof List) {
List<String> assigneeList = (List<String>) assigneeObject;
assigneeString = String.join(",", assigneeList);
// 现在 assigneeString 中包含了集合元素用逗号拼接的字符串
}
return assigneeString;
}
@Override
public String startProcessInstanceById(StartProcessInstanceDTO processInstanceDto) {
SysUser StartUser=new SysUser();
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论