commit
abc470935e
|
|
@ -1,14 +0,0 @@
|
|||
package com.api.organization.web;
|
||||
|
||||
import javax.ws.rs.Path;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @Description:
|
||||
* @Date 2022/4/26
|
||||
* @Version V1.0
|
||||
**/
|
||||
@Path("/bs/hrmorganization/demo")
|
||||
public class DemoController extends com.engine.organization.web.DemoController {
|
||||
|
||||
}
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
package com.engine.organization.entity.po;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @description:
|
||||
* @Date 2022/4/26
|
||||
* @Version V1.0
|
||||
**/
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class Demo {
|
||||
|
||||
//主建,非自增 0表示集团 正数是现有分部信息ID
|
||||
private Integer fid;
|
||||
|
||||
//1-集团或者虚拟组织名称 2-分部级虚拟组织分部
|
||||
private Integer flevel;
|
||||
|
||||
//维度: 0-行政维度 负数-虚拟组织架构id
|
||||
private Integer fwd;
|
||||
|
||||
//编号
|
||||
private String fnumber;
|
||||
|
||||
//名称
|
||||
private String fname;
|
||||
|
||||
//负责人id
|
||||
private Integer fleader;
|
||||
|
||||
//编制人数
|
||||
private Integer fplan;
|
||||
|
||||
//在岗人数
|
||||
private Integer fonjob;
|
||||
|
||||
//是否虚拟组织,0-实体组织,1-虚拟组织
|
||||
private Integer fisvitual;
|
||||
|
||||
//生效时间
|
||||
private Date ftimebegin;
|
||||
|
||||
//失效时间
|
||||
private Date ftimeend;
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
package com.engine.organization.mapper;
|
||||
|
||||
|
||||
import com.engine.organization.entity.po.Demo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @description:
|
||||
* @Date 2022/3/9
|
||||
* @Version V1.0
|
||||
**/
|
||||
public interface DemoMapper {
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 查询所有
|
||||
* @return
|
||||
*/
|
||||
List<Demo> listAll();
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
<?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.engine.organization.mapper.DemoMapper">
|
||||
<resultMap id="BaseResultMap" type="com.engine.organization.entity.po.Demo">
|
||||
<result column="fid" property="fid"/>
|
||||
<result column="flevel" property="flevel"/>
|
||||
<result column="fwd" property="fwd"/>
|
||||
<result column="fnumber" property="fnumber"/>
|
||||
<result column="fname" property="fname"/>
|
||||
<result column="fleader" property="fleader"/>
|
||||
<result column="fplan" property="fplan"/>
|
||||
<result column="fonjob" property="fonjob"/>
|
||||
<result column="fisvitual" property="fisvitual"/>
|
||||
<result column="ftimebegin" property="ftimebegin"/>
|
||||
<result column="ftimeend" property="ftimeend"/>
|
||||
</resultMap>
|
||||
|
||||
<!-- 表字段 -->
|
||||
<sql id="baseColumns">
|
||||
t.fid
|
||||
, t.flevel
|
||||
, t.fwd
|
||||
, t.fnumber
|
||||
, t.fname
|
||||
, t.fleader
|
||||
, t.fplan
|
||||
, t.fonjob
|
||||
, t.fisvitual
|
||||
, t.ftimebegin
|
||||
, t.ftimeend
|
||||
</sql>
|
||||
|
||||
<select id="listAll" resultMap="BaseResultMap">
|
||||
SELECT
|
||||
<include refid="baseColumns"/>
|
||||
FROM hr_company t
|
||||
</select>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -72,5 +72,6 @@ public interface SystemDataMapper {
|
|||
|
||||
int updateCusFieldData(CusFieldData cusFieldData);
|
||||
|
||||
Long getHrmResourceMaxId();
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,9 @@
|
|||
<update id="updateCusFieldData">
|
||||
update cus_fielddata
|
||||
<set>
|
||||
field100001=#{field100001},
|
||||
field100002=#{field100002},
|
||||
field100003=#{field100003},
|
||||
field100008=#{field100008},
|
||||
field100006=#{field100006},
|
||||
field100007=#{field100007},
|
||||
|
|
@ -167,6 +170,10 @@
|
|||
and scopeid = #{scopeId}
|
||||
and id = #{id}
|
||||
</select>
|
||||
<select id="getHrmResourceMaxId" resultType="java.lang.Long">
|
||||
select max(id)
|
||||
from hrmresource
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
package com.engine.organization.service;
|
||||
|
||||
import com.engine.organization.entity.po.Demo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @description:
|
||||
* @Date 2022/4/27
|
||||
* @Version V1.0
|
||||
**/
|
||||
public interface DemoService {
|
||||
|
||||
/**
|
||||
*
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
List<Demo> list(String name);
|
||||
|
||||
}
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
package com.engine.organization.service;
|
||||
|
||||
import com.engine.organization.entity.po.Demo;
|
||||
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @description:
|
||||
* @Date 2022/4/28
|
||||
* @Version V1.0
|
||||
**/
|
||||
public interface TestService {
|
||||
|
||||
Demo list(String name);
|
||||
}
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
package com.engine.organization.service.impl;
|
||||
|
||||
import com.engine.core.impl.Service;
|
||||
import com.engine.organization.entity.po.Demo;
|
||||
import com.engine.organization.mapper.DemoMapper;
|
||||
import com.engine.organization.service.DemoService;
|
||||
import com.engine.organization.util.HrmI18nUtil;
|
||||
import com.engine.organization.util.OrganizationAssert;
|
||||
import com.engine.organization.util.db.MapperProxyFactory;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @description:
|
||||
* @Date 2022/4/27
|
||||
* @Version V1.0
|
||||
**/
|
||||
//@WeaIocService
|
||||
//@WeaIocReplaceComponent("demoService") //如不标注名称,则按类的全路径注入
|
||||
public class DemoServiceImpl extends Service implements DemoService {
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
//@Log(operateType = OperateTypeEnum.ADD,operateDesc = "测试自定义日志")
|
||||
public List<Demo> list(String name) {
|
||||
|
||||
OrganizationAssert.notNull(name, HrmI18nUtil.getI18nLabel(34721, "参数不能为空"));
|
||||
List<Demo> demos = MapperProxyFactory.getProxy(DemoMapper.class).listAll();
|
||||
|
||||
////操作日志记录
|
||||
//Method method = new Object() {
|
||||
//}.getClass().getEnclosingMethod();
|
||||
//LoggerContext loggerContext = LoggerContext.builder().operatorId(user.getUID()).operatorName(user.getLastname()).build();
|
||||
//LogAspect logAspect = new LogAspect(DemoServiceImpl.class, method, loggerContext);
|
||||
//logAspect.start();
|
||||
|
||||
return demos;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//这个是接口后置方法,大概的用法跟前置方法差不多,稍有差别
|
||||
//注解名称为WeaReplaceAfter
|
||||
//返回类型必须为String
|
||||
//参数叫WeaAfterReplaceParam,这个类前四个参数跟前置方法的那个相同,不同的是多了一个叫data的String,这个是那个接口执行完返回的报文
|
||||
//@WeaReplaceAfter(value = "/api/bs/hrmorganization/scheme/updateForbiddenTagById",order = 1)
|
||||
// public void after(WeaAfterReplaceParam weaAfterReplaceParam){
|
||||
//
|
||||
// String data = weaAfterReplaceParam.getData();//这个就是接口执行完的报文
|
||||
// System.out.println(data);
|
||||
// //日志记录
|
||||
// }
|
||||
}
|
||||
|
|
@ -13,6 +13,7 @@ import com.engine.organization.entity.browser.po.CustomBrowserBean;
|
|||
import com.engine.organization.entity.staff.bo.StaffBO;
|
||||
import com.engine.organization.entity.staff.param.StaffSearchParam;
|
||||
import com.engine.organization.entity.staff.po.StaffPO;
|
||||
import com.engine.organization.entity.staff.po.StaffPlanPO;
|
||||
import com.engine.organization.entity.staff.po.StaffsPO;
|
||||
import com.engine.organization.entity.staff.vo.StaffTableVO;
|
||||
import com.engine.organization.mapper.comp.CompMapper;
|
||||
|
|
@ -87,6 +88,7 @@ public class StaffServiceImpl extends Service implements StaffService {
|
|||
public int saveStaff(StaffSearchParam param) {
|
||||
HasRightUtil.hasRight(user, RIGHT_NAME, false);
|
||||
StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID());
|
||||
checkRequired(staffPO);
|
||||
return getStaffMapper().insertIgnoreNull(staffPO);
|
||||
}
|
||||
|
||||
|
|
@ -95,7 +97,7 @@ public class StaffServiceImpl extends Service implements StaffService {
|
|||
HasRightUtil.hasRight(user, RIGHT_NAME, false);
|
||||
StaffPO staffByID = getStaffMapper().getStaffByID(param.getId());
|
||||
StaffPO staffPO = StaffBO.convertParamToPO(param, (long) user.getUID());
|
||||
|
||||
checkRequired(staffPO);
|
||||
Integer changeNum = param.getChangeNum();
|
||||
if (null == changeNum) {
|
||||
// 插入明细表数据
|
||||
|
|
@ -228,20 +230,26 @@ public class StaffServiceImpl extends Service implements StaffService {
|
|||
planIdItemBean.setReplaceDatas(planIdMaps);
|
||||
planIdItem.setBrowserConditionParam(planIdItemBean);
|
||||
|
||||
BrowserBean compIdItemBean = compIdItem.getBrowserConditionParam();
|
||||
List<Map<String, Object>> compIdMaps = getCompMapper().listCompsByIds(DeleteParam.builder().ids(staffPO.getCompId().toString()).build().getIds());
|
||||
compIdItemBean.setReplaceDatas(compIdMaps);
|
||||
compIdItem.setBrowserConditionParam(compIdItemBean);
|
||||
if (null != staffPO.getCompId()) {
|
||||
BrowserBean compIdItemBean = compIdItem.getBrowserConditionParam();
|
||||
List<Map<String, Object>> compIdMaps = getCompMapper().listCompsByIds(DeleteParam.builder().ids(staffPO.getCompId().toString()).build().getIds());
|
||||
compIdItemBean.setReplaceDatas(compIdMaps);
|
||||
compIdItem.setBrowserConditionParam(compIdItemBean);
|
||||
}
|
||||
|
||||
BrowserBean deptIdItemBean = deptIdItem.getBrowserConditionParam();
|
||||
List<Map<String, Object>> deptIdMaps = getDepartmentMapper().listDeptsByIds(DeleteParam.builder().ids(staffPO.getDeptId().toString()).build().getIds());
|
||||
deptIdItemBean.setReplaceDatas(deptIdMaps);
|
||||
deptIdItem.setBrowserConditionParam(deptIdItemBean);
|
||||
if (null != staffPO.getDeptId()) {
|
||||
BrowserBean deptIdItemBean = deptIdItem.getBrowserConditionParam();
|
||||
List<Map<String, Object>> deptIdMaps = getDepartmentMapper().listDeptsByIds(DeleteParam.builder().ids(staffPO.getDeptId().toString()).build().getIds());
|
||||
deptIdItemBean.setReplaceDatas(deptIdMaps);
|
||||
deptIdItem.setBrowserConditionParam(deptIdItemBean);
|
||||
}
|
||||
|
||||
BrowserBean jobIdItemBean = jobIdItem.getBrowserConditionParam();
|
||||
List<Map<String, Object>> jobIdMaps = getJobMapper().listJobsByIds(DeleteParam.builder().ids(staffPO.getJobId().toString()).build().getIds());
|
||||
jobIdItemBean.setReplaceDatas(jobIdMaps);
|
||||
jobIdItem.setBrowserConditionParam(jobIdItemBean);
|
||||
if (null != staffPO.getJobId()) {
|
||||
BrowserBean jobIdItemBean = jobIdItem.getBrowserConditionParam();
|
||||
List<Map<String, Object>> jobIdMaps = getJobMapper().listJobsByIds(DeleteParam.builder().ids(staffPO.getJobId().toString()).build().getIds());
|
||||
jobIdItemBean.setReplaceDatas(jobIdMaps);
|
||||
jobIdItem.setBrowserConditionParam(jobIdItemBean);
|
||||
}
|
||||
|
||||
staffNumItem.setValue(staffPO.getStaffNum());
|
||||
controlPolicyItem.setValue(staffPO.getControlPolicy() + "");
|
||||
|
|
@ -353,4 +361,31 @@ public class StaffServiceImpl extends Service implements StaffService {
|
|||
return sqlWhere;
|
||||
}
|
||||
|
||||
/**
|
||||
* 校验必填字段
|
||||
*
|
||||
* @param staffPO
|
||||
*/
|
||||
private void checkRequired(StaffPO staffPO) {
|
||||
// 根据维度、校验必填字段
|
||||
StaffPlanPO staffPlanByID = getStaffPlanMapper().getStaffPlanByID(staffPO.getPlanId());
|
||||
switch (staffPlanByID.getControlDimension()) {
|
||||
case "1":// 分部
|
||||
OrganizationAssert.notNull(staffPO.getCompId(), "编制维度选择分部时,分部必填!");
|
||||
break;
|
||||
case "2":// 部门
|
||||
OrganizationAssert.notNull(staffPO.getCompId(), "编制维度选择部门时,分部必填!");
|
||||
OrganizationAssert.notNull(staffPO.getDeptId(), "编制维度选择部门时,部门必填!");
|
||||
break;
|
||||
case "3": // 岗位
|
||||
OrganizationAssert.notNull(staffPO.getCompId(), "编制维度选择岗位时,分部必填!");
|
||||
OrganizationAssert.notNull(staffPO.getDeptId(), "编制维度选择岗位时,部门必填!");
|
||||
OrganizationAssert.notNull(staffPO.getJobId(), "编制维度选择岗位时,岗位必填!");
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
package com.engine.organization.service.impl;
|
||||
|
||||
import com.engine.organization.entity.po.Demo;
|
||||
import com.engine.organization.service.TestService;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @description:
|
||||
* @Date 2022/4/28
|
||||
* @Version V1.0
|
||||
**/
|
||||
//@WeaIocService
|
||||
public class TestServiceImpl implements TestService {
|
||||
|
||||
@Override
|
||||
public Demo list(String name) {
|
||||
return Demo.builder().fid(1).build();
|
||||
}
|
||||
}
|
||||
|
|
@ -34,7 +34,11 @@ public class CusFieldDataTrigger {
|
|||
|
||||
public static void run(Long id) {
|
||||
if (null == id) {
|
||||
return;
|
||||
// 查询人员表最新插入的ID
|
||||
id = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmResourceMaxId();
|
||||
if (null == id) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
boolean updateFlag = false;
|
||||
// 查询当前操作的数据
|
||||
|
|
@ -50,14 +54,12 @@ public class CusFieldDataTrigger {
|
|||
directionData.setScope("HrmCustomFieldByInfoType");
|
||||
directionData.setScopeId(3L);
|
||||
directionData.setId(id);
|
||||
directionData.setField100001(sourceField100001);
|
||||
directionData.setField100002(sourceField100002);
|
||||
directionData.setField100003(sourceField100003);
|
||||
MapperProxyFactory.getProxy(SystemDataMapper.class).insertCusFieldData(directionData);
|
||||
}
|
||||
|
||||
// field100001更新
|
||||
if (null != sourceField100001 && sourceField100001.split("_").length == 2 && !sourceField100001.equals(directionData.getField100001())) {
|
||||
directionData.setField100001(sourceField100001);
|
||||
String[] field100001Array = sourceField100001.split("_");
|
||||
// 职等
|
||||
long zdId = Long.parseLong(field100001Array[1]);
|
||||
|
|
@ -79,9 +81,9 @@ public class CusFieldDataTrigger {
|
|||
}
|
||||
|
||||
// field100002更新
|
||||
if (null != sourceField100002 && sourceField100002.split("_").length == 2 && !sourceField100002.equals(directionData.getField100002())) {
|
||||
String[] field100002Array = sourceField100002.split("_");
|
||||
Long gwId = Long.parseLong(field100002Array[1]);
|
||||
if (null != sourceField100002 && !sourceField100002.equals(directionData.getField100002())) {
|
||||
directionData.setField100002(sourceField100002);
|
||||
Long gwId = Long.parseLong(sourceField100002);
|
||||
JobPO jobById = MapperProxyFactory.getProxy(JobMapper.class).getJobById(gwId);
|
||||
JSONObject hrmJobTitleByName = MapperProxyFactory.getProxy(SystemDataMapper.class).getHrmJobTitleByName(jobById.getJobName());
|
||||
Long ecGwId = hrmJobTitleByName.getLong("id");
|
||||
|
|
@ -94,11 +96,12 @@ public class CusFieldDataTrigger {
|
|||
hrmResourceMap.put("departmentid", ecBmId);
|
||||
// 公司
|
||||
hrmResourceMap.put("subcompanyid1", ecGsId);
|
||||
MapperProxyFactory.getProxy(ExtMapper.class).updateExt(ExtendInfoParams.builder().id(id).tableName("").params(hrmResourceMap).build());
|
||||
MapperProxyFactory.getProxy(ExtMapper.class).updateExt(ExtendInfoParams.builder().id(id).tableName("hrmresource").params(hrmResourceMap).build());
|
||||
updateFlag = true;
|
||||
}
|
||||
|
||||
if (null != sourceField100003 && sourceField100003.split("_").length == 2 && !sourceField100003.equals(directionData.getField100003())) {
|
||||
directionData.setField100003(sourceField100003);
|
||||
String[] field100003Array = sourceField100003.split("_");
|
||||
long zwId = Long.parseLong(field100003Array[1]);
|
||||
// 职务
|
||||
|
|
|
|||
|
|
@ -1,66 +0,0 @@
|
|||
package com.engine.organization.web;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.organization.entity.po.Demo;
|
||||
import com.engine.organization.service.TestService;
|
||||
import com.engine.organization.util.response.ReturnResult;
|
||||
import com.engine.organization.wrapper.DemoWrapper;
|
||||
import weaver.hrm.HrmUserVarify;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.QueryParam;
|
||||
import javax.ws.rs.core.Context;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @description:
|
||||
* @Date 2022/4/26
|
||||
* @Version V1.0
|
||||
**/
|
||||
public class DemoController {
|
||||
|
||||
public DemoWrapper getDemoWrapper(User user){
|
||||
return ServiceUtil.getService(DemoWrapper.class,user);
|
||||
}
|
||||
|
||||
@GET
|
||||
@Path("/test")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public ReturnResult testDemo(@Context HttpServletRequest request, @Context HttpServletResponse response,
|
||||
@QueryParam("name") String name) {
|
||||
try {
|
||||
User user = HrmUserVarify.getUser(request, response);
|
||||
return getDemoWrapper(user).testDemo(name);
|
||||
}catch (Exception e) {
|
||||
return ReturnResult.exceptionHandle(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 方案2 基于weaverboot 实现后端架构(推荐使用)
|
||||
*/
|
||||
//@WeaAutowired
|
||||
private TestService testService;
|
||||
|
||||
@GET
|
||||
@Path("/get")
|
||||
@Produces(MediaType.APPLICATION_JSON)
|
||||
public ReturnResult testGet(@Context HttpServletRequest request, @Context HttpServletResponse response,
|
||||
@QueryParam("name") String name) {
|
||||
try {
|
||||
Demo list = testService.list(name);
|
||||
return ReturnResult.successed(list);
|
||||
}catch (Exception e) {
|
||||
return ReturnResult.exceptionHandle(e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
package com.engine.organization.wrapper;
|
||||
|
||||
import com.engine.common.util.ServiceUtil;
|
||||
import com.engine.organization.annotation.Log;
|
||||
import com.engine.organization.entity.po.Demo;
|
||||
import com.engine.organization.enums.OperateTypeEnum;
|
||||
import com.engine.organization.service.DemoService;
|
||||
import com.engine.organization.service.impl.DemoServiceImpl;
|
||||
import com.engine.organization.util.OrganizationWrapper;
|
||||
import com.engine.organization.util.response.ReturnResult;
|
||||
import weaver.hrm.User;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author weaver_cl
|
||||
* @description:
|
||||
* @Date 2022/4/26
|
||||
* @Version V1.0
|
||||
**/
|
||||
public class DemoWrapper extends OrganizationWrapper {
|
||||
|
||||
private DemoService getDemoService(User user) {
|
||||
return ServiceUtil.getService(DemoServiceImpl.class, user);
|
||||
}
|
||||
|
||||
@Log(operateType = OperateTypeEnum.DELETE, operateDesc = "operateDesc")
|
||||
public ReturnResult testDemo(String name) {
|
||||
List<Demo> list = getDemoService(user).list(name);
|
||||
//writeOperateLog(new Object(){}.getClass(), "记录testDemo操作日志");
|
||||
return ReturnResult.successed(list);
|
||||
}
|
||||
}
|
||||
|
|
@ -55,6 +55,6 @@ public class JclOrgWrapper extends OrganizationWrapper {
|
|||
}
|
||||
|
||||
public void syncCusFieldData(String id) {
|
||||
new CusFieldDataTrigger().run(Long.parseLong(id));
|
||||
new CusFieldDataTrigger().run(StringUtils.isNotBlank(id) ? Long.parseLong(id) : null);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue