Commit 1525bb9c by 李小惠

111

parents fed07cb0 90b00e00
package com.junmp.jyzb.api.bean.req;
import com.junmp.v2.common.bean.request.ValidationApi;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.util.List;
@Data
public class UpdateOrderReq {
private String Id;
private String examineState;
private String processType;
/**
* 状态
*/
@NotNull(message = "状态不能为空", groups = {ValidationApi.updateStatus.class})
private String orderType;
/**
* 单据类型:入库单/出库单
*/
private String processId;
/**
* 工作流ID
*/
private String bussinessType;
/**
* 单据业务类型
*/
private String orderCode;
/**
* 订单号
*/
private String startOrgId;
/**
* 发物单位
*/
private String startOrgName;
/**
* 发物单位名称
*/
private String endOrgId;
/**
* 收物单位
*/
private String endOrgName;
/**
* 发物单位负责人id
*/
private String startOrgUserId;
/**
* 发物单位负责人姓名
*/
private String startOrgUserName;
/**
* 收物单位负责人id
*/
private String endOrgUserId;
/**
* 收物单位负责人姓名
*/
private String endOrgUserName;
/**
* 总价格
*/
private String price;
/**
* 应入库数量
*/
private String inventoryQuantity;
/**
* 附件地址
*/
private String attachmentLocation;
/**
* 单据包含的物资集合
*/
private String invList;
/**
* 表单内容
*/
private String formItem;
// /**
// * 表单内容
// */
// private String detailList;
/**
* 组织机构列表
*/
private List<String> deleteList;
/**
* 组织机构列表
*/
private List<DetailList> detailList;
@Data
public class DetailList {
/**
* 类型
*/
private String Id;
/**
* 类型
*/
private String typeId;
/**
* 类型名称
*/
private String typeName;
/**
* 号型
*/
private String sizeId;
private String sizeName;
private String supplierId;
private String supplierName;
private String planNum;
private String price;
}
}
package com.junmp.jyzb.api.exception.enums;
import com.junmp.v2.common.constant.CommonConstant;
import com.junmp.v2.common.exception.IExceptionEnum;
import lombok.Getter;
@Getter
public enum OrderExceptionEnum implements IExceptionEnum {
ORDER_NOT_EXIST(CommonConstant.DEFAULT_USER_ERROR_CODE,"单据不存在"),
ERROR_COMMOAND(CommonConstant.DEFAULT_USER_ERROR_CODE,"操作有误,无法既删除又修改"),
ORDER_CAN_NOT_UPDATE(CommonConstant.DEFAULT_USER_ERROR_CODE,"进行中的单据无法修改");
/**
* 错误编码
*/
private final Integer code;
/**
* 提示用户信息
*/
private final String message;
OrderExceptionEnum(Integer code, String message) {
this.code = code;
this.message = message;
}
}
package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil;
import com.junmp.jyzb.api.bean.query.ProductSkuReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.service.OrderService;
import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
......@@ -23,11 +29,23 @@ public class OrderController {
@PostMapping("/AddOrder")
@ApiOperation("新增任务单")
public ResponseResult addOrder(@RequestBody Map<String,Object> msg) {
ResponseResult returnMsg = orderService.addOrder(msg);
return null;
public ApiRes<String> addOrder(@RequestBody UpdateOrderReq req) {
if (ObjectUtil.isNotEmpty(req.getProcessId()))
{
req.setExamineState("none");
}
else
{
req.setExamineState("working");
}
return ApiRes.success(orderService.AddOrder(req));
}
@PostMapping("/AddFinishOrder")
@ApiOperation("新增已完成的任务单")
public ApiRes<String> AddFinishOrder(@RequestBody @Validated(ValidationApi.add.class) UpdateOrderReq req) {
req.setExamineState("finished");
return ApiRes.success(orderService.AddOrder(req));
}
@PostMapping("/ShowOrder")
@ApiOperation("查询任务列表")
public ResponseResult showOrder(@RequestBody Map<String,Object> msg) {
......@@ -37,9 +55,8 @@ public class OrderController {
@PostMapping("/UpdateOrder")
@ApiOperation("修改任务单")
public ResponseResult updateOrder(@RequestBody Map<String,Object> msg) {
ResponseResult returnMsg =orderService.updateOrder(msg);
return null;
public ApiRes<Boolean> updateOrder(@RequestBody @Validated(ValidationApi.add.class) UpdateOrderReq req) {
return ApiRes.success(orderService.updateOrder(req));
}
@PostMapping("/GetOrderDetail")
......
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("bussiness_order_detail")
public class OrderDetail implements Serializable {
@TableField("id")
private Long id;
@TableField("order_id")
private String orderId;
@TableField("type")
private String type;
@TableField("equipment_type")
private String equipmentType;
@TableField("equipment_type_name")
private String equipmentTypeName;
@TableField("equipment_size")
private Long equipmentSize;
@TableField("equipment_size_name")
private String equipmentSizeName;
@TableField("equipment_supplier")
private Long equipment_supplier;
@TableField("equipment_supplier_name")
private String equipmentSupplierName;
@TableField("plan_num")
private String planNum;
@TableField("actual_num")
private String actualNum;
@TableField("price")
private String price;
@TableField("order_type")
private String orderType;
/**
* 创建时间
*/
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
/**
* 更新时间
*/
@TableField(value = "update_time", fill = FieldFill.UPDATE)
private Date updateTime;
@TableField("create_user")
private String createUser;
@TableField("update_user")
private String updateUser;
}
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
......@@ -8,6 +9,7 @@ import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.xml.soap.Text;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
......@@ -19,13 +21,16 @@ import java.util.Date;
@TableName("bussiness_order_main")
public class OrderMain implements Serializable {
@TableField("id")
private Long id;
private String id;
@TableField("order_type")
private String orderType;
@TableField("process_id")
private String processId;
@TableField("examine_state")
private String examineState;
@TableField("bussiness_type")
private String bussinessType;
......@@ -78,10 +83,20 @@ public class OrderMain implements Serializable {
@TableField("inv_list")
private String invList;
@TableField("create_time")
@TableField("form_item")
private String formItem;
@TableField("order_detail")
private Text orderDetail;
/**
* 创建时间
*/
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
@TableField("update_time")
/**
* 更新时间
*/
@TableField(value = "update_time", fill = FieldFill.UPDATE)
private Date updateTime;
@TableField("create_user")
......
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.entity.OrderDetail;
import com.junmp.jyzb.entity.Product;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OrderDetailMapper extends BaseMapper<OrderDetail> {
}
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.entity.Product;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
@Mapper
public interface OrderMainMapper {
public interface OrderMainMapper extends BaseMapper<OrderMain> {
Long addOrder(OrderMain order);
List<Map<String, Object>> showOrder(String orgId);
......
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.entity.EquipmentType;
import com.junmp.jyzb.entity.OrderDetail;
import java.util.List;
public interface OrderDetailService extends IService<OrderDetail> {
List<OrderDetail> QueryList(String orderId);
}
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.entity.OrderDetail;
import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.utils.ResponseResult;
import java.util.Map;
public interface OrderService {
ResponseResult addOrder(Map<String, Object> msg);
public interface OrderService extends IService<OrderMain> {
String AddOrder(UpdateOrderReq req);
ResponseResult showOrder(Map<String, Object> msg);
ResponseResult updateOrder(Map<String, Object> msg);
Boolean updateOrder(UpdateOrderReq req);
ResponseResult getOrderDetail(Map<String, Object> msg);
}
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.jyzb.api.bean.query.QueryEquipmentSizeReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.api.exception.enums.OrderExceptionEnum;
import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.mapper.OrderDetailMapper;
import com.junmp.jyzb.mapper.OrderMainMapper;
import com.junmp.jyzb.service.OrderDetailService;
import com.junmp.jyzb.service.OrderService;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class OrderDetailServiceImpl extends ServiceImpl<OrderDetailMapper, OrderDetail> implements OrderDetailService {
public List<OrderDetail> QueryList(String orderId) {
LambdaQueryWrapper<OrderDetail> wrapper = new LambdaQueryWrapper<>();
//根据主单据查询
wrapper.eq(ObjectUtil.isNotEmpty(orderId), OrderDetail::getOrderId, orderId);
return this.list(wrapper);
}
}
package com.junmp.jyzb.service.impl;
import com.junmp.jyzb.entity.OrderMain;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.req.UpdateEquipmentSizeReq;
import com.junmp.jyzb.api.bean.req.UpdateOrderReq;
import com.junmp.jyzb.api.exception.enums.OrderExceptionEnum;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.mapper.OrderMainMapper;
import com.junmp.jyzb.service.OrderDetailService;
import com.junmp.jyzb.service.OrderService;
import com.junmp.jyzb.utils.DateTimeUtil;
import com.junmp.jyzb.utils.HttpStatus;
import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.jyzb.utils.ReturnMsg;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
import static com.junmp.jyzb.utils.CheckBlank.checkNotBlank;
@Service
public class OrderServiceImpl implements OrderService {
public class OrderServiceImpl extends ServiceImpl<OrderMainMapper, OrderMain> implements OrderService {
@Resource
private OrderMainMapper orderMapper;
private OrderDetailService orderDetailService;
@Resource
private OrderMainMapper orderMapper;
@Transactional
@Override
public ResponseResult addOrder(Map<String, Object> msg) {
try {
checkNotBlank(msg.get("orderType"), "orderType不能为空");
checkNotBlank(msg.get("processId"), "processId不能为空");
checkNotBlank(msg.get("bussinessType"), "bussinessType不能为空");
checkNotBlank(msg.get("orderCode"), "orderCode不能为空");
checkNotBlank(msg.get("orgId"), "orgId不能为空");
checkNotBlank(msg.get("inventoryQuantity"), "inventoryQuantity不能为空");
checkNotBlank(msg.get("manualState"), "manualState不能为空");
checkNotBlank(msg.get("orderState"), "orderState不能为空");
checkNotBlank(msg.get("attachmentLocation"), "attachmentLocation不能为空");
checkNotBlank(msg.get("invList"), "invList不能为空");
} catch (IllegalArgumentException e) {
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,e.getMessage());
}
public String AddOrder(UpdateOrderReq req) {
OrderMain order = new OrderMain();
//生成当前时间
Date currentDate = DateTimeUtil.getCurrentDateTime();
order.setCreateTime(currentDate);
order.setUpdateTime(currentDate);
order.setOrderType((String) msg.get("orderType"));
order.setProcessId((String) msg.get("processId"));
order.setBussinessType((String) msg.get("bussinessType"));
order.setOrderCode((String) msg.get("orderCode"));
order.setInventoryQuantity((Integer) msg.get("inventoryQuantity"));
order.setManualState((Integer) msg.get("manualState"));
order.setOrderState((Integer) msg.get("orderState"));
order.setAttachmentLocation((String) msg.get("attachmentLocation"));
order.setInvList((String) msg.get("invList"));
Long id = orderMapper.addOrder(order);
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,id);
String orderId=UUID.randomUUID().toString();
BeanPlusUtil.copyProperties(req, order);
order.setId(orderId);
List<OrderDetail> detailList = new ArrayList<>();
req.getDetailList().forEach(p->
{
OrderDetail detail=new OrderDetail();
BeanPlusUtil.copyProperties(p, detail);
detail.setOrderId(orderId);
detailList.add(detail);
});
orderDetailService.saveBatch(detailList);
this.save(order);
return orderId;
}
@Override
......@@ -73,46 +66,61 @@ public class OrderServiceImpl implements OrderService {
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,allMsg);
}
@Transactional
@Override
public ResponseResult updateOrder(Map<String, Object> msg) {
try {
checkNotBlank(msg.get("id"), "id不能为空");
checkNotBlank(msg.get("orderType"), "orderType不能为空");
checkNotBlank(msg.get("processId"), "processId不能为空");
checkNotBlank(msg.get("bussinessType"), "bussinessType不能为空");
checkNotBlank(msg.get("orderCode"), "orderCode不能为空");
checkNotBlank(msg.get("orgId"), "orgId不能为空");
checkNotBlank(msg.get("inventoryQuantity"), "inventoryQuantity不能为空");
checkNotBlank(msg.get("manualState"), "manualState不能为空");
checkNotBlank(msg.get("orderState"), "orderState不能为空");
checkNotBlank(msg.get("attachmentLocation"), "attachmentLocation不能为空");
checkNotBlank(msg.get("invList"), "invList不能为空");
} catch (IllegalArgumentException e) {
return new ResponseResult(HttpStatus.ERROR, ReturnMsg.ERROR,e.getMessage());
public Boolean updateOrder(UpdateOrderReq req) {
OrderMain order = this.query(req);
if (!order.getExamineState().equals("none"))
{
throw new ServiceException(OrderExceptionEnum.ORDER_CAN_NOT_UPDATE);
}
List<OrderDetail> updateList= orderDetailService.QueryList(order.getId());
List<String> updateCheckList=new ArrayList<>();
List<OrderDetail> addList = new ArrayList<>();
req.getDetailList().forEach(detail -> {
updateCheckList.add(detail.getId()); // 将id转换为String并添加到updateList中
});
boolean checkResult = this.hasCommonElements(updateCheckList,req.getDeleteList());
if (req.getDeleteList().size()>0)
{
orderDetailService.removeBatchByIds(req.getDeleteList());
}
req.getDetailList().forEach(p->
{
if (p.getId()!=null)//修改
{
updateList.forEach(detail->
{
if (detail.getId().equals(p.getId()))
{
BeanPlusUtil.copyProperties(p, detail);
}
});
OrderMain order = new OrderMain();
//生成当前时间
order.setId((Long) msg.get("id"));
Date currentDate = DateTimeUtil.getCurrentDateTime();
order.setUpdateTime(currentDate);
order.setOrderType((String) msg.get("orderType"));
order.setProcessId((String) msg.get("processId"));
order.setBussinessType((String) msg.get("bussinessType"));
order.setOrderCode((String) msg.get("orderCode"));
order.setInventoryQuantity((Integer) msg.get("inventoryQuantity"));
order.setManualState((Integer) msg.get("manualState"));
order.setOrderState((Integer) msg.get("orderState"));
order.setAttachmentLocation((String) msg.get("attachmentLocation"));
order.setInvList((String) msg.get("invList"));
orderMapper.updateOrder(order);
}
else//新增
{
OrderDetail detail=new OrderDetail();
BeanPlusUtil.copyProperties(p, detail);
detail.setOrderId(order.getId());
addList.add(detail);
}
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS);
});
orderDetailService.updateBatchById(updateList);
orderDetailService.saveBatch(addList);
this.save(order);
return true;
}
public boolean hasCommonElements(List<?> list1, List<?> list2) {
for (Object item1 : list1) {
if (list2.contains(item1)) {
return true; // 找到相同值
}
}
return false; // 没有相同值
}
@Override
......@@ -128,4 +136,14 @@ public class OrderServiceImpl implements OrderService {
return new ResponseResult(HttpStatus.SUCCESS, ReturnMsg.PASS,oneMsg);
}
private OrderMain query(UpdateOrderReq req) {
OrderMain order = this.getById(req.getId());
if (ObjectUtil.isNull(order)) {
throw new ServiceException(OrderExceptionEnum.ORDER_NOT_EXIST);
}
return order;
}
}
......@@ -20,8 +20,6 @@ import java.util.*;
@Service
public class SupplierServiceImpl extends ServiceImpl<SupplierMapper, Supplier> implements SupplierService {
@Resource
private SupplierMapper supplierMapper;
@Override
......
......@@ -13,11 +13,6 @@ import com.junmp.jyzb.service.SupplierTypeService;
@Service
public class SupplierTypeServiceImpl extends ServiceImpl<SupplierTypeMapper, SupplierType> implements SupplierTypeService{
@Resource
private SupplierTypeMapper supplierTypeMapper;
private LambdaQueryWrapper<SupplierType> createWrapper(SupplierTypeReq req) {
LambdaQueryWrapper<SupplierType> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)) {
......
......@@ -36,26 +36,11 @@
<artifactId>amqp-client</artifactId>
<version>5.9.0</version>
</dependency>
<!--引入rabbitmq的相关依赖-->
<!-- <dependency>-->
<!-- <groupId>com.rabbitmq</groupId>-->
<!-- <artifactId>amqp-client</artifactId>-->
<!-- <version>5.7.2</version>-->
<!-- </dependency>-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.3.2</version>
</dependency>
<!-- &lt;!&ndash; 整合到spring项目需要导入此依赖 &ndash;&gt;-->
<!-- <dependency>-->
<!-- <groupId>org.springframework.amqp</groupId>-->
<!-- <artifactId>spring-rabbit</artifactId>-->
<!-- <version>2.3.10</version>-->
<!-- </dependency>-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
......@@ -71,11 +56,6 @@
<version>${lombok.version}</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.amqp</groupId>-->
<!-- <artifactId>spring-rabbit-test</artifactId>-->
<!-- <scope>test</scope>-->
<!-- </dependency>-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
......@@ -127,13 +107,6 @@
</exclusion>
</exclusions>
</dependency>
<!--
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>${mybatis-plus.dynamic.vesion}</version>
</dependency>
-->
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
......@@ -228,11 +201,6 @@
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework</groupId>-->
<!-- <artifactId>spring-webmvc</artifactId>-->
<!-- <version>5.3.19</version>-->
<!-- </dependency>-->
<dependency>
<groupId>com.junmp.v2</groupId>
<artifactId>junmp-v2-common</artifactId>
......
//package com.junmp.junmpProcess.controller;
//
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
//import com.junmp.jyzb.utils.ResponseResult;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiOperation;
//import lombok.extern.slf4j.Slf4j;
//import com.junmp.junmpProcess.common.Result;
//import com.junmp.junmpProcess.dto.ApplyDTO;
//import com.junmp.junmpProcess.dto.HandleDataDTO;
//import com.junmp.junmpProcess.dto.StartProcessInstanceDTO;
//import com.junmp.junmpProcess.dto.TaskDTO;
//import com.junmp.junmpProcess.entity.ProcessTemplates;
//import com.junmp.junmpProcess.service.Bussiness.WorkProcessService;
//import com.junmp.junmpProcess.vo.HandleDataVO;
//import com.junmp.junmpProcess.vo.HistoryProcessInstanceVO;
//import com.junmp.junmpProcess.vo.MultiVO;
//import com.junmp.junmpProcess.vo.TaskVO;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.List;
//import java.util.Map;
//
//@Slf4j
//@RestController
//@RequestMapping("/MainProcess")
//@Api(tags = "和Flowable有关的接口")
//public class MainProcessController {
//
// @Autowired
// private WorkProcessService ProcessService;
//
//
// @ApiOperation(value = "通过模板id查看流程信息 会附带流程定义id", notes = "获取所有Demo数据列表")
// @GetMapping(value = "process/detail")
// public Result<ProcessTemplates> detail(@RequestParam("templateId") String templateId) {
// return ProcessService.detail(templateId);
// }
//
// @ApiOperation("新建流程")
// @PostMapping("process/create")
// public Result<Object> create(@RequestBody StartProcessInstanceDTO startProcessInstanceDTO) {
// return ProcessService.start(startProcessInstanceDTO);
// }
//
// @ApiOperation("通过流程定义id启动流程")
// @PostMapping("process/start")
// public Result<Object> start(@RequestBody StartProcessInstanceDTO startProcessInstanceDTO) {
// return ProcessService.start(startProcessInstanceDTO);
// }
//
// @ApiOperation("查看我发起的流程")
// @PostMapping("process/applyList")
// public Result<Page<HistoryProcessInstanceVO>> applyList(@RequestBody ApplyDTO applyDTO) {
// return ProcessService.applyList(applyDTO);
// }
//
// @ApiOperation("查看我的待办")
// @PostMapping("process/toDoList")
// public Result<Page<TaskVO>> toDoList(@RequestBody TaskDTO taskDTO) {
// return ProcessService.toDoList(taskDTO);
// }
//
// @ApiOperation("查看我的已办")
// @PostMapping("process/doneList")
// public Result<Page<TaskVO>> doneList(@RequestBody TaskDTO taskDTO) {
// return ProcessService.doneList(taskDTO);
// }
//
// @ApiOperation("同意按钮")
// @PostMapping("/agree")
// public Result agree(@RequestBody HandleDataDTO handleDataDTO) {
// return ProcessService.agree(handleDataDTO);
// }
//
// @ApiOperation("委派按钮")
// @PostMapping("/delegateTask")
// public Result delegateTask(@RequestBody HandleDataDTO handleDataDTO) {
// return ProcessService.delegateTask(handleDataDTO);
//
// }
//
// @ApiOperation("委派人完成的按钮")
// @PostMapping("/resolveTask")
// public Result resolveTask(@RequestBody HandleDataDTO handleDataDTO) {
// return ProcessService.resolveTask(handleDataDTO);
// }
//
//
// @ApiOperation("拒绝按钮")
// @PostMapping("/refuse")
// public ResponseResult refuse(@RequestBody HandleDataDTO handleDataDTO) {
// return ProcessService.refuse(handleDataDTO);
// }
//
// @ApiOperation("撤销按钮")
// @PostMapping("/revoke")
// public Result revoke(@RequestBody HandleDataDTO handleDataDTO) {
// return ProcessService.revoke(handleDataDTO);
// }
//
//
// @ApiOperation("转办按钮")
// @PostMapping("/assignee")
// public Result assignee(@RequestBody HandleDataDTO handleDataDTO) {
// return ProcessService.assignee(handleDataDTO);
// }
//
//
// @ApiOperation("退回按钮")
// @PostMapping("/rollback")
// public Result rollback(@RequestBody HandleDataDTO handleDataDTO) {
// return ProcessService.rollback(handleDataDTO);
// }
//
//
// @ApiOperation("加签按钮")
// @PostMapping("/addMulti")
// public Result addMulti(@RequestBody HandleDataDTO handleDataDTO) {
// return ProcessService.addMulti(handleDataDTO);
// }
//
//
// @ApiOperation("查到签上的人")
// @PostMapping("/queryMultiUsersInfo")
// public Result<List<MultiVO>> queryMultiUsersInfo(@RequestBody Map<String, Object> map) {
// return ProcessService.queryMultiUsersInfo(map);
// }
//
// @ApiOperation("减签按钮")
// @PostMapping("/deleteMulti")
// public Result deleteMulti(@RequestBody List<String> executionIds) {
// return ProcessService.deleteMulti(executionIds);
// }
//
//
// @ApiOperation("评论按钮")
// @PostMapping("/comments")
// public Result comments(@RequestBody HandleDataDTO handleDataDTO) {
// return ProcessService.comments(handleDataDTO);
// }
//
// @ApiOperation("通过流程实例id查看详情")
// @PostMapping("process/instanceInfo")
// public Result<HandleDataVO> instanceInfo(@RequestBody HandleDataDTO HandleDataDTO) {
// return ProcessService.instanceInfo(HandleDataDTO);
// }
//// @ApiOperation("上传文件")
//// @PostMapping("upLoadFile")
//// public Result<AttachmentVO> upLoadFile(@RequestParam("file") MultipartFile file, HttpServletRequest request){
//// return ProcessService.upLoadFile(file,request);
//// }
//// @ApiOperation("下载文件")
//// @PostMapping("downLoadFile")
//// public void downLoadFile(@RequestParam("name") String name){
//// ProcessService.downLoadFile(name);
//// }
//}
//
//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.mapper;//package org.jeecg.junmpProcess.mapper;
//
//
//import com.baomidou.mybatisplus.core.mapper.BaseMapper;
//import org.apache.ibatis.annotations.Mapper;
//
//@Mapper
//public interface ProcessMapper extends BaseMapper<Process> {
//}
//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 org.modules.junmpProcess.utils;
//
//import lombok.extern.slf4j.Slf4j;
//import org.owasp.validator.html.AntiSamy;
//import org.owasp.validator.html.CleanResults;
//import org.owasp.validator.html.Policy;
//
//import java.io.InputStream;
//import java.util.regex.Matcher;
//import java.util.regex.Pattern;
//
///**
// * 防止XSS注入
// */
//@Slf4j
//public class XSSEscape {
//
//
// /**
// * 非法路径符号
// */
// private static final Pattern PATH_PATTERN = Pattern.compile("\\.\\.\\|\\.\\./|~/|~\\|[<]|>|\"|[*]|[|]|[?]", Pattern.CASE_INSENSITIVE);
//
// private static InputStream inputStream;
// private static Policy policy;
// private static Policy emptyPolicy;
//
// static {
// try {
// inputStream = XSSEscape.class.getClassLoader().getResourceAsStream("antisamy-ebay.xml");
// policy = Policy.getInstance(inputStream);
// inputStream.close();
// inputStream = XSSEscape.class.getClassLoader().getResourceAsStream("antisamy-empty.xml");
// emptyPolicy = Policy.getInstance(inputStream);
// inputStream.close();
// } catch (Exception e) {
// e.printStackTrace();
// }
// }
//
// /**
// * 跨站式脚本攻击字符串过滤
// *
// * @param character 需要转义的字符串
// */
// public static String escape(String character) {
// try {
// AntiSamy antiSamy = new AntiSamy();
// CleanResults scan = antiSamy.scan(character, policy);
// String str = scan.getCleanHTML();
// str = str.replaceAll("&quot;", "\"");
// str = str.replaceAll("&amp;", "&");
// str = str.replaceAll("&lt;", "<");
// str = str.replaceAll("&gt;", ">");
// return str;
// } catch (Exception e) {
// log.error("转换错误:" + e.getMessage());
// }
// return null;
// }
//
//
// /**
// * 此方法伪过滤
// *
// * @param character 需要转义的字符串
// */
// public static String escapeEmpty(String character) {
// try {
// AntiSamy antiSamy = new AntiSamy();
// CleanResults scan = antiSamy.scan(character, emptyPolicy);
// return scan.getCleanHTML();
// } catch (Exception e) {
// }
// return character;
// }
//
// /**
// * 过滤非法路径
// *
// * @param path
// * @return
// */
// public static String escapePath(String path) {
// Matcher matcher = PATH_PATTERN.matcher(path);
// return escapeEmpty(matcher.replaceAll("").replaceAll("\\.\\.", "."));
// }
//
//
//}
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
W3C rules retrieved from:
http://www.w3.org/TR/html401/struct/global.html
-->
<anti-samy-rules xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="antisamy.xsd">
<directives>
<directive name="omitXmlDeclaration" value="true"/>
<directive name="omitDoctypeDeclaration" value="true"/>
<directive name="maxInputSize" value="0"/>
<directive name="useXHTML" value="true"/>
<directive name="formatOutput" value="false"/>
<!--
remember, this won't work for relative URIs - AntiSamy doesn't
know anything about the URL or your web structure
-->
<directive name="embedStyleSheets" value="false"/>
</directives>
<common-regexps>
</common-regexps>
<!--
Tag.name = a, b, div, body, etc.
Tag.action = filter: remove tags, but keep content, validate: keep content as long as it passes rules, remove: remove tag and contents
Attribute.name = id, class, href, align, width, etc.
Attribute.onInvalid = what to do when the attribute is invalid, e.g., remove the tag (removeTag), remove the attribute (removeAttribute), filter the tag (filterTag)
Attribute.description = What rules in English you want to tell the users they can have for this attribute. Include helpful things so they'll be able to tune their HTML
-->
<!--
Some attributes are common to all (or most) HTML tags. There aren't many that qualify for this. You have to make sure there's no
collisions between any of these attribute names with attribute names of other tags that are for different purposes.
-->
<common-attributes>
</common-attributes>
<!--
This requires normal updates as browsers continue to diverge from the W3C and each other. As long as the browser wars continue
this is going to continue. I'm not sure war is the right word for what's going on. Doesn't somebody have to win a war after
a while? Even wars of attrition, surely?
-->
<global-tag-attributes>
</global-tag-attributes>
<tags-to-encode>
</tags-to-encode>
<tag-rules>
</tag-rules>
<!-- CSS validation processing rules -->
<css-rules>
<!-- end manual properties -->
</css-rules>
<allowed-empty-tags>
</allowed-empty-tags>
</anti-samy-rules>
# 应用服务器
server:
tomcat:
uri-encoding: UTF-8 #tomcat编码
port: 8999 #tomcat端口
#===================== 数据源配置 =====================
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
username: ${MYSQL_USER:root} #junmp
password: ${MYSQL_PWD:root} #123456
url: jdbc:mysql://${MYSQL_HOST:127.0.0.1}:${MYSQL_PORT:3306}/${MYSQL_DB:jyzb03}?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: 127.0.0.1
port: 6379
password:
timeout: 3000 #超时时间(单位:秒)
lettuce: #Lettuce为Redis的Java驱动包
pool:
max-active: 8 # 连接池最大连接数
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
min-idle: 0 # 连接池中的最小空闲连接
max-idle: 8 # 连接池中的最大空闲连接
mail:
host: smtp.qq.com #邮件服务器的host
password: sb #邮件服务器的发件人密码
username: 6666@qq.com #邮件服务器的发件人
port: 25 #smtp默认端口
protocol: smtp #使用smtp协议
default-encoding: UTF-8 #邮件使用的字符集
properties:
mail:
debug: true #启调试模式(发送邮件的细节都能看出来) 默认值为fasle
debug.auth: true
smtp:
auth: true #如果为true ,则尝试使用auth命令对用户进行身份验证 默认为false
connectiontimeout: 20000 #套接字连接超时值(毫秒)。默认值为无限超时。
sendpartial: true #如果为true 并且邮件有一些有效和无效的地址 并使用SendFailException 报告部分失败, 如果设置为false(默认值) 如果存在无效的收件人地址, 则不会将邮件发送给任何收件人
starttls:
#如果为true,则在发出任何登录命令之前,启用starttl命令(如果服务器支持) 将连接切换到受TLS保护的连接,请注意,必须配置适当的信任存储,以便客户端信任服务器的证书,默认为false
enable: true
# 如果为true,则需要使用 starttl命令,如果服务器不支持此命令,或者该命令失败,connect()将失败,默认为false 如果此设置为true james邮件服务器会报错 STARTTLS is required but host does not support STARTTLS
required: false
timeout: 20000 #I/O超时值(ms) 默认为无限超时
userset: true #如果设置为true,则在isConnected()中使用RSET命令而不是NOOP命令 在某些情况下,sendmail在执行许多NOOP命令后响应缓存,使用RSET可以避免这个sendMail问题,默认为false
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
config:
minio:
endpoint: http://192.168.0.147:9000/ #服务端地址
accessKey: admin #账号
secretKey: test. #密码
fileHost: http://192.168.0.147:9000/ #地址
spring: #环境 dev|test|pro|preview
profiles:
active: dev
servlet:
multipart: #文件传输配置
max-file-size: 100MB #单个数据大小限制
max-request-size: 100MB #请求总数据大小限制
enabled: true #是否启用分段上传支持
mvc:
hiddenmethod: #隐式方法过滤器
filter:
enabled: true #默认关闭。开启以支持:PUT,DELETE表单提交方法
jackson: #序列化和反序列化json框架
serialization:
write-dates-as-timestamps: true #是否写入日期时间时间戳格式
time-zone: GMT+8 #指定日期格式化时区
main:
allow-bean-definition-overriding: true #允许同名bean后者覆盖,默认:true
allow-circular-references: true #允许Bean相互引用,默认:false
server:
error:
whitelabel:
enabled: false
......@@ -15,6 +15,7 @@
<module>jyzb-biz</module>
<module>jyzb-process</module>
<module>jyzb-common</module>
<module>jyzb-mq</module>
</modules>
<parent>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论