提交 7c799b07 编写于 作者: ibizdev's avatar ibizdev

jackwang 部署微服务接口

上级 6d227828
......@@ -37,11 +37,11 @@
git clone -b master $para2 ibizhumanresources/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibizhumanresources/
mvn clean package -Ppim
cd humanresource-app/humanresource-app-pim
mvn -Ppim docker:build
mvn -Ppim docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/humanresource-app-pim.yaml iBizEE --with-registry-auth
mvn clean package -Phrapi
cd humanresource-provider/humanresource-provider-hrapi
mvn -Phrapi docker:build
mvn -Phrapi docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/humanresource-provider-hrapi.yaml iBizEE --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
......
......@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /humanresource-app-pim.jar
EXPOSE 10327
EXPOSE 8080
ADD humanresource-app-pim.jar /humanresource-app-pim.jar
......@@ -3,25 +3,9 @@ services:
humanresource-app-pim:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/humanresource-app-pim:latest
ports:
- "10327:10327"
- "8080:8080"
networks:
- agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.240.110
- SERVER_PORT=10327
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.240.110:8848
- SPRING_REDIS_HOST=172.16.240.110
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_LAB01_e85d8801c
- SPRING_DATASOURCE_PASSWORD=b1@@@772
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.186.185:3306/a_LAB01_e85d8801c?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_LAB01_e85d8801c
- CAS=https://passport.ibizlab.cn
- NACOS=172.16.240.110:8848
- SEATA_REGISTRY_NACOS_SERVER-ADDR=172.16.240.110:8848
- SEATA_ENABLED=true
deploy:
resources:
limits:
......
package cn.ibizlab.humanresource.core.humanresource.domain;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.math.BigInteger;
import java.util.HashMap;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.util.ObjectUtils;
import org.springframework.util.DigestUtils;
import cn.ibizlab.humanresource.util.domain.EntityBase;
import cn.ibizlab.humanresource.util.annotation.DEField;
import cn.ibizlab.humanresource.util.enums.DEPredefinedFieldType;
import cn.ibizlab.humanresource.util.enums.DEFieldDefaultValueType;
import java.io.Serializable;
import lombok.*;
import org.springframework.data.annotation.Transient;
import cn.ibizlab.humanresource.util.annotation.Audit;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.baomidou.mybatisplus.annotation.*;
import cn.ibizlab.humanresource.util.domain.EntityMP;
/**
* 实体[员工状态]
*/
@Getter
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(value = "handler")
@TableName(value = "T_HREMPSTATE",resultMap = "HREmpStateResultMap")
public class HREmpState extends EntityMP implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 建立人
*/
@DEField(preType = DEPredefinedFieldType.CREATEMAN)
@TableField(value = "createman" , fill = FieldFill.INSERT)
@JSONField(name = "createman")
@JsonProperty("createman")
private String createman;
/**
* 员工状态标识
*/
@DEField(isKeyField=true)
@TableId(value= "hrempstateid",type=IdType.ASSIGN_UUID)
@JSONField(name = "hrempstateid")
@JsonProperty("hrempstateid")
private String hrempstateid;
/**
* 员工状态名称
*/
@TableField(value = "hrempstatename")
@JSONField(name = "hrempstatename")
@JsonProperty("hrempstatename")
private String hrempstatename;
/**
* 更新人
*/
@DEField(preType = DEPredefinedFieldType.UPDATEMAN)
@TableField(value = "updateman")
@JSONField(name = "updateman")
@JsonProperty("updateman")
private String updateman;
/**
* 更新时间
*/
@DEField(preType = DEPredefinedFieldType.UPDATEDATE)
@TableField(value = "updatedate")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
@JSONField(name = "updatedate" , format="yyyy-MM-dd HH:mm:ss")
@JsonProperty("updatedate")
private Timestamp updatedate;
/**
* 建立时间
*/
@DEField(preType = DEPredefinedFieldType.CREATEDATE)
@TableField(value = "createdate" , fill = FieldFill.INSERT)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
@JSONField(name = "createdate" , format="yyyy-MM-dd HH:mm:ss")
@JsonProperty("createdate")
private Timestamp createdate;
/**
* 在岗状态
*/
@TableField(value = "jobstate")
@JSONField(name = "jobstate")
@JsonProperty("jobstate")
private String jobstate;
/**
* 排序号
*/
@TableField(value = "showorder")
@JSONField(name = "showorder")
@JsonProperty("showorder")
private BigInteger showorder;
/**
* 状态编码
*/
@TableField(value = "statecode")
@JSONField(name = "statecode")
@JsonProperty("statecode")
private String statecode;
/**
* 设置 [员工状态名称]
*/
public void setHrempstatename(String hrempstatename){
this.hrempstatename = hrempstatename ;
this.modify("hrempstatename",hrempstatename);
}
/**
* 设置 [在岗状态]
*/
public void setJobstate(String jobstate){
this.jobstate = jobstate ;
this.modify("jobstate",jobstate);
}
/**
* 设置 [排序号]
*/
public void setShoworder(BigInteger showorder){
this.showorder = showorder ;
this.modify("showorder",showorder);
}
/**
* 设置 [状态编码]
*/
public void setStatecode(String statecode){
this.statecode = statecode ;
this.modify("statecode",statecode);
}
}
package cn.ibizlab.humanresource.core.humanresource.filter;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import lombok.*;
import lombok.extern.slf4j.Slf4j;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.fastjson.annotation.JSONField;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import cn.ibizlab.humanresource.util.filter.QueryWrapperContext;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.ibizlab.humanresource.core.humanresource.domain.HREmpState;
/**
* 关系型数据实体[HREmpState] 查询条件对象
*/
@Slf4j
@Data
public class HREmpStateSearchContext extends QueryWrapperContext<HREmpState> {
private String n_hrempstatename_like;//[员工状态名称]
public void setN_hrempstatename_like(String n_hrempstatename_like) {
this.n_hrempstatename_like = n_hrempstatename_like;
if(!ObjectUtils.isEmpty(this.n_hrempstatename_like)){
this.getSearchCond().like("hrempstatename", n_hrempstatename_like);
}
}
private String n_jobstate_eq;//[在岗状态]
public void setN_jobstate_eq(String n_jobstate_eq) {
this.n_jobstate_eq = n_jobstate_eq;
if(!ObjectUtils.isEmpty(this.n_jobstate_eq)){
this.getSearchCond().eq("jobstate", n_jobstate_eq);
}
}
/**
* 启用快速搜索
*/
public void setQuery(String query)
{
this.query=query;
if(!StringUtils.isEmpty(query)){
this.getSearchCond().and( wrapper ->
wrapper.like("hrempstatename", query)
);
}
}
}
......@@ -34,7 +34,7 @@ public class HREmployeeSearchContext extends QueryWrapperContext<HREmployee> {
this.getSearchCond().like("employeename", n_employeename_like);
}
}
private String n_organizationid_eq;//[组织]
private String n_organizationid_eq;//[组织ID]
public void setN_organizationid_eq(String n_organizationid_eq) {
this.n_organizationid_eq = n_organizationid_eq;
if(!ObjectUtils.isEmpty(this.n_organizationid_eq)){
......@@ -48,6 +48,90 @@ public class HREmployeeSearchContext extends QueryWrapperContext<HREmployee> {
this.getSearchCond().eq("certtype", n_certtype_eq);
}
}
private String n_organizationname_eq;//[单位]
public void setN_organizationname_eq(String n_organizationname_eq) {
this.n_organizationname_eq = n_organizationname_eq;
if(!ObjectUtils.isEmpty(this.n_organizationname_eq)){
this.getSearchCond().eq("organizationname", n_organizationname_eq);
}
}
private String n_organizationname_like;//[单位]
public void setN_organizationname_like(String n_organizationname_like) {
this.n_organizationname_like = n_organizationname_like;
if(!ObjectUtils.isEmpty(this.n_organizationname_like)){
this.getSearchCond().like("organizationname", n_organizationname_like);
}
}
private String n_sex_eq;//[性别]
public void setN_sex_eq(String n_sex_eq) {
this.n_sex_eq = n_sex_eq;
if(!ObjectUtils.isEmpty(this.n_sex_eq)){
this.getSearchCond().eq("sex", n_sex_eq);
}
}
private String n_bloodtype_eq;//[血型]
public void setN_bloodtype_eq(String n_bloodtype_eq) {
this.n_bloodtype_eq = n_bloodtype_eq;
if(!ObjectUtils.isEmpty(this.n_bloodtype_eq)){
this.getSearchCond().eq("bloodtype", n_bloodtype_eq);
}
}
private String n_marriage_eq;//[婚姻状况]
public void setN_marriage_eq(String n_marriage_eq) {
this.n_marriage_eq = n_marriage_eq;
if(!ObjectUtils.isEmpty(this.n_marriage_eq)){
this.getSearchCond().eq("marriage", n_marriage_eq);
}
}
private String n_nation_eq;//[民族]
public void setN_nation_eq(String n_nation_eq) {
this.n_nation_eq = n_nation_eq;
if(!ObjectUtils.isEmpty(this.n_nation_eq)){
this.getSearchCond().eq("nation", n_nation_eq);
}
}
private String n_nativetype_eq;//[户口类型]
public void setN_nativetype_eq(String n_nativetype_eq) {
this.n_nativetype_eq = n_nativetype_eq;
if(!ObjectUtils.isEmpty(this.n_nativetype_eq)){
this.getSearchCond().eq("nativetype", n_nativetype_eq);
}
}
private String n_political_eq;//[政治面貌]
public void setN_political_eq(String n_political_eq) {
this.n_political_eq = n_political_eq;
if(!ObjectUtils.isEmpty(this.n_political_eq)){
this.getSearchCond().eq("political", n_political_eq);
}
}
private String n_firstdegree_eq;//[第一学历]
public void setN_firstdegree_eq(String n_firstdegree_eq) {
this.n_firstdegree_eq = n_firstdegree_eq;
if(!ObjectUtils.isEmpty(this.n_firstdegree_eq)){
this.getSearchCond().eq("firstdegree", n_firstdegree_eq);
}
}
private String n_highestdegree_eq;//[最高学历]
public void setN_highestdegree_eq(String n_highestdegree_eq) {
this.n_highestdegree_eq = n_highestdegree_eq;
if(!ObjectUtils.isEmpty(this.n_highestdegree_eq)){
this.getSearchCond().eq("highestdegree", n_highestdegree_eq);
}
}
private String n_entrytype_eq;//[入职渠道]
public void setN_entrytype_eq(String n_entrytype_eq) {
this.n_entrytype_eq = n_entrytype_eq;
if(!ObjectUtils.isEmpty(this.n_entrytype_eq)){
this.getSearchCond().eq("entrytype", n_entrytype_eq);
}
}
private String n_empstate_eq;//[员工状态]
public void setN_empstate_eq(String n_empstate_eq) {
this.n_empstate_eq = n_empstate_eq;
if(!ObjectUtils.isEmpty(this.n_empstate_eq)){
this.getSearchCond().eq("empstate", n_empstate_eq);
}
}
/**
* 启用快速搜索
......
package cn.ibizlab.humanresource.core.humanresource.mapper;
import java.util.List;
import org.apache.ibatis.annotations.*;
import java.util.Map;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import java.util.HashMap;
import org.apache.ibatis.annotations.Select;
import cn.ibizlab.humanresource.core.humanresource.domain.HREmpState;
import cn.ibizlab.humanresource.core.humanresource.filter.HREmpStateSearchContext;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject;
public interface HREmpStateMapper extends BaseMapper<HREmpState>{
Page<HREmpState> searchDefault(IPage page, @Param("srf") HREmpStateSearchContext context, @Param("ew") Wrapper<HREmpState> wrapper) ;
@Override
HREmpState selectById(Serializable id);
@Override
int insert(HREmpState entity);
@Override
int updateById(@Param(Constants.ENTITY) HREmpState entity);
@Override
int update(@Param(Constants.ENTITY) HREmpState entity, @Param("ew") Wrapper<HREmpState> updateWrapper);
@Override
int deleteById(Serializable id);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义更新SQL
* @param sql
* @return
*/
@Update("${sql}")
boolean updateBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义插入SQL
* @param sql
* @return
*/
@Insert("${sql}")
boolean insertBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义删除SQL
* @param sql
* @return
*/
@Delete("${sql}")
boolean deleteBySQL(@Param("sql") String sql, @Param("et")Map param);
}
......@@ -64,4 +64,6 @@ public interface HREmployeeMapper extends BaseMapper<HREmployee>{
List<HREmployee> selectByOrganizationid(@Param("organizationid") Serializable organizationid) ;
List<HREmployee> selectByEmpstate(@Param("hrempstateid") Serializable hrempstateid) ;
}
package cn.ibizlab.humanresource.core.humanresource.service;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.util.Collection;
import java.math.BigInteger;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import com.alibaba.fastjson.JSONObject;
import org.springframework.cache.annotation.CacheEvict;
import cn.ibizlab.humanresource.core.humanresource.domain.HREmpState;
import cn.ibizlab.humanresource.core.humanresource.filter.HREmpStateSearchContext;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[HREmpState] 服务对象接口
*/
public interface IHREmpStateService extends IService<HREmpState>{
boolean create(HREmpState et) ;
void createBatch(List<HREmpState> list) ;
boolean update(HREmpState et) ;
void updateBatch(List<HREmpState> list) ;
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
HREmpState get(String key) ;
HREmpState getDraft(HREmpState et) ;
boolean checkKey(HREmpState et) ;
boolean save(HREmpState et) ;
void saveBatch(List<HREmpState> list) ;
Page<HREmpState> searchDefault(HREmpStateSearchContext context) ;
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return select * from table where id = '1'
*/
List<JSONObject> select(String sql, Map param);
/**
*自定义SQL
* @param sql update table set name ='test' where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return update table set name ='test' where id = '1'
*/
boolean execute(String sql, Map param);
List<HREmpState> getHrempstateByIds(List<String> ids) ;
List<HREmpState> getHrempstateByEntities(List<HREmpState> entities) ;
}
......@@ -39,6 +39,8 @@ public interface IHREmployeeService extends IService<HREmployee>{
Page<HREmployee> searchDefault(HREmployeeSearchContext context) ;
List<HREmployee> selectByOrganizationid(String organizationid) ;
void removeByOrganizationid(String organizationid) ;
List<HREmployee> selectByEmpstate(String hrempstateid) ;
void removeByEmpstate(String hrempstateid) ;
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
......
package cn.ibizlab.humanresource.core.humanresource.service.impl;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.Map;
import java.util.HashSet;
import java.util.HashMap;
import java.util.Collection;
import java.util.Objects;
import java.util.Optional;
import java.math.BigInteger;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cglib.beans.BeanCopier;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.util.ObjectUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.context.annotation.Lazy;
import cn.ibizlab.humanresource.core.humanresource.domain.HREmpState;
import cn.ibizlab.humanresource.core.humanresource.filter.HREmpStateSearchContext;
import cn.ibizlab.humanresource.core.humanresource.service.IHREmpStateService;
import cn.ibizlab.humanresource.util.helper.CachedBeanCopier;
import cn.ibizlab.humanresource.util.helper.DEFieldCacheMap;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.ibizlab.humanresource.core.humanresource.mapper.HREmpStateMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils;
/**
* 实体[员工状态] 服务对象接口实现
*/
@Slf4j
@Service("HREmpStateServiceImpl")
public class HREmpStateServiceImpl extends ServiceImpl<HREmpStateMapper, HREmpState> implements IHREmpStateService {
@Autowired
@Lazy
protected cn.ibizlab.humanresource.core.humanresource.service.IHREmployeeService hremployeeService;
protected int batchSize = 500;
@Override
@Transactional
public boolean create(HREmpState et) {
if(!this.retBool(this.baseMapper.insert(et)))
return false;
CachedBeanCopier.copy(get(et.getHrempstateid()),et);
return true;
}
@Override
public void createBatch(List<HREmpState> list) {
this.saveBatch(list,batchSize);
}
@Override
@Transactional
public boolean update(HREmpState et) {
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("hrempstateid",et.getHrempstateid())))
return false;
CachedBeanCopier.copy(get(et.getHrempstateid()),et);
return true;
}
@Override
public void updateBatch(List<HREmpState> list) {
updateBatchById(list,batchSize);
}
@Override
@Transactional
public boolean remove(String key) {
boolean result=removeById(key);
return result ;
}
@Override
public void removeBatch(Collection<String> idList) {
removeByIds(idList);
}
@Override
@Transactional
public HREmpState get(String key) {
HREmpState et = getById(key);
if(et==null){
et=new HREmpState();
et.setHrempstateid(key);
}
else{
}
return et;
}
@Override
public HREmpState getDraft(HREmpState et) {
return et;
}
@Override
public boolean checkKey(HREmpState et) {
return (!ObjectUtils.isEmpty(et.getHrempstateid()))&&(!Objects.isNull(this.getById(et.getHrempstateid())));
}
@Override
@Transactional
public boolean save(HREmpState et) {
if(!saveOrUpdate(et))
return false;
return true;
}
@Override
@Transactional
public boolean saveOrUpdate(HREmpState et) {
if (null == et) {
return false;
} else {
return checkKey(et) ? this.update(et) : this.create(et);
}
}
@Override
public boolean saveBatch(Collection<HREmpState> list) {
saveOrUpdateBatch(list,batchSize);
return true;
}
@Override
public void saveBatch(List<HREmpState> list) {
saveOrUpdateBatch(list,batchSize);
}
/**
* 查询集合 DEFAULT
*/
@Override
public Page<HREmpState> searchDefault(HREmpStateSearchContext context) {
com.baomidou.mybatisplus.extension.plugins.pagination.Page<HREmpState> pages=baseMapper.searchDefault(context.getPages(),context,context.getSelectCond());
return new PageImpl<HREmpState>(pages.getRecords(), context.getPageable(), pages.getTotal());
}
@Override
public List<JSONObject> select(String sql, Map param){
return this.baseMapper.selectBySQL(sql,param);
}
@Override
@Transactional
public boolean execute(String sql , Map param){
if (sql == null || sql.isEmpty()) {
return false;
}
if (sql.toLowerCase().trim().startsWith("insert")) {
return this.baseMapper.insertBySQL(sql,param);
}
if (sql.toLowerCase().trim().startsWith("update")) {
return this.baseMapper.updateBySQL(sql,param);
}
if (sql.toLowerCase().trim().startsWith("delete")) {
return this.baseMapper.deleteBySQL(sql,param);
}
log.warn("暂未支持的SQL语法");
return true;
}
@Override
public List<HREmpState> getHrempstateByIds(List<String> ids) {
return this.listByIds(ids);
}
@Override
public List<HREmpState> getHrempstateByEntities(List<HREmpState> entities) {
List ids =new ArrayList();
for(HREmpState entity : entities){
Serializable id=entity.getHrempstateid();
if(!ObjectUtils.isEmpty(id)){
ids.add(id);
}
}
if(ids.size()>0)
return this.listByIds(ids);
else
return entities;
}
}
......@@ -51,12 +51,16 @@ public class HREmployeeServiceImpl extends ServiceImpl<HREmployeeMapper, HREmplo
@Autowired
@Lazy
protected cn.ibizlab.humanresource.core.base.service.IHROrganizationService hrorganizationService;
@Autowired
@Lazy
protected cn.ibizlab.humanresource.core.humanresource.service.IHREmpStateService hrempstateService;
protected int batchSize = 500;
@Override
@Transactional
public boolean create(HREmployee et) {
fillParentData(et);
if(!this.retBool(this.baseMapper.insert(et)))
return false;
CachedBeanCopier.copy(get(et.getEmployeeid()),et);
......@@ -65,12 +69,14 @@ public class HREmployeeServiceImpl extends ServiceImpl<HREmployeeMapper, HREmplo
@Override
public void createBatch(List<HREmployee> list) {
list.forEach(item->fillParentData(item));
this.saveBatch(list,batchSize);
}
@Override
@Transactional
public boolean update(HREmployee et) {
fillParentData(et);
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("employeeid",et.getEmployeeid())))
return false;
CachedBeanCopier.copy(get(et.getEmployeeid()),et);
......@@ -79,6 +85,7 @@ public class HREmployeeServiceImpl extends ServiceImpl<HREmployeeMapper, HREmplo
@Override
public void updateBatch(List<HREmployee> list) {
list.forEach(item->fillParentData(item));
updateBatchById(list,batchSize);
}
......@@ -109,6 +116,7 @@ public class HREmployeeServiceImpl extends ServiceImpl<HREmployeeMapper, HREmplo
@Override
public HREmployee getDraft(HREmployee et) {
fillParentData(et);
return et;
}
......@@ -136,12 +144,14 @@ public class HREmployeeServiceImpl extends ServiceImpl<HREmployeeMapper, HREmplo
@Override
public boolean saveBatch(Collection<HREmployee> list) {
list.forEach(item->fillParentData(item));
saveOrUpdateBatch(list,batchSize);
return true;
}
@Override
public void saveBatch(List<HREmployee> list) {
list.forEach(item->fillParentData(item));
saveOrUpdateBatch(list,batchSize);
}
......@@ -156,6 +166,16 @@ public class HREmployeeServiceImpl extends ServiceImpl<HREmployeeMapper, HREmplo
this.remove(new QueryWrapper<HREmployee>().eq("organizationid",organizationid));
}
@Override
public List<HREmployee> selectByEmpstate(String hrempstateid) {
return baseMapper.selectByEmpstate(hrempstateid);
}
@Override
public void removeByEmpstate(String hrempstateid) {
this.remove(new QueryWrapper<HREmployee>().eq("empstate",hrempstateid));
}
/**
* 查询集合 DEFAULT
......@@ -168,6 +188,32 @@ public class HREmployeeServiceImpl extends ServiceImpl<HREmployeeMapper, HREmplo
/**
* 为当前实体填充父数据(外键值文本、外键值附加数据)
* @param et
*/
private void fillParentData(HREmployee et){
//实体关系[DER1N_EMPLOYEE_ORGANIZATION_ORGANIZATIONID]
if(!ObjectUtils.isEmpty(et.getOrganizationid())){
cn.ibizlab.humanresource.core.base.domain.HROrganization organization=et.getOrganization();
if(ObjectUtils.isEmpty(organization)){
cn.ibizlab.humanresource.core.base.domain.HROrganization majorEntity=hrorganizationService.get(et.getOrganizationid());
et.setOrganization(majorEntity);
organization=majorEntity;
}
et.setOrganizationname(organization.getOrganizationname());
}
//实体关系[DER1N_HREMPLOYEE_HREMPSTATE_EMPSTATE_BE6FB0]
if(!ObjectUtils.isEmpty(et.getEmpstate())){
cn.ibizlab.humanresource.core.humanresource.domain.HREmpState hrempstate=et.getHrempstate();
if(ObjectUtils.isEmpty(hrempstate)){
cn.ibizlab.humanresource.core.humanresource.domain.HREmpState majorEntity=hrempstateService.get(et.getEmpstate());
et.setHrempstate(majorEntity);
hrempstate=majorEntity;
}
et.setJobstate(hrempstate.getJobstate());
}
}
......
......@@ -5,17 +5,20 @@
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
<select id="selectById" resultMap="HREmployeeResultMap" databaseId="mysql">
<![CDATA[select t1.* from (SELECT (TIMESTAMPDIFF(YEAR, t1.`BIRTHDAY`, CURDATE())) AS `AGE`, t1.`BIRTHDAY`, t1.`CERTNUM`, t1.`CERTTYPE`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`EMPLOYEECODE`, t1.`EMPLOYEEID`, t1.`EMPLOYEENAME`, t1.`ORGANIZATIONID`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `EMPLOYEE` t1 ) t1 where employeeid=#{id}]]>
<![CDATA[select t1.* from (SELECT (TIMESTAMPDIFF(YEAR, t1.`BIRTHDAY`, CURDATE())) AS `AGE`, t1.`BIRTHADDRESS`, t1.`BIRTHDAY`, t1.`BLOODTYPE`, t1.`CERTIFICATES`, t1.`CERTNUM`, t1.`CERTTYPE`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`EMAIL`, t1.`EMPLOYEECODE`, t1.`EMPLOYEEID`, t1.`EMPLOYEENAME`, t1.`EMPSTATE`, t1.`ENTRYTYPE`, t1.`FIRSTDEGREE`, t1.`HEALTH`, t1.`HIGHESTDEGREE`, t1.`HOBBY`, t21.`JOBSTATE`, t1.`MARRIAGE`, t1.`MOBILE`, t1.`NATION`, t1.`NATIVE`, t1.`NATIVEADDRESS`, t1.`NATIVETYPE`, t1.`ORGANIZATIONID`, t11.`ORGANIZATIONNAME`, t1.`PHOTO`, t1.`POLITICAL`, t1.`POLITICALTIME`, t1.`POSTALADDRESS`, t1.`SEX`, t1.`STARTORGTIME`, t1.`STARTWORKTIME`, t1.`TECHNICALTITLE`, t1.`TELEPHONE`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `EMPLOYEE` t1 LEFT JOIN ORGANIZATION t11 ON t1.ORGANIZATIONID = t11.ORGANIZATIONID LEFT JOIN T_HREMPSTATE t21 ON t1.EMPSTATE = t21.HREMPSTATEID ) t1 where employeeid=#{id}]]>
</select>
<!--通过mybatis将查询结果注入到entity中,通过配置autoMapping="true"由mybatis自动处理映射关系 -->
<resultMap id="HREmployeeResultMap" type="cn.ibizlab.humanresource.core.humanresource.domain.HREmployee" autoMapping="true">
<id property="employeeid" column="employeeid" /><!--主键字段映射-->
<result property="organizationid" column="organizationid" />
<result property="empstate" column="empstate" />
<!--通过mybatis自动注入关系属性[主实体],fetchType="lazy"为懒加载配置 -->
<association property="organization" javaType="cn.ibizlab.humanresource.core.base.domain.HROrganization" column="organizationid" select="cn.ibizlab.humanresource.core.base.mapper.HROrganizationMapper.selectById" fetchType="lazy"></association>
<!--通过mybatis自动注入关系属性[主实体],fetchType="lazy"为懒加载配置 -->
<association property="hrempstate" javaType="cn.ibizlab.humanresource.core.humanresource.domain.HREmpState" column="empstate" select="cn.ibizlab.humanresource.core.humanresource.mapper.HREmpStateMapper.selectById" fetchType="lazy"></association>
</resultMap>
<!--关系实体暴露select方法供主实体通过外键查询关系实体数据[实体关系名称:DER1N_EMPLOYEE_ORGANIZATION_ORGANIZATIONID] -->
......@@ -24,6 +27,13 @@
<include refid="Default" />
) t1
where organizationid=#{organizationid}
</select>
<!--关系实体暴露select方法供主实体通过外键查询关系实体数据[实体关系名称:DER1N_HREMPLOYEE_HREMPSTATE_EMPSTATE_BE6FB0] -->
<select id="selectByEmpstate" resultMap="HREmployeeResultMap">
select t1.* from (
<include refid="Default" />
) t1
where empstate=#{hrempstateid}
</select>
<!--数据集合[Default]-->
......@@ -37,12 +47,12 @@
<!--数据查询[Default]-->
<sql id="Default" databaseId="mysql">
<![CDATA[ SELECT (TIMESTAMPDIFF(YEAR, t1.`BIRTHDAY`, CURDATE())) AS `AGE`, t1.`BIRTHDAY`, t1.`CERTNUM`, t1.`CERTTYPE`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`EMPLOYEECODE`, t1.`EMPLOYEEID`, t1.`EMPLOYEENAME`, t1.`ORGANIZATIONID`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `EMPLOYEE` t1
<![CDATA[ SELECT (TIMESTAMPDIFF(YEAR, t1.`BIRTHDAY`, CURDATE())) AS `AGE`, t1.`BIRTHADDRESS`, t1.`BIRTHDAY`, t1.`BLOODTYPE`, t1.`CERTIFICATES`, t1.`CERTNUM`, t1.`CERTTYPE`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`EMAIL`, t1.`EMPLOYEECODE`, t1.`EMPLOYEEID`, t1.`EMPLOYEENAME`, t1.`EMPSTATE`, t1.`ENTRYTYPE`, t1.`FIRSTDEGREE`, t1.`HEALTH`, t1.`HIGHESTDEGREE`, t1.`HOBBY`, t21.`JOBSTATE`, t1.`MARRIAGE`, t1.`MOBILE`, t1.`NATION`, t1.`NATIVE`, t1.`NATIVEADDRESS`, t1.`NATIVETYPE`, t1.`ORGANIZATIONID`, t11.`ORGANIZATIONNAME`, t1.`PHOTO`, t1.`POLITICAL`, t1.`POLITICALTIME`, t1.`POSTALADDRESS`, t1.`SEX`, t1.`STARTORGTIME`, t1.`STARTWORKTIME`, t1.`TECHNICALTITLE`, t1.`TELEPHONE`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `EMPLOYEE` t1 LEFT JOIN ORGANIZATION t11 ON t1.ORGANIZATIONID = t11.ORGANIZATIONID LEFT JOIN T_HREMPSTATE t21 ON t1.EMPSTATE = t21.HREMPSTATEID
]]>
</sql>
<!--数据查询[View]-->
<sql id="View" databaseId="mysql">
<![CDATA[ SELECT (TIMESTAMPDIFF(YEAR, t1.`BIRTHDAY`, CURDATE())) AS `AGE`, t1.`BIRTHDAY`, t1.`CERTNUM`, t1.`CERTTYPE`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`EMPLOYEECODE`, t1.`EMPLOYEEID`, t1.`EMPLOYEENAME`, t1.`ORGANIZATIONID`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `EMPLOYEE` t1
<![CDATA[ SELECT (TIMESTAMPDIFF(YEAR, t1.`BIRTHDAY`, CURDATE())) AS `AGE`, t1.`BIRTHADDRESS`, t1.`BIRTHDAY`, t1.`BLOODTYPE`, t1.`CERTIFICATES`, t1.`CERTNUM`, t1.`CERTTYPE`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`EMAIL`, t1.`EMPLOYEECODE`, t1.`EMPLOYEEID`, t1.`EMPLOYEENAME`, t1.`EMPSTATE`, t1.`ENTRYTYPE`, t1.`FIRSTDEGREE`, t1.`HEALTH`, t1.`HIGHESTDEGREE`, t1.`HOBBY`, t21.`JOBSTATE`, t1.`MARRIAGE`, t1.`MOBILE`, t1.`NATION`, t1.`NATIVE`, t1.`NATIVEADDRESS`, t1.`NATIVETYPE`, t1.`ORGANIZATIONID`, t11.`ORGANIZATIONNAME`, t1.`PHOTO`, t1.`POLITICAL`, t1.`POLITICALTIME`, t1.`POSTALADDRESS`, t1.`SEX`, t1.`STARTORGTIME`, t1.`STARTWORKTIME`, t1.`TECHNICALTITLE`, t1.`TELEPHONE`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `EMPLOYEE` t1 LEFT JOIN ORGANIZATION t11 ON t1.ORGANIZATIONID = t11.ORGANIZATIONID LEFT JOIN T_HREMPSTATE t21 ON t1.EMPSTATE = t21.HREMPSTATEID
]]>
</sql>
</mapper>
......
<?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="cn.ibizlab.humanresource.core.humanresource.mapper.HREmpStateMapper">
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
<select id="selectById" resultMap="HREmpStateResultMap" databaseId="mysql">
<![CDATA[select t1.* from (SELECT t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`HREMPSTATEID`, t1.`HREMPSTATENAME`, t1.`JOBSTATE`, t1.`SHOWORDER`, t1.`STATECODE`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `T_HREMPSTATE` t1 ) t1 where hrempstateid=#{id}]]>
</select>
<!--通过mybatis将查询结果注入到entity中,通过配置autoMapping="true"由mybatis自动处理映射关系 -->
<resultMap id="HREmpStateResultMap" type="cn.ibizlab.humanresource.core.humanresource.domain.HREmpState" autoMapping="true">
<id property="hrempstateid" column="hrempstateid" /><!--主键字段映射-->
</resultMap>
<!--数据集合[Default]-->
<select id="searchDefault" parameterType="cn.ibizlab.humanresource.core.humanresource.filter.HREmpStateSearchContext" resultMap="HREmpStateResultMap">
select t1.* from (
<include refid="Default" />
)t1
<where><if test="ew!=null and ew.sqlSegment!=null and !ew.emptyOfWhere">${ew.sqlSegment}</if></where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">${ew.sqlSegment}</if>
</select>
<!--数据查询[Default]-->
<sql id="Default" databaseId="mysql">
<![CDATA[ SELECT t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`HREMPSTATEID`, t1.`HREMPSTATENAME`, t1.`JOBSTATE`, t1.`SHOWORDER`, t1.`STATECODE`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `T_HREMPSTATE` t1
]]>
</sql>
<!--数据查询[View]-->
<sql id="View" databaseId="mysql">
<![CDATA[ SELECT t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`HREMPSTATEID`, t1.`HREMPSTATENAME`, t1.`JOBSTATE`, t1.`SHOWORDER`, t1.`STATECODE`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `T_HREMPSTATE` t1
]]>
</sql>
</mapper>
......@@ -12,6 +12,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /humanresource-provider-hrapi.jar
EXPOSE 8081
EXPOSE 10317
ADD humanresource-provider-hrapi.jar /humanresource-provider-hrapi.jar
......@@ -3,9 +3,25 @@ services:
humanresource-provider-hrapi:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/humanresource-provider-hrapi:latest
ports:
- "8081:8081"
- "10317:10317"
networks:
- agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.240.110
- SERVER_PORT=10317
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.240.110:8848
- SPRING_REDIS_HOST=172.16.240.110
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_LAB01_e85d8801c
- SPRING_DATASOURCE_PASSWORD=b1@@@772
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.186.185:3306/a_LAB01_e85d8801c?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_LAB01_e85d8801c
- CAS=https://passport.ibizlab.cn
- NACOS=172.16.240.110:8848
- SEATA_REGISTRY_NACOS_SERVER-ADDR=172.16.240.110:8848
- SEATA_ENABLED=true
deploy:
resources:
limits:
......
......@@ -123,6 +123,225 @@ public class HREmployeeDTO extends DTOBase implements Serializable {
@JsonProperty("age")
private String age;
/**
* 属性 [ORGANIZATIONNAME]
*
*/
@JSONField(name = "organizationname")
@JsonProperty("organizationname")
private String organizationname;
/**
* 属性 [SEX]
*
*/
@JSONField(name = "sex")
@JsonProperty("sex")
private String sex;
/**
* 属性 [BLOODTYPE]
*
*/
@JSONField(name = "bloodtype")
@JsonProperty("bloodtype")
private String bloodtype;
/**
* 属性 [TELEPHONE]
*
*/
@JSONField(name = "telephone")
@JsonProperty("telephone")
private String telephone;
/**
* 属性 [MOBILE]
*
*/
@JSONField(name = "mobile")
@JsonProperty("mobile")
private String mobile;
/**
* 属性 [EMAIL]
*
*/
@JSONField(name = "email")
@JsonProperty("email")
private String email;
/**
* 属性 [MARRIAGE]
*
*/
@JSONField(name = "marriage")
@JsonProperty("marriage")
private String marriage;
/**
* 属性 [NATION]
*
*/
@JSONField(name = "nation")
@JsonProperty("nation")
private String nation;
/**
* 属性 [NATIVETYPE]
*
*/
@JSONField(name = "nativetype")
@JsonProperty("nativetype")
private String nativetype;
/**
* 属性 [NATIVE]
*
*/
@JSONField(name = "native")
@JsonProperty("native")
private String native;
/**
* 属性 [NATIVEADDRESS]
*
*/
@JSONField(name = "nativeaddress")
@JsonProperty("nativeaddress")
private String nativeaddress;
/**
* 属性 [BIRTHADDRESS]
*
*/
@JSONField(name = "birthaddress")
@JsonProperty("birthaddress")
private String birthaddress;
/**
* 属性 [POSTALADDRESS]
*
*/
@JSONField(name = "postaladdress")
@JsonProperty("postaladdress")
private String postaladdress;
/**
* 属性 [HOBBY]
*
*/
@JSONField(name = "hobby")
@JsonProperty("hobby")
private String hobby;
/**
* 属性 [HEALTH]
*
*/
@JSONField(name = "health")
@JsonProperty("health")
private String health;
/**
* 属性 [POLITICAL]
*
*/
@JSONField(name = "political")
@JsonProperty("political")
private String political;
/**
* 属性 [STARTWORKTIME]
*
*/
@JsonFormat(pattern="yyyy-MM-dd", locale = "zh" , timezone="GMT+8")
@JSONField(name = "startworktime" , format="yyyy-MM-dd")
@JsonProperty("startworktime")
private Timestamp startworktime;
/**
* 属性 [STARTORGTIME]
*
*/
@JsonFormat(pattern="yyyy-MM-dd", locale = "zh" , timezone="GMT+8")
@JSONField(name = "startorgtime" , format="yyyy-MM-dd")
@JsonProperty("startorgtime")
private Timestamp startorgtime;
/**
* 属性 [PHOTO]
*
*/
@JSONField(name = "photo")
@JsonProperty("photo")
private String photo;
/**
* 属性 [FIRSTDEGREE]
*
*/
@JSONField(name = "firstdegree")
@JsonProperty("firstdegree")
private String firstdegree;
/**
* 属性 [HIGHESTDEGREE]
*
*/
@JSONField(name = "highestdegree")
@JsonProperty("highestdegree")
private String highestdegree;
/**
* 属性 [TECHNICALTITLE]
*
*/
@JSONField(name = "technicaltitle")
@JsonProperty("technicaltitle")
private String technicaltitle;
/**
* 属性 [CERTIFICATES]
*
*/
@JSONField(name = "certificates")
@JsonProperty("certificates")
private String certificates;
/**
* 属性 [ENTRYTYPE]
*
*/
@JSONField(name = "entrytype")
@JsonProperty("entrytype")
private String entrytype;
/**
* 属性 [POLITICALTIME]
*
*/
@JsonFormat(pattern="yyyy-MM-dd", locale = "zh" , timezone="GMT+8")
@JSONField(name = "politicaltime" , format="yyyy-MM-dd")
@JsonProperty("politicaltime")
private Timestamp politicaltime;
/**
* 属性 [EMPSTATE]
*
*/
@JSONField(name = "empstate")
@JsonProperty("empstate")
private String empstate;
/**
* 属性 [JOBSTATE]
*
*/
@JSONField(name = "jobstate")
@JsonProperty("jobstate")
private String jobstate;
/**
* 设置 [EMPLOYEENAME]
......@@ -172,6 +391,206 @@ public class HREmployeeDTO extends DTOBase implements Serializable {
this.modify("birthday",birthday);
}
/**
* 设置 [SEX]
*/
public void setSex(String sex){
this.sex = sex ;
this.modify("sex",sex);
}
/**
* 设置 [BLOODTYPE]
*/
public void setBloodtype(String bloodtype){
this.bloodtype = bloodtype ;
this.modify("bloodtype",bloodtype);
}
/**
* 设置 [TELEPHONE]
*/
public void setTelephone(String telephone){
this.telephone = telephone ;
this.modify("telephone",telephone);
}
/**
* 设置 [MOBILE]
*/
public void setMobile(String mobile){
this.mobile = mobile ;
this.modify("mobile",mobile);
}
/**
* 设置 [EMAIL]
*/
public void setEmail(String email){
this.email = email ;
this.modify("email",email);
}
/**
* 设置 [MARRIAGE]
*/
public void setMarriage(String marriage){
this.marriage = marriage ;
this.modify("marriage",marriage);
}
/**
* 设置 [NATION]
*/
public void setNation(String nation){
this.nation = nation ;
this.modify("nation",nation);
}
/**
* 设置 [NATIVETYPE]
*/
public void setNativetype(String nativetype){
this.nativetype = nativetype ;
this.modify("nativetype",nativetype);
}
/**
* 设置 [NATIVE]
*/
public void setNative(String native){
this.native = native ;
this.modify("native",native);
}
/**
* 设置 [NATIVEADDRESS]
*/
public void setNativeaddress(String nativeaddress){
this.nativeaddress = nativeaddress ;
this.modify("nativeaddress",nativeaddress);
}
/**
* 设置 [BIRTHADDRESS]
*/
public void setBirthaddress(String birthaddress){
this.birthaddress = birthaddress ;
this.modify("birthaddress",birthaddress);
}
/**
* 设置 [POSTALADDRESS]
*/
public void setPostaladdress(String postaladdress){
this.postaladdress = postaladdress ;
this.modify("postaladdress",postaladdress);
}
/**
* 设置 [HOBBY]
*/
public void setHobby(String hobby){
this.hobby = hobby ;
this.modify("hobby",hobby);
}
/**
* 设置 [HEALTH]
*/
public void setHealth(String health){
this.health = health ;
this.modify("health",health);
}
/**
* 设置 [POLITICAL]
*/
public void setPolitical(String political){
this.political = political ;
this.modify("political",political);
}
/**
* 设置 [STARTWORKTIME]
*/
public void setStartworktime(Timestamp startworktime){
this.startworktime = startworktime ;
this.modify("startworktime",startworktime);
}
/**
* 设置 [STARTORGTIME]
*/
public void setStartorgtime(Timestamp startorgtime){
this.startorgtime = startorgtime ;
this.modify("startorgtime",startorgtime);
}
/**
* 设置 [PHOTO]
*/
public void setPhoto(String photo){
this.photo = photo ;
this.modify("photo",photo);
}
/**
* 设置 [FIRSTDEGREE]
*/
public void setFirstdegree(String firstdegree){
this.firstdegree = firstdegree ;
this.modify("firstdegree",firstdegree);
}
/**
* 设置 [HIGHESTDEGREE]
*/
public void setHighestdegree(String highestdegree){
this.highestdegree = highestdegree ;
this.modify("highestdegree",highestdegree);
}
/**
* 设置 [TECHNICALTITLE]
*/
public void setTechnicaltitle(String technicaltitle){
this.technicaltitle = technicaltitle ;
this.modify("technicaltitle",technicaltitle);
}
/**
* 设置 [CERTIFICATES]
*/
public void setCertificates(String certificates){
this.certificates = certificates ;
this.modify("certificates",certificates);
}
/**
* 设置 [ENTRYTYPE]
*/
public void setEntrytype(String entrytype){
this.entrytype = entrytype ;
this.modify("entrytype",entrytype);
}
/**
* 设置 [POLITICALTIME]
*/
public void setPoliticaltime(Timestamp politicaltime){
this.politicaltime = politicaltime ;
this.modify("politicaltime",politicaltime);
}
/**
* 设置 [EMPSTATE]
*/
public void setEmpstate(String empstate){
this.empstate = empstate ;
this.modify("empstate",empstate);
}
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册