|
@ -4,11 +4,16 @@ import com.yihu.hos.common.constants.Constants;
|
|
|
import com.yihu.hos.core.file.FileUtil;
|
|
|
import com.yihu.hos.services.ServiceFlowEventService;
|
|
|
import com.yihu.hos.system.dao.FlowClassDao;
|
|
|
import com.yihu.hos.system.dao.FlowTempDao;
|
|
|
import com.yihu.hos.system.dao.intf.IFlowClassDao;
|
|
|
import com.yihu.hos.system.dao.intf.IFlowDao;
|
|
|
import com.yihu.hos.system.dao.intf.IFlowTempDao;
|
|
|
import com.yihu.hos.system.model.SystemServiceFlow;
|
|
|
import com.yihu.hos.system.model.SystemServiceFlowClass;
|
|
|
import com.yihu.hos.system.model.SystemServiceFlowTemp;
|
|
|
import com.yihu.hos.system.service.intf.IFlowManage;
|
|
|
import com.yihu.hos.web.framework.model.DictItem;
|
|
|
import com.yihu.hos.web.framework.model.DictionaryResult;
|
|
|
import com.yihu.hos.web.framework.model.Result;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
@ -17,6 +22,7 @@ import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.io.IOException;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@ -39,6 +45,8 @@ public class FlowManager implements IFlowManage {
|
|
|
@Resource(name = FlowClassDao.BEAN_ID)
|
|
|
private IFlowClassDao flowClassDao;
|
|
|
|
|
|
@Resource(name = FlowTempDao.BEAN_ID)
|
|
|
private IFlowTempDao flowTempDao;
|
|
|
@Autowired
|
|
|
ServiceFlowEventService serviceFlowEventService;
|
|
|
|
|
@ -56,12 +64,21 @@ public class FlowManager implements IFlowManage {
|
|
|
public Result addFlow(SystemServiceFlow obj) throws Exception {
|
|
|
obj.setCreateDate(new Date());
|
|
|
flowDao.saveEntity(obj);
|
|
|
List<SystemServiceFlowClass> flowClassList = obj.getFlowClassArray();
|
|
|
for (SystemServiceFlowClass flowClass:flowClassList){
|
|
|
flowClass.setFlowId(obj.getId());
|
|
|
flowDao.saveEntity(flowClass);
|
|
|
//发送消息到MQ对列
|
|
|
sendUpdateMessage(obj.getCode(), flowClass, Constants.FLOW_OP_ADD);
|
|
|
|
|
|
if (Constants.CLASS.equals(obj.getFileType())){
|
|
|
List<SystemServiceFlowClass> flowClassList = obj.getFlowClassArray();
|
|
|
for (SystemServiceFlowClass flowClass:flowClassList){
|
|
|
flowClass.setFlowId(obj.getId());
|
|
|
flowDao.saveEntity(flowClass);
|
|
|
//发送消息到MQ对列
|
|
|
sendUpdateMessage(obj.getCode(), flowClass, Constants.FLOW_OP_ADD);
|
|
|
}
|
|
|
}else if (Constants.JAVA.equals(obj.getFileType())){
|
|
|
List<SystemServiceFlowTemp> flowTempList = obj.getFlowTempArray();
|
|
|
for (SystemServiceFlowTemp flowTemp:flowTempList){
|
|
|
flowTemp.setFlowId(obj.getId());
|
|
|
flowDao.saveEntity(flowTemp);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
return Result.success("保存成功");
|
|
@ -77,30 +94,45 @@ public class FlowManager implements IFlowManage {
|
|
|
flow.setValid(obj.getValid());
|
|
|
flow.setFileType(obj.getFileType());
|
|
|
|
|
|
List<Integer> classIds = flowClassDao.getFlowClassIds(obj.getId());//原flowclass集合
|
|
|
List<SystemServiceFlowClass> flowClassList = obj.getFlowClassArray();
|
|
|
for (SystemServiceFlowClass flowClass:flowClassList){
|
|
|
if (flowClass.getId()!=null) {
|
|
|
classIds.remove(flowClass.getId());
|
|
|
flowClassDao.updateEntity(flowClass);
|
|
|
sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_UPDATE);
|
|
|
}else {
|
|
|
flowClassDao.saveEntity(flowClass);
|
|
|
sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_ADD);
|
|
|
|
|
|
if (Constants.JAVA.equals(flow.getFileType())){
|
|
|
List<SystemServiceFlowTemp> flowTempList = obj.getFlowTempArray();
|
|
|
boolean succ = flowTempDao.deleteFlowTempByFlowId(obj.getId());
|
|
|
if (succ){
|
|
|
for (SystemServiceFlowTemp flowTemp:flowTempList){
|
|
|
flowTempDao.saveEntity(flowTemp);
|
|
|
}
|
|
|
}
|
|
|
}else if (Constants.CLASS.equals(flow.getFileType())){
|
|
|
List<Integer> classIds = flowClassDao.getFlowClassIds(obj.getId());//原flowclass集合
|
|
|
List<SystemServiceFlowClass> flowClassList = obj.getFlowClassArray();
|
|
|
for (SystemServiceFlowClass flowClass:flowClassList){
|
|
|
if (flowClass.getId()!=null) {
|
|
|
classIds.remove(flowClass.getId());
|
|
|
flowClassDao.updateEntity(flowClass);
|
|
|
sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_UPDATE);
|
|
|
}else {
|
|
|
flowClassDao.saveEntity(flowClass);
|
|
|
sendUpdateMessage(flow.getCode(), flowClass, Constants.FLOW_OP_ADD);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//删除判断
|
|
|
if (classIds !=null && classIds.size()>0){
|
|
|
for (Integer id:classIds){
|
|
|
SystemServiceFlowClass flowClass = getFlowClassById(id);
|
|
|
flowClassDao.deleteEntity(flowClass);
|
|
|
sendDeleteMessage(flow.getCode(), flowClass);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
flowDao.updateEntity(flow);
|
|
|
|
|
|
//删除判断
|
|
|
if (classIds !=null && classIds.size()>0){
|
|
|
for (Integer id:classIds){
|
|
|
SystemServiceFlowClass flowClass = getFlowClassById(id);
|
|
|
flowClassDao.deleteEntity(flowClass);
|
|
|
sendDeleteMessage(flow.getCode(), flowClass);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
return Result.success("更新成功");
|
|
|
}
|
|
@ -114,6 +146,7 @@ public class FlowManager implements IFlowManage {
|
|
|
//发送消息到MQ对列
|
|
|
sendDeleteMessage(flow.getCode(), flowClass);
|
|
|
}
|
|
|
boolean succ = flowTempDao.deleteFlowTempByFlowId(id);
|
|
|
flowDao.deleteEntity(flow);
|
|
|
return Result.success("删除成功");
|
|
|
|
|
@ -153,6 +186,10 @@ public class FlowManager implements IFlowManage {
|
|
|
return succ;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public List<SystemServiceFlowTemp> getFlowTempByFlowId(Integer id) throws Exception {
|
|
|
return flowTempDao.getFlowTempByFlowId(id);
|
|
|
}
|
|
|
|
|
|
|
|
|
@Override
|
|
@ -214,4 +251,29 @@ public class FlowManager implements IFlowManage {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取流程列表
|
|
|
* @param type 流程的文件类型
|
|
|
* @return
|
|
|
* @throws Exception
|
|
|
*/
|
|
|
@Override
|
|
|
public DictionaryResult getFlowList(String type) throws Exception {
|
|
|
List<SystemServiceFlow> flowList = flowDao.getFlowList(type);
|
|
|
DictionaryResult re = new DictionaryResult("FLOW_LIST");
|
|
|
if(flowList!=null&&flowList.size()>0)
|
|
|
{
|
|
|
List<DictItem> dictList = new ArrayList<>();
|
|
|
for(SystemServiceFlow item:flowList){
|
|
|
DictItem dict = new DictItem();
|
|
|
dict.setCode(item.getId().toString());
|
|
|
dict.setValue(item.getName());
|
|
|
dict.setExtend("");
|
|
|
dictList.add(dict);
|
|
|
}
|
|
|
re.setDetailModelList(dictList);
|
|
|
}
|
|
|
return re;
|
|
|
}
|
|
|
|
|
|
}
|