Merge remote-tracking branch 'origin/master'

master
郑明梁 2 years ago
commit 4b54a7d2aa

@ -53,6 +53,10 @@ public class ConstantStatus {
public static final Integer ORDER_STATUS_PROCESSING = 9;
public static final Integer ORDER_DELIVERY_STATUS_UN = 1;
public static final Integer ORDER_DELIVERY_STATUS_ED = 2;
/**
* 2.13
*/
@ -65,7 +69,13 @@ public class ConstantStatus {
*/
public static final Integer BUS_TYPE_NORMAL = 1; //正常出入库单据(入账)
public static final Integer BUS_TYPE_DELIVERY = 2; //送货出入库单据
public static final Integer BUS_TYPE__ARRIVAL = 3; //到货出库单据类型
public static final Integer BUS_TYPE_ARRIVAL = 3; //到货出库单据类型
public static final Integer BUS_TYPE_RETURNED = 4; //退货单单据类型
public static final Integer ACTION_TYPE_NORMAL = 1; //带票
public static final Integer ACTION_TYPE_PREIN = 2; //预验收
public static final Integer ACTION_TYPE_ADVANCE = 3; //寄售
public static final Integer ORDER_STATUS_ADDITIONAL = 5; //补录单据

@ -56,14 +56,14 @@ public class BasicBusTypePreController {
if (CollUtil.isEmpty(basicBusTypePreEntities)) {
//创建对应单据流转
if (filterBusTypePreRequest.getType() != null && "changEnable".equals(filterBusTypePreRequest.getType())) {
if (ConstantType.TYPE_OUT.equals(basicBussinessType.getMainAction()) && !basicBussinessType.isAdvanceType()) {
if (ConstantType.TYPE_OUT.equals(basicBussinessType.getMainAction()) && basicBussinessType.getActionType() != ConstantStatus.ACTION_TYPE_ADVANCE) {
BasicBusTypePreEntity basicBusTypePreEntity = new BasicBusTypePreEntity();
basicBusTypePreEntity.setChangeType(ConstantStatus.ORDER_CHANGE_INNOR_NORMAL_IN);
basicBusTypePreEntity.setIndex(1);
basicBusTypePreEntity.setAction(filterBusTypePreRequest.getAction());
basicBusTypePreEntity.setBeforeTime(1);
basicBusTypePreService.insertBusChangeType(basicBusTypePreEntity);
} else if (ConstantType.TYPE_OUT.equals(basicBussinessType.getMainAction()) && basicBussinessType.isAdvanceType()) {
} else if (ConstantType.TYPE_OUT.equals(basicBussinessType.getMainAction()) && basicBussinessType.getActionType() != ConstantStatus.ACTION_TYPE_ADVANCE) {
BasicBusTypePreEntity basicBusTypePreEntity = new BasicBusTypePreEntity();
basicBusTypePreEntity.setChangeType(ConstantStatus.ORDER_CHANGE_ADVANCE_IN);
basicBusTypePreEntity.setIndex(1);

@ -446,7 +446,7 @@ public class IoCodeTempController extends BaseController {
}
//校验预验收是否已存在
if (bussinessTypeEntity.isPreIn()) {
if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) {
List<InvPreinDetailEntity> invProductDetailEntities = invPreinDetailService.findByCode(code);
if (CollUtil.isNotEmpty(invProductDetailEntities)) {
@ -821,7 +821,7 @@ public class IoCodeTempController extends BaseController {
public BaseResponse checkInv(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeTempEntity) {
if (bussinessTypeEntity.isVailInv()) {
if (bussinessTypeEntity.isAdvanceType()) {
if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
// int count = invPreProductDetailService.vailStockCount(code); //todo 寄售
// if (count < 0) {
// return ResultVOUtils.error(500, "当前库存不足不允许0库存出库");

@ -84,7 +84,7 @@ public class IoOrderReviewController extends BaseController {
}
//前端直接验收完成
//前端二次审核
@AuthRuleAnnotation("")
@PostMapping("/spms/inout/order/web/updateStatus")
public BaseResponse webUpdateStatus(@RequestBody ReviewFinishRequest updateExportStatusRequest,
@ -100,6 +100,23 @@ public class IoOrderReviewController extends BaseController {
return updateReview(getUser(), orderEntity);
}
//前端第三次验收
@AuthRuleAnnotation("")
@PostMapping("/spms/inout/order/third/updateStatus")
public BaseResponse thirdUpdateStatus(@RequestBody ReviewFinishRequest updateExportStatusRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
IoOrderEntity orderEntity = orderService.findByBillNo(updateExportStatusRequest.getOrderId());
if (orderEntity == null) {
return ResultVOUtils.error(500, "未找到该业务单据");
}
return thirdUpdateReview(getUser(), orderEntity);
}
@Resource
IoCodeService codeService;
@Resource
@ -347,5 +364,18 @@ public class IoOrderReviewController extends BaseController {
return ResultVOUtils.success("更新成功");
}
//前端第三次验收
public BaseResponse thirdUpdateReview(AuthAdmin authAdmin, IoOrderEntity orderEntity) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
orderEntity.setReviewUser(authAdmin.getId() + "");
orderEntity.setUpdateTime(new Date());
orderEntity.setAuditTime(new Date());
orderEntity.setDeliveryStatus(ConstantStatus.ORDER_DELIVERY_STATUS_ED);
orderService.update(orderEntity);
redisUtil.del(ConstantStatus.REDIS_BILLNO + orderEntity.getBillNo());
redisUtil.del(ConstantStatus.REDIS_BILLNO_CODES + orderEntity.getBillNo());
//验收完成->进入流程
return ResultVOUtils.success("更新成功");
}
}

@ -3,6 +3,7 @@ package com.glxp.api.controller.inv;
import com.github.pagehelper.PageInfo;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.req.inv.FilterInvRemindMsgRequest;
import com.glxp.api.res.inv.InvRemindMsgResponse;
import com.glxp.api.service.inv.InvRemindMsgService;
@ -18,7 +19,7 @@ import java.util.List;
*/
@Slf4j
@RestController
public class InvRemindMsgController {
public class InvRemindMsgController extends BaseController {
@Resource
private InvRemindMsgService invRemindMsgService;
@ -31,6 +32,11 @@ public class InvRemindMsgController {
*/
@GetMapping("/udiwms/inv/remind/msg/filter")
public BaseResponse filterList(FilterInvRemindMsgRequest filterInvRemindMsgRequest) {
if (!isHosUser()) {
filterInvRemindMsgRequest.setSupId(getCustomerId());
}
List<InvRemindMsgResponse> list = invRemindMsgService.filterList(filterInvRemindMsgRequest);
PageInfo<InvRemindMsgResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo);

@ -79,4 +79,18 @@ public class InvRemindSetController {
return invRemindSetService.deleteInvRemindSet(Integer.valueOf(deleteRequest.getId()));
}
/**
* ID
*
* @param invId
* @return
*/
@GetMapping("/udiwms/inv/remind/set/getInfoByInvId")
public BaseResponse getInfoByInvId(Integer invId) {
if (null == invId) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
return invRemindSetService.getInfoByInvId(invId);
}
}

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.inv.InvRemindSetEntity;
import com.glxp.api.req.inv.FilterInvRemindSetRequest;
import com.glxp.api.res.inv.InvRemindSetResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -19,4 +20,12 @@ public interface InvRemindSetDao extends BaseMapper<InvRemindSetEntity> {
* @return
*/
List<InvRemindSetResponse> filterList(FilterInvRemindSetRequest filterInvRemindSetRequest);
/**
* ID
*
* @param invId
* @return
*/
InvRemindSetResponse selectInfoByInvId(@Param("invId") Integer invId);
}

@ -0,0 +1,10 @@
package com.glxp.api.dao.system;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.entity.basic.BasicBusTypeChangeEntity;
import com.glxp.api.entity.system.SysMenuHelpEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SysMenuHelpMapper extends BaseMapper<SysMenuHelpEntity> {
}

@ -294,8 +294,8 @@ public class BasicBussinessTypeEntity {
/**
*
*/
@TableField(value = "advanceType")
private boolean advanceType;
// @TableField(value = "advanceType")
// private boolean advanceType;
/**
*
@ -312,8 +312,8 @@ public class BasicBussinessTypeEntity {
/**
*
*/
@TableField(value = "preIn")
private boolean preIn;
// @TableField(value = "preIn")
// private boolean preIn;
@TableField(value = "preInBack")
@ -356,10 +356,14 @@ public class BasicBussinessTypeEntity {
@TableField(value = "busType")
private Integer busType; //1:正常2送货3.到货
private Integer busType; //1:正常2送货3.到货,4:退货
@TableField(value = "inStock")
private boolean inStock;
@TableField(value = "actionType")
private Integer actionType; //1带票正常2.预验收。3寄售
}

@ -217,4 +217,8 @@ public class IoOrderEntity {
@TableField(value = "busType")
private Integer busType; //1:正常2送货3.到货
@TableField(value = "deliveryStatus")
private Integer deliveryStatus; //单据送货验收状态
}

@ -0,0 +1,47 @@
package com.glxp.api.entity.system;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import lombok.Data;
@Data
@TableName(value = "sys_menu_help")
public class SysMenuHelpEntity {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField(value = "menuKey")
private String menuKey;
@TableField(value = "menuName")
private String menuName;
@TableField(value = "`status`")
private Byte status;
@TableField(value = "filePath")
private String filePath;
@TableField(value = "remark")
private String remark;
@TableField(value = "updateTime")
private Date updateTime;
public static final String COL_ID = "id";
public static final String COL_MENUKEY = "menuKey";
public static final String COL_MENUNAME = "menuName";
public static final String COL_STATUS = "status";
public static final String COL_FILEPATH = "filePath";
public static final String COL_REMARK = "remark";
public static final String COL_UPDATETIME = "updateTime";
}

@ -275,7 +275,7 @@ public class BussinessTypeSaveRequest {
private boolean vailDispatch; //校验是否可配送
private int vailGroupBuy; //校验是否集采产品 0:全部1只采集集采产品2只采集非集采产品
private Integer busType; //1:正常2送货3.到货
private Integer actionType;
private boolean inStock;
}

@ -41,7 +41,7 @@ public class BasicBussinessTypeResponse {
/**
*
*/
private Boolean advanceType;
// private Boolean advanceType;
private Boolean changeEnable;
private Boolean genUnit;
private String defaultUnit;
@ -81,7 +81,7 @@ public class BasicBussinessTypeResponse {
private String prefix;
private String localPrefix;
private boolean preIn;
// private boolean preIn;
private boolean preInBack;
private boolean outToSpms;
private boolean ullageFill;
@ -127,7 +127,7 @@ public class BasicBussinessTypeResponse {
private int vailGroupBuy; //校验是否集采产品 0:全部1只采集集采产品2只采集非集采产品
private Integer busType; //1:正常2送货3.到货
private Integer actionType;
private boolean inStock;

@ -106,6 +106,8 @@ public class UdiRelevanceResponse {
private boolean groupBuy; //是否集采产品
private boolean needCert; //是否需要资质材料
private String classifyName; //物资分类名称
public int getBhzxxsbzsl() {
if (bhzxxsbzsl == null || bhzxxsbzsl == 0) {

@ -216,6 +216,9 @@ public class IoOrderResponse {
*/
private Integer exportStatus;
private Integer deliveryStatus;
/**
*
*/

@ -80,4 +80,23 @@ public class InvRemindSetResponse {
*/
private String ggxh;
/**
*
*/
private Integer lowStockNum;
/**
*
*/
private Integer overStockNum;
/**
*
*/
private Integer recentDateTime;
/**
* 12
*/
private Integer isDateBy;
}

@ -670,9 +670,9 @@ public class IoCheckInoutService {
if (bussinessTypeEntity.isInStock()) {
// if (bussinessTypeEntity.getBusType() == ConstantStatus.BUS_TYPE_NORMAL) {
//生成库存
if (bussinessTypeEntity.isPreIn()) {
if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
genInvService.genPreInInv(orderEntity.getBillNo());
} else if (bussinessTypeEntity.isAdvanceType()) {
} else if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
genInvService.genPreInv(orderEntity.getBillNo());
} else {
genInvService.genNorInv(orderEntity.getBillNo());

@ -184,10 +184,10 @@ public class IoOrderServiceImpl implements IoOrderService {
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) {
BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
//判断单据是否是预验收单据,如果是预验收单据,则删除预验收库库存
if (basicBussinessTypeEntity.isPreIn()) {
if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
preinOrderService.deleteByOrderId(billNo);
preinDetailService.deleteByOrderId(billNo);
} else if (basicBussinessTypeEntity.isAdvanceType()) {
} else if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
//是否寄售,删除寄售库存
List<InvPreProductDetailEntity> invProductDetailEntities = invPreProductDetailService.selectByOrderIdFk(billNo);
if (CollUtil.isNotEmpty(invProductDetailEntities)) {
@ -279,7 +279,7 @@ public class IoOrderServiceImpl implements IoOrderService {
BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
//预验收库存
if (basicBussinessTypeEntity.isPreIn()) {
if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
InvPreinDetailEntity invPreinDetailEntity = preinDetailService.findByCode(billNo, code);
int count = invPreinDetailEntity.getCount() - 1;
@ -292,7 +292,7 @@ public class IoOrderServiceImpl implements IoOrderService {
preinDetailService.update(invPreinDetailEntity);
}
} else if (basicBussinessTypeEntity.isAdvanceType()) { //寄售库存
} else if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) { //寄售库存
InvPreProductDetailEntity invProductDetailEntity = invPreProductDetailService.selectByCode(billNo, code);
int count = invProductDetailEntity.getCount() - 1;
if (count == 0) {
@ -378,7 +378,7 @@ public class IoOrderServiceImpl implements IoOrderService {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
//预验收撤回---直接删除预验收库存
if (bussinessTypeEntity.isPreIn()) {
if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
invPreinOrderService.deleteByOrderId(billNo);
invPreinDetailService.deleteByOrderId(billNo);
} else {

@ -45,4 +45,11 @@ public interface InvRemindSetService {
*/
BaseResponse deleteInvRemindSet(Integer id);
/**
* ID
*
* @param invId
* @return
*/
BaseResponse getInfoByInvId(Integer invId);
}

@ -77,6 +77,19 @@ public class InvRemindSetServiceImpl implements InvRemindSetService {
return ResultVOUtils.success("删除成功");
}
@Override
public BaseResponse getInfoByInvId(Integer invId) {
InvRemindSetResponse response = invRemindSetDao.selectInfoByInvId(invId);
if (null != response) {
if (response.getIsDateBy() == 1) {
//将近效期预警值由小时换算成天
response.setRecentDateTime(response.getRecentDateTime() / 24);
}
return ResultVOUtils.success(response);
}
return ResultVOUtils.error(500, "未查询到指定的库存产品信息");
}
/**
*
*

@ -0,0 +1,9 @@
package com.glxp.api.service.system;
import com.glxp.api.entity.system.SysMenuHelpEntity;
import com.baomidou.mybatisplus.extension.service.IService;
public interface SysMenuHelpService {
}

@ -0,0 +1,12 @@
package com.glxp.api.service.system.impl;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.system.SysMenuHelpMapper;
import com.glxp.api.entity.system.SysMenuHelpEntity;
import com.glxp.api.service.system.SysMenuHelpService;
@Service
public class SysMenuHelpServiceImpl implements SysMenuHelpService {
}

@ -68,7 +68,7 @@
entrutSpms, codeFillCheck, defaultSubInv, defaultInv, orderVisibleType,
checkCopy, secCheckCopy, originAction, advanceType, changeEnable,
spUse, preIn, supplementAll, createUser, createTime, preInBack, vailDispatch,
vailGroupBuy, busType, inStock)
vailGroupBuy, busType, inStock,actionType)
values (#{mainAction},
#{action},
#{name},
@ -120,7 +120,7 @@
#{preIn},
#{supplementAll},
#{createUser},
#{createTime}, #{preInBack}, #{vailDispatch}, #{vailGroupBuy}#{busType}, #{inStock})
#{createTime}, #{preInBack}, #{vailDispatch}, #{vailGroupBuy}#{busType}, #{inStock}#{actionType})
</insert>
<select id="selectBusList" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity">

@ -251,6 +251,7 @@
<select id="filterUdiGp" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
bht.name classifyName,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
@ -304,6 +305,7 @@
FROM basic_products
inner JOIN basic_udirel
ON basic_products.uuid = basic_udirel.uuid
left join basic_hosp_type bht on basic_udirel.relCode = bht.code
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat('%', #{ylqxzcrbarmc}, '%')

@ -34,7 +34,7 @@
company_product_relevance.auditStatus,
basic_udirel.uuid,
basic_udirel.thirdId,
basic_udirel.id rlId,
basic_udirel.id rlId,
basic_udirel.isUseDy,
basic_udirel.isLock,
basic_udirel.thirdId1,
@ -44,7 +44,8 @@
basic_udirel.lockStatus,
basic_udirel.mainId,
basic_udirel.isAdavence,
basic_products.id as PRId,
bht.name classifyName,
basic_products.id as PRId,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
@ -102,7 +103,7 @@
inner JOIN basic_products
ON basic_udirel.uuid = basic_products.uuid
left JOIN basic_corp on basic_corp.erpId = company_product_relevance.customerId
left join basic_hosp_type bht on basic_udirel.relCode = bht.code
<where>
<if test="ylqxzcrbarmc != '' and ylqxzcrbarmc != null">
AND ylqxzcrbarmc LIKE concat(#{ylqxzcrbarmc}, '%')

@ -27,8 +27,8 @@
(select `name` from auth_space where `code` = irm.invSpaceCode and invCode = irm.invCode) invSpaceName,
(select `name` from basic_corp where erpId = irm.supId) supName
from inv_remind_msg irm
left join basic_udirel bu on bu.id = irm.relId
left join basic_products bp on bp.uuid = bu.uuid
left join basic_udirel bu on bu.id = irm.relId
left join basic_products bp on bp.uuid = bu.uuid
<where>
<if test="relId != null and relId != ''">
AND irm.relId = #{relId}
@ -54,12 +54,16 @@
<if test="type != null and type != ''">
AND type = #{type}
</if>
<if test="supId != null">
AND irm.supId = #{supId}
</if>
</where>
order by irm.updateTime desc
</select>
<select id="selectRemindMsg" resultType="com.glxp.api.entity.inv.InvRemindMsgEntity">
select * from inv_remind_msg
select *
from inv_remind_msg
<where>
<if test="relId != null and relId != ''">
AND relId = #{relId}
@ -84,4 +88,4 @@
</if>
</where>
</select>
</mapper>
</mapper>

@ -33,4 +33,26 @@
</where>
order by irs.updateTime desc
</select>
<select id="selectInfoByInvId" resultType="com.glxp.api.res.inv.InvRemindSetResponse">
select ip.relIdFk relId,
ip.deptCode,
ip.invCode,
ipd.invSpaceCode,
(select `name` from auth_warehouse where code = ip.invCode) invName,
(select `name` from auth_space where code = ipd.invSpaceCode and invWarehouseCode = ip.invCode) invSpaceName,
bp.ggxh,
bp.cpmctymc productName,
bu.lowStockNum,
bu.overStockNum,
bu.recentDateTime,
bu.isDateBy
from inv_product ip
left join basic_udirel bu on ip.relIdFk = bu.id
left join basic_products bp on bu.uuid = bp.uuid
left join inv_product_detail ipd
on ip.relIdFk = ipd.relId and IFNULL(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
and ip.invCode = ipd.invCode
where ip.id = #{invId}
</select>
</mapper>

@ -0,0 +1,4 @@
<?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.glxp.api.dao.system.SysMenuHelpMapper">
</mapper>

@ -3,6 +3,7 @@ CALL Pro_Temp_ColumnWork('io_order', 'fromReceiveBillNo', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'fromThrBillNo', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'syncStatus', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'busType', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'deliveryStatus', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('thr_bustype_origin', 'thirdSysName', 'varchar(255) ', 3);
CALL Pro_Temp_ColumnWork('thr_system_bus_api', 'thirdBuyName', 'varchar(255) ', 3);
@ -25,6 +26,9 @@ CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'vailDispatch', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'vailGroupBuy', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'busType', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'inStock', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'actionType', 'tinyint', 1);

Loading…
Cancel
Save