Commit e60ef349 by 赵剑炜

整合2

parent c84d6cf3
package com.junmp.gold.api.bean.dto;
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
......
package com.junmp.gold.api.bean.dto;
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
......
package com.junmp.gold.api.bean.dto;
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
......
package com.junmp.gold.api.bean.dto;
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
......
package com.junmp.gold.api.bean.req;
package com.junmp.jyzb.api.bean.req;
import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.validator.api.validators.unique.TableUniqueValue;
......
package com.junmp.gold.api.bean.req;
package com.junmp.jyzb.api.bean.req;
import lombok.Data;
......
package com.junmp.gold.api.bean.req;
package com.junmp.jyzb.api.bean.req;
import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.validator.api.validators.unique.TableUniqueValue;
......
package com.junmp.gold.api.bean.req;
package com.junmp.jyzb.api.bean.req;
import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.validator.api.validators.unique.TableUniqueValue;
......
package com.junmp.gold.api.bean.req;
package com.junmp.jyzb.api.bean.req;
import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data;
......
package com.junmp.gold.api.bean.req;
package com.junmp.jyzb.api.bean.req;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.validator.api.validators.unique.TableUniqueValue;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* <pre>
......
package com.junmp.gold.api.bean.vo;
package com.junmp.jyzb.api.bean.vo;
import lombok.AllArgsConstructor;
import lombok.Data;
......
package com.junmp.gold.api.bean.vo;
package com.junmp.jyzb.api.bean.vo;
import lombok.Data;
......
package com.junmp.gold.api.bean.vo;
package com.junmp.jyzb.api.bean.vo;
import lombok.Data;
......
package com.junmp.gold.api.bean.vo;
package com.junmp.jyzb.api.bean.vo;
import lombok.Builder;
import lombok.Data;
......
package com.junmp.gold.api.constant;
package com.junmp.jyzb.api.constant;
/**
* <pre>
......
package com.junmp.gold.api.exception;
package com.junmp.jyzb.api.exception;
import cn.hutool.core.util.StrUtil;
import com.junmp.gold.api.constant.JYZBConstant;
import com.junmp.jyzb.api.constant.JYZBConstant;
import com.junmp.v2.common.exception.IExceptionEnum;
import com.junmp.v2.common.exception.base.ServiceException;
......
package com.junmp.gold.api.exception.enums;
package com.junmp.jyzb.api.exception.enums;
import com.junmp.gold.api.constant.JYZBConstant;
import com.junmp.jyzb.api.constant.JYZBConstant;
import com.junmp.v2.common.constant.CommonConstant;
import com.junmp.v2.common.exception.IExceptionEnum;
import lombok.Getter;
......
package com.junmp.gold.api.exception.enums;
package com.junmp.jyzb.api.exception.enums;
import com.junmp.gold.api.constant.JYZBConstant;
import com.junmp.jyzb.api.constant.JYZBConstant;
import com.junmp.v2.common.constant.CommonConstant;
import com.junmp.v2.common.exception.IExceptionEnum;
import lombok.Getter;
......
......@@ -10,4 +10,4 @@
*
* </pre>
*/
package com.junmp.gold.api.exception.enums;
package com.junmp.jyzb.api.exception.enums;
package com.junmp.gold.api.util;
package com.junmp.jyzb.api.util;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
......
package com.junmp.gold.cache;
package com.junmp.jyzb.cache;
import com.junmp.gold.api.constant.JYZBConstant;
import com.junmp.jyzb.api.constant.JYZBConstant;
import com.junmp.v2.cache.AbstractRedisCache;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
......
package com.junmp.gold.controller;
package com.junmp.jyzb.controller;
import cn.hutool.core.util.StrUtil;
import com.junmp.gold.api.bean.req.CompanyReq;
import com.junmp.gold.doc.CompanyDoc;
import com.junmp.gold.entity.Company;
import com.junmp.gold.service.CompanyService;
import com.junmp.jyzb.api.bean.req.CompanyReq;
import com.junmp.jyzb.doc.CompanyDoc;
import com.junmp.jyzb.entity.Company;
import com.junmp.jyzb.service.CompanyService;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.exception.base.ServiceException;
......
package com.junmp.gold.controller;
package com.junmp.jyzb.controller;
import cn.hutool.core.util.StrUtil;
import com.junmp.gold.api.constant.JYZBConstant;
import com.junmp.gold.cache.GoldRedisCache;
import com.junmp.gold.doc.LoginDoc;
import com.junmp.jyzb.api.constant.JYZBConstant;
import com.junmp.jyzb.cache.GoldRedisCache;
import com.junmp.jyzb.doc.LoginDoc;
import com.junmp.v2.auth.api.bean.auth.LoginReq;
import com.junmp.v2.auth.api.bean.auth.LoginRes;
import com.junmp.v2.auth.sign.AuthContainer;
......
package com.junmp.gold.controller;
package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.junmp.gold.api.bean.dto.ProductBatchDto;
import com.junmp.gold.api.bean.dto.ProductProcessDto;
import com.junmp.gold.api.bean.req.ProductBatchReq;
import com.junmp.gold.api.exception.enums.ProductExceptionEnum;
import com.junmp.gold.api.util.GenCodeUtil;
import com.junmp.gold.doc.ProductBatchDoc;
import com.junmp.gold.entity.ProductBatch;
import com.junmp.gold.entity.ProductTag;
import com.junmp.gold.service.ProductBatchService;
import com.junmp.gold.service.ProductTagService;
import com.junmp.jyzb.api.bean.dto.ProductBatchDto;
import com.junmp.jyzb.api.bean.dto.ProductProcessDto;
import com.junmp.jyzb.api.bean.req.ProductBatchReq;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.doc.ProductBatchDoc;
import com.junmp.jyzb.entity.ProductBatch;
import com.junmp.jyzb.entity.ProductTag;
import com.junmp.jyzb.service.ProductBatchService;
import com.junmp.jyzb.service.ProductTagService;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.exception.base.ServiceException;
......
package com.junmp.gold.controller;
package com.junmp.jyzb.controller;
import com.junmp.gold.api.bean.req.ProductReq;
import com.junmp.gold.doc.ProductDoc;
import com.junmp.gold.entity.Product;
import com.junmp.gold.service.ProductService;
import com.junmp.jyzb.api.bean.req.ProductReq;
import com.junmp.jyzb.doc.ProductDoc;
import com.junmp.jyzb.entity.Product;
import com.junmp.jyzb.service.ProductService;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import lombok.extern.slf4j.Slf4j;
......
package com.junmp.gold.controller;
package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil;
import com.junmp.gold.api.bean.req.ProductSkuReq;
import com.junmp.gold.api.bean.vo.ProductSkuVo;
import com.junmp.gold.doc.ProductSkuDoc;
import com.junmp.gold.entity.ProductSku;
import com.junmp.gold.service.ProductSkuService;
import com.junmp.jyzb.api.bean.req.ProductSkuReq;
import com.junmp.jyzb.api.bean.vo.ProductSkuVo;
import com.junmp.jyzb.doc.ProductSkuDoc;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.jyzb.service.ProductSkuService;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.exception.base.ServiceException;
......
package com.junmp.gold.controller;
package com.junmp.jyzb.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.HexUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.junmp.gold.api.bean.dto.ProductTagDto;
import com.junmp.gold.api.bean.req.ProductTagReq;
import com.junmp.gold.api.bean.vo.TagInfoVo;
import com.junmp.gold.api.exception.enums.ProductExceptionEnum;
import com.junmp.gold.doc.ProductTagDoc;
import com.junmp.gold.entity.ProductTag;
import com.junmp.gold.service.ProductTagService;
import com.junmp.jyzb.api.bean.dto.ProductTagDto;
import com.junmp.jyzb.api.bean.req.ProductTagReq;
import com.junmp.jyzb.api.bean.vo.TagInfoVo;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.doc.ProductTagDoc;
import com.junmp.jyzb.entity.ProductTag;
import com.junmp.jyzb.service.ProductTagService;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.exception.enums.DefaultBizExceptionEnum;
import com.junmp.v2.db.api.page.PageResult;
......
package com.junmp.gold.controller;
package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.AES;
import com.junmp.gold.api.bean.req.DbAccessReq;
import com.junmp.gold.api.bean.vo.AuthAccessVo;
import com.junmp.jyzb.api.bean.req.DbAccessReq;
import com.junmp.jyzb.api.bean.vo.AuthAccessVo;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.exception.enums.DefaultBizExceptionEnum;
import lombok.extern.slf4j.Slf4j;
......
package com.junmp.gold.doc;
package com.junmp.jyzb.doc;
import com.junmp.gold.api.bean.req.CompanyReq;
import com.junmp.gold.entity.Company;
import com.junmp.jyzb.api.bean.req.CompanyReq;
import com.junmp.jyzb.entity.Company;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
......
package com.junmp.gold.doc;
package com.junmp.jyzb.doc;
import com.junmp.v2.auth.api.bean.auth.LoginReq;
import com.junmp.v2.auth.api.bean.auth.LoginRes;
import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestBody;
/**
* <pre>
......
package com.junmp.gold.doc;
package com.junmp.jyzb.doc;
import com.junmp.gold.api.bean.dto.ProductBatchDto;
import com.junmp.gold.api.bean.dto.ProductProcessDto;
import com.junmp.gold.api.bean.req.ProductBatchReq;
import com.junmp.jyzb.api.bean.dto.ProductBatchDto;
import com.junmp.jyzb.api.bean.dto.ProductProcessDto;
import com.junmp.jyzb.api.bean.req.ProductBatchReq;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
......
package com.junmp.gold.doc;
package com.junmp.jyzb.doc;
import com.junmp.gold.api.bean.req.CompanyReq;
import com.junmp.gold.api.bean.req.ProductReq;
import com.junmp.gold.entity.Company;
import com.junmp.gold.entity.Product;
import com.junmp.jyzb.api.bean.req.ProductReq;
import com.junmp.jyzb.entity.Product;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
......
package com.junmp.gold.doc;
package com.junmp.jyzb.doc;
import com.junmp.gold.api.bean.req.ProductSkuReq;
import com.junmp.gold.api.bean.vo.ProductSkuVo;
import com.junmp.gold.entity.ProductSku;
import com.junmp.jyzb.api.bean.req.ProductSkuReq;
import com.junmp.jyzb.api.bean.vo.ProductSkuVo;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
......
package com.junmp.gold.doc;
package com.junmp.jyzb.doc;
import com.junmp.gold.api.bean.req.ProductTagReq;
import com.junmp.gold.api.bean.vo.TagInfoVo;
import com.junmp.gold.entity.ProductTag;
import com.junmp.jyzb.api.bean.req.ProductTagReq;
import com.junmp.jyzb.api.bean.vo.TagInfoVo;
import com.junmp.jyzb.entity.ProductTag;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestBody;
/**
......
package com.junmp.gold.entity;
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
......
package com.junmp.gold.entity;
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
......
package com.junmp.gold.entity;
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
......
package com.junmp.gold.entity;
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
......
package com.junmp.gold.entity;
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
......
package com.junmp.gold.mapper;
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.gold.entity.Company;
import com.junmp.jyzb.entity.Company;
import org.apache.ibatis.annotations.Mapper;
/**
......
package com.junmp.gold.mapper;
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.junmp.gold.api.bean.dto.ProductBatchDto;
import com.junmp.gold.api.bean.dto.ProductProcessDto;
import com.junmp.gold.api.bean.req.ProductBatchReq;
import com.junmp.gold.entity.ProductBatch;
import com.junmp.jyzb.api.bean.dto.ProductBatchDto;
import com.junmp.jyzb.api.bean.dto.ProductProcessDto;
import com.junmp.jyzb.api.bean.req.ProductBatchReq;
import com.junmp.jyzb.entity.ProductBatch;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......
package com.junmp.gold.mapper;
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.gold.entity.Product;
import com.junmp.jyzb.entity.Product;
import org.apache.ibatis.annotations.Mapper;
/**
......
package com.junmp.gold.mapper;
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.gold.entity.ProductSku;
import com.junmp.jyzb.entity.ProductSku;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......
package com.junmp.gold.mapper;
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.gold.api.bean.dto.ProductTagDto;
import com.junmp.gold.api.bean.dto.SimpleTagDto;
import com.junmp.gold.entity.ProductTag;
import com.junmp.jyzb.api.bean.dto.ProductTagDto;
import com.junmp.jyzb.api.bean.dto.SimpleTagDto;
import com.junmp.jyzb.entity.ProductTag;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <pre>
*
......
package com.junmp.gold.service;
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.gold.api.bean.req.CompanyReq;
import com.junmp.gold.entity.Company;
import com.junmp.jyzb.api.bean.req.CompanyReq;
import com.junmp.jyzb.entity.Company;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
......
package com.junmp.gold.service;
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.gold.api.bean.dto.ProductBatchDto;
import com.junmp.gold.api.bean.dto.ProductProcessDto;
import com.junmp.gold.api.bean.req.ProductBatchReq;
import com.junmp.gold.entity.ProductBatch;
import com.junmp.jyzb.api.bean.dto.ProductBatchDto;
import com.junmp.jyzb.api.bean.dto.ProductProcessDto;
import com.junmp.jyzb.api.bean.req.ProductBatchReq;
import com.junmp.jyzb.entity.ProductBatch;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
......
package com.junmp.gold.service;
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.gold.api.bean.req.CompanyReq;
import com.junmp.gold.api.bean.req.ProductReq;
import com.junmp.gold.entity.Company;
import com.junmp.gold.entity.Product;
import com.junmp.jyzb.api.bean.req.ProductReq;
import com.junmp.jyzb.entity.Product;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
......
package com.junmp.gold.service;
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.gold.api.bean.req.ProductSkuReq;
import com.junmp.gold.entity.ProductSku;
import com.junmp.jyzb.api.bean.req.ProductSkuReq;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
......
package com.junmp.gold.service;
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.gold.api.bean.dto.ProductTagDto;
import com.junmp.gold.api.bean.req.ProductTagReq;
import com.junmp.gold.entity.ProductTag;
import com.junmp.jyzb.api.bean.dto.ProductTagDto;
import com.junmp.jyzb.api.bean.req.ProductTagReq;
import com.junmp.jyzb.entity.ProductTag;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
......
package com.junmp.gold.service.impl;
package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
......@@ -6,12 +6,12 @@ import cn.hutool.core.util.StrUtil;
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.gold.api.bean.req.CompanyReq;
import com.junmp.gold.api.exception.enums.CompanyExceptionEnum;
import com.junmp.gold.api.util.GenCodeUtil;
import com.junmp.gold.entity.Company;
import com.junmp.gold.mapper.CompanyMapper;
import com.junmp.gold.service.CompanyService;
import com.junmp.jyzb.api.bean.req.CompanyReq;
import com.junmp.jyzb.api.exception.enums.CompanyExceptionEnum;
import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.entity.Company;
import com.junmp.jyzb.mapper.CompanyMapper;
import com.junmp.jyzb.service.CompanyService;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
......
package com.junmp.gold.service.impl;
package com.junmp.jyzb.service.impl;
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.gold.api.bean.dto.ProductBatchDto;
import com.junmp.gold.api.bean.dto.ProductProcessDto;
import com.junmp.gold.api.bean.req.ProductBatchReq;
import com.junmp.gold.api.exception.enums.ProductExceptionEnum;
import com.junmp.gold.api.util.GenCodeUtil;
import com.junmp.gold.entity.ProductBatch;
import com.junmp.gold.mapper.ProductBatchMapper;
import com.junmp.gold.service.ProductBatchService;
import com.junmp.jyzb.api.bean.dto.ProductBatchDto;
import com.junmp.jyzb.api.bean.dto.ProductProcessDto;
import com.junmp.jyzb.api.bean.req.ProductBatchReq;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.entity.ProductBatch;
import com.junmp.jyzb.mapper.ProductBatchMapper;
import com.junmp.jyzb.service.ProductBatchService;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.exception.enums.DefaultBizExceptionEnum;
import com.junmp.v2.common.util.BeanPlusUtil;
......
package com.junmp.gold.service.impl;
package com.junmp.jyzb.service.impl;
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.gold.api.bean.req.CompanyReq;
import com.junmp.gold.api.bean.req.ProductReq;
import com.junmp.gold.api.exception.enums.CompanyExceptionEnum;
import com.junmp.gold.api.exception.enums.ProductExceptionEnum;
import com.junmp.gold.api.util.GenCodeUtil;
import com.junmp.gold.entity.Company;
import com.junmp.gold.entity.Product;
import com.junmp.gold.mapper.ProductMapper;
import com.junmp.gold.service.ProductService;
import com.junmp.gold.service.ProductSkuService;
import com.junmp.jyzb.api.bean.req.ProductReq;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.entity.Product;
import com.junmp.jyzb.mapper.ProductMapper;
import com.junmp.jyzb.service.ProductService;
import com.junmp.jyzb.service.ProductSkuService;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
......
package com.junmp.gold.service.impl;
package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
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.gold.api.bean.req.ProductSkuReq;
import com.junmp.gold.api.exception.JYZBAppException;
import com.junmp.gold.api.exception.enums.ProductExceptionEnum;
import com.junmp.gold.api.util.GenCodeUtil;
import com.junmp.gold.entity.Product;
import com.junmp.gold.entity.ProductSku;
import com.junmp.gold.mapper.ProductSkuMapper;
import com.junmp.gold.service.ProductService;
import com.junmp.gold.service.ProductSkuService;
import com.junmp.jyzb.api.bean.req.ProductSkuReq;
import com.junmp.jyzb.api.exception.JYZBAppException;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.entity.Product;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.jyzb.mapper.ProductSkuMapper;
import com.junmp.jyzb.service.ProductService;
import com.junmp.jyzb.service.ProductSkuService;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
......
package com.junmp.gold.service.impl;
package com.junmp.jyzb.service.impl;
import cn.hutool.core.collection.CollectionUtil;
......@@ -7,15 +7,15 @@ import cn.hutool.core.util.StrUtil;
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.gold.api.bean.dto.ProductTagDto;
import com.junmp.gold.api.bean.dto.SimpleTagDto;
import com.junmp.jyzb.api.bean.dto.ProductTagDto;
import com.junmp.jyzb.api.bean.dto.SimpleTagDto;
import com.junmp.gold.api.bean.req.ProductTagReq;
import com.junmp.gold.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.api.bean.req.ProductTagReq;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.gold.entity.ProductTag;
import com.junmp.gold.mapper.ProductTagMapper;
import com.junmp.gold.service.ProductTagService;
import com.junmp.jyzb.entity.ProductTag;
import com.junmp.jyzb.mapper.ProductTagMapper;
import com.junmp.jyzb.service.ProductTagService;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
......
<?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="com.junmp.gold.mapper.CompanyMapper">
<mapper namespace="com.junmp.jyzb.mapper.CompanyMapper">
<select id="getMaxSn" resultType="java.lang.Integer">
......
<?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="com.junmp.gold.mapper.ProductBatchMapper">
<mapper namespace="com.junmp.jyzb.mapper.ProductBatchMapper">
<select id="getMaxSn" resultType="java.lang.Integer">
......@@ -8,13 +8,13 @@
from biz_product_batch s1
</select>
<select id="getBatchProcess" resultType="com.junmp.gold.api.bean.dto.ProductBatchDto">
<select id="getBatchProcess" resultType="com.junmp.jyzb.api.bean.dto.ProductBatchDto">
select *
from v_product_batch_process
where batchId = #{batchId}
</select>
<select id="getBatchPage" resultType="com.junmp.gold.api.bean.dto.ProductBatchDto">
<select id="getBatchPage" resultType="com.junmp.jyzb.api.bean.dto.ProductBatchDto">
select * from v_product_batch_process s1 where 1=1
<if test="null != batch">
<if test="null != batch.batchId">
......@@ -33,7 +33,7 @@
order by s1.createTime desc
</select>
<select id="getBatchProcessPage" resultType="com.junmp.gold.api.bean.dto.ProductProcessDto">
<select id="getBatchProcessPage" resultType="com.junmp.jyzb.api.bean.dto.ProductProcessDto">
select * from v_product_batch_check s1 where 1=1
<if test="null != batch">
<if test="null != batch.batchId">
......
<?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="com.junmp.gold.mapper.ProductMapper">
<mapper namespace="com.junmp.jyzb.mapper.ProductMapper">
<select id="getMaxSn" resultType="java.lang.Integer">
......
<?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="com.junmp.gold.mapper.ProductSkuMapper">
<mapper namespace="com.junmp.jyzb.mapper.ProductSkuMapper">
<!-- 获取当前产品最大序号 -->
......
<?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="com.junmp.gold.mapper.ProductTagMapper">
<mapper namespace="com.junmp.jyzb.mapper.ProductTagMapper">
<!-- limit 0,1-->
<select id="getInitTagInfo" resultType="com.junmp.gold.api.bean.dto.SimpleTagDto">
<select id="getInitTagInfo" resultType="com.junmp.jyzb.api.bean.dto.SimpleTagDto">
select s1.tag_id as tagId,s1.product_code as productCode
from biz_product_tag s1
where s1.batch_id = #{batchId}
......@@ -12,7 +12,7 @@
order by s1.serial_id asc limit 0,1
</select>
<select id="getTagInfoByTagId" resultType="com.junmp.gold.api.bean.dto.ProductTagDto">
<select id="getTagInfoByTagId" resultType="com.junmp.jyzb.api.bean.dto.ProductTagDto">
SELECT s1.tagId,
s1.productCode,
s1.produceTime,
......
<?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="com.junmp.gold.mapper.CompanyMapper">
<mapper namespace="com.junmp.jyzb.mapper.CompanyMapper">
<select id="getMaxSn" resultType="java.lang.Integer">
......
<?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="com.junmp.gold.mapper.ProductBatchMapper">
<mapper namespace="com.junmp.jyzb.mapper.ProductBatchMapper">
<select id="getMaxSn" resultType="java.lang.Integer">
......@@ -8,13 +8,13 @@
from biz_product_batch s1
</select>
<select id="getBatchProcess" resultType="com.junmp.gold.api.bean.dto.ProductBatchDto">
<select id="getBatchProcess" resultType="com.junmp.jyzb.api.bean.dto.ProductBatchDto">
select *
from v_product_batch_process
where batchId = #{batchId}
</select>
<select id="getBatchPage" resultType="com.junmp.gold.api.bean.dto.ProductBatchDto">
<select id="getBatchPage" resultType="com.junmp.jyzb.api.bean.dto.ProductBatchDto">
select * from v_product_batch_process s1 where 1=1
<if test="null != batch">
<if test="null != batch.batchId">
......@@ -33,7 +33,7 @@
order by s1.createTime desc
</select>
<select id="getBatchProcessPage" resultType="com.junmp.gold.api.bean.dto.ProductProcessDto">
<select id="getBatchProcessPage" resultType="com.junmp.jyzb.api.bean.dto.ProductProcessDto">
select * from v_product_batch_check s1 where 1=1
<if test="null != batch">
<if test="null != batch.batchId">
......
<?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="com.junmp.gold.mapper.ProductMapper">
<mapper namespace="com.junmp.jyzb.mapper.ProductMapper">
<select id="getMaxSn" resultType="java.lang.Integer">
......
<?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="com.junmp.gold.mapper.ProductSkuMapper">
<mapper namespace="com.junmp.jyzb.mapper.ProductSkuMapper">
<!-- 获取当前产品最大序号 -->
......
<?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="com.junmp.gold.mapper.ProductTagMapper">
<mapper namespace="com.junmp.jyzb.mapper.ProductTagMapper">
<!-- limit 0,1-->
<select id="getInitTagInfo" resultType="com.junmp.gold.api.bean.dto.SimpleTagDto">
<select id="getInitTagInfo" resultType="com.junmp.jyzb.api.bean.dto.SimpleTagDto">
select s1.tag_id as tagId,s1.product_code as productCode
from biz_product_tag s1
where s1.batch_id = #{batchId}
......@@ -12,7 +12,7 @@
order by s1.serial_id asc limit 0,1
</select>
<select id="getTagInfoByTagId" resultType="com.junmp.gold.api.bean.dto.ProductTagDto">
<select id="getTagInfoByTagId" resultType="com.junmp.jyzb.api.bean.dto.ProductTagDto">
SELECT s1.tagId,
s1.productCode,
s1.produceTime,
......
......@@ -12,7 +12,15 @@
<name>jyzb-boot</name>
<dependencies>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
</dependency>
<dependency>
<groupId>p6spy</groupId>
<artifactId>p6spy</artifactId>
......@@ -77,7 +85,10 @@
<groupId>com.junmp.jyzb</groupId>
<artifactId>jyzb-biz</artifactId>
</dependency>
<dependency>
<groupId>com.junmp.jyzb</groupId>
<artifactId>jyzb-process</artifactId>
</dependency>
</dependencies>
<build>
......
......@@ -25,17 +25,90 @@ knife4j:
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver #com.mysql.cj.jdbc.Driver
url: jdbc:p6spy:mysql://127.0.0.1:3306/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
# driver-class-name: com.p6spy.engine.spy.P6SpyDriver #com.mysql.cj.jdbc.Driver
# url: jdbc:p6spy:mysql://127.0.0.1:3306/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
url: jdbc:mysql://${MYSQL_HOST:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DB:db_jyzb}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true&queryTimeout=2400&nullCatalogMeansCurrent=true
username: junmp123
password: 123456
dynamic:
druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
# 连接池的配置信息
# 初始化大小,最小,最大
initial-size: 5
min-idle: 5
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# 打开PSCache,并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall,slf4j
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource:
master:
url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
# 多数据源配置
#multi-datasource1:
#url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
#username: root
#password: root
#driver-class-name: com.mysql.cj.jdbc.Driver
#===================== 数据源配置 =====================
redis:
host: 127.0.0.1
port: 6379
database: 1
password:
flowable:
dmn:
enabled: false
cmmn:
enabled: false
idm:
enabled: false
async-history-executor-activate: false
async-executor-activate: false
check-process-definitions: false
content:
enabled: false
app:
enabled: false
eventregistry:
enabled: false
#mybatis plus 设置
mybatis-plus:
mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml
global-config:
# 关闭MP3.0自带的banner
banner: false
db-config:
#主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)";
id-type: ASSIGN_ID
# 默认数据库表下划线命名
table-underline: true
configuration:
# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 返回类型为Map,显示null对应的字段
call-setters-on-nulls: true
......@@ -25,17 +25,90 @@ knife4j:
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver #com.mysql.cj.jdbc.Driver
url: jdbc:p6spy:mysql://127.0.0.1:3306/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
# driver-class-name: com.p6spy.engine.spy.P6SpyDriver #com.mysql.cj.jdbc.Driver
# url: jdbc:p6spy:mysql://127.0.0.1:3306/db_jyzb?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=CTT&nullCatalogMeansCurrent=true
url: jdbc:mysql://${MYSQL_HOST:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DB:db_jyzb}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true&queryTimeout=2400&nullCatalogMeansCurrent=true
username: junmp123
password: 123456
dynamic:
druid: # 全局druid参数,绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
# 连接池的配置信息
# 初始化大小,最小,最大
initial-size: 5
min-idle: 5
maxActive: 20
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# 打开PSCache,并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall,slf4j
# 通过connectProperties属性来打开mergeSql功能;慢SQL记录
connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000
datasource:
master:
url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
# 多数据源配置
#multi-datasource1:
#url: jdbc:mysql://localhost:3306/jeecg-boot2?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
#username: root
#password: root
#driver-class-name: com.mysql.cj.jdbc.Driver
#===================== 数据源配置 =====================
redis:
host: 127.0.0.1
port: 6379
database: 1
password:
flowable:
dmn:
enabled: false
cmmn:
enabled: false
idm:
enabled: false
async-history-executor-activate: false
async-executor-activate: false
check-process-definitions: false
content:
enabled: false
app:
enabled: false
eventregistry:
enabled: false
#mybatis plus 设置
mybatis-plus:
mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml
global-config:
# 关闭MP3.0自带的banner
banner: false
db-config:
#主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)";
id-type: ASSIGN_ID
# 默认数据库表下划线命名
table-underline: true
configuration:
# 这个配置会将执行的sql打印出来,在开发或测试的时候可以用
# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 返回类型为Map,显示null对应的字段
call-setters-on-nulls: true
......@@ -11,6 +11,7 @@
<artifactId>jyzb-process</artifactId>
<version>1.0.0</version>
<properties>
<mysql.version>8.0.21</mysql.version>
<flowable.version>6.7.2</flowable.version>
<hutool-all.version>5.8.0</hutool-all.version>
<mybatis-plus.vesion>3.5.1</mybatis-plus.vesion>
......@@ -19,10 +20,21 @@
<guava.version>31.1-jre</guava.version>
<fastjson.version>1.2.83</fastjson.version>
<lombok.version>1.18.20</lombok.version>
<jackson.version>2.13.2</jackson.version>
<dynamic-datasource-spring-boot-starter.version>3.2.0</dynamic-datasource-spring-boot-starter.version>
<mysql-connector-java.version>8.0.27</mysql-connector-java.version>
</properties>
<dependencies>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
......@@ -40,6 +52,12 @@
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!-- mysql -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<!-- JSON 解析器和生成器 -->
<dependency>
<groupId>com.alibaba</groupId>
......@@ -136,6 +154,24 @@
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version> <!--加入版本信息-->
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0.1</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.0.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
......@@ -167,6 +203,23 @@
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>junmp-v2-common</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.4</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>xpp3</groupId>
<artifactId>xpp3</artifactId>
<version>1.1.4c</version>
<scope>compile</scope>
</dependency>
</dependencies>
<!-- <name>jyzb-process</name>-->
......
package com.junmp.junmpProcess.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.junmp.junmpProcess.doc.BpmnDoc;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.SneakyThrows;
......@@ -16,20 +18,24 @@ import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping("/Bpmn")
@Api(tags = "bnpm接口")
public class BpmnController {
public class BpmnController implements BpmnDoc {
@Autowired
private WorkProcessService ProcessService;
@SneakyThrows
@ApiOperation(value = "通过模板id查看流程信息 会附带流程定义id", notes = "获取所有Demo数据列表")
@Override
@PostMapping(value = "bpmn/create")
public boolean create(@RequestBody String nodeJson) {
ObjectMapper objectMapper = new ObjectMapper();
JsonNode jsonNode = objectMapper.readTree(nodeJson);
JsonNode jsonNode = null;
try {
jsonNode = objectMapper.readTree(nodeJson);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
return ProcessService.createBpmn(jsonNode);
}
}
package com.junmp.junmpProcess.controller;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import com.junmp.junmpProcess.common.R;
import com.junmp.junmpProcess.dto.FlowEngineDTO;
import com.junmp.junmpProcess.entity.ProcessTemplates;
import com.junmp.junmpProcess.service.Bussiness.SettingService;
import com.junmp.junmpProcess.vo.TemplateGroupVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
/**
* @author : willian fu
* @date : 2020/9/17
*/
@Slf4j
@RestController
@RequestMapping("/Setting")
@Api(tags = "和表单有关的接口")
public class SettingController {
@Autowired
private SettingService settingService;
/**
* 1>
*
* @param flowEngineDTO
* @return
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
@PostMapping("/form")
public Object saveForm(@RequestBody FlowEngineDTO flowEngineDTO) throws InvocationTargetException, IllegalAccessException {
settingService.jsonToBpmn(flowEngineDTO);
return R.ok("保存成功");
}
/**
* 查询所有表单分组
*
* @return
*/
@GetMapping("form/group")
public Object getFormGroups() {
return settingService.getFormGroups(null, null);
}
/**
* 表单分组排序
*
* @param groups 分组数据
* @return 排序结果
*/
@PutMapping("form/group/sort")
public Object formGroupsSort(@RequestBody List<TemplateGroupVo> groups) {
return settingService.formGroupsSort(groups);
}
/**
* 修改分组
*
* @param id 分组ID
* @param name 分组名
* @return 修改结果
*/
@PutMapping("form/group")
public Object updateFormGroupName(@RequestParam Integer id,
@RequestParam String name) {
return settingService.updateFormGroupName(id, name);
}
/**
* 新增表单分组
*
* @param name 分组名
* @return 添加结果
*/
@PostMapping("form/group")
public Object createFormGroup(@RequestParam String name) {
return settingService.createFormGroup(name);
}
/**
* 删除分组
*
* @param id 分组ID
* @return 删除结果
*/
@DeleteMapping("form/group")
public Object deleteFormGroup(@RequestParam Integer id) {
return settingService.deleteFormGroup(id);
}
/**
* 查询表单模板数据
*
* @param templateId 模板id
* @return 模板详情数据
*/
@GetMapping("form/detail/{formId}")
public Object getFormTemplateById(@PathVariable("formId") String templateId) {
return settingService.getFormTemplateById(templateId);
}
/**
* 编辑表单
*
* @param templateId 摸板ID
* @param type 类型 stop using delete
* @return 操作结果
*/
@PutMapping("form")
public Object updateForm(@RequestParam String templateId,
@RequestParam String type,
@RequestParam(required = false) Integer groupId) {
return settingService.updateForm(templateId, type, groupId);
}
/**
* 编辑表单详情
*
* @param template 表单模板信息
* @return 修改结果
*/
@PutMapping("form/detail")
public Object updateFormDetail(@RequestBody ProcessTemplates template) {
return settingService.updateFormDetail(template);
}
}
//package com.junmp.junmpProcess.controller;
//
//import io.swagger.annotations.Api;
//import lombok.extern.slf4j.Slf4j;
//import com.junmp.junmpProcess.common.R;
//import com.junmp.junmpProcess.dto.FlowEngineDTO;
//import com.junmp.junmpProcess.entity.ProcessTemplates;
//import com.junmp.junmpProcess.service.Bussiness.SettingService;
//import com.junmp.junmpProcess.vo.TemplateGroupVo;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.*;
//
//import java.lang.reflect.InvocationTargetException;
//import java.util.List;
//
///**
// * @author : willian fu
// * @date : 2020/9/17
// */
//@Slf4j
//@RestController
//@RequestMapping("/Setting")
//@Api(tags = "和表单有关的接口")
//
//
//public class SettingController {
//
// @Autowired
// private SettingService settingService;
//
// /**
// * 1>
// *
// * @param flowEngineDTO
// * @return
// * @throws InvocationTargetException
// * @throws IllegalAccessException
// */
// @PostMapping("/form")
// public Object saveForm(@RequestBody FlowEngineDTO flowEngineDTO) throws InvocationTargetException, IllegalAccessException {
// settingService.jsonToBpmn(flowEngineDTO);
// return R.ok("保存成功");
// }
//
// /**
// * 查询所有表单分组
// *
// * @return
// */
// @GetMapping("form/group")
// public Object getFormGroups() {
// return settingService.getFormGroups(null, null);
// }
//
// /**
// * 表单分组排序
// *
// * @param groups 分组数据
// * @return 排序结果
// */
// @PutMapping("form/group/sort")
// public Object formGroupsSort(@RequestBody List<TemplateGroupVo> groups) {
// return settingService.formGroupsSort(groups);
// }
//
// /**
// * 修改分组
// *
// * @param id 分组ID
// * @param name 分组名
// * @return 修改结果
// */
// @PutMapping("form/group")
// public Object updateFormGroupName(@RequestParam Integer id,
// @RequestParam String name) {
// return settingService.updateFormGroupName(id, name);
// }
//
// /**
// * 新增表单分组
// *
// * @param name 分组名
// * @return 添加结果
// */
// @PostMapping("form/group")
// public Object createFormGroup(@RequestParam String name) {
// return settingService.createFormGroup(name);
// }
//
// /**
// * 删除分组
// *
// * @param id 分组ID
// * @return 删除结果
// */
// @DeleteMapping("form/group")
// public Object deleteFormGroup(@RequestParam Integer id) {
// return settingService.deleteFormGroup(id);
// }
//
// /**
// * 查询表单模板数据
// *
// * @param templateId 模板id
// * @return 模板详情数据
// */
// @GetMapping("form/detail/{formId}")
// public Object getFormTemplateById(@PathVariable("formId") String templateId) {
// return settingService.getFormTemplateById(templateId);
// }
//
// /**
// * 编辑表单
// *
// * @param templateId 摸板ID
// * @param type 类型 stop using delete
// * @return 操作结果
// */
// @PutMapping("form")
// public Object updateForm(@RequestParam String templateId,
// @RequestParam String type,
// @RequestParam(required = false) Integer groupId) {
// return settingService.updateForm(templateId, type, groupId);
// }
//
// /**
// * 编辑表单详情
// *
// * @param template 表单模板信息
// * @return 修改结果
// */
// @PutMapping("form/detail")
// public Object updateFormDetail(@RequestBody ProcessTemplates template) {
// return settingService.updateFormDetail(template);
// }
//}
......@@ -35,7 +35,6 @@ import org.flowable.task.api.DelegationState;
import org.flowable.task.api.Task;
import org.flowable.task.api.history.HistoricTaskInstance;
import com.junmp.junmpProcess.common.Result;
import org.modules.junmpProcess.dto.*;
import com.junmp.junmpProcess.dto.json.ChildNode;
import com.junmp.junmpProcess.dto.json.FormOperates;
import com.junmp.junmpProcess.dto.json.SettingsInfo;
......@@ -43,7 +42,6 @@ import com.junmp.junmpProcess.dto.json.UserInfo;
import com.junmp.junmpProcess.entity.ProcessTemplates;
import com.junmp.junmpProcess.service.Repository.ProcessTemplateService;
import com.junmp.junmpProcess.service.Repository.UserService;
import org.modules.junmpProcess.vo.*;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
......
package com.junmp.junmpProcess.doc;public class BpmnDoc {
package com.junmp.junmpProcess.doc;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@Api(value = "bpmn接口", tags = "bpmn接口")
public interface BpmnDoc {
/**
* bpmn划线
*/
@ApiOperation(value = "bpmn划线", tags = "bpmn划线")
boolean create(String nodeJson);
}
package com.junmp.junmpProcess.listener;
import org.flowable.engine.RepositoryService;
import org.flowable.engine.RuntimeService;
import org.flowable.engine.TaskService;
import org.flowable.engine.delegate.TaskListener;
import org.flowable.task.service.delegate.DelegateTask;
import com.junmp.junmpProcess.utils.SpringContextHolder;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* @author LoveMyOrange
* @create 2022-10-15 14:51
*/
@Component
public class TaskCreatedListener implements TaskListener {
@Resource
private TaskService taskService;
@Resource
private RepositoryService repositoryService;
@Override
public void notify(DelegateTask delegateTask) {
String taskDefinitionKey = delegateTask.getTaskDefinitionKey();
if ("root".equalsIgnoreCase(taskDefinitionKey)) {
taskService.complete(delegateTask.getId());
} else {
if ("100000".equals(delegateTask.getAssignee())) {
Object autoRefuse = delegateTask.getVariable("autoRefuse");
if (autoRefuse == null) {
taskService.addComment(delegateTask.getId(), delegateTask.getProcessInstanceId(), "opinion", "审批人为空,自动通过");
taskService.complete(delegateTask.getId());
} else {
taskService.addComment(delegateTask.getId(), delegateTask.getProcessInstanceId(), "opinion", "审批人为空,自动驳回");
RuntimeService runtimeService = SpringContextHolder.getBean(RuntimeService.class);
runtimeService.deleteProcessInstance(delegateTask.getProcessInstanceId(), "审批人为空,自动驳回");
}
}
}
}
}
//package com.junmp.junmpProcess.listener;
//
//import org.flowable.engine.RepositoryService;
//import org.flowable.engine.RuntimeService;
//import org.flowable.engine.TaskService;
//import org.flowable.engine.delegate.TaskListener;
//import org.flowable.task.service.delegate.DelegateTask;
//import com.junmp.junmpProcess.utils.SpringContextHolder;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.Resource;
//
///**
// * @author LoveMyOrange
// * @create 2022-10-15 14:51
// */
//@Component
//public class TaskCreatedListener implements TaskListener {
// @Resource
// private TaskService taskService;
// @Resource
// private RepositoryService repositoryService;
//
// @Override
// public void notify(DelegateTask delegateTask) {
// String taskDefinitionKey = delegateTask.getTaskDefinitionKey();
// if ("root".equalsIgnoreCase(taskDefinitionKey)) {
// taskService.complete(delegateTask.getId());
// } else {
// if ("100000".equals(delegateTask.getAssignee())) {
// Object autoRefuse = delegateTask.getVariable("autoRefuse");
// if (autoRefuse == null) {
// taskService.addComment(delegateTask.getId(), delegateTask.getProcessInstanceId(), "opinion", "审批人为空,自动通过");
// taskService.complete(delegateTask.getId());
// } else {
// taskService.addComment(delegateTask.getId(), delegateTask.getProcessInstanceId(), "opinion", "审批人为空,自动驳回");
// RuntimeService runtimeService = SpringContextHolder.getBean(RuntimeService.class);
// runtimeService.deleteProcessInstance(delegateTask.getProcessInstanceId(), "审批人为空,自动驳回");
// }
// }
// }
// }
//}
package com.junmp.junmpProcess.service.Bussiness;
import com.junmp.junmpProcess.dto.FlowEngineDTO;
import com.junmp.junmpProcess.entity.ProcessTemplates;
import com.junmp.junmpProcess.vo.TemplateGroupVo;
import java.lang.reflect.InvocationTargetException;
import java.util.List;
/**
* @author : willian fu
* @date : 2020/9/21
*/
public interface SettingService {
/**
* 查询表单组
*
* @return 表单组数据
*/
Object getFormGroups(String token, String name);
/**
* 表单及分组排序
*
* @param groups 分组数据
* @return 排序结果
*/
Object formGroupsSort(List<TemplateGroupVo> groups);
/**
* 查询表单模板数据
*
* @param templateId 模板id
* @return 模板详情数据
*/
Object getFormTemplateById(String templateId);
/**
* 修改分组
*
* @param id 分组ID
* @param name 分组名
* @return 修改结果
*/
Object updateFormGroupName(Integer id, String name);
/**
* 新增表单分组
*
* @param name 分组名
* @return 添加结果
*/
Object createFormGroup(String name);
/**
* 删除分组
*
* @param id 分组ID
* @return 删除结果
*/
Object deleteFormGroup(Integer id);
/**
* 编辑表单
*
* @param templateId 摸板ID
* @param type 类型 stop using delete
* @return 操作结果
*/
Object updateForm(String templateId, String type, Integer groupId);
/**
* 编辑表单详情
*
* @param template 表单模板信息
* @return 修改结果
*/
Object updateFormDetail(ProcessTemplates template);
/**
* 保存表单
*
* @param
* @throws InvocationTargetException
* @throws IllegalAccessException
*/
void jsonToBpmn(FlowEngineDTO flowEngineDTO) throws InvocationTargetException, IllegalAccessException;
}
//package com.junmp.junmpProcess.service.Bussiness;
//
//import com.junmp.junmpProcess.dto.FlowEngineDTO;
//import com.junmp.junmpProcess.entity.ProcessTemplates;
//import com.junmp.junmpProcess.vo.TemplateGroupVo;
//
//import java.lang.reflect.InvocationTargetException;
//import java.util.List;
//
///**
// * @author : willian fu
// * @date : 2020/9/21
// */
//public interface SettingService {
//
// /**
// * 查询表单组
// *
// * @return 表单组数据
// */
// Object getFormGroups(String token, String name);
//
// /**
// * 表单及分组排序
// *
// * @param groups 分组数据
// * @return 排序结果
// */
// Object formGroupsSort(List<TemplateGroupVo> groups);
//
// /**
// * 查询表单模板数据
// *
// * @param templateId 模板id
// * @return 模板详情数据
// */
// Object getFormTemplateById(String templateId);
//
// /**
// * 修改分组
// *
// * @param id 分组ID
// * @param name 分组名
// * @return 修改结果
// */
// Object updateFormGroupName(Integer id, String name);
//
// /**
// * 新增表单分组
// *
// * @param name 分组名
// * @return 添加结果
// */
// Object createFormGroup(String name);
//
// /**
// * 删除分组
// *
// * @param id 分组ID
// * @return 删除结果
// */
// Object deleteFormGroup(Integer id);
//
// /**
// * 编辑表单
// *
// * @param templateId 摸板ID
// * @param type 类型 stop using delete
// * @return 操作结果
// */
// Object updateForm(String templateId, String type, Integer groupId);
//
// /**
// * 编辑表单详情
// *
// * @param template 表单模板信息
// * @return 修改结果
// */
// Object updateFormDetail(ProcessTemplates template);
//
//
// /**
// * 保存表单
// *
// * @param
// * @throws InvocationTargetException
// * @throws IllegalAccessException
// */
// void jsonToBpmn(FlowEngineDTO flowEngineDTO) throws InvocationTargetException, IllegalAccessException;
//}
package com.junmp.junmpProcess.service.Bussiness.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.google.common.collect.Lists;
import com.junmp.junmpProcess.exception.WorkFlowException;
import com.junmp.junmpProcess.mapper.TemplateGroupMapper;
import com.junmp.junmpProcess.service.Bussiness.SettingService;
import com.junmp.junmpProcess.service.Repository.FormGroupService;
import com.junmp.junmpProcess.service.Repository.ProcessTemplateService;
import com.junmp.junmpProcess.service.Repository.TemplateGroupService;
import org.apache.commons.lang3.time.DateFormatUtils;
import org.flowable.bpmn.BpmnAutoLayout;
import org.flowable.bpmn.model.*;
import org.flowable.bpmn.model.Process;
import org.flowable.engine.RepositoryService;
import org.flowable.engine.delegate.ExecutionListener;
import com.junmp.junmpProcess.common.R;
import com.junmp.junmpProcess.common.WorkFlowConstants;
import com.junmp.junmpProcess.dto.FlowEngineDTO;
import com.junmp.junmpProcess.dto.json.ChildNode;
import com.junmp.junmpProcess.dto.json.SettingsInfo;
import com.junmp.junmpProcess.entity.FormGroups;
import com.junmp.junmpProcess.entity.ProcessTemplates;
import com.junmp.junmpProcess.entity.TemplateGroup;
import com.junmp.junmpProcess.entity.TemplateGroupBo;
import com.junmp.junmpProcess.utils.IdWorker;
import com.junmp.junmpProcess.utils.SpringContextHolder;
import com.junmp.junmpProcess.vo.TemplateGroupVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import javax.annotation.Resource;
import java.lang.reflect.InvocationTargetException;
import java.util.*;
import static com.junmp.junmpProcess.utils.BpmnModelUtils.*;
/**
* @author : willian fu
* @date : 2020/9/21
*/
@Service
public class SettingServiceImpl implements SettingService {
@Autowired
private ProcessTemplateService processTemplateService;
@Autowired
private TemplateGroupService templateGroupService;
@Autowired
private FormGroupService formGroupService;
@Resource
private IdWorker idWorker;
@Resource
private RepositoryService repositoryService;
/**
* 查询表单组
*
* @return 表单组数据
*/
@Override
public Object getFormGroups(String token, String name) {
TemplateGroupMapper templateGroupMapper = SpringContextHolder.getBean(TemplateGroupMapper.class);
List<TemplateGroupBo> allformAndGroups = templateGroupMapper.getAllFormAndGroups();
Map<Integer, List<TemplateGroupBo>> coverMap = new LinkedHashMap<>();
allformAndGroups.forEach(fg -> {
List<TemplateGroupBo> bos = coverMap.get(fg.getGroupId());
if (CollectionUtil.isEmpty(bos)) {
List<TemplateGroupBo> list = new ArrayList<>();
list.add(fg);
coverMap.put(fg.getGroupId(), list);
} else {
bos.add(fg);
}
});
List<TemplateGroupVo> results = new ArrayList<>();
coverMap.forEach((key, val) -> {
List<TemplateGroupVo.Template> templates = new ArrayList<>();
val.forEach(v -> {
if (ObjectUtil.isNotNull(v.getTemplateId())) {
templates.add(TemplateGroupVo.Template.builder()
.formId(v.getTemplateId())
.tgId(v.getId())
.remark(v.getRemark())
.formName(v.getTemplateName())
.icon(v.getIcon())
.isStop(v.getIsStop())
.updated(DateFormatUtils.format(v.getUpdated(), "yyyy年MM月dd日 HH时:mm分:ss秒"))
.background(v.getBackground())
.templateId(v.getTemplateId())
.logo(JSONObject.parseObject(v.getBackground(), new TypeReference<JSONObject>() {
}))
.build());
}
});
results.add(TemplateGroupVo.builder().id(key).name(val.get(0).getGroupName()).items(templates).build());
});
return R.ok(results);
}
/**
* 表单及分组排序
*
* @param groups 分组数据
* @return 排序结果
*/
@Override
@Transactional
public Object formGroupsSort(List<TemplateGroupVo> groups) {
int i = 0, j = 0;
try {
for (TemplateGroupVo group : groups) {
formGroupService.updateById(FormGroups.builder()
.groupId(group.getId())
.sortNum(group.getId().equals(0) ? 999999 : i + 2)
.build());
for (TemplateGroupVo.Template item : group.getItems()) {
templateGroupService.updateById(
TemplateGroup.builder()
.id(item.getTgId())
.groupId(group.getId())
.templateId(item.getFormId())
.sortNum(j + 1).build());
j++;
}
i++;
j = 0;
}
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return R.badRequest("排序异常 " + e.getMessage());
}
return R.ok("排序成功");
}
/**
* 查询表单模板数据
*
* @param templateId 模板id
* @return 模板详情数据
*/
@Override
public Object getFormTemplateById(String templateId) {
ProcessTemplates processTemplates = processTemplateService.getById(templateId);
processTemplates.setLogo(processTemplates.getIcon());
processTemplates.setFormId(processTemplates.getTemplateId());
processTemplates.setFormName(processTemplates.getTemplateName());
return R.ok(processTemplates);
}
/**
* 修改分组
*
* @param id 分组ID
* @param name 分组名
* @return 修改结果
*/
@Override
public Object updateFormGroupName(Integer id, String name) {
if (id < 2) {
return R.badRequest("基础分组不允许修改");
}
formGroupService.updateById(FormGroups.builder()
.groupId(id).groupName(name.trim()).build());
return R.ok("修改成功");
}
/**
* 新增表单分组
*
* @param name 分组名
* @return 添加结果
*/
@Override
public Object createFormGroup(String name) {
LambdaQueryWrapper<FormGroups> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(FormGroups::getGroupName, name);
if (formGroupService.count(lambdaQueryWrapper) > 0) {
return R.badRequest("分组名称 [" + name + "] 已存在");
}
Date date = new Date();
FormGroups formGroups = FormGroups.builder().groupName(name)
.sortNum(1).created(date)
.updated(date).build();
formGroupService.save(
formGroups);
return R.ok("添加分组 " + name + " 成功");
}
/**
* 删除分组
*
* @param id 分组ID
* @return 删除结果
*/
@Override
@Transactional
public Object deleteFormGroup(Integer id) {
if (id < 2) {
return R.badRequest("基础分组不允许删除");
}
LambdaUpdateWrapper<TemplateGroup> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.set(TemplateGroup::getGroupId, 1);
lambdaUpdateWrapper.eq(TemplateGroup::getGroupId, id);
templateGroupService.update(lambdaUpdateWrapper);
formGroupService.removeById(id);
return R.ok("删除分组成功");
}
/**
* 编辑表单
*
* @param templateId 摸板ID
* @param type 类型 stop using delete
* @return 操作结果
*/
@Override
@Transactional
public Object updateForm(String templateId, String type, Integer groupId) {
boolean isStop = "stop".equals(type);
ProcessTemplates build = ProcessTemplates.builder().templateId(templateId).isStop(isStop)
.build();
if ("using".equals(type) || isStop) {
processTemplateService.updateById(
ProcessTemplates.builder().templateId(templateId).isStop(isStop).build());
LambdaUpdateWrapper<TemplateGroup> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.eq(TemplateGroup::getTemplateId, templateId);
lambdaUpdateWrapper.set(TemplateGroup::getGroupId, isStop ? 0 : 1);
templateGroupService
.update(lambdaUpdateWrapper);
} else if ("delete".equals(type)) {
processTemplateService.removeById(templateId);
LambdaQueryWrapper<TemplateGroup> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(TemplateGroup::getTemplateId, templateId);
templateGroupService.remove(lambdaQueryWrapper);
} else if ("move".equals(type)) {
if (ObjectUtil.isNull(groupId)) {
return R.badRequest("分组ID必传");
}
LambdaUpdateWrapper<TemplateGroup> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
lambdaUpdateWrapper.eq(TemplateGroup::getTemplateId, templateId);
lambdaUpdateWrapper.set(TemplateGroup::getGroupId, groupId);
templateGroupService.update(lambdaUpdateWrapper);
} else {
return R.badRequest("不支持的操作");
}
return R.ok("操作成功");
}
/**
* 编辑表单详情
*
* @param template 表单模板信息
* @return 修改结果
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Object updateFormDetail(ProcessTemplates template) {
SettingsInfo settingsInfo = JSONObject.parseObject(template.getSettings(), new TypeReference<SettingsInfo>() {
});
ProcessTemplates processTemplates = processTemplateService.getById(template.getFormId());
processTemplates.setTemplateName(template.getFormName());
processTemplates.setGroupId(template.getGroupId());
processTemplates.setFormItems(template.getFormItems());
processTemplates.setSettings(template.getSettings());
processTemplates.setProcess(template.getProcess());
processTemplates.setIcon(template.getIcon());
processTemplates.setBackground(template.getBackground());
processTemplates.setNotify(settingsInfo.getNotify().toJSONString());
String adminInfo = JSONObject.toJSONString(settingsInfo.getAdmin());
processTemplates.setWhoCommit(adminInfo);
processTemplates.setWhoEdit(adminInfo);
processTemplates.setWhoExport(adminInfo);
processTemplates.setRemark(template.getRemark());
processTemplates.setUpdated(new Date());
processTemplateService.updateById(processTemplates);
ChildNode childNode = JSONObject.parseObject(template.getProcess(), new TypeReference<ChildNode>() {
});
JSONObject jsonObject = new JSONObject();
jsonObject.put("processJson", template.getProcess());
jsonObject.put("formJson", template.getFormItems());
BpmnModel bpmnModel = assemBpmnModel(jsonObject, childNode, template.getRemark(),
template.getFormName(), template.getGroupId(), template.getFormId());
repositoryService.createDeployment()
.addBpmnModel(template.getFormName() + ".bpmn", bpmnModel)
.name(template.getFormName())
.category(template.getGroupId() + "")
.deploy();
return R.ok("发布更新后的表单成功");
}
@Transactional(rollbackFor = Exception.class)
@Override
public void jsonToBpmn(FlowEngineDTO flowEngineDTO) throws InvocationTargetException, IllegalAccessException {
String processJson = flowEngineDTO.getProcess();
ChildNode childNode = JSONObject.parseObject(processJson, new TypeReference<ChildNode>() {
});
String settingsJson = flowEngineDTO.getSettings();
SettingsInfo settingsInfo = JSONObject.parseObject(settingsJson, new TypeReference<SettingsInfo>() {
});
String remark = flowEngineDTO.getRemark();
String formItems = flowEngineDTO.getFormItems();
String formName = flowEngineDTO.getFormName();
String logo = flowEngineDTO.getLogo();
Integer groupId = flowEngineDTO.getGroupId();
String templateId = idWorker.nextId() + "";
ProcessTemplates processTemplates = ProcessTemplates.builder().build();
processTemplates.setTemplateId(templateId);
processTemplates.setTemplateName(formName);
processTemplates.setGroupId(groupId);
processTemplates.setFormItems(formItems);
processTemplates.setProcess(processJson);
processTemplates.setIcon(logo);
processTemplates.setBackground(logo);
processTemplates.setNotify(settingsInfo.getNotify().toJSONString());
String adminInfo = JSONObject.toJSONString(settingsInfo.getAdmin());
processTemplates.setSettings(settingsJson);
processTemplates.setWhoCommit(adminInfo);
processTemplates.setWhoEdit(adminInfo);
processTemplates.setWhoExport(adminInfo);
processTemplates.setRemark(flowEngineDTO.getRemark());
processTemplates.setIsStop(false);
Date date = new Date();
processTemplates.setCreated(date);
processTemplates.setUpdated(date);
processTemplateService.save(processTemplates);
TemplateGroup templateGroup = new TemplateGroup();
templateGroup.setTemplateId(processTemplates.getTemplateId());
templateGroup.setGroupId(groupId);
templateGroup.setSortNum(0);
templateGroup.setCreated(date);
templateGroupService.save(templateGroup);
JSONObject jsonObject = new JSONObject();
jsonObject.put("processJson", processJson);
jsonObject.put("formJson", formItems);
BpmnModel bpmnModel = assemBpmnModel(jsonObject, childNode, remark, formName, groupId,
templateId);
repositoryService.createDeployment()
.addBpmnModel(formName + ".bpmn", bpmnModel)
.name(formName)
.category(groupId + "")
.deploy();
}
private BpmnModel assemBpmnModel(JSONObject jsonObject, ChildNode childNode, String remark,
String formName, Integer groupId, String templateId) {
BpmnModel bpmnModel = new BpmnModel();
List<SequenceFlow> sequenceFlows = Lists.newArrayList();
Map<String, ChildNode> childNodeMap = new HashMap<>();
bpmnModel.setTargetNamespace(groupId + "");
ExtensionAttribute extensionAttribute = new ExtensionAttribute();
extensionAttribute.setName("DingDing");
extensionAttribute.setNamespace("http://flowable.org/bpmn");
extensionAttribute.setValue(jsonObject.toJSONString());
Process process = new Process();
process.setId(WorkFlowConstants.PROCESS_PREFIX + templateId);
process.setName(formName);
process.setDocumentation(remark);
process.addAttribute(extensionAttribute);
bpmnModel.addProcess(process);
StartEvent startEvent = createStartEvent();
process.addFlowElement(startEvent);
String lastNode = null;
try {
lastNode = create(startEvent.getId(), childNode, process, bpmnModel, sequenceFlows, childNodeMap);
} catch (InvocationTargetException e) {
e.printStackTrace();
throw new WorkFlowException("操作失败");
} catch (IllegalAccessException e) {
e.printStackTrace();
throw new WorkFlowException("操作失败");
}
EndEvent endEvent = createEndEvent();
process.addFlowElement(endEvent);
process.addFlowElement(connect(lastNode, endEvent.getId(), sequenceFlows, childNodeMap, process));
List<FlowableListener> executionListeners = new ArrayList<>();
FlowableListener flowableListener = new FlowableListener();
flowableListener.setEvent(ExecutionListener.EVENTNAME_END);
flowableListener.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION);
flowableListener.setImplementation("${processListener}");
executionListeners.add(flowableListener);
process.setExecutionListeners(executionListeners);
new BpmnAutoLayout(bpmnModel).execute();
return bpmnModel;
}
}
//package com.junmp.junmpProcess.service.Bussiness.impl;
//
//import cn.hutool.core.collection.CollectionUtil;
//import cn.hutool.core.util.ObjectUtil;
//import com.alibaba.fastjson.JSONObject;
//import com.alibaba.fastjson.TypeReference;
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
//import com.google.common.collect.Lists;
//import com.junmp.junmpProcess.exception.WorkFlowException;
//import com.junmp.junmpProcess.mapper.TemplateGroupMapper;
//import com.junmp.junmpProcess.service.Bussiness.SettingService;
//import com.junmp.junmpProcess.service.Repository.FormGroupService;
//import com.junmp.junmpProcess.service.Repository.ProcessTemplateService;
//import com.junmp.junmpProcess.service.Repository.TemplateGroupService;
//import org.apache.commons.lang3.time.DateFormatUtils;
//import org.flowable.bpmn.BpmnAutoLayout;
//import org.flowable.bpmn.model.*;
//import org.flowable.bpmn.model.Process;
//import org.flowable.engine.RepositoryService;
//import org.flowable.engine.delegate.ExecutionListener;
//import com.junmp.junmpProcess.common.R;
//import com.junmp.junmpProcess.common.WorkFlowConstants;
//import com.junmp.junmpProcess.dto.FlowEngineDTO;
//import com.junmp.junmpProcess.dto.json.ChildNode;
//import com.junmp.junmpProcess.dto.json.SettingsInfo;
//import com.junmp.junmpProcess.entity.FormGroups;
//import com.junmp.junmpProcess.entity.ProcessTemplates;
//import com.junmp.junmpProcess.entity.TemplateGroup;
//import com.junmp.junmpProcess.entity.TemplateGroupBo;
//import com.junmp.junmpProcess.utils.IdWorker;
//import com.junmp.junmpProcess.utils.SpringContextHolder;
//import com.junmp.junmpProcess.vo.TemplateGroupVo;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Transactional;
//import org.springframework.transaction.interceptor.TransactionAspectSupport;
//
//import javax.annotation.Resource;
//import java.lang.reflect.InvocationTargetException;
//import java.util.*;
//
//import static com.junmp.junmpProcess.utils.BpmnModelUtils.*;
//
///**
// * @author : willian fu
// * @date : 2020/9/21
// */
//@Service
//public class SettingServiceImpl implements SettingService {
//
// @Autowired
// private ProcessTemplateService processTemplateService;
//
// @Autowired
// private TemplateGroupService templateGroupService;
//
// @Autowired
// private FormGroupService formGroupService;
// @Resource
// private IdWorker idWorker;
// @Resource
// private RepositoryService repositoryService;
//
// /**
// * 查询表单组
// *
// * @return 表单组数据
// */
// @Override
// public Object getFormGroups(String token, String name) {
// TemplateGroupMapper templateGroupMapper = SpringContextHolder.getBean(TemplateGroupMapper.class);
// List<TemplateGroupBo> allformAndGroups = templateGroupMapper.getAllFormAndGroups();
// Map<Integer, List<TemplateGroupBo>> coverMap = new LinkedHashMap<>();
// allformAndGroups.forEach(fg -> {
// List<TemplateGroupBo> bos = coverMap.get(fg.getGroupId());
// if (CollectionUtil.isEmpty(bos)) {
// List<TemplateGroupBo> list = new ArrayList<>();
// list.add(fg);
// coverMap.put(fg.getGroupId(), list);
// } else {
// bos.add(fg);
// }
// });
// List<TemplateGroupVo> results = new ArrayList<>();
// coverMap.forEach((key, val) -> {
// List<TemplateGroupVo.Template> templates = new ArrayList<>();
// val.forEach(v -> {
// if (ObjectUtil.isNotNull(v.getTemplateId())) {
// templates.add(TemplateGroupVo.Template.builder()
// .formId(v.getTemplateId())
// .tgId(v.getId())
// .remark(v.getRemark())
// .formName(v.getTemplateName())
// .icon(v.getIcon())
// .isStop(v.getIsStop())
// .updated(DateFormatUtils.format(v.getUpdated(), "yyyy年MM月dd日 HH时:mm分:ss秒"))
// .background(v.getBackground())
// .templateId(v.getTemplateId())
// .logo(JSONObject.parseObject(v.getBackground(), new TypeReference<JSONObject>() {
// }))
// .build());
// }
// });
// results.add(TemplateGroupVo.builder().id(key).name(val.get(0).getGroupName()).items(templates).build());
// });
// return R.ok(results);
// }
//
// /**
// * 表单及分组排序
// *
// * @param groups 分组数据
// * @return 排序结果
// */
// @Override
// @Transactional
// public Object formGroupsSort(List<TemplateGroupVo> groups) {
// int i = 0, j = 0;
// try {
// for (TemplateGroupVo group : groups) {
// formGroupService.updateById(FormGroups.builder()
// .groupId(group.getId())
// .sortNum(group.getId().equals(0) ? 999999 : i + 2)
// .build());
// for (TemplateGroupVo.Template item : group.getItems()) {
// templateGroupService.updateById(
// TemplateGroup.builder()
// .id(item.getTgId())
// .groupId(group.getId())
// .templateId(item.getFormId())
// .sortNum(j + 1).build());
// j++;
// }
// i++;
// j = 0;
// }
// } catch (Exception e) {
// TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
// return R.badRequest("排序异常 " + e.getMessage());
// }
// return R.ok("排序成功");
// }
//
// /**
// * 查询表单模板数据
// *
// * @param templateId 模板id
// * @return 模板详情数据
// */
// @Override
// public Object getFormTemplateById(String templateId) {
// ProcessTemplates processTemplates = processTemplateService.getById(templateId);
// processTemplates.setLogo(processTemplates.getIcon());
// processTemplates.setFormId(processTemplates.getTemplateId());
// processTemplates.setFormName(processTemplates.getTemplateName());
// return R.ok(processTemplates);
// }
//
// /**
// * 修改分组
// *
// * @param id 分组ID
// * @param name 分组名
// * @return 修改结果
// */
// @Override
// public Object updateFormGroupName(Integer id, String name) {
// if (id < 2) {
// return R.badRequest("基础分组不允许修改");
// }
// formGroupService.updateById(FormGroups.builder()
// .groupId(id).groupName(name.trim()).build());
// return R.ok("修改成功");
// }
//
// /**
// * 新增表单分组
// *
// * @param name 分组名
// * @return 添加结果
// */
// @Override
// public Object createFormGroup(String name) {
// LambdaQueryWrapper<FormGroups> lambdaQueryWrapper = new LambdaQueryWrapper<>();
// lambdaQueryWrapper.eq(FormGroups::getGroupName, name);
// if (formGroupService.count(lambdaQueryWrapper) > 0) {
// return R.badRequest("分组名称 [" + name + "] 已存在");
// }
// Date date = new Date();
// FormGroups formGroups = FormGroups.builder().groupName(name)
// .sortNum(1).created(date)
// .updated(date).build();
// formGroupService.save(
// formGroups);
// return R.ok("添加分组 " + name + " 成功");
// }
//
// /**
// * 删除分组
// *
// * @param id 分组ID
// * @return 删除结果
// */
// @Override
// @Transactional
// public Object deleteFormGroup(Integer id) {
// if (id < 2) {
// return R.badRequest("基础分组不允许删除");
// }
// LambdaUpdateWrapper<TemplateGroup> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
// lambdaUpdateWrapper.set(TemplateGroup::getGroupId, 1);
// lambdaUpdateWrapper.eq(TemplateGroup::getGroupId, id);
// templateGroupService.update(lambdaUpdateWrapper);
// formGroupService.removeById(id);
// return R.ok("删除分组成功");
// }
//
// /**
// * 编辑表单
// *
// * @param templateId 摸板ID
// * @param type 类型 stop using delete
// * @return 操作结果
// */
// @Override
// @Transactional
// public Object updateForm(String templateId, String type, Integer groupId) {
// boolean isStop = "stop".equals(type);
//
//
// ProcessTemplates build = ProcessTemplates.builder().templateId(templateId).isStop(isStop)
// .build();
// if ("using".equals(type) || isStop) {
// processTemplateService.updateById(
// ProcessTemplates.builder().templateId(templateId).isStop(isStop).build());
// LambdaUpdateWrapper<TemplateGroup> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
// lambdaUpdateWrapper.eq(TemplateGroup::getTemplateId, templateId);
// lambdaUpdateWrapper.set(TemplateGroup::getGroupId, isStop ? 0 : 1);
// templateGroupService
// .update(lambdaUpdateWrapper);
// } else if ("delete".equals(type)) {
// processTemplateService.removeById(templateId);
// LambdaQueryWrapper<TemplateGroup> lambdaQueryWrapper = new LambdaQueryWrapper<>();
// lambdaQueryWrapper.eq(TemplateGroup::getTemplateId, templateId);
// templateGroupService.remove(lambdaQueryWrapper);
// } else if ("move".equals(type)) {
// if (ObjectUtil.isNull(groupId)) {
// return R.badRequest("分组ID必传");
// }
//
// LambdaUpdateWrapper<TemplateGroup> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
// lambdaUpdateWrapper.eq(TemplateGroup::getTemplateId, templateId);
// lambdaUpdateWrapper.set(TemplateGroup::getGroupId, groupId);
// templateGroupService.update(lambdaUpdateWrapper);
// } else {
// return R.badRequest("不支持的操作");
// }
// return R.ok("操作成功");
// }
//
// /**
// * 编辑表单详情
// *
// * @param template 表单模板信息
// * @return 修改结果
// */
// @Override
// @Transactional(rollbackFor = Exception.class)
// public Object updateFormDetail(ProcessTemplates template) {
// SettingsInfo settingsInfo = JSONObject.parseObject(template.getSettings(), new TypeReference<SettingsInfo>() {
// });
// ProcessTemplates processTemplates = processTemplateService.getById(template.getFormId());
// processTemplates.setTemplateName(template.getFormName());
// processTemplates.setGroupId(template.getGroupId());
// processTemplates.setFormItems(template.getFormItems());
// processTemplates.setSettings(template.getSettings());
// processTemplates.setProcess(template.getProcess());
// processTemplates.setIcon(template.getIcon());
// processTemplates.setBackground(template.getBackground());
// processTemplates.setNotify(settingsInfo.getNotify().toJSONString());
// String adminInfo = JSONObject.toJSONString(settingsInfo.getAdmin());
// processTemplates.setWhoCommit(adminInfo);
//
// processTemplates.setWhoEdit(adminInfo);
// processTemplates.setWhoExport(adminInfo);
// processTemplates.setRemark(template.getRemark());
// processTemplates.setUpdated(new Date());
// processTemplateService.updateById(processTemplates);
// ChildNode childNode = JSONObject.parseObject(template.getProcess(), new TypeReference<ChildNode>() {
// });
// JSONObject jsonObject = new JSONObject();
// jsonObject.put("processJson", template.getProcess());
// jsonObject.put("formJson", template.getFormItems());
// BpmnModel bpmnModel = assemBpmnModel(jsonObject, childNode, template.getRemark(),
// template.getFormName(), template.getGroupId(), template.getFormId());
// repositoryService.createDeployment()
// .addBpmnModel(template.getFormName() + ".bpmn", bpmnModel)
// .name(template.getFormName())
// .category(template.getGroupId() + "")
// .deploy();
// return R.ok("发布更新后的表单成功");
// }
//
// @Transactional(rollbackFor = Exception.class)
// @Override
// public void jsonToBpmn(FlowEngineDTO flowEngineDTO) throws InvocationTargetException, IllegalAccessException {
// String processJson = flowEngineDTO.getProcess();
// ChildNode childNode = JSONObject.parseObject(processJson, new TypeReference<ChildNode>() {
// });
// String settingsJson = flowEngineDTO.getSettings();
// SettingsInfo settingsInfo = JSONObject.parseObject(settingsJson, new TypeReference<SettingsInfo>() {
// });
// String remark = flowEngineDTO.getRemark();
// String formItems = flowEngineDTO.getFormItems();
// String formName = flowEngineDTO.getFormName();
// String logo = flowEngineDTO.getLogo();
// Integer groupId = flowEngineDTO.getGroupId();
// String templateId = idWorker.nextId() + "";
//
// ProcessTemplates processTemplates = ProcessTemplates.builder().build();
// processTemplates.setTemplateId(templateId);
// processTemplates.setTemplateName(formName);
// processTemplates.setGroupId(groupId);
// processTemplates.setFormItems(formItems);
// processTemplates.setProcess(processJson);
// processTemplates.setIcon(logo);
// processTemplates.setBackground(logo);
// processTemplates.setNotify(settingsInfo.getNotify().toJSONString());
// String adminInfo = JSONObject.toJSONString(settingsInfo.getAdmin());
// processTemplates.setSettings(settingsJson);
// processTemplates.setWhoCommit(adminInfo);
// processTemplates.setWhoEdit(adminInfo);
// processTemplates.setWhoExport(adminInfo);
// processTemplates.setRemark(flowEngineDTO.getRemark());
// processTemplates.setIsStop(false);
// Date date = new Date();
// processTemplates.setCreated(date);
// processTemplates.setUpdated(date);
// processTemplateService.save(processTemplates);
// TemplateGroup templateGroup = new TemplateGroup();
// templateGroup.setTemplateId(processTemplates.getTemplateId());
// templateGroup.setGroupId(groupId);
// templateGroup.setSortNum(0);
// templateGroup.setCreated(date);
// templateGroupService.save(templateGroup);
//
// JSONObject jsonObject = new JSONObject();
// jsonObject.put("processJson", processJson);
// jsonObject.put("formJson", formItems);
// BpmnModel bpmnModel = assemBpmnModel(jsonObject, childNode, remark, formName, groupId,
// templateId);
// repositoryService.createDeployment()
// .addBpmnModel(formName + ".bpmn", bpmnModel)
// .name(formName)
// .category(groupId + "")
// .deploy();
//
//
// }
//
// private BpmnModel assemBpmnModel(JSONObject jsonObject, ChildNode childNode, String remark,
// String formName, Integer groupId, String templateId) {
// BpmnModel bpmnModel = new BpmnModel();
// List<SequenceFlow> sequenceFlows = Lists.newArrayList();
// Map<String, ChildNode> childNodeMap = new HashMap<>();
// bpmnModel.setTargetNamespace(groupId + "");
// ExtensionAttribute extensionAttribute = new ExtensionAttribute();
// extensionAttribute.setName("DingDing");
// extensionAttribute.setNamespace("http://flowable.org/bpmn");
// extensionAttribute.setValue(jsonObject.toJSONString());
// Process process = new Process();
// process.setId(WorkFlowConstants.PROCESS_PREFIX + templateId);
// process.setName(formName);
// process.setDocumentation(remark);
// process.addAttribute(extensionAttribute);
// bpmnModel.addProcess(process);
//
// StartEvent startEvent = createStartEvent();
// process.addFlowElement(startEvent);
// String lastNode = null;
// try {
// lastNode = create(startEvent.getId(), childNode, process, bpmnModel, sequenceFlows, childNodeMap);
// } catch (InvocationTargetException e) {
// e.printStackTrace();
// throw new WorkFlowException("操作失败");
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// throw new WorkFlowException("操作失败");
// }
// EndEvent endEvent = createEndEvent();
// process.addFlowElement(endEvent);
// process.addFlowElement(connect(lastNode, endEvent.getId(), sequenceFlows, childNodeMap, process));
// List<FlowableListener> executionListeners = new ArrayList<>();
// FlowableListener flowableListener = new FlowableListener();
// flowableListener.setEvent(ExecutionListener.EVENTNAME_END);
// flowableListener.setImplementationType(ImplementationType.IMPLEMENTATION_TYPE_DELEGATEEXPRESSION);
// flowableListener.setImplementation("${processListener}");
// executionListeners.add(flowableListener);
// process.setExecutionListeners(executionListeners);
// new BpmnAutoLayout(bpmnModel).execute();
// return bpmnModel;
// }
//}
......@@ -37,7 +37,6 @@ import org.flowable.task.api.Task;
import org.flowable.task.api.history.HistoricTaskInstance;
import com.junmp.junmpProcess.common.Result;
import com.junmp.junmpProcess.common.WorkFlowConstants;
import org.modules.junmpProcess.dto.*;
import com.junmp.junmpProcess.dto.json.ChildNode;
import com.junmp.junmpProcess.dto.json.FormOperates;
import com.junmp.junmpProcess.dto.json.SettingsInfo;
......@@ -45,7 +44,6 @@ import com.junmp.junmpProcess.dto.json.UserInfo;
import com.junmp.junmpProcess.dto.json.flowJson.FlowChildNode;
import com.junmp.junmpProcess.dto.json.flowJson.Inout;
import com.junmp.junmpProcess.entity.ProcessTemplates;
import org.modules.junmpProcess.vo.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -57,7 +55,6 @@ import static com.junmp.junmpProcess.common.CommonConstants.*;
import static com.junmp.junmpProcess.common.WorkFlowConstants.PROCESS_PREFIX;
import static com.junmp.junmpProcess.utils.BpmnModelUtils.*;
;
@Service
public class WorkProcessServiceImpl implements WorkProcessService {
......
package com.junmp.junmpProcess.service.Repository.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.junmpProcess.service.Repository.FormGroupService;
import com.junmp.junmpProcess.entity.FormGroups;
import com.junmp.junmpProcess.mapper.FormGroupsMapper;
import org.springframework.stereotype.Service;
/**
* @author : willian fu
* @version : 1.0
*/
@Service
public class FormGroupServiceImpl extends ServiceImpl<FormGroupsMapper, FormGroups> implements
FormGroupService {
}
//package com.junmp.junmpProcess.service.Repository.impl;
//
//
//import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
//import com.junmp.junmpProcess.service.Repository.FormGroupService;
//import com.junmp.junmpProcess.entity.FormGroups;
//import com.junmp.junmpProcess.mapper.FormGroupsMapper;
//import org.springframework.stereotype.Service;
//
///**
// * @author : willian fu
// * @version : 1.0
// */
//@Service
//public class FormGroupServiceImpl extends ServiceImpl<FormGroupsMapper, FormGroups> implements
// FormGroupService {
//
//
//}
package com.junmp.junmpProcess.service.Repository.impl;
import com.junmp.junmpProcess.service.Repository.WorkspaceProcessService;
import com.junmp.junmpProcess.service.Bussiness.SettingService;
//import com.junmp.junmpProcess.service.Bussiness.SettingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestContextHolder;
......@@ -14,8 +14,8 @@ import org.springframework.web.context.request.ServletRequestAttributes;
@Service
public class WorkspaceProcessServiceImpl implements WorkspaceProcessService {
@Autowired
private SettingService settingService;
// @Autowired
// private SettingService settingService;
/**
* 获取用户可见表单
......
package com.junmp.junmpProcess.utils;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import lombok.Cleanup;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.ServletInputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
/**
*
*/
public class ServletUtil {
/**
* 获取ServletPath
*/
public static String getServletPath() {
return ServletUtil.getRequest().getServletPath();
}
/**
* 获取Request Payload
*/
public static String getPayload() {
try {
@Cleanup ServletInputStream is = ServletUtil.getRequest().getInputStream();
int nRead = 1;
int nTotalRead = 0;
byte[] bytes = new byte[10240 * 20];
while (nRead > 0) {
nRead = is.read(bytes, nTotalRead, bytes.length - nTotalRead);
if (nRead > 0) {
nTotalRead = nTotalRead + nRead;
}
}
String str = new String(bytes, 0, nTotalRead, Constants.UTF_8);
return str;
} catch (IOException e) {
e.printStackTrace();
return "";
}
}
/**
* 获取User-Agent
*/
public static String getUserAgent() {
return ServletUtil.getHeader("User-Agent");
}
/**
* 判断是否是手机端登陆
*/
public static boolean getIsMobileDevice() {
return isMobileDevice(ServletUtil.getUserAgent());
}
/**
* 获取HTTP头信息
*/
public static String getHeader(String name) {
if (getRequest() != null) {
return getRequest().getHeader(name);
}
return null;
}
/**
* 获取表单参数
*/
public static String getParameter(String name) {
return getRequest().getParameter(name);
}
/**
* 获取request
*/
public static HttpServletRequest getRequest() {
if (getRequestAttributes() != null) {
return getRequestAttributes().getRequest();
}
return null;
}
/**
* 获取response
*/
public static HttpServletResponse getResponse() {
return getRequestAttributes().getResponse();
}
/**
* 获取session
*/
public static HttpSession getSession() {
return getRequest().getSession();
}
public static ServletRequestAttributes getRequestAttributes() {
RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
return (ServletRequestAttributes) attributes;
}
/**
* 将字符串渲染到客户端
*
* @param response 渲染对象
* @param string 待渲染的字符串
* @return null
*/
public static String renderString(HttpServletResponse response, String string) {
try {
response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Cache-Control", "no-cache");
response.setContentType("application/json");
response.setCharacterEncoding(Constants.UTF_8);
response.getWriter().print(string);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* 是否是Ajax异步请求
*
* @param request
*/
public static boolean isAjaxRequest(HttpServletRequest request) {
String accept = request.getHeader("accept");
if (accept != null && accept.indexOf("application/json") != -1) {
return true;
}
String xRequestedWith = request.getHeader("X-Requested-With");
if (xRequestedWith != null && xRequestedWith.indexOf("XMLHttpRequest") != -1) {
return true;
}
String uri = request.getRequestURI();
if (inStringIgnoreCase(uri, ".json", ".xml")) {
return true;
}
String ajax = request.getParameter("__ajax");
if (inStringIgnoreCase(ajax, "json", "xml")) {
return true;
}
return false;
}
/**
* 是否包含字符串
*
* @param str 验证字符串
* @param strs 字符串组
* @return 包含返回true
*/
public static boolean inStringIgnoreCase(String str, String... strs) {
if (str != null && strs != null) {
for (String s : strs) {
if (str.equalsIgnoreCase((s.trim()))) {
return true;
}
}
}
return false;
}
/**
* 返回JSONObject对象
*/
public static JSONObject getJsonObject() throws Exception {
String builder = ServletUtil.getPayload();
return JSONObject.parseObject(builder);
}
/**
* 判断是否是移动设备
*
* @param requestHeader
* @return
*/
public static boolean isMobileDevice(String requestHeader) {
String[] deviceArray = new String[]{"android", "windows phone", "iphone", "ios", "ipad", "mqqbrowser"};
if (requestHeader == null) {
return false;
}
requestHeader = requestHeader.toLowerCase();
for (int i = 0; i < deviceArray.length; i++) {
if (requestHeader.indexOf(deviceArray[i]) > 0) {
return true;
}
}
return false;
}
}
//package com.junmp.junmpProcess.utils;
//
//import com.alibaba.fastjson.JSONObject;
//import com.baomidou.mybatisplus.core.toolkit.Constants;
//import lombok.Cleanup;
//import org.springframework.web.context.request.RequestAttributes;
//import org.springframework.web.context.request.RequestContextHolder;
//import org.springframework.web.context.request.ServletRequestAttributes;
//
//import javax.servlet.ServletInputStream;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import javax.servlet.http.HttpSession;
//import java.io.IOException;
//
///**
// *
// */
//public class ServletUtil {
//
// /**
// * 获取ServletPath
// */
// public static String getServletPath() {
// return ServletUtil.getRequest().getServletPath();
// }
//
//
// /**
// * 获取Request Payload
// */
// public static String getPayload() {
// try {
// @Cleanup ServletInputStream is = ServletUtil.getRequest().getInputStream();
// int nRead = 1;
// int nTotalRead = 0;
// byte[] bytes = new byte[10240 * 20];
// while (nRead > 0) {
// nRead = is.read(bytes, nTotalRead, bytes.length - nTotalRead);
// if (nRead > 0) {
// nTotalRead = nTotalRead + nRead;
// }
// }
// String str = new String(bytes, 0, nTotalRead, Constants.UTF_8);
// return str;
// } catch (IOException e) {
// e.printStackTrace();
// return "";
// }
// }
//
//
// /**
// * 获取User-Agent
// */
// public static String getUserAgent() {
// return ServletUtil.getHeader("User-Agent");
// }
//
// /**
// * 判断是否是手机端登陆
// */
// public static boolean getIsMobileDevice() {
// return isMobileDevice(ServletUtil.getUserAgent());
// }
//
// /**
// * 获取HTTP头信息
// */
// public static String getHeader(String name) {
// if (getRequest() != null) {
// return getRequest().getHeader(name);
// }
// return null;
// }
//
// /**
// * 获取表单参数
// */
// public static String getParameter(String name) {
// return getRequest().getParameter(name);
// }
//
//
// /**
// * 获取request
// */
// public static HttpServletRequest getRequest() {
// if (getRequestAttributes() != null) {
// return getRequestAttributes().getRequest();
// }
// return null;
// }
//
// /**
// * 获取response
// */
// public static HttpServletResponse getResponse() {
// return getRequestAttributes().getResponse();
// }
//
// /**
// * 获取session
// */
// public static HttpSession getSession() {
// return getRequest().getSession();
// }
//
// public static ServletRequestAttributes getRequestAttributes() {
// RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
// return (ServletRequestAttributes) attributes;
// }
//
// /**
// * 将字符串渲染到客户端
// *
// * @param response 渲染对象
// * @param string 待渲染的字符串
// * @return null
// */
// public static String renderString(HttpServletResponse response, String string) {
// try {
// response.setHeader("Access-Control-Allow-Origin", "*");
// response.setHeader("Cache-Control", "no-cache");
// response.setContentType("application/json");
// response.setCharacterEncoding(Constants.UTF_8);
// response.getWriter().print(string);
// } catch (IOException e) {
// e.printStackTrace();
// }
// return null;
// }
//
// /**
// * 是否是Ajax异步请求
// *
// * @param request
// */
// public static boolean isAjaxRequest(HttpServletRequest request) {
// String accept = request.getHeader("accept");
// if (accept != null && accept.indexOf("application/json") != -1) {
// return true;
// }
// String xRequestedWith = request.getHeader("X-Requested-With");
// if (xRequestedWith != null && xRequestedWith.indexOf("XMLHttpRequest") != -1) {
// return true;
// }
// String uri = request.getRequestURI();
// if (inStringIgnoreCase(uri, ".json", ".xml")) {
// return true;
// }
// String ajax = request.getParameter("__ajax");
// if (inStringIgnoreCase(ajax, "json", "xml")) {
// return true;
// }
// return false;
// }
//
// /**
// * 是否包含字符串
// *
// * @param str 验证字符串
// * @param strs 字符串组
// * @return 包含返回true
// */
// public static boolean inStringIgnoreCase(String str, String... strs) {
// if (str != null && strs != null) {
// for (String s : strs) {
// if (str.equalsIgnoreCase((s.trim()))) {
// return true;
// }
// }
// }
// return false;
// }
//
// /**
// * 返回JSONObject对象
// */
// public static JSONObject getJsonObject() throws Exception {
// String builder = ServletUtil.getPayload();
// return JSONObject.parseObject(builder);
// }
//
// /**
// * 判断是否是移动设备
// *
// * @param requestHeader
// * @return
// */
// public static boolean isMobileDevice(String requestHeader) {
// String[] deviceArray = new String[]{"android", "windows phone", "iphone", "ios", "ipad", "mqqbrowser"};
// if (requestHeader == null) {
// return false;
// }
// requestHeader = requestHeader.toLowerCase();
// for (int i = 0; i < deviceArray.length; i++) {
// if (requestHeader.indexOf(deviceArray[i]) > 0) {
// return true;
// }
// }
// return false;
// }
//}
......@@ -11,11 +11,11 @@ spring:
driver-class-name: com.mysql.cj.jdbc.Driver
username: ${MYSQL_USER:junmp123}
password: ${MYSQL_PWD:123456}
url: jdbc:mysql://${MYSQL_HOST:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DB:db_key_app}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true&queryTimeout=2400&nullCatalogMeansCurrent=true
url: jdbc:mysql://${MYSQL_HOST:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DB:db_jyzb}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true&queryTimeout=2400&nullCatalogMeansCurrent=true
#===================== Redis配置 =====================
redis:
database: 1 #缓存库编号
host: 192.168.3.128
host: 127.0.0.1
port: 6379
password:
timeout: 3000 #超时时间(单位:秒)
......
......@@ -11,11 +11,11 @@ spring:
driver-class-name: com.mysql.cj.jdbc.Driver
username: ${MYSQL_USER:junmp123}
password: ${MYSQL_PWD:123456}
url: jdbc:mysql://${MYSQL_HOST:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DB:db_key_app}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true&queryTimeout=2400&nullCatalogMeansCurrent=true
url: jdbc:mysql://${MYSQL_HOST:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DB:db_jyzb}?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8&allowMultiQueries=true&allowPublicKeyRetrieval=true&queryTimeout=2400&nullCatalogMeansCurrent=true
#===================== Redis配置 =====================
redis:
database: 1 #缓存库编号
host: 192.168.3.128
host: 127.0.0.1
port: 6379
password:
timeout: 3000 #超时时间(单位:秒)
......
artifactId=jyzb-process
groupId=com.junmp.jyzb
version=1.0.0
org\modules\junmpProcess\vo\OrgTreeVo$OrgTreeVoBuilder.class
org\modules\junmpProcess\mapper\FormGroupsMapper.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$4.class
org\modules\junmpProcess\service\Bussiness\OrgUserAndDeptService.class
org\modules\junmpProcess\utils\DateUtils$3.class
org\modules\junmpProcess\controller\OrgUserAndDeptController.class
org\modules\junmpProcess\controller\WorkspaceProcessController$15.class
org\modules\junmpProcess\utils\BpmnModelUtils$Type.class
org\modules\junmpProcess\entity\FormGroups$FormGroupsBuilder.class
org\modules\junmpProcess\entity\Departments.class
org\modules\junmpProcess\dto\PageDTO.class
org\modules\junmpProcess\listener\TaskCreatedListener.class
org\modules\junmpProcess\dto\HandleDataDTO.class
org\modules\junmpProcess\dto\json\flowJson\FlowConditionGroup.class
org\modules\junmpProcess\enums\AssigneeTypeEnums.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$7.class
org\modules\junmpProcess\mapper\DepartmentsMapper.class
org\modules\junmpProcess\listener\ServiceListener.class
org\modules\junmpProcess\utils\BpmnModelUtils.class
org\modules\junmpProcess\controller\WorkspaceProcessController$12.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$11.class
org\modules\junmpProcess\dto\json\flowJson\FlowNode.class
org\modules\junmpProcess\entity\Users$UsersBuilder.class
org\modules\junmpProcess\vo\CommentVO.class
org\modules\junmpProcess\service\Repository\UserService.class
org\modules\junmpProcess\utils\DateUtils$6.class
org\modules\junmpProcess\dto\json\NotifyTypeInfo.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$14.class
org\modules\junmpProcess\vo\ProcessInstanceDetailVO.class
org\modules\junmpProcess\config\ActivitiConfig.class
org\modules\junmpProcess\vo\OptionVO.class
org\modules\junmpProcess\controller\WorkspaceProcessController$8.class
org\modules\junmpProcess\common\R.class
org\modules\junmpProcess\dto\json\NotifyType.class
org\modules\junmpProcess\utils\ExUtils$1.class
org\modules\junmpProcess\vo\TemplateGroupVo$Template$TemplateBuilder.class
org\modules\junmpProcess\dto\json\flowJson\FlowChildNode.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$12.class
org\modules\junmpProcess\service\Repository\impl\ProcessTemplateServiceImpl.class
org\modules\junmpProcess\dto\json\HttpInfo.class
org\modules\junmpProcess\vo\OrgTreeVo.class
org\modules\junmpProcess\vo\MultiVO.class
com\junmp\junmpProcess\dto\PageDTO.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$15.class
com\junmp\junmpProcess\entity\Process.class
com\junmp\junmpProcess\dto\json\flowJson\FlowConditionNodes.class
com\junmp\junmpProcess\dto\json\FormItemProps.class
com\junmp\junmpProcess\mapper\DepartmentsMapper.class
com\junmp\junmpProcess\entity\TemplateGroupBo$TemplateGroupBoBuilder.class
com\junmp\junmpProcess\dto\json\NotifyTypeInfo.class
com\junmp\junmpProcess\dto\json\ChildNode.class
com\junmp\junmpProcess\common\R.class
com\junmp\junmpProcess\utils\BpmnModelUtils.class
com\junmp\junmpProcess\utils\BpmnModelUtils$FlowType.class
com\junmp\junmpProcess\listener\ServiceListener.class
com\junmp\junmpProcess\dto\json\EmailInfo.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$7.class
com\junmp\junmpProcess\mapper\UsersMapper.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$4.class
com\junmp\junmpProcess\controller\MainProcessController.class
com\junmp\junmpProcess\dto\AttachmentDTO.class
com\junmp\junmpProcess\listener\CounterSignListener.class
com\junmp\junmpProcess\vo\TaskDetailVO.class
com\junmp\junmpProcess\vo\OptionVO.class
com\junmp\junmpProcess\utils\DateUtils$3.class
com\junmp\junmpProcess\utils\ExUtils$1.class
com\junmp\junmpProcess\dto\json\NotifyType.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$2.class
com\junmp\junmpProcess\service\Repository\impl\TemplateGroupServiceImpl.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$1.class
com\junmp\junmpProcess\dto\json\FormOperates.class
com\junmp\junmpProcess\mapper\TemplateGroupMapper.class
com\junmp\junmpProcess\mapper\FormGroupsMapper.class
com\junmp\junmpProcess\service\Repository\WorkspaceProcessService.class
com\junmp\junmpProcess\controller\WorkspaceProcessController.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$13.class
com\junmp\junmpProcess\entity\Process$ProcessBuilder.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$12.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$5.class
com\junmp\junmpProcess\controller\BpmnController.class
com\junmp\junmpProcess\dto\HandleDataDTO.class
com\junmp\junmpProcess\entity\Departments$DepartmentsBuilder.class
com\junmp\junmpProcess\exception\GlobalExceptionHandlerResolver.class
com\junmp\junmpProcess\dto\json\ConditionInfo.class
com\junmp\junmpProcess\dto\FlowEngineDTO.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$8.class
com\junmp\junmpProcess\entity\Users.class
com\junmp\junmpProcess\exception\WorkFlowException.class
com\junmp\junmpProcess\vo\OrgTreeVo.class
com\junmp\junmpProcess\entity\FormGroups$FormGroupsBuilder.class
com\junmp\junmpProcess\entity\TemplateGroupBo.class
springfox\documentation\spring\web\WebMvcRequestHandler.class
org\modules\junmpProcess\controller\WorkspaceProcessController.class
org\modules\junmpProcess\controller\WorkspaceProcessController$5.class
org\modules\junmpProcess\utils\IdWorker.class
org\modules\junmpProcess\dto\json\flowJson\FlowApproverGroups.class
org\modules\junmpProcess\mapper\ProcessTemplatesMapper.class
org\modules\junmpProcess\vo\TemplateGroupVo.class
org\modules\junmpProcess\service\Repository\impl\WorkspaceProcessServiceImpl.class
org\modules\junmpProcess\service\Repository\ProcessTemplateService.class
org\modules\junmpProcess\utils\ServletUtil.class
org\modules\junmpProcess\entity\TemplateGroupBo.class
org\modules\junmpProcess\exception\GlobalExceptionHandlerResolver.class
org\modules\junmpProcess\dto\json\flowJson\FlowConditionNodes.class
org\modules\junmpProcess\job\CustomJobHandler.class
org\modules\junmpProcess\controller\BpmnController.class
org\modules\junmpProcess\dto\json\GroupsInfo.class
org\modules\junmpProcess\controller\WorkspaceProcessController$6.class
org\modules\junmpProcess\common\Result.class
org\modules\junmpProcess\mapper\TemplateGroupMapper.class
org\modules\junmpProcess\utils\DateUtils$7.class
org\modules\junmpProcess\common\WorkFlowConstants.class
org\modules\junmpProcess\dto\json\EmailInfo.class
org\modules\junmpProcess\controller\WorkspaceProcessController$10.class
org\modules\junmpProcess\entity\TemplateGroupBo$TemplateGroupBoBuilder.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$5.class
org\modules\junmpProcess\dto\StartProcessInstanceDTO.class
org\modules\junmpProcess\service\Bussiness\impl\SettingServiceImpl$4.class
org\modules\junmpProcess\entity\ProcessTemplates.class
org\modules\junmpProcess\utils\DateUtils$1.class
org\modules\junmpProcess\dto\AttachmentDTO.class
org\modules\junmpProcess\vo\HandleDataVO.class
org\modules\junmpProcess\service\Repository\impl\FormGroupServiceImpl.class
org\modules\junmpProcess\config\IdWorkerConfig.class
org\modules\junmpProcess\common\CommonConstants.class
org\modules\junmpProcess\vo\TemplateGroupVo$Template.class
org\modules\junmpProcess\dto\json\FormItemProps.class
org\modules\junmpProcess\controller\MainProcessController.class
org\modules\junmpProcess\controller\WorkspaceProcessController$11.class
org\modules\junmpProcess\service\Bussiness\impl\SettingServiceImpl.class
org\modules\junmpProcess\vo\TemplateGroupVo$TemplateGroupVoBuilder.class
org\modules\junmpProcess\dto\json\ChildNode.class
org\modules\junmpProcess\dto\json\flowJson\Inout.class
org\modules\junmpProcess\utils\DateUtils.class
org\modules\junmpProcess\enums\ModeEnums.class
org\modules\junmpProcess\dto\FlowDTO.class
org\modules\junmpProcess\controller\SettingController.class
org\modules\junmpProcess\controller\WorkspaceProcessController$4.class
org\modules\junmpProcess\dto\json\Properties.class
org\modules\junmpProcess\dto\json\FormOperates.class
org\modules\junmpProcess\utils\ExUtils.class
org\modules\junmpProcess\vo\HistoryProcessInstanceVO.class
org\modules\junmpProcess\job\IdWorkerIdGenerator.class
org\modules\junmpProcess\mapper\UsersMapper.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$13.class
org\modules\junmpProcess\service\Repository\impl\UserServiceImpl.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$10.class
org\modules\junmpProcess\dto\json\FormItem.class
org\modules\junmpProcess\service\Bussiness\impl\SettingServiceImpl$3.class
org\modules\junmpProcess\controller\WorkspaceProcessController$7.class
org\modules\junmpProcess\dto\TaskDTO.class
org\modules\junmpProcess\job\CustomJobCmd.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$3.class
org\modules\junmpProcess\vo\TaskVO.class
org\modules\junmpProcess\controller\WorkspaceProcessController$14.class
org\modules\junmpProcess\listener\CounterSignListener$1.class
org\modules\junmpProcess\service\Repository\TemplateGroupService.class
org\modules\junmpProcess\entity\TemplateGroup$TemplateGroupBuilder.class
org\modules\junmpProcess\entity\Process$ProcessBuilder.class
org\modules\junmpProcess\controller\WorkspaceProcessController$1.class
org\modules\junmpProcess\dto\json\UserInfo.class
org\modules\junmpProcess\utils\DateUtils$2.class
org\modules\junmpProcess\utils\BpmnModelUtils$FlowType.class
org\modules\junmpProcess\service\Bussiness\impl\SettingServiceImpl$5.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$6.class
org\modules\junmpProcess\service\Bussiness\SettingService.class
org\modules\junmpProcess\vo\AttachmentVO.class
org\modules\junmpProcess\entity\Users.class
org\modules\junmpProcess\controller\WorkspaceProcessController$13.class
org\modules\junmpProcess\service\Bussiness\impl\SettingServiceImpl$2.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$9.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$2.class
org\modules\junmpProcess\service\Repository\impl\DepartmentsServiceImpl.class
org\modules\junmpProcess\entity\TemplateGroup.class
org\modules\junmpProcess\dto\json\ConditionInfo.class
org\modules\junmpProcess\entity\FormGroups.class
org\modules\junmpProcess\entity\ProcessTemplates$ProcessTemplatesBuilder.class
org\modules\junmpProcess\listener\CounterSignListener.class
org\modules\junmpProcess\controller\WorkspaceProcessController$9.class
org\modules\junmpProcess\listener\CounterSignListener$2.class
org\modules\junmpProcess\listener\ProcessListener.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$15.class
org\modules\junmpProcess\service\Repository\WorkspaceProcessService.class
org\modules\junmpProcess\utils\DateUtils$5.class
org\modules\junmpProcess\entity\Departments$DepartmentsBuilder.class
org\modules\junmpProcess\service\Repository\DepartmentsService.class
org\modules\junmpProcess\utils\SpringContextHolder.class
org\modules\junmpProcess\controller\WorkspaceProcessController$2.class
org\modules\junmpProcess\utils\ExUtils$2.class
org\modules\junmpProcess\exception\WorkFlowException.class
org\modules\junmpProcess\service\Bussiness\WorkProcessService.class
org\modules\junmpProcess\vo\TaskDetailVO.class
org\modules\junmpProcess\service\Repository\impl\TemplateGroupServiceImpl.class
org\modules\junmpProcess\dto\json\LogoInfo.class
org\modules\junmpProcess\listener\TimerListener.class
org\modules\junmpProcess\service\Bussiness\impl\SettingServiceImpl$1.class
org\modules\junmpProcess\service\Repository\FormGroupService.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$1.class
org\modules\junmpProcess\dto\ApplyDTO.class
org\modules\junmpProcess\dto\FlowEngineDTO.class
org\modules\junmpProcess\controller\WorkspaceProcessController$3.class
org\modules\junmpProcess\listener\CounterSignListener$3.class
org\modules\junmpProcess\service\Bussiness\impl\OrgUserAndDeptServiceImpl.class
org\modules\junmpProcess\dto\json\SettingsInfo.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$8.class
org\modules\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl.class
org\modules\junmpProcess\entity\Process.class
org\modules\junmpProcess\utils\DateUtils$4.class
com\junmp\junmpProcess\common\CommonConstants.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$13.class
com\junmp\junmpProcess\dto\json\LogoInfo.class
com\junmp\junmpProcess\vo\TemplateGroupVo$Template$TemplateBuilder.class
com\junmp\junmpProcess\dto\json\UserInfo.class
com\junmp\junmpProcess\utils\DateUtils$6.class
com\junmp\junmpProcess\vo\TemplateGroupVo.class
com\junmp\junmpProcess\dto\json\flowJson\Inout.class
com\junmp\junmpProcess\listener\CounterSignListener$3.class
com\junmp\junmpProcess\entity\TemplateGroup.class
com\junmp\junmpProcess\config\IdWorkerConfig.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$10.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl.class
com\junmp\junmpProcess\utils\ExUtils$2.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$1.class
com\junmp\junmpProcess\vo\MultiVO.class
com\junmp\junmpProcess\service\Repository\impl\UserServiceImpl.class
com\junmp\junmpProcess\dto\json\flowJson\FlowNode.class
com\junmp\junmpProcess\utils\DateUtils$5.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$14.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$7.class
com\junmp\junmpProcess\entity\FormGroups.class
com\junmp\junmpProcess\listener\ProcessListener.class
com\junmp\junmpProcess\dto\json\FormItem.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$6.class
com\junmp\junmpProcess\dto\FlowDTO.class
com\junmp\junmpProcess\dto\json\flowJson\FlowApproverGroups.class
com\junmp\junmpProcess\dto\json\GroupsInfo.class
com\junmp\junmpProcess\utils\IdWorker.class
com\junmp\junmpProcess\entity\TemplateGroup$TemplateGroupBuilder.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$11.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$12.class
com\junmp\junmpProcess\utils\DateUtils$4.class
com\junmp\junmpProcess\doc\BpmnDoc.class
com\junmp\junmpProcess\utils\SpringContextHolder.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$3.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$15.class
com\junmp\junmpProcess\service\Bussiness\OrgUserAndDeptService.class
com\junmp\junmpProcess\utils\DateUtils$1.class
com\junmp\junmpProcess\entity\Departments.class
com\junmp\junmpProcess\utils\DateUtils$7.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$11.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$6.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$9.class
com\junmp\junmpProcess\entity\ProcessTemplates$ProcessTemplatesBuilder.class
com\junmp\junmpProcess\service\Repository\impl\DepartmentsServiceImpl.class
com\junmp\junmpProcess\listener\TimerListener.class
com\junmp\junmpProcess\service\Repository\impl\WorkspaceProcessServiceImpl.class
com\junmp\junmpProcess\job\CustomJobCmd.class
com\junmp\junmpProcess\vo\CommentVO.class
com\junmp\junmpProcess\utils\DateUtils.class
com\junmp\junmpProcess\config\ActivitiConfig.class
com\junmp\junmpProcess\controller\OrgUserAndDeptController.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$5.class
com\junmp\junmpProcess\mapper\ProcessTemplatesMapper.class
com\junmp\junmpProcess\vo\AttachmentVO.class
com\junmp\junmpProcess\common\Result.class
com\junmp\junmpProcess\vo\OrgTreeVo$OrgTreeVoBuilder.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$8.class
com\junmp\junmpProcess\dto\TaskDTO.class
com\junmp\junmpProcess\utils\BpmnModelUtils$Type.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$10.class
com\junmp\junmpProcess\dto\json\flowJson\FlowChildNode.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$2.class
com\junmp\junmpProcess\entity\ProcessTemplates.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$9.class
com\junmp\junmpProcess\dto\json\SettingsInfo.class
com\junmp\junmpProcess\utils\DateUtils$2.class
com\junmp\junmpProcess\service\Repository\impl\ProcessTemplateServiceImpl.class
com\junmp\junmpProcess\vo\HandleDataVO.class
com\junmp\junmpProcess\service\Repository\TemplateGroupService.class
com\junmp\junmpProcess\dto\StartProcessInstanceDTO.class
com\junmp\junmpProcess\service\Bussiness\impl\OrgUserAndDeptServiceImpl.class
com\junmp\junmpProcess\service\Repository\UserService.class
com\junmp\junmpProcess\listener\CounterSignListener$2.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$4.class
com\junmp\junmpProcess\controller\WorkspaceProcessController$3.class
com\junmp\junmpProcess\dto\json\HttpInfo.class
com\junmp\junmpProcess\vo\HistoryProcessInstanceVO.class
com\junmp\junmpProcess\common\WorkFlowConstants.class
com\junmp\junmpProcess\service\Repository\ProcessTemplateService.class
com\junmp\junmpProcess\vo\TemplateGroupVo$Template.class
com\junmp\junmpProcess\job\CustomJobHandler.class
com\junmp\junmpProcess\dto\json\flowJson\FlowConditionGroup.class
com\junmp\junmpProcess\dto\json\Properties.class
com\junmp\junmpProcess\entity\Users$UsersBuilder.class
com\junmp\junmpProcess\enums\AssigneeTypeEnums.class
com\junmp\junmpProcess\dto\ApplyDTO.class
com\junmp\junmpProcess\enums\ModeEnums.class
com\junmp\junmpProcess\service\Repository\DepartmentsService.class
com\junmp\junmpProcess\service\Bussiness\impl\WorkProcessServiceImpl$14.class
com\junmp\junmpProcess\utils\ExUtils.class
com\junmp\junmpProcess\vo\TemplateGroupVo$TemplateGroupVoBuilder.class
com\junmp\junmpProcess\listener\CounterSignListener$1.class
com\junmp\junmpProcess\service\Bussiness\WorkProcessService.class
com\junmp\junmpProcess\vo\TaskVO.class
com\junmp\junmpProcess\vo\ProcessInstanceDetailVO.class
com\junmp\junmpProcess\job\IdWorkerIdGenerator.class
......@@ -218,61 +218,25 @@
<artifactId>jyzb-biz</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.junmp.jyzb</groupId>
<artifactId>jyzb-process</artifactId>
<version>1.0.0</version>
</dependency>
<!-- JSON 解析器和生成器 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${fastjson.version}</version>
</dependency>
<!-- flowable -->
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter</artifactId>
<version>${flowable.version}</version>
<exclusions>
<exclusion>
<groupId>org.flowable</groupId>
<artifactId>flowable-spring-boot-starter-app</artifactId>
</exclusion>
<exclusion>
<groupId>org.flowable</groupId>
<artifactId>flowable-form-spring-configurator</artifactId>
</exclusion>
<exclusion>
<groupId>org.flowable</groupId>
<artifactId>flowable-idm-spring-configurator</artifactId>
</exclusion>
<exclusion>
<artifactId>mybatis</artifactId>
<groupId>org.mybatis</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-bpmn-model</artifactId>
<version>${flowable.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-json-converter</artifactId>
<version>${flowable.version}</version>
<scope>compile</scope>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-bpmn-converter</artifactId>
<version>${flowable.version}</version>
<scope>compile</scope>
</dependency>
<!-- Lombok -->
<dependency>
<groupId>org.flowable</groupId>
<artifactId>flowable-bpmn-layout</artifactId>
<version>${flowable.version}</version>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
</dependencies>
</dependencyManagement>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论