YgglController.java 81.6 KB
Newer Older
tangzhaoqian committed
1 2 3 4 5 6 7
/**
 * @date 2019年11月15日  
 * @author 翁东州
 * @方法中文名称:
 */
package cn.timer.api.controller.yggl;

8
import java.io.IOException;
lal committed
9
import java.text.ParseException;
lal committed
10
import java.text.SimpleDateFormat;
tangzhaoqian committed
11 12 13 14 15 16 17 18 19
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.stream.Collectors;

20
import javax.annotation.Resource;
21 22
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
tangzhaoqian committed
23 24
import javax.transaction.Transactional;

25
import cn.timer.api.utils.redis.RedisUtil;
tangzhaoqian committed
26
import org.springframework.beans.factory.annotation.Autowired;
27
import org.springframework.beans.factory.annotation.Value;
ilal committed
28 29 30
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.ResponseEntity;
tangzhaoqian committed
31
import org.springframework.transaction.interceptor.TransactionAspectSupport;
ilal committed
32 33
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
34
import org.springframework.util.StringUtils;
35
import org.springframework.validation.annotation.Validated;
tangzhaoqian committed
36 37 38 39 40 41 42
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
ilal committed
43
import org.springframework.web.client.RestTemplate;
tangzhaoqian committed
44 45 46 47 48 49 50 51 52 53 54

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.github.pagehelper.util.StringUtil;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;

import cn.hutool.core.bean.BeanUtil;
55
import cn.hutool.core.collection.CollUtil;
56
import cn.hutool.core.collection.CollectionUtil;
tangzhaoqian committed
57 58
import cn.hutool.core.date.BetweenFormater.Level;
import cn.hutool.core.date.DateUtil;
59
import cn.hutool.core.io.IoUtil;
tangzhaoqian committed
60 61 62
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.lang.tree.TreeNodeConfig;
import cn.hutool.core.lang.tree.TreeUtil;
63
import cn.hutool.core.util.IdcardUtil;
64
import cn.hutool.core.util.ObjectUtil;
65
import cn.hutool.core.util.ReUtil;
tangzhaoqian committed
66
import cn.hutool.core.util.StrUtil;
67
import cn.hutool.json.JSONObject;
tangzhaoqian committed
68
import cn.hutool.json.JSONUtil;
69 70
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
tangzhaoqian committed
71 72
import cn.timer.api.bean.clazz.CommonArea;
import cn.timer.api.bean.clazz.SysRegion;
ilal committed
73 74 75
import cn.timer.api.bean.kqgl.UserEquiRelation;
import cn.timer.api.bean.kqmk.KqglAssoKqj;
import cn.timer.api.bean.kqmk.KqglAssoKqzdkfs;
lal committed
76
import cn.timer.api.bean.kqmk.KqglAssoLeaveEmployeeBalance;
lal committed
77
import cn.timer.api.bean.kqmk.KqglAssoLeaveRules;
ilal committed
78
import cn.timer.api.bean.kqmk.KqglAssoYhkqz;
ilal committed
79
import cn.timer.api.bean.kqmk.KqglAssoYhsb;
tangzhaoqian committed
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
import cn.timer.api.bean.qyzx.QyzxEmpEntAsso;
import cn.timer.api.bean.qyzx.QyzxEmpLogin;
import cn.timer.api.bean.yggl.YgglAttaClfjb;
import cn.timer.api.bean.yggl.YgglAttaCzjlb;
import cn.timer.api.bean.yggl.YgglAttaGzjlb;
import cn.timer.api.bean.yggl.YgglAttaGzk;
import cn.timer.api.bean.yggl.YgglAttaHtxxb;
import cn.timer.api.bean.yggl.YgglAttaJjlxr;
import cn.timer.api.bean.yggl.YgglAttaJyjlb;
import cn.timer.api.bean.yggl.YgglAttaLxxxb;
import cn.timer.api.bean.yggl.YgglAttaPxjlxxb;
import cn.timer.api.bean.yggl.YgglAttaSbgjj;
import cn.timer.api.bean.yggl.YgglAttaZcxxb;
import cn.timer.api.bean.yggl.YgglAttaZszjb;
import cn.timer.api.bean.yggl.YgglMainEmp;
import cn.timer.api.bean.yggl.YgglMainLzb;
import cn.timer.api.bean.zzgl.ZzglBmgwM;
import cn.timer.api.config.annotation.CurrentUser;
import cn.timer.api.config.annotation.UserBean;
import cn.timer.api.config.enuminterface.YgEnumInterface;
100
import cn.timer.api.config.enuminterface.YgEnumInterface.jobStatus;
tangzhaoqian committed
101
import cn.timer.api.config.enums.CommonEnum;
102
import cn.timer.api.config.enums.SysRoleType;
103
import cn.timer.api.config.exception.Regular;
104
import cn.timer.api.config.validation.ValidList;
lal committed
105
import cn.timer.api.controller.kqgl.ClockInTool;
lal committed
106
import cn.timer.api.controller.kqgl.atttimer.RealTimeUpdate;
107
import cn.timer.api.controller.zzgl.service.ZzglBmgwMService;
tangzhaoqian committed
108
import cn.timer.api.dao.clazz.CommonAreaMapper;
ilal committed
109 110
import cn.timer.api.dao.kqgl.UserEquiRelationMapper;
import cn.timer.api.dao.kqmk.KqglAssoKqzdkfsMapper;
lal committed
111
import cn.timer.api.dao.kqmk.KqglAssoLeaveBalanceMapper;
112
import cn.timer.api.dao.qyzx.QyzxEmpEntAssoMapper;
tangzhaoqian committed
113 114 115 116 117
import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper;
import cn.timer.api.dao.yggl.YgMzDtoMapper;
import cn.timer.api.dao.yggl.YgglMainEmpMapper;
import cn.timer.api.dao.yggl.YgglMainLzbMapper;
import cn.timer.api.dao.zzgl.ZzglBmgwMMapper;
lal committed
118
import cn.timer.api.dto.kqmk.AdditionalDto;
tangzhaoqian committed
119
import cn.timer.api.dto.yggl.AddygdaDto;
120
import cn.timer.api.dto.yggl.EmpQuery;
121
import cn.timer.api.dto.yggl.ImportEmpDto;
tangzhaoqian committed
122 123 124 125
import cn.timer.api.dto.yggl.LoginInfoDto;
import cn.timer.api.dto.yggl.LoginerChargeDto;
import cn.timer.api.dto.yggl.LzbQueryDto;
import cn.timer.api.dto.yggl.LzygQueryDto;
ilal committed
126
import cn.timer.api.dto.yggl.ModifyAvatarDto;
ilal committed
127
import cn.timer.api.dto.yggl.UserInfo;
tangzhaoqian committed
128 129 130 131 132 133 134
import cn.timer.api.dto.yggl.YgCartogramDto;
import cn.timer.api.dto.yggl.YgKVDto;
import cn.timer.api.dto.yggl.YgQueryDto;
import cn.timer.api.dto.yggl.YgbintuDto;
import cn.timer.api.dto.yggl.YgglCartogramDto;
import cn.timer.api.dto.yggl.YgmzDto;
import cn.timer.api.dto.yggl.YgzzDto;
135
import cn.timer.api.utils.DateFormatUtils;
tangzhaoqian committed
136 137 138 139 140 141 142 143 144 145 146 147 148
import cn.timer.api.utils.Md5;
import cn.timer.api.utils.Result;
import cn.timer.api.utils.ResultUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

/**
 * @date 2019年11月15日
 * @author 翁东州
 * @方法中文名称:
 */
@Api(tags = "3.员工管理")
@RestController
149
@Transactional(rollbackOn = Exception.class)
tangzhaoqian committed
150 151 152
@RequestMapping(value = "/yggl", produces = { "application/json" })
public class YgglController {

153 154
	@Value(value = "${config-8timer.init-password}")
	private String pwd;
155

tangzhaoqian committed
156 157
	@Autowired
	private YgglMainEmpMapper ygglMainEmpMapper;
158

159 160
	@Autowired
	private QyzxEmpEntAssoMapper qyzxEmpEntAssoMapper;
tangzhaoqian committed
161 162 163 164 165 166 167 168 169 170 171 172 173 174

	@Autowired
	private QyzxEmpLoginMapper qyzxEmpLoginMapper;

	@Autowired
	private YgglMainLzbMapper ygglMainLzbMapper;

	@Autowired
	private ZzglBmgwMMapper zzglBmgwMMapper;

	// weng(民族)
	@Autowired
	private YgMzDtoMapper ygMzDtoMapper;

175 176 177 178 179 180
	@Resource
	private RedisUtil redisUtil;

	@Value("${server.servlet.session.timeout}")
	public Integer session_timeout;

tangzhaoqian committed
181 182 183 184 185 186 187
	/**
	 * 获取员工档案
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/ygda")
188
	@ApiOperation(value = "1.获取员工档案", httpMethod = "GET", notes = "接口发布说明")
tangzhaoqian committed
189 190 191 192
	@ApiOperationSupport(order = 1)
	public Result<YgglMainEmp> selectygda(@CurrentUser UserBean userBean) {
		Integer empNum = userBean.getEmpNum();
		Integer orgCode = userBean.getOrgCode();
193
		YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda()
194
				.eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getEmpNum, empNum));
tangzhaoqian committed
195 196 197 198
		Date rz = ygglMainEmp.getRzTime();
		if (rz != null) {
			ygglMainEmp.setWorkTime(DateUtil.formatBetween(rz, new Date(), Level.DAY));
		}
199
		return ResultUtil.data(ygglMainEmp);
tangzhaoqian committed
200 201 202 203
	}

	// 获取员工档案
	@GetMapping(value = "/ygda/{empNum}")
204
	@ApiOperation(value = "2.获取员工档案(管)", httpMethod = "GET", notes = "接口发布说明")
tangzhaoqian committed
205 206 207
	@ApiOperationSupport(order = 2)
	public Result<YgglMainEmp> selectygda(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
		Integer orgCode = userBean.getOrgCode();
208
		YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda()
209
				.eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getEmpNum, empNum));
tangzhaoqian committed
210
		Date rz = ygglMainEmp.getRzTime();
211
		QyzxEmpLogin login = QyzxEmpLogin.builder().build().selectOne(new QueryWrapper<QyzxEmpLogin>().select("phone").eq("id", empNum));
tangzhaoqian committed
212 213 214
		if (rz != null) {
			ygglMainEmp.setWorkTime(DateUtil.formatBetween(ygglMainEmp.getRzTime(), new Date(), Level.DAY));
		}
215 216 217
		if (!StringUtils.isEmpty(login) && !StringUtils.isEmpty(login.getPhone())) {
			ygglMainEmp.setEmpLoginPhone(login.getPhone());
		}
218
		return ResultUtil.data(ygglMainEmp);
tangzhaoqian committed
219 220 221 222 223 224 225 226 227
	}

	/**
	 * 根据岗位id获取员工档案部门岗位名称
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/ygdabm/{gwid}")
228
	@ApiOperation(value = "3.获取员工档案部门岗位名称", httpMethod = "GET", notes = "接口发布说明")
tangzhaoqian committed
229 230 231
	@ApiOperationSupport(order = 3)
	public Result<String> selectbmgw(@CurrentUser UserBean userBean, @PathVariable Integer gwid) {
		if (gwid == null || gwid == 0) {
232
			return ResultUtil.data("岗位不存在");
tangzhaoqian committed
233 234
		}
		Integer orgCode = userBean.getOrgCode();
235 236
		ZzglBmgwM zzglBmgwM = ZzglBmgwM.builder().build().selectOne(
				new QueryWrapper<ZzglBmgwM>().lambda().eq(ZzglBmgwM::getOrgCode, orgCode).eq(ZzglBmgwM::getId, gwid));
tangzhaoqian committed
237 238 239 240 241 242
		String gw = null;
		Integer bmid = null;
		if (zzglBmgwM != null) {
			gw = zzglBmgwM.getName();
			bmid = zzglBmgwM.getUpId();
		}
243 244
		ZzglBmgwM z = ZzglBmgwM.builder().build().selectOne(
				new QueryWrapper<ZzglBmgwM>().lambda().eq(ZzglBmgwM::getOrgCode, orgCode).eq(ZzglBmgwM::getId, bmid));
tangzhaoqian committed
245 246 247 248 249
		String bm = null;
		if (z != null) {
			bm = z.getName();
		}
		String bmgw = bm + "/" + gw;
250
		return ResultUtil.data(bmgw);
tangzhaoqian committed
251 252
	}

lal committed
253 254 255
	
	@Autowired
	private RealTimeUpdate realtimeupdate;
ilal committed
256 257 258 259 260 261 262 263
	@Autowired
	private KqglAssoKqzdkfsMapper kqglassokqzdkfsmapper;
	
	@Value("${config-8timer.machine8timerUrl}")
	public String mac_command; // 回调地址
	
	@Autowired
	private UserEquiRelationMapper userequirelationmapper;
tangzhaoqian committed
264
	/**
265
	 * 添加员工档案
266
	 * 
267 268
	 * @param userBean
	 * @param addygdaDto
tangzhaoqian committed
269 270 271
	 * @return
	 */
	@PostMapping(value = "/addygda")
272
	@ApiOperation(value = "4.添加员工档案", httpMethod = "POST", notes = "接口发布说明")
tangzhaoqian committed
273
	@ApiOperationSupport(order = 4)
274 275
	public Result<Object> addygda(@CurrentUser UserBean userBean, @Validated @RequestBody AddygdaDto addygdaDto)
			throws Exception {
tangzhaoqian committed
276
		Integer orgCode = userBean.getOrgCode();
ilal committed
277
		String customNum = addygdaDto.getCustomNum();//自定义工号
tangzhaoqian committed
278 279 280 281
		String name = addygdaDto.getName();
		String phone = addygdaDto.getPhone();
		Integer zjType = addygdaDto.getZjType();
		String zjNum = addygdaDto.getZjNum();
mobh committed
282
		Integer attgroupid = addygdaDto.getAttgroupid();//考勤组id
283 284 285
		boolean isvalid = true;
		switch (zjType) {
		case 0:
286
			isvalid = IdcardUtil.isValidCard15(zjNum) || IdcardUtil.isValidCard18(zjNum);
287 288
			break;
		case 1:
289
			String[] strs = IdcardUtil.isValidCard10(zjNum);
邓实川 committed
290 291 292 293 294 295
			if (strs == null) {
				isvalid = false;
				break;
			}
			String str2 = strs != null && strs.length > 2 ? strs[2] : "false";
			isvalid = "澳门/香港".contains(strs[0]) && "true".equals(str2);
296 297
			break;
		case 2:
298
			isvalid = IdcardUtil.isValidTWCard(zjNum);
299 300 301 302 303 304 305
			break;
		case 3:
			isvalid = ReUtil.isMatch(Regular.PASSPORT1, zjNum) || ReUtil.isMatch(Regular.PASSPORT2, zjNum);
			break;
		default:
			break;
		}
ilal committed
306 307 308
//		if (!isvalid) {
//			return ResultUtil.error("证件格式不对!");
//		}
309

tangzhaoqian committed
310
		Integer jobType = addygdaDto.getJobType();
311
		Date rzTime = addygdaDto.getRzTime() == null ? new Date() : addygdaDto.getRzTime();
tangzhaoqian committed
312 313
		Integer syq = addygdaDto.getSyq();
		Integer sex = addygdaDto.getSex();
314
		Integer bmgwId = addygdaDto.getBmgwId();
lal committed
315
		
316

tangzhaoqian committed
317 318 319
		QyzxEmpLogin login = new LambdaQueryChainWrapper<QyzxEmpLogin>(qyzxEmpLoginMapper)
				.eq(!StrUtil.hasBlank(phone), QyzxEmpLogin::getPhone, phone).one();
		if (login == null) {
320
			// 初始化密码 pwd
321
			login = QyzxEmpLogin.builder().phone(phone).pw(Md5.md5(pwd))
tangzhaoqian committed
322
					.sts(CommonEnum.U_STS_ON.getType()).orgId(userBean.getOrgCode()).username(name).build();
323
			if (!login.insert()) {
tangzhaoqian committed
324 325 326
				TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
				return ResultUtil.error("添加员工登录表失败,请检查输入信息");
			}
327
		}
328

329 330 331 332
		YgglMainEmp ygglMainEmp = ygglMainEmpMapper.selectOne(new QueryWrapper<YgglMainEmp>().lambda()
				.eq(YgglMainEmp::getPhone, phone).eq(YgglMainEmp::getOrgCode, orgCode));

		if (ygglMainEmp == null) {
333 334 335
			QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(orgCode).userType(SysRoleType.U_TYPE_EMP.getType())
					.status(CommonEnum.U_STS_ON.getType()).build().insert();
			ygglMainEmp = YgglMainEmp.builder().name(name).phone(phone).zjType(zjType).zjNum(zjNum).jobType(jobType)
336
					.jobStatus(jobStatus.SHIYONG.getType()).rzTime(rzTime).syq(syq).sex(sex)
ilal committed
337 338 339 340
					.empNum(login.getId()).orgCode(orgCode).bmgwId(bmgwId).customNum(customNum).build();
			
			if(addygdaDto.getAttgroupid() != null) {
				KqglAssoYhkqz.builder().kqzid(attgroupid).userid(login.getId()).qyid(userBean.getOrgCode()).build().insert();
ilal committed
341 342 343 344 345 346 347 348
				
				List<KqglAssoKqzdkfs> kqjs = kqglassokqzdkfsmapper.selectList(new QueryWrapper<KqglAssoKqzdkfs>().lambda().eq(KqglAssoKqzdkfs::getKqzId, addygdaDto.getAttgroupid()).eq(KqglAssoKqzdkfs::getType, 1));
				
				for(KqglAssoKqzdkfs abp:kqjs) {
					KqglAssoKqj kqj = KqglAssoKqj.builder().id(abp.getDkfsid()).build().selectById();
					KqglAssoYhsb kqjry = KqglAssoYhsb.builder().build().selectOne(new QueryWrapper<KqglAssoYhsb>().lambda().eq(KqglAssoYhsb::getUserId, login.getId()).eq(KqglAssoYhsb::getKqjid, kqj.getId()));
					if(kqjry == null) {
						
ilal committed
349
//						YgglMainEmp yggluser = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()).eq(YgglMainEmp::getEmpNum, login.getId()));
ilal committed
350 351 352 353 354
						String url = mac_command+"/addUserName";
				        HttpHeaders headers = new HttpHeaders();
				        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
				        params.add("devId", kqj.getCode());
				        params.add("userId", login.getId());
ilal committed
355
				        params.add("userName", ygglMainEmp.getName());
ilal committed
356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374
				        RestTemplate restTemplate = new RestTemplate();
				        HttpEntity httpEntity = new HttpEntity(params, headers);
				        ResponseEntity<String> request = restTemplate.postForEntity(url, httpEntity, String.class);
						
				        KqglAssoYhsb.builder().build().delete(new QueryWrapper<KqglAssoYhsb>().lambda().eq(KqglAssoYhsb::getUserId, login.getId()).eq(KqglAssoYhsb::getKqjid, kqj.getId()));
				        
						KqglAssoYhsb uskqj = KqglAssoYhsb.builder().userId(login.getId()).kqjid(kqj.getId()).type(1).build();
						
						UserEquiRelation isgly = userequirelationmapper.selectByuserId(login.getId());
						if(isgly != null) {
							uskqj.setIsGly(isgly.getIsGly());
						}else {
							uskqj.setIsGly(0);
						}
						if (!uskqj.insert()) 
							return ResultUtil.error("操作失败--新增用户与设备关系");
					}
				}
				
ilal committed
375
			}
lal committed
376 377 378 379 380 381 382 383 384 385 386 387
			
			if(syq == 0) {
				ygglMainEmp.setZzTime(rzTime);
			}else {
				
				String sdf = new SimpleDateFormat("yyyy-MM-dd").format(rzTime);
				
				String zztime = ClockInTool.requires_extra_times(sdf, syq, 4, 1);
				
				ygglMainEmp.setZzTime(ClockInTool.strToDateLong(zztime));
			}
			
tangzhaoqian committed
388
			ygglMainEmp.insert();
lal committed
389 390
			
			//假期规则初始化
lal committed
391
			String current_time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
lal committed
392 393 394
			List<KqglAssoLeaveRules> rul = KqglAssoLeaveRules.builder().build().selectList(new QueryWrapper<KqglAssoLeaveRules>().lambda().eq(KqglAssoLeaveRules::getOrgCode, orgCode));
			for(KqglAssoLeaveRules r : rul) {
				if(r.getLeaveBalance() == 0) {
lal committed
395
					KqglAssoLeaveEmployeeBalance.builder().leaveRulesId(r.getId()).userid(ygglMainEmp.getEmpNum()).balanceDays(-1).modifyUserid(userBean.getEmpNum()).modifyTimer(current_time).orgCode(userBean.getOrgCode()).build().insert();
lal committed
396
				}else {
lal committed
397
					KqglAssoLeaveEmployeeBalance.builder().leaveRulesId(r.getId()).userid(ygglMainEmp.getEmpNum()).balanceDays(0.0).modifyUserid(userBean.getEmpNum()).modifyTimer(current_time).orgCode(userBean.getOrgCode()).build().insert();
lal committed
398 399 400 401
				}
			}
			
			
lal committed
402 403 404 405 406
			try {
				realtimeupdate.AttendanceTask(userBean.getOrgCode(), ygglMainEmp.getEmpNum(), 2,null);
			} catch (ParseException e) {
				e.printStackTrace();
			}
lal committed
407
			
408
			return ResultUtil.data(ygglMainEmp, "添加员工成功!");
tangzhaoqian committed
409
		} else {
410
			return ResultUtil.error("该手机号已被使用,请输入正确手机号");
tangzhaoqian committed
411
		}
412

tangzhaoqian committed
413 414 415 416 417 418 419 420 421
	}

	/**
	 * 修改员工档案
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/updateygda")
422
	@ApiOperation(value = "5.修改员工档案", httpMethod = "POST", notes = "接口发布说明")
tangzhaoqian committed
423 424 425 426
	@ApiOperationSupport(order = 5)
	public Result<Object> updateygda(@CurrentUser UserBean userBean, @RequestBody YgglMainEmp ygglMainEmp)
			throws Exception {

427 428
		if (ObjectUtil.isAllNotEmpty(ygglMainEmp.getRzTime(), ygglMainEmp.getZzTime())
				&& !DateFormatUtils.getCompareDate(ygglMainEmp.getRzTime(), ygglMainEmp.getZzTime())) {
429
			return ResultUtil.error("入职日期 不可以大于 转正日期");
430
		}
431 432 433 434 435 436 437 438 439 440 441 442
		//修改 员工登陆账号 检测账号是否重复
		if(!StringUtils.isEmpty(ygglMainEmp.getEmpLoginPhone())){
			QyzxEmpLogin login = new LambdaQueryChainWrapper<QyzxEmpLogin>(qyzxEmpLoginMapper)
					.eq(!StrUtil.hasBlank(ygglMainEmp.getEmpLoginPhone()), QyzxEmpLogin::getPhone, ygglMainEmp.getEmpLoginPhone()).one();
			YgglMainEmp emp = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getPhone, ygglMainEmp.getEmpLoginPhone())
					.eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()));
			if(StringUtils.isEmpty(login) && StringUtils.isEmpty(emp)){
				QyzxEmpLogin.builder().phone(ygglMainEmp.getEmpLoginPhone()).build().update(new QueryWrapper<QyzxEmpLogin>().lambda().eq(QyzxEmpLogin::getId,ygglMainEmp.getEmpNum()));
			}else{
				return ResultUtil.error("该号码已存在,请更换员工登陆账号");
			}
		}
443

tangzhaoqian committed
444
		if (ygglMainEmp.getEmpNum() != null) {
445 446 447
			ygglMainEmp.update(new UpdateWrapper<YgglMainEmp>().lambda()
					.eq(YgglMainEmp::getOrgCode, userBean.getOrgCode())
					.eq(YgglMainEmp::getEmpNum, ygglMainEmp.getEmpNum()));
tangzhaoqian committed
448 449 450

			return ResultUtil.data(ygglMainEmp, "修改成功");
		}
451
		return ResultUtil.data(ygglMainEmp, "修改成功");
tangzhaoqian committed
452 453 454 455 456 457 458 459 460
	}

	/**
	 * 员工搜索
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/ygquery")
461
	@ApiOperation(value = "6.员工搜索/分页", httpMethod = "POST", notes = "接口发布说明")
tangzhaoqian committed
462 463 464 465 466 467 468 469 470 471 472 473
	@ApiOperationSupport(order = 6)
	public Result<Object> ygquery(@CurrentUser UserBean userBean, @RequestBody YgQueryDto ygQueryDto) {
		Integer orgCode = userBean.getOrgCode();
		Integer b = ygQueryDto.getBmgwid();
		ArrayList<Integer> bList = new ArrayList<Integer>();
		List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper)
				.eq(ZzglBmgwM::getOrgCode, orgCode).list();
		ZzglBmgwM.getDepts(bList, b, zzglBmgwMs);

		Integer j = ygQueryDto.getJobStatus();
		Integer t = ygQueryDto.getJobType();
		String q = ygQueryDto.getQuery();
474
		Page<YgglMainEmp> page = new Page<YgglMainEmp>(ygQueryDto.getCurrentPage(), ygQueryDto.getTotalPage());
tangzhaoqian committed
475
		QueryWrapper<YgglMainEmp> queryWrapper = new QueryWrapper<>();
476
		queryWrapper.lambda()
477 478
				.select(YgglMainEmp::getName, YgglMainEmp::getEmpNum, YgglMainEmp::getBmgwId, YgglMainEmp::getRzTime,
						YgglMainEmp::getJobType, YgglMainEmp::getPhone, YgglMainEmp::getJobStatus)
479
				.ne(YgglMainEmp::getJobStatus, jobStatus.YILIZHI.getType())
480 481
				.eq(YgglMainEmp::getOrgCode, orgCode).eq(t != null && t > -1, YgglMainEmp::getJobType, t)
				.eq(j != null && j > -1, YgglMainEmp::getJobStatus, j)
482 483
				.in(!bList.isEmpty(), YgglMainEmp::getBmgwId, bList)
				.and(!StrUtil.hasBlank(q), wq -> wq.like(YgglMainEmp::getName, q).or().like(YgglMainEmp::getPhone, q));
tangzhaoqian committed
484 485

		IPage<YgglMainEmp> ygglMainEmpPage = YgglMainEmp.builder().build().selectPage(page, queryWrapper);
486

487
		return ResultUtil.data(ygglMainEmpPage);
tangzhaoqian committed
488
	}
489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527
	
	@Autowired
	private ZzglBmgwMService zzglBmgwMService;
	
	/**
	 * 员工列表-分页
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/selects_emp")
	@ApiOperation(value = "6.员工列表-分页", httpMethod = "POST", notes = "员工列表-分页")
	@ApiOperationSupport(order = 6)
	public Result<Object> selectsEmp(@CurrentUser UserBean userBean, @RequestBody EmpQuery empQuery) {
		Integer orgCode = userBean.getOrgCode();
		Integer bmgwId = empQuery.getBmgwid();
		Page<YgglMainEmp> page = new Page<YgglMainEmp>(empQuery.getCurrentPage(), empQuery.getTotalPage());
		List<Integer> empNums = CollUtil.toList();
		
		if (bmgwId != null) {
			List<YgglMainEmp> usersQuery = zzglBmgwMService.selectOtherlistent(userBean.getOrgCode(), bmgwId);
			if (CollectionUtil.isNotEmpty(usersQuery)) {
				empNums = usersQuery.stream().map(YgglMainEmp::getEmpNum).collect(Collectors.toList());
			}else {
				return ResultUtil.data(null);
			}
			
			if (CollectionUtil.isEmpty(empNums)) {
				return ResultUtil.data(null);
			}
		}
		empQuery.setOrgCode(orgCode);
		empQuery.setEmpNums(empNums);
		IPage<YgglMainEmp> ygglMainEmpPage = ygglMainEmpMapper.selectME(page, empQuery);

		List<YgglMainEmp> ygglMainEmps = ygglMainEmpPage.getRecords();
		
		return ResultUtil.data(page, ygglMainEmps);
	}
528

tangzhaoqian committed
529 530 531 532
	/**
	 * 导入员工档案
	 */
	@PostMapping(value = "/import_emp_record")
533
	@ApiOperation(value = "7.导入员工档案", httpMethod = "POST", notes = "接口发布说明")
tangzhaoqian committed
534
	@ApiOperationSupport(order = 7)
535 536
	public Result<JSONObject> importEmpRecord(@CurrentUser UserBean userBean,
			@Validated @RequestBody ValidList<AddygdaDto> listAddygdaDto) throws Exception {
537

538 539 540 541 542
		Integer orgCode = userBean.getOrgCode();
		// 查询所有员工手机号
//		List<QyzxEmpLogin> listEl = qyzxEmpLoginMapper
//				.selectList(new QueryWrapper<QyzxEmpLogin>().lambda()
//						.select(QyzxEmpLogin::getPhone));
543 544 545 546 547 548 549

		List<YgglMainEmp> listMe = ygglMainEmpMapper.selectList(new QueryWrapper<YgglMainEmp>().lambda()
				.eq(YgglMainEmp::getOrgCode, orgCode).select(YgglMainEmp::getPhone, YgglMainEmp::getZjNum));

		listMe = listMe != null
				? listMe.stream().filter(o -> o != null && o.getPhone() != null).collect(Collectors.toList())
				: null;
550 551

		// 抽取 登录表 的phone的集合
552 553 554
		List<String> listPhone = listMe.stream().map(YgglMainEmp::getPhone).collect(Collectors.toList());
		// 抽取 登录表 的zjNum的集合
		List<String> listzjNum = listMe.stream().map(YgglMainEmp::getZjNum).collect(Collectors.toList());
555

556
		List<YgglMainEmp> listYmp = new ArrayList<YgglMainEmp>();
557

ilal committed
558 559 560 561 562
		// 过滤掉 导入数据中, listPhone已存在 的 phone 的对象集合和证件号码
//		List<AddygdaDto> list = listAddygdaDto.stream()
//				.filter(o -> o != null && !listPhone.contains(o.getPhone()) && !listzjNum.contains(o.getZjNum()))
//				.collect(Collectors.toList());
		
563
		// 过滤掉 导入数据中, listPhone已存在 的 phone 的对象集合
564
		List<AddygdaDto> list = listAddygdaDto.stream()
ilal committed
565
				.filter(o -> o != null && !listPhone.contains(o.getPhone())).collect(Collectors.toList());
566

567
		// 过滤出 导入数据中, listPhone已存在 的 phone 的对象集合
568 569
		List<AddygdaDto> phoneRepetitions = listAddygdaDto.stream()
				.filter(o -> o != null && listPhone.contains(o.getPhone())).collect(Collectors.toList());
570

571
		// 过滤出 导入数据中, listzjNum 已存在 的 ZjNum 的对象集合
572
		List<AddygdaDto> idCardRepetitions = listAddygdaDto.stream()
573
				.filter(o -> o != null && listzjNum.contains(o.getZjNum())).collect(Collectors.toList());
574

575
		List<YgglMainEmp> insertErrors = new ArrayList<YgglMainEmp>();
576

577 578
		YgglMainEmp yme;
		for (AddygdaDto ad : list) {
579

580 581 582 583 584 585 586
			String name = ad.getName();
			String phone = ad.getPhone();
			Integer zjType = ad.getZjType();
			String zjNum = ad.getZjNum();
			boolean isvalid = true;
			switch (zjType) {
			case 0:
587
				isvalid = IdcardUtil.isValidCard15(zjNum) || IdcardUtil.isValidCard18(zjNum);
588 589
				break;
			case 1:
590
				String[] strs = IdcardUtil.isValidCard10(zjNum);
tangzhaoqian committed
591 592 593 594 595 596
				if (strs == null) {
					isvalid = false;
					break;
				}
				String str2 = strs != null && strs.length > 2 ? strs[2] : "false";
				isvalid = "澳门/香港".contains(strs[0]) && "true".equals(str2);
597 598
				break;
			case 2:
599
				isvalid = IdcardUtil.isValidTWCard(zjNum);
600 601 602 603 604 605 606 607 608 609 610 611 612 613 614
				break;
			case 3:
				isvalid = ReUtil.isMatch(Regular.PASSPORT1, zjNum) || ReUtil.isMatch(Regular.PASSPORT2, zjNum);
				break;
			default:
				break;
			}
			if (!isvalid) {
				return ResultUtil.error("证件格式不对!");
			}
			Integer jobType = ad.getJobType();
			Date rzTime = ad.getRzTime() == null ? new Date() : ad.getRzTime();
			Integer syq = ad.getSyq();
			Integer sex = ad.getSex();
			Integer bmgwId = ad.getBmgwId();
615

616 617 618 619
			QyzxEmpLogin login = new LambdaQueryChainWrapper<QyzxEmpLogin>(qyzxEmpLoginMapper)
					.eq(!StrUtil.hasBlank(phone), QyzxEmpLogin::getPhone, phone).one();
			if (login == null) {
				// 初始化密码 pwd
620 621
				login = QyzxEmpLogin.builder().phone(phone).pw(Md5.md5(pwd)).sts(CommonEnum.U_STS_ON.getType())
						.orgId(userBean.getOrgCode()).username(name).build();
622 623 624 625 626
				if (!login.insert()) {
					TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
					return ResultUtil.error("添加员工登录表失败,请检查输入信息");
				}
			}
tangzhaoqian committed
627

628 629 630 631 632
			QyzxEmpEntAsso.builder().empNum(login.getId()).orgCode(orgCode).userType(SysRoleType.U_TYPE_EMP.getType())
					.status(CommonEnum.U_STS_ON.getType()).build().insert();// usertype2普通员工 status1正常
			yme = YgglMainEmp.builder().name(name).phone(phone).zjType(zjType).zjNum(zjNum).jobType(jobType)
					.jobStatus(YgEnumInterface.jobStatus.SHIYONG.getType()).rzTime(rzTime).syq(syq).sex(sex)
					.empNum(login.getId()).orgCode(orgCode).bmgwId(bmgwId).build();
633 634
			if (yme.insert()) {
				listYmp.add(yme);
635
			} else {
636
				// 存放 插入失败的 数据
637
				insertErrors.add(yme);
638
			}
ilal committed
639 640 641 642 643 644 645 646 647 648 649 650 651 652 653
			
			
			
			//假期规则初始化
			String current_time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date());
			List<KqglAssoLeaveRules> rul = KqglAssoLeaveRules.builder().build().selectList(new QueryWrapper<KqglAssoLeaveRules>().lambda().eq(KqglAssoLeaveRules::getOrgCode, orgCode));
			for(KqglAssoLeaveRules r : rul) {
				if(r.getLeaveBalance() == 0) {
					KqglAssoLeaveEmployeeBalance.builder().leaveRulesId(r.getId()).userid(login.getId()).balanceDays(-1).modifyUserid(userBean.getEmpNum()).modifyTimer(current_time).orgCode(userBean.getOrgCode()).build().insert();
				}else {
					KqglAssoLeaveEmployeeBalance.builder().leaveRulesId(r.getId()).userid(login.getId()).balanceDays(0.0).modifyUserid(userBean.getEmpNum()).modifyTimer(current_time).orgCode(userBean.getOrgCode()).build().insert();
				}
			}
			
			
654
		}
655

656 657 658
		JSONObject obj = JSONUtil.createObj();
		obj.set("empList", listYmp);
		obj.set("phoneRepetitions", phoneRepetitions);
659 660
		obj.set("idCardRepetitions", idCardRepetitions);
		obj.set("insertErrors", insertErrors);
661 662 663

		// listEl.stream().filter(i -> i !=
		// null).collect(Collectors.<QyzxEmpLogin>toList());
664
		return ResultUtil.data(obj, "导入员工档案成功!");
tangzhaoqian committed
665
	}
666

tangzhaoqian committed
667
	/**
668
	 * 获取导入模板
tangzhaoqian committed
669 670 671
	 * 
	 * @param
	 * @return
672
	 * @throws IOException
tangzhaoqian committed
673
	 */
674 675 676 677
	@GetMapping(value = "/impoet_template")
	@ApiOperation(value = "8.获取导入模板", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 8)
	public Result<Object> getImpoetTemplate(HttpServletResponse response) throws IOException {
678
		ImportEmpDto ied = ImportEmpDto.builder().name("张三").phone("15219671123")
679
				// 证件类型 0:身份证;1:港澳居民来往内地通行证;2:台湾居民来往大陆通行证;3:外国护照;4:其他
680
				.zjType(0).zjNum("445381199611063586")
681
				// 工作性质 0全职、1实习生、2兼职、3劳务派遣、4劳务、5派遣、6外包、7退休返聘
682
				.jobType(0).rzTime("2010-10-10 10:10:10")
683 684 685
				// 试用期 0:无试用期;1:1个月;2:2个月;3:3个月;4:4个月;5:5个月;6:6个月(有试用期显示选项)
				.syq(1)
				// 性别 0:男;1:女
686
				.sex(0).build();
687 688 689 690
		List<ImportEmpDto> listAd = CollUtil.newArrayList(ied);
		// 通过工具类创建writer
		ExcelWriter writer = ExcelUtil.getWriter(true);

691
		// 自定义标题别名
692 693 694 695 696 697 698 699
		writer.addHeaderAlias("name", "姓名");
		writer.addHeaderAlias("phone", "手机号");
		writer.addHeaderAlias("sex", "性别");
		writer.addHeaderAlias("zjType", "证件类型 0:身份证;1:港澳居民来往内地通行证;2:台湾居民来往大陆通行证;3:外国护照;4:其他");
		writer.addHeaderAlias("zjNum", "证件号");
		writer.addHeaderAlias("jobType", "工作性质 0全职、1实习生、2兼职、3劳务派遣、4劳务、5派遣、6外包、7退休返聘");
		writer.addHeaderAlias("syq", "试用期 0:无试用期;1:1个月;2:2个月;3:3个月;4:4个月;5:5个月;6:6个月(有试用期显示选项)");
		writer.addHeaderAlias("rzTime", "入职日期");
700

701 702 703 704 705 706 707 708
		// 合并单元格后的标题行,使用默认标题样式
		writer.merge(7, "员工导入模板");
		writer.setFreezePane(2);
		writer.setColumnWidth(1, 15);
		writer.setColumnWidth(4, 22);
		writer.setColumnWidth(7, 20);
		// 一次性写出内容,使用默认样式,强制输出标题
		writer.write(listAd, true);
709 710 711

		response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
		response.setHeader("Content-Disposition", "attachment;filename=8timer_emp_import.xlsx");
712 713
		ServletOutputStream out = response.getOutputStream();
		writer.flush(out, true);
714

715 716
		// 关闭writer,释放内存
		writer.close();
717
		// 此处记得关闭输出Servlet流
718
		IoUtil.close(out);
719

720
		return ResultUtil.data(null, "获取模板成功");
tangzhaoqian committed
721 722 723 724 725 726 727 728 729 730

	}

	/**
	 * 导出员工
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/ygdas")
731 732
	@ApiOperation(value = "9.导出员工", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 9)
tangzhaoqian committed
733 734
	public Result<List<YgglMainEmp>> selectygdas(@CurrentUser UserBean userBean) {
		List<YgglMainEmp> list = new LambdaQueryChainWrapper<YgglMainEmp>(ygglMainEmpMapper)
735
				.eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()).in(YgglMainEmp::getJobStatus, jobStatus.SHIYONG.getType(), jobStatus.ZHENSHI.getType(), jobStatus.LIZHIZHONG.getType()).list();
tangzhaoqian committed
736 737 738 739 740 741 742 743 744 745
		return ResultUtil.data(list, "导出员工成功");
	}

	/**
	 * 获取员工教育经历表
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/jyjlb")
746 747
	@ApiOperation(value = "10.获取员工教育经历表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 10)
tangzhaoqian committed
748
	public Result<List<YgglAttaJyjlb>> selectjyjlb(@CurrentUser UserBean userBean) {
749 750 751
		List<YgglAttaJyjlb> ygglAttaJyjlbss = YgglAttaJyjlb.builder().build().selectList(
				new QueryWrapper<YgglAttaJyjlb>().lambda().eq(YgglAttaJyjlb::getOrgCode, userBean.getOrgCode())
						.eq(YgglAttaJyjlb::getEmpNum, userBean.getEmpNum()));
752
		return ResultUtil.data(ygglAttaJyjlbss);
tangzhaoqian committed
753 754 755 756
	}

	// 获取员工教育经历表
	@GetMapping(value = "/jyjlb/{empNum}")
757 758
	@ApiOperation(value = "11.获取员工教育经历表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 11)
tangzhaoqian committed
759
	public Result<List<YgglAttaJyjlb>> selectjyjlb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
760 761 762
		List<YgglAttaJyjlb> ygglAttaJyjlbs = YgglAttaJyjlb.builder().build()
				.selectList(new QueryWrapper<YgglAttaJyjlb>().lambda()
						.eq(YgglAttaJyjlb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaJyjlb::getEmpNum, empNum));
763
		return ResultUtil.data(ygglAttaJyjlbs);
tangzhaoqian committed
764 765 766 767 768 769 770 771 772
	}

	/**
	 * 添加/修改员工教育经历表
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/jyjlb")
773 774
	@ApiOperation(value = "12.添加/修改员工教育经历表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 12)
tangzhaoqian committed
775 776 777 778
	public Result<YgglAttaJyjlb> addjyjlb(@CurrentUser UserBean userBean, @RequestBody YgglAttaJyjlb ygglAttaJyjlb) {
		ygglAttaJyjlb.setEmpNum(ygglAttaJyjlb.getEmpNum());
		ygglAttaJyjlb.setOrgCode(userBean.getOrgCode());
		ygglAttaJyjlb.insertOrUpdate();
779
		return ResultUtil.data(ygglAttaJyjlb, "修改员工教育经历表成功");
tangzhaoqian committed
780 781 782 783 784 785 786 787 788
	}

	/**
	 * 删除员工教育经历表
	 * 
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/jyjlb/{id}")
789 790
	@ApiOperation(value = "13.删除员工教育经历表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 13)
tangzhaoqian committed
791 792
	public Result<Boolean> deljyjlb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
793 794
		return ResultUtil.data(YgglAttaJyjlb.builder().build().delete(new QueryWrapper<YgglAttaJyjlb>().lambda()
				.eq(YgglAttaJyjlb::getOrgCode, orgCode).eq(YgglAttaJyjlb::getId, id)), "删除员工教育经历表成功");
tangzhaoqian committed
795 796 797 798 799 800 801 802 803
	}

	/**
	 * 获取员工培训经历信息表
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/pxjlxxb")
804 805
	@ApiOperation(value = "14.获取员工培训经历信息表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 14)
tangzhaoqian committed
806 807
	public Result<List<YgglAttaPxjlxxb>> selectpxjlxxb(@CurrentUser UserBean userBean) {
		List<YgglAttaPxjlxxb> ygglAttaPxjlxxbs = YgglAttaPxjlxxb.builder().build()
808 809 810
				.selectList(new QueryWrapper<YgglAttaPxjlxxb>().lambda()
						.eq(YgglAttaPxjlxxb::getOrgCode, userBean.getOrgCode())
						.eq(YgglAttaPxjlxxb::getEmpNum, userBean.getEmpNum()));
811
		return ResultUtil.data(ygglAttaPxjlxxbs);
tangzhaoqian committed
812 813 814 815
	}

	// 获取员工培训经历信息表
	@GetMapping(value = "/pxjlxxb/{empNum}")
816 817
	@ApiOperation(value = "15.获取员工培训经历信息表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 15)
tangzhaoqian committed
818
	public Result<List<YgglAttaPxjlxxb>> selectpxjlxxb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
819 820 821
		List<YgglAttaPxjlxxb> ygglAttaPxjlxxbs = YgglAttaPxjlxxb.builder().build()
				.selectList(new QueryWrapper<YgglAttaPxjlxxb>().lambda()
						.eq(YgglAttaPxjlxxb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaPxjlxxb::getEmpNum, empNum));
822
		return ResultUtil.data(ygglAttaPxjlxxbs);
tangzhaoqian committed
823 824 825 826 827 828 829 830 831
	}

	/**
	 * 添加/修改员工培训经历信息表
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/pxjlxxb")
832 833
	@ApiOperation(value = "16.添加/修改员工培训经历信息表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 16)
tangzhaoqian committed
834 835 836 837 838
	public Result<YgglAttaPxjlxxb> addpxjlxxb(@CurrentUser UserBean userBean,
			@RequestBody YgglAttaPxjlxxb ygglAttaPxjlxxb) {
		ygglAttaPxjlxxb.setEmpNum(ygglAttaPxjlxxb.getEmpNum());
		ygglAttaPxjlxxb.setOrgCode(userBean.getOrgCode());
		ygglAttaPxjlxxb.insertOrUpdate();
839
		return ResultUtil.data(ygglAttaPxjlxxb, "修改员工培训经历信息表成功");
tangzhaoqian committed
840 841 842 843 844 845 846 847 848
	}

	/**
	 * 删除员工培训经历信息表
	 * 
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/pxjlxxb/{id}")
849 850
	@ApiOperation(value = "17.删除员工培训经历信息表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 17)
tangzhaoqian committed
851 852
	public Result<Boolean> delpxjlxxb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
853 854
		return ResultUtil.data(YgglAttaPxjlxxb.builder().build().delete(new QueryWrapper<YgglAttaPxjlxxb>().lambda()
				.eq(YgglAttaPxjlxxb::getOrgCode, orgCode).eq(YgglAttaPxjlxxb::getId, id)), "删除员工培训经历信息表成功");
tangzhaoqian committed
855 856 857 858 859 860 861 862 863
	}

	/**
	 * 获取员工工作经历表
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/gzjlb")
864 865
	@ApiOperation(value = "18.获取员工工作经历表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 18)
tangzhaoqian committed
866
	public Result<List<YgglAttaGzjlb>> selectgzjlb(@CurrentUser UserBean userBean) {
867 868
		List<YgglAttaGzjlb> ygglAttaGzjlbs = YgglAttaGzjlb.builder().build().selectList(
				new QueryWrapper<YgglAttaGzjlb>().lambda().eq(YgglAttaGzjlb::getOrgCode, userBean.getOrgCode())
869
						.eq(YgglAttaGzjlb::getEmpNum, userBean.getEmpNum()));
870
		return ResultUtil.data(ygglAttaGzjlbs);
tangzhaoqian committed
871 872 873 874
	}

	// 获取员工工作经历表
	@GetMapping(value = "/gzjlb/{empNum}")
875 876
	@ApiOperation(value = "19.获取员工工作经历表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 19)
tangzhaoqian committed
877
	public Result<List<YgglAttaGzjlb>> selectgzjlb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
878 879 880
		List<YgglAttaGzjlb> ygglAttaGzjlbs = YgglAttaGzjlb.builder().build()
				.selectList(new QueryWrapper<YgglAttaGzjlb>().lambda()
						.eq(YgglAttaGzjlb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaGzjlb::getEmpNum, empNum));
881
		return ResultUtil.data(ygglAttaGzjlbs);
tangzhaoqian committed
882 883 884 885 886 887 888 889 890
	}

	/**
	 * 添加/修改员工工作经历表
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/gzjlb")
891 892
	@ApiOperation(value = "20.添加/修改员工工作经历表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 20)
tangzhaoqian committed
893 894 895 896
	public Result<YgglAttaGzjlb> addgzjlb(@CurrentUser UserBean userBean, @RequestBody YgglAttaGzjlb ygglAttaGzjlb) {
		ygglAttaGzjlb.setEmpNum(ygglAttaGzjlb.getEmpNum());
		ygglAttaGzjlb.setOrgCode(userBean.getOrgCode());
		ygglAttaGzjlb.insertOrUpdate();
897
		return ResultUtil.data(ygglAttaGzjlb, "修改员工工作经历表成功");
tangzhaoqian committed
898 899 900 901 902 903 904 905 906
	}

	/**
	 * 删除员工工作经历表
	 * 
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/gzjlb/{id}")
907 908
	@ApiOperation(value = "21.删除员工工作经历表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 21)
tangzhaoqian committed
909 910
	public Result<Boolean> delgzjlb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
911 912
		return ResultUtil.data(YgglAttaGzjlb.builder().build().delete(new QueryWrapper<YgglAttaGzjlb>().lambda()
				.eq(YgglAttaGzjlb::getOrgCode, orgCode).eq(YgglAttaGzjlb::getId, id)), "删除员工工作经历表成功");
tangzhaoqian committed
913 914 915 916 917 918 919 920 921
	}

	/**
	 * 获取员工职称信息表
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/zcxxb")
922 923
	@ApiOperation(value = "22.获取员工职称信息表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 22)
tangzhaoqian committed
924
	public Result<List<YgglAttaZcxxb>> selectzcxxb(@CurrentUser UserBean userBean) {
925 926
		List<YgglAttaZcxxb> ygglAttaZcxxbs = YgglAttaZcxxb.builder().build().selectList(
				new QueryWrapper<YgglAttaZcxxb>().lambda().eq(YgglAttaZcxxb::getOrgCode, userBean.getOrgCode())
927
						.eq(YgglAttaZcxxb::getEmpNum, userBean.getEmpNum()));
928
		return ResultUtil.data(ygglAttaZcxxbs);
tangzhaoqian committed
929 930 931 932
	}

	// 获取员工职称信息表
	@GetMapping(value = "/zcxxb/{empNum}")
933 934
	@ApiOperation(value = "23.获取员工职称信息表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 23)
tangzhaoqian committed
935
	public Result<List<YgglAttaZcxxb>> selectzcxxb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
936 937 938
		List<YgglAttaZcxxb> ygglAttaZcxxbs = YgglAttaZcxxb.builder().build()
				.selectList(new QueryWrapper<YgglAttaZcxxb>().lambda()
						.eq(YgglAttaZcxxb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaZcxxb::getEmpNum, empNum));
939
		return ResultUtil.data(ygglAttaZcxxbs);
tangzhaoqian committed
940 941 942 943 944 945 946 947 948
	}

	/**
	 * 添加/修改员工职称信息表
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/zcxxb")
949 950
	@ApiOperation(value = "24.添加/修改员工职称信息表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 24)
tangzhaoqian committed
951 952 953 954
	public Result<YgglAttaZcxxb> addzcxxb(@CurrentUser UserBean userBean, @RequestBody YgglAttaZcxxb ygglAttaZcxxb) {
		ygglAttaZcxxb.setEmpNum(ygglAttaZcxxb.getEmpNum());
		ygglAttaZcxxb.setOrgCode(userBean.getOrgCode());
		ygglAttaZcxxb.insertOrUpdate();
955
		return ResultUtil.data(ygglAttaZcxxb, "修改员工职称信息表成功");
tangzhaoqian committed
956 957 958 959 960 961 962 963 964
	}

	/**
	 * 删除员工职称信息表
	 * 
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/zcxxb/{id}")
965 966
	@ApiOperation(value = "25.删除员工职称信息表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 25)
tangzhaoqian committed
967 968
	public Result<Boolean> delzcxxb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
969 970
		return ResultUtil.data(YgglAttaZcxxb.builder().build().delete(new QueryWrapper<YgglAttaZcxxb>().lambda()
				.eq(YgglAttaZcxxb::getOrgCode, orgCode).eq(YgglAttaZcxxb::getId, id)), "删除员工职称信息表成功");
tangzhaoqian committed
971 972 973 974 975 976 977 978 979
	}

	/**
	 * 获取员工证书证件表
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/zszjb")
980 981
	@ApiOperation(value = "26.获取员工证书证件表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 26)
tangzhaoqian committed
982
	public Result<List<YgglAttaZszjb>> selectzszjb(@CurrentUser UserBean userBean) {
983 984 985
		List<YgglAttaZszjb> ygglAttaZszjbs = YgglAttaZszjb.builder().build().selectList(
				new QueryWrapper<YgglAttaZszjb>().lambda().eq(YgglAttaZszjb::getOrgCode, userBean.getOrgCode())
						.eq(YgglAttaZszjb::getEmpNum, userBean.getEmpNum()));
986
		return ResultUtil.data(ygglAttaZszjbs);
tangzhaoqian committed
987 988 989 990
	}

	// 获取员工证书证件表
	@GetMapping(value = "/zszjb/{empNum}")
991 992
	@ApiOperation(value = "27.获取员工证书证件表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 27)
tangzhaoqian committed
993
	public Result<List<YgglAttaZszjb>> selectzszjb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
994 995 996
		List<YgglAttaZszjb> ygglAttaZszjbs = YgglAttaZszjb.builder().build()
				.selectList(new QueryWrapper<YgglAttaZszjb>().lambda()
						.eq(YgglAttaZszjb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaZszjb::getEmpNum, empNum));
997
		return ResultUtil.data(ygglAttaZszjbs);
tangzhaoqian committed
998 999 1000 1001 1002 1003 1004 1005 1006
	}

	/**
	 * 添加/修改员工证书证件表
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/zszjb")
1007 1008
	@ApiOperation(value = "28.添加/修改员工证书证件表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 28)
tangzhaoqian committed
1009 1010 1011 1012
	public Result<YgglAttaZszjb> addzszjb(@CurrentUser UserBean userBean, @RequestBody YgglAttaZszjb ygglAttaZszjb) {
		ygglAttaZszjb.setEmpNum(ygglAttaZszjb.getEmpNum());
		ygglAttaZszjb.setOrgCode(userBean.getOrgCode());
		ygglAttaZszjb.insertOrUpdate();
1013
		return ResultUtil.data(ygglAttaZszjb, "修改员工证书证件表成功");
tangzhaoqian committed
1014 1015 1016 1017 1018 1019 1020 1021 1022
	}

	/**
	 * 删除员工证书证件表
	 * 
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/zszjb/{id}")
1023 1024
	@ApiOperation(value = "29.删除员工证书证件表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 29)
tangzhaoqian committed
1025 1026
	public Result<Boolean> delzszjb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
1027 1028
		return ResultUtil.data(YgglAttaZszjb.builder().build().delete(new QueryWrapper<YgglAttaZszjb>().lambda()
				.eq(YgglAttaZszjb::getOrgCode, orgCode).eq(YgglAttaZszjb::getId, id)), "删除员工证书证件表成功");
tangzhaoqian committed
1029 1030 1031 1032 1033 1034 1035 1036 1037
	}

	/**
	 * 获取员工联系信息表
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/lxxxb")
1038 1039
	@ApiOperation(value = "30.获取员工联系信息表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 30)
tangzhaoqian committed
1040
	public Result<List<YgglAttaLxxxb>> selectlxxxb(@CurrentUser UserBean userBean) {
1041 1042
		List<YgglAttaLxxxb> ygglAttaLxxxbs = YgglAttaLxxxb.builder().build().selectList(
				new QueryWrapper<YgglAttaLxxxb>().lambda().eq(YgglAttaLxxxb::getOrgCode, userBean.getOrgCode())
1043
						.eq(YgglAttaLxxxb::getEmpNum, userBean.getEmpNum()));
1044
		return ResultUtil.data(ygglAttaLxxxbs);
tangzhaoqian committed
1045 1046 1047 1048
	}

	// 获取员工联系信息表
	@GetMapping(value = "/lxxxb/{empNum}")
1049 1050
	@ApiOperation(value = "31.获取员工联系信息表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 31)
tangzhaoqian committed
1051
	public Result<List<YgglAttaLxxxb>> selectlxxxb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
1052 1053 1054
		List<YgglAttaLxxxb> ygglAttaLxxxbs = YgglAttaLxxxb.builder().build()
				.selectList(new QueryWrapper<YgglAttaLxxxb>().lambda()
						.eq(YgglAttaLxxxb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaLxxxb::getEmpNum, empNum));
1055
		return ResultUtil.data(ygglAttaLxxxbs);
tangzhaoqian committed
1056 1057 1058 1059 1060 1061 1062 1063 1064
	}

	/**
	 * 添加/修改员工联系信息表
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/lxxxb")
1065 1066
	@ApiOperation(value = "32.添加/修改员工联系信息表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 32)
tangzhaoqian committed
1067 1068 1069 1070
	public Result<YgglAttaLxxxb> addlxxxb(@CurrentUser UserBean userBean, @RequestBody YgglAttaLxxxb ygglAttaLxxxb) {
		ygglAttaLxxxb.setEmpNum(ygglAttaLxxxb.getEmpNum());
		ygglAttaLxxxb.setOrgCode(userBean.getOrgCode());
		ygglAttaLxxxb.insertOrUpdate();
1071
		return ResultUtil.data(ygglAttaLxxxb, "修改员工联系信息表成功");
tangzhaoqian committed
1072 1073 1074 1075 1076 1077 1078 1079 1080
	}

	/**
	 * 删除员工联系信息表
	 * 
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/lxxxb/{id}")
1081 1082
	@ApiOperation(value = "33.删除员工联系信息表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 33)
tangzhaoqian committed
1083 1084
	public Result<Boolean> dellxxxb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
1085 1086
		return ResultUtil.data(YgglAttaLxxxb.builder().build().delete(new QueryWrapper<YgglAttaLxxxb>().lambda()
				.eq(YgglAttaLxxxb::getOrgCode, orgCode).eq(YgglAttaLxxxb::getId, id)), "删除员工联系信息表成功");
tangzhaoqian committed
1087 1088 1089 1090 1091 1092 1093 1094 1095
	}

	/**
	 * 获取员工紧急联系人表
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/jjlxr")
1096 1097
	@ApiOperation(value = "34.获取员工紧急联系人表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 34)
tangzhaoqian committed
1098
	public Result<List<YgglAttaJjlxr>> selectjjlxr(@CurrentUser UserBean userBean) {
1099 1100
		List<YgglAttaJjlxr> ygglAttaJjlxrs = YgglAttaJjlxr.builder().build().selectList(
				new QueryWrapper<YgglAttaJjlxr>().lambda().eq(YgglAttaJjlxr::getOrgCode, userBean.getOrgCode())
1101
						.eq(YgglAttaJjlxr::getEmpNum, userBean.getEmpNum()));
1102
		return ResultUtil.data(ygglAttaJjlxrs);
tangzhaoqian committed
1103 1104 1105 1106
	}

	// 获取员工紧急联系人表
	@GetMapping(value = "/jjlxr/{empNum}")
1107 1108
	@ApiOperation(value = "35.获取员工紧急联系人表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 35)
tangzhaoqian committed
1109
	public Result<List<YgglAttaJjlxr>> selectjjlxr(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
1110 1111 1112
		List<YgglAttaJjlxr> ygglAttaJjlxrs = YgglAttaJjlxr.builder().build()
				.selectList(new QueryWrapper<YgglAttaJjlxr>().lambda()
						.eq(YgglAttaJjlxr::getOrgCode, userBean.getOrgCode()).eq(YgglAttaJjlxr::getEmpNum, empNum));
1113
		return ResultUtil.data(ygglAttaJjlxrs);
tangzhaoqian committed
1114 1115 1116 1117 1118 1119 1120 1121 1122
	}

	/**
	 * 添加/修改员工紧急联系人表
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/jjlxr")
1123 1124
	@ApiOperation(value = "36.添加/修改员工紧急联系人表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 36)
tangzhaoqian committed
1125 1126 1127 1128
	public Result<YgglAttaJjlxr> addjjlxr(@CurrentUser UserBean userBean, @RequestBody YgglAttaJjlxr ygglAttaJjlxr) {
		ygglAttaJjlxr.setEmpNum(ygglAttaJjlxr.getEmpNum());
		ygglAttaJjlxr.setOrgCode(userBean.getOrgCode());
		ygglAttaJjlxr.insertOrUpdate();
1129
		return ResultUtil.data(ygglAttaJjlxr, "修改员工紧急联系人表成功");
tangzhaoqian committed
1130 1131 1132 1133 1134 1135 1136 1137 1138
	}

	/**
	 * 删除员工紧急联系人表
	 * 
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/jjlxr/{id}")
1139 1140
	@ApiOperation(value = "37.删除员工紧急联系人表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 37)
tangzhaoqian committed
1141 1142
	public Result<Boolean> deljjlxr(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
1143 1144
		return ResultUtil.data(YgglAttaJjlxr.builder().build().delete(new QueryWrapper<YgglAttaJjlxr>().lambda()
				.eq(YgglAttaJjlxr::getOrgCode, orgCode).eq(YgglAttaJjlxr::getId, id)), "删除员工紧急联系人表成功");
tangzhaoqian committed
1145 1146 1147 1148 1149 1150 1151 1152 1153 1154
	}

	// 获取工资卡信息
	/**
	 * 获取员工工资卡信息
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/gzk")
1155 1156
	@ApiOperation(value = "38.获取员工工资卡信息", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 38)
tangzhaoqian committed
1157
	public Result<List<YgglAttaGzk>> selectgzk(@CurrentUser UserBean userBean) {
1158
		List<YgglAttaGzk> ygglAttaGzks = YgglAttaGzk.builder().build()
1159
				.selectList(new QueryWrapper<YgglAttaGzk>().lambda().eq(YgglAttaGzk::getOrgCode, userBean.getOrgCode())
1160
						.eq(YgglAttaGzk::getEmpNum, userBean.getEmpNum()));
1161
		return ResultUtil.data(ygglAttaGzks);
tangzhaoqian committed
1162 1163 1164 1165
	}

	// 获取工资卡信息
	@GetMapping(value = "/gzk/{empNum}")
1166 1167
	@ApiOperation(value = "39.获取员工工资卡信息(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 39)
tangzhaoqian committed
1168
	public Result<List<YgglAttaGzk>> selectgzk(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
1169 1170
		List<YgglAttaGzk> ygglAttaGzks = YgglAttaGzk.builder().build().selectList(new QueryWrapper<YgglAttaGzk>()
				.lambda().eq(YgglAttaGzk::getOrgCode, userBean.getOrgCode()).eq(YgglAttaGzk::getEmpNum, empNum));
1171
		return ResultUtil.data(ygglAttaGzks);
tangzhaoqian committed
1172 1173 1174 1175 1176 1177 1178 1179 1180
	}

	/**
	 * 添加/修改工资卡信息
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/gzk")
1181 1182
	@ApiOperation(value = "40.添加/修改工资卡信息", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 40)
tangzhaoqian committed
1183 1184 1185 1186
	public Result<YgglAttaGzk> addgzk(@CurrentUser UserBean userBean, @RequestBody YgglAttaGzk ygglAttaGzk) {
		ygglAttaGzk.setEmpNum(ygglAttaGzk.getEmpNum());
		ygglAttaGzk.setOrgCode(userBean.getOrgCode());
		ygglAttaGzk.insertOrUpdate();
1187
		return ResultUtil.data(ygglAttaGzk, "修改工资卡信息成功");
tangzhaoqian committed
1188 1189 1190 1191 1192 1193 1194 1195 1196
	}

	/**
	 * 删除工资卡信息
	 * 
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/gzk/{id}")
1197 1198
	@ApiOperation(value = "41.删除工资卡信息", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 41)
tangzhaoqian committed
1199 1200
	public Result<Boolean> delgzk(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
1201 1202
		return ResultUtil.data(YgglAttaGzk.builder().build().delete(new QueryWrapper<YgglAttaGzk>().lambda()
				.eq(YgglAttaGzk::getOrgCode, orgCode).eq(YgglAttaGzk::getId, id)), "删除工资卡信息成功");
tangzhaoqian committed
1203 1204 1205 1206 1207 1208 1209 1210 1211
	}

	/**
	 * 获取员工合同信息表
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/htxxb")
1212 1213
	@ApiOperation(value = "42.获取员工合同信息表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 42)
tangzhaoqian committed
1214
	public Result<List<YgglAttaHtxxb>> selecthtxxb(@CurrentUser UserBean userBean) {
1215 1216
		List<YgglAttaHtxxb> ygglAttaHtxxbs = YgglAttaHtxxb.builder().build().selectList(
				new QueryWrapper<YgglAttaHtxxb>().lambda().eq(YgglAttaHtxxb::getOrgCode, userBean.getOrgCode())
1217
						.eq(YgglAttaHtxxb::getEmpNum, userBean.getEmpNum()));
1218
		return ResultUtil.data(ygglAttaHtxxbs);
tangzhaoqian committed
1219 1220 1221 1222
	}

	// 获取员工合同信息表
	@GetMapping(value = "/htxxb/{empNum}")
1223 1224
	@ApiOperation(value = "43.获取员工合同信息表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 43)
tangzhaoqian committed
1225
	public Result<List<YgglAttaHtxxb>> selecthtxxb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
1226 1227 1228
		List<YgglAttaHtxxb> ygglAttaHtxxbs = YgglAttaHtxxb.builder().build()
				.selectList(new QueryWrapper<YgglAttaHtxxb>().lambda()
						.eq(YgglAttaHtxxb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaHtxxb::getEmpNum, empNum));
1229
		return ResultUtil.data(ygglAttaHtxxbs);
tangzhaoqian committed
1230 1231 1232 1233 1234 1235 1236 1237 1238
	}

	/**
	 * 添加/修改员工合同信息表
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/htxxb")
1239 1240
	@ApiOperation(value = "44.添加/修改员工合同信息表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 44)
tangzhaoqian committed
1241 1242 1243 1244
	public Result<YgglAttaHtxxb> addhtxxb(@CurrentUser UserBean userBean, @RequestBody YgglAttaHtxxb ygglAttaHtxxb) {
		ygglAttaHtxxb.setEmpNum(ygglAttaHtxxb.getEmpNum());
		ygglAttaHtxxb.setOrgCode(userBean.getOrgCode());
		ygglAttaHtxxb.insertOrUpdate();
1245
		return ResultUtil.data(ygglAttaHtxxb, "修改员工合同信息表成功");
tangzhaoqian committed
1246 1247 1248 1249 1250 1251 1252 1253 1254
	}

	/**
	 * 删除员工合同信息表
	 * 
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/htxxb/{id}")
1255 1256
	@ApiOperation(value = "45.删除员工合同信息表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 45)
tangzhaoqian committed
1257 1258
	public Result<Boolean> delhtxxb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
1259 1260
		return ResultUtil.data(YgglAttaHtxxb.builder().build().delete(new QueryWrapper<YgglAttaHtxxb>().lambda()
				.eq(YgglAttaHtxxb::getOrgCode, orgCode).eq(YgglAttaHtxxb::getId, id)), "删除员工合同信息表成功");
tangzhaoqian committed
1261 1262 1263 1264 1265 1266 1267 1268 1269
	}

	/**
	 * 获取员工材料附件表
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/clfjb")
1270 1271
	@ApiOperation(value = "46.获取员工材料附件表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 46)
tangzhaoqian committed
1272
	public Result<List<YgglAttaClfjb>> selectclfjb(@CurrentUser UserBean userBean) {
1273 1274
		List<YgglAttaClfjb> ygglAttaClfjbs = YgglAttaClfjb.builder().build().selectList(
				new QueryWrapper<YgglAttaClfjb>().lambda().eq(YgglAttaClfjb::getOrgCode, userBean.getOrgCode())
1275
						.eq(YgglAttaClfjb::getEmpNum, userBean.getEmpNum()));
1276
		return ResultUtil.data(ygglAttaClfjbs);
tangzhaoqian committed
1277 1278 1279 1280
	}

	// 获取员工材料附件表
	@GetMapping(value = "/clfjb/{empNum}")
1281 1282
	@ApiOperation(value = "47.获取员工材料附件表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 47)
tangzhaoqian committed
1283
	public Result<List<YgglAttaClfjb>> selectclfjb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
1284 1285 1286
		List<YgglAttaClfjb> ygglAttaClfjbs = YgglAttaClfjb.builder().build()
				.selectList(new QueryWrapper<YgglAttaClfjb>().lambda()
						.eq(YgglAttaClfjb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaClfjb::getEmpNum, empNum));
1287
		return ResultUtil.data(ygglAttaClfjbs);
tangzhaoqian committed
1288 1289 1290 1291 1292 1293 1294 1295 1296
	}

	/**
	 * 添加/修改员工材料附件表
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/clfjb")
1297 1298
	@ApiOperation(value = "48.添加/修改员工材料附件表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 48)
tangzhaoqian committed
1299 1300 1301 1302
	public Result<YgglAttaClfjb> addclfjb(@CurrentUser UserBean userBean, @RequestBody YgglAttaClfjb ygglAttaClfjb) {
		ygglAttaClfjb.setOrgCode(userBean.getOrgCode());
		ygglAttaClfjb.setEmpNum(ygglAttaClfjb.getEmpNum());
		ygglAttaClfjb.insertOrUpdate();
1303
		return ResultUtil.data(ygglAttaClfjb, "修改员工材料附件表成功");
tangzhaoqian committed
1304 1305 1306 1307 1308 1309 1310 1311 1312
	}

	/**
	 * 删除员工材料附件表
	 * 
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/clfjb/{id}")
1313 1314
	@ApiOperation(value = "49.删除员工材料附件表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 49)
tangzhaoqian committed
1315 1316
	public Result<Boolean> delclfjb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
1317 1318
		return ResultUtil.data(YgglAttaClfjb.builder().build().delete(new QueryWrapper<YgglAttaClfjb>().lambda()
				.eq(YgglAttaClfjb::getOrgCode, orgCode).eq(YgglAttaClfjb::getId, id)), "删除员工材料附件表成功");
tangzhaoqian committed
1319 1320 1321 1322 1323 1324 1325 1326 1327
	}

	/**
	 * 获取成长记录表
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/czjlb")
1328 1329
	@ApiOperation(value = "50.获取成长记录表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 50)
tangzhaoqian committed
1330
	public Result<List<YgglAttaCzjlb>> selectczjlb(@CurrentUser UserBean userBean) {
1331 1332
		List<YgglAttaCzjlb> ygglAttaCzjlbs = YgglAttaCzjlb.builder().build().selectList(
				new QueryWrapper<YgglAttaCzjlb>().lambda().eq(YgglAttaCzjlb::getOrgCode, userBean.getOrgCode())
1333
						.eq(YgglAttaCzjlb::getEmpNum, userBean.getEmpNum()));
1334
		return ResultUtil.data(ygglAttaCzjlbs);
tangzhaoqian committed
1335 1336 1337 1338
	}

	// 获取成长记录表
	@GetMapping(value = "/czjlb/{empNum}")
1339 1340
	@ApiOperation(value = "51.获取成长记录表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 51)
tangzhaoqian committed
1341
	public Result<List<YgglAttaCzjlb>> selectczjlb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
1342 1343 1344
		List<YgglAttaCzjlb> ygglAttaCzjlbs = YgglAttaCzjlb.builder().build()
				.selectList(new QueryWrapper<YgglAttaCzjlb>().lambda()
						.eq(YgglAttaCzjlb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaCzjlb::getEmpNum, empNum));
1345
		return ResultUtil.data(ygglAttaCzjlbs);
tangzhaoqian committed
1346 1347 1348 1349 1350 1351 1352 1353 1354
	}

	/**
	 * 添加/修改成长记录表
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/czjlb")
1355 1356
	@ApiOperation(value = "52.添加/修改成长记录表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 52)
tangzhaoqian committed
1357 1358 1359 1360
	public Result<YgglAttaCzjlb> addczjlb(@CurrentUser UserBean userBean, @RequestBody YgglAttaCzjlb ygglAttaCzjlb) {
		ygglAttaCzjlb.setEmpNum(ygglAttaCzjlb.getEmpNum());
		ygglAttaCzjlb.setOrgCode(userBean.getOrgCode());
		ygglAttaCzjlb.insertOrUpdate();
1361
		return ResultUtil.data(ygglAttaCzjlb, "修改成长记录表成功");
tangzhaoqian committed
1362 1363 1364 1365 1366 1367 1368 1369 1370
	}

	/**
	 * 获取单个离职员工信息(管)
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/lzb/{empNum}")
1371 1372
	@ApiOperation(value = "53.获取单个离职员工信息(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 53)
tangzhaoqian committed
1373 1374 1375
	public Result<YgglMainLzb> selectlzb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
		YgglMainLzb lzyg = new LambdaQueryChainWrapper<YgglMainLzb>(ygglMainLzbMapper)
				.eq(YgglMainLzb::getOrgCode, userBean.getOrgCode()).eq(YgglMainLzb::getEmpNum, empNum).one();
1376
		return ResultUtil.data(lzyg);
tangzhaoqian committed
1377 1378 1379
	}

	/**
邓实川 committed
1380
	 * 员工转正 0-1
tangzhaoqian committed
1381 1382 1383 1384 1385
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/ygzz")
1386 1387
	@ApiOperation(value = "54.员工转正", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 54)
tangzhaoqian committed
1388
	public Result<Void> ygzz(@CurrentUser UserBean userBean, @RequestBody YgzzDto ygzzDto) {
1389

1390
		YgglMainEmp.builder().jobStatus(jobStatus.ZHENSHI.getType()).zzTime(ygzzDto.getZzTime()).sjzzTime(new Date())
1391 1392
				.zzRemark(ygzzDto.getZzRemark()).build()
				.update(new UpdateWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getEmpNum, ygzzDto.getEmpNum()));
1393
		return ResultUtil.success("转正成功!");
tangzhaoqian committed
1394 1395 1396
	}

	/**
邓实川 committed
1397
	 * 计划离职 type1-2
tangzhaoqian committed
1398 1399 1400 1401 1402
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/addlzjh")
1403 1404
	@ApiOperation(value = "55.添加离职计划", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 55)
tangzhaoqian committed
1405 1406 1407 1408
	public Result<YgglMainLzb> addjhlz(@CurrentUser UserBean userBean, @RequestBody LzygQueryDto lzygQueryDto) {

		Integer empNum = lzygQueryDto.getEmpNum();

1409
		YgglMainEmp ygglMainEmp = ygglMainEmpMapper.selectOne(new QueryWrapper<YgglMainEmp>().lambda()
tangzhaoqian committed
1410 1411
				.eq(YgglMainEmp::getEmpNum, empNum)
				.eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()));
tangzhaoqian committed
1412 1413 1414 1415 1416
		
		if (ygglMainEmp.getJobStatus() == jobStatus.LIZHIZHONG.getType()) {
			return ResultUtil.success("你已在离职中");
		}
		
tangzhaoqian committed
1417 1418
		YgglMainLzb ygglMainLzb = YgglMainLzb.builder().empNum(lzygQueryDto.getEmpNum()).build();
		// 移动员工表数据到离职表
1419
		BeanUtil.copyProperties(ygglMainEmp, ygglMainLzb, "before_leaving_sts");
tangzhaoqian committed
1420 1421
		ygglMainLzb.insert();

1422
		YgglMainEmp.builder().empNum(lzygQueryDto.getEmpNum()).jobStatus(jobStatus.LIZHIZHONG.getType())
1423
				.beforeLeavingSts(ygglMainEmp.getJobStatus()).build()
tangzhaoqian committed
1424 1425 1426
				.update(new UpdateWrapper<YgglMainEmp>().lambda()
						.eq(YgglMainEmp::getEmpNum, empNum)
						.eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()));
1427 1428
		//设置员工自定义工号工号
		String jobNum = StringUtils.isEmpty(ygglMainEmp.getCustomNum())?ygglMainEmp.getEmpNum().toString():ygglMainEmp.getCustomNum();
1429
		YgglMainLzb.builder().jobStatus(jobStatus.LIZHIZHONG.getType()).lzTime(lzygQueryDto.getLzTime())
1430
				.lzyy(lzygQueryDto.getLzyy()).lzbz(lzygQueryDto.getLzbz()).jobNum(jobNum).build()
tangzhaoqian committed
1431 1432 1433
				.update(new UpdateWrapper<YgglMainLzb>().lambda()
						.eq(YgglMainLzb::getEmpNum, empNum)
						.eq(YgglMainLzb::getOrgCode, userBean.getOrgCode()));
tangzhaoqian committed
1434 1435 1436 1437 1438

		return ResultUtil.data(ygglMainLzb, "添加待离职员工成功");
	}

	/**
邓实川 committed
1439
	 * 确认离职 type2-3
tangzhaoqian committed
1440 1441 1442 1443 1444
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/qrlz")
1445 1446
	@ApiOperation(value = "56.确认离职", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 56)
tangzhaoqian committed
1447 1448
	public Result<Void> addlzb(@CurrentUser UserBean userBean, @RequestBody LzygQueryDto lzygQueryDto) {
		Integer empNum = lzygQueryDto.getEmpNum();
1449
		// 删除员工档案表
tangzhaoqian committed
1450 1451 1452
		ygglMainEmpMapper.delete(new QueryWrapper<YgglMainEmp>().lambda()
				.eq(YgglMainEmp::getEmpNum, empNum)
				.eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()));
1453

tangzhaoqian committed
1454
		YgglMainLzb.builder().empNum(empNum).jobStatus(YgEnumInterface.jobStatus.YILIZHI.getType()).sjlzTime(new Date())
tangzhaoqian committed
1455 1456 1457
				.build().update(new UpdateWrapper<YgglMainLzb>().lambda()
						.eq(YgglMainLzb::getEmpNum, empNum)
						.eq(YgglMainLzb::getOrgCode, userBean.getOrgCode()));
1458

1459
		LambdaQueryWrapper<QyzxEmpEntAsso> queryWrapper = new QueryWrapper<QyzxEmpEntAsso>().lambda()
tangzhaoqian committed
1460
				.eq(QyzxEmpEntAsso::getEmpNum, empNum)
1461
				.eq(QyzxEmpEntAsso::getOrgCode, userBean.getOrgCode());
1462

tangzhaoqian committed
1463
		// 确认离职 删除员工关联表
1464
		qyzxEmpEntAssoMapper.delete(queryWrapper);
tangzhaoqian committed
1465 1466 1467

		// 初始化 部门主管
		zzglBmgwMMapper.update(ZzglBmgwM.builder().leader(null).build(),
tangzhaoqian committed
1468 1469 1470
				new UpdateWrapper<ZzglBmgwM>().lambda()
				.eq(ZzglBmgwM::getOrgCode, userBean.getOrgCode())
				.eq(ZzglBmgwM::getLeader, empNum));
1471

1472
		// 更新当前企业
1473 1474
		List<QyzxEmpEntAsso> listEEA = qyzxEmpEntAssoMapper.selectList(new QueryWrapper<QyzxEmpEntAsso>().lambda()
				.eq(QyzxEmpEntAsso::getEmpNum, empNum));
1475 1476 1477
		if (listEEA != null && listEEA.size() > 0) {
			QyzxEmpLogin.builder().id(empNum).orgId(CollUtil.getFirst(listEEA).getOrgCode()).build().updateById();
		}
ilal committed
1478
		
ilal committed
1479
		QyzxEmpLogin.builder().build().delete(new QueryWrapper<QyzxEmpLogin>().lambda().eq(QyzxEmpLogin::getOrgId, userBean.getOrgCode()).eq(QyzxEmpLogin::getId, empNum));
ilal committed
1480 1481 1482 1483 1484
		
		KqglAssoYhkqz.builder().build().delete(new QueryWrapper<KqglAssoYhkqz>().lambda().eq(KqglAssoYhkqz::getUserid, empNum).eq(KqglAssoYhkqz::getQyid, userBean.getOrgCode()));
		
		try {
			realtimeupdate.AttendanceTask(userBean.getOrgCode(), empNum, 2,null);
1485 1486

			redisUtil.set("BlockUser"+empNum,"BlockUser",session_timeout);
ilal committed
1487 1488 1489 1490
		} catch (ParseException e) {
			e.printStackTrace();
		}
		
tangzhaoqian committed
1491 1492 1493 1494
		return ResultUtil.success("确认离职员工成功");
	}

	/**
邓实川 committed
1495
	 * 放弃离职 type 2-1
tangzhaoqian committed
1496 1497 1498 1499 1500
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/fqlz")
1501 1502
	@ApiOperation(value = "57.放弃离职", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 57)
tangzhaoqian committed
1503
	public Result<Void> fqlz(@CurrentUser UserBean userBean, @RequestBody LzygQueryDto lzygQueryDto) {
1504 1505 1506 1507 1508 1509 1510

		YgglMainEmp ygglMainEmp = ygglMainEmpMapper
				.selectOne(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getEmpNum, lzygQueryDto.getEmpNum())
						.eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()));

		YgglMainEmp.builder().jobStatus(ygglMainEmp.getBeforeLeavingSts()).build()
				.update(new UpdateWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getEmpNum, lzygQueryDto.getEmpNum()));
tangzhaoqian committed
1511
		// 删除离职表
1512 1513
		YgglMainLzb.builder().id(lzygQueryDto.getEmpNum()).build()
				.delete(new QueryWrapper<YgglMainLzb>().lambda().eq(YgglMainLzb::getEmpNum, lzygQueryDto.getEmpNum()));
tangzhaoqian committed
1514 1515 1516 1517 1518

		return ResultUtil.success("放弃成功");
	}

	@PostMapping(value = "/tzlzyy")
1519 1520
	@ApiOperation(value = "58.调整离职", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 58)
tangzhaoqian committed
1521 1522 1523
	public Result<YgglMainLzb> tzlzyy(@CurrentUser UserBean userBean, @RequestBody YgglMainLzb ygglMainLzb) {

		if (ygglMainLzb.getEmpNum() != null) {
1524 1525 1526
			ygglMainLzb
					.update(new UpdateWrapper<YgglMainLzb>().lambda().eq(YgglMainLzb::getOrgCode, userBean.getOrgCode())
							.eq(YgglMainLzb::getEmpNum, ygglMainLzb.getEmpNum()));
tangzhaoqian committed
1527 1528
			return ResultUtil.data(ygglMainLzb, "修改成功");
		}
1529
		return ResultUtil.error("请确认该员工是否存在!");
tangzhaoqian committed
1530 1531 1532 1533 1534 1535 1536 1537 1538 1539

	}

	/**
	 * 查询离职员工列表
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/querylzyg")
1540 1541
	@ApiOperation(value = "59.查询离职员工列表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 59)
tangzhaoqian committed
1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558
	public Result<Object> querylzyg(@CurrentUser UserBean userBean, @RequestBody LzbQueryDto lzygQueryDto) {
		lzygQueryDto.setOrgCode(userBean.getOrgCode());

		IPage<YgglMainLzb> page = new Page<YgglMainLzb>(
				lzygQueryDto.getCurrentPage() == null ? 1 : lzygQueryDto.getCurrentPage(),
				lzygQueryDto.getTotalPage() == null ? 10 : lzygQueryDto.getTotalPage());
		List<YgglMainLzb> lzb = ygglMainLzbMapper.queryLzb(page, lzygQueryDto);
		return ResultUtil.data(page, lzb, "离职员工搜索成功");
	}

	/**
	 * 展示民族/展示所有民族
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/mz/{id}")
1559 1560
	@ApiOperation(value = "60.展示民族/展示所有民族", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 60)
tangzhaoqian committed
1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573
	public Result<List<YgmzDto>> selectmzs(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		if (id == null || id == 0) {
			List<YgmzDto> allmz = new LambdaQueryChainWrapper<YgmzDto>(ygMzDtoMapper).list();
			return ResultUtil.data(allmz, "展示所有民族");
		}
		List<YgmzDto> mz = new LambdaQueryChainWrapper<YgmzDto>(ygMzDtoMapper).eq(YgmzDto::getNumber, id).list();
		return ResultUtil.data(mz, "展示该民族");
	}

	@Autowired
	CommonAreaMapper commonAreaMapper;

	/**
1574
	 * 籍贯树
tangzhaoqian committed
1575 1576 1577 1578 1579
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/native_place")
1580 1581
	@ApiOperation(value = "61.籍贯树", httpMethod = "GET", notes = "籍贯树")
	@ApiOperationSupport(order = 61)
tangzhaoqian committed
1582 1583 1584
	public Result<List<CommonArea>> selectNativePlace() {

		List<CommonArea> listCommonArea = commonAreaMapper.AllAreaForTree();
1585
		return ResultUtil.data(listCommonArea);
tangzhaoqian committed
1586 1587 1588 1589 1590 1591 1592 1593 1594 1595

	}

	/**
	 * 查询员工列表
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/queryemp")
1596
	@ApiOperation(value = "62.查询员工列表", httpMethod = "GET", notes = "接口发布说明")
tangzhaoqian committed
1597 1598 1599 1600 1601 1602 1603 1604
	@ApiOperationSupport(order = 62)
	public Result<List<YgQueryDto>> queryEmpMessage(@CurrentUser UserBean userBean) {
		List<YgQueryDto> ygQueryDto = ygglMainEmpMapper.queryEmpMessage(userBean.getOrgCode());
		for (YgQueryDto yg : ygQueryDto) {
			if (StringUtil.isEmpty(yg.getHeadUrl())) {
				yg.setHeadUrl("");
			}
		}
1605
		return ResultUtil.data(ygQueryDto);
tangzhaoqian committed
1606 1607 1608 1609 1610 1611 1612 1613 1614
	}

	/*************** 统计图 ***************/
	/**
	 * 查询统计图
	 * 
	 * @return 成功信息
	 */
	@GetMapping("/yggl")
1615
	@ApiOperation(value = "63.获取员工管理统计图信息", httpMethod = "GET", notes = "接口发布说明")
tangzhaoqian committed
1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648
	@ApiOperationSupport(order = 63)
	public Result<Map<String, Object>> queryYgglCartogram(@CurrentUser UserBean userBean) {

		Map<String, Object> map = new HashMap<String, Object>();
		YgglCartogramDto ygglCartogramDto1 = ygglMainEmpMapper.queryPositive(userBean);
		YgglCartogramDto ygglCartogramDto2 = ygglMainEmpMapper.queryAvgAge(userBean);
		YgglCartogramDto ygglCartogramDto3 = ygglMainEmpMapper.queryInduction(userBean);
		YgglCartogramDto ygglCartogramDto4 = ygglMainEmpMapper.queryInservice(userBean);
		YgglCartogramDto ygglCartogramDto5 = ygglMainLzbMapper.queryDeparture(userBean);

		List<YgglCartogramDto> ygglCartogramDto6 = ygglMainEmpMapper.queryDepartmentNum(userBean);
		List<YgglCartogramDto> ygglCartogramDto7 = ygglMainEmpMapper.queryEducation(userBean);
		List<YgglCartogramDto> ygglCartogramDto8 = ygglMainEmpMapper.queryJobsNum(userBean);
		List<YgglCartogramDto> ygglCartogramDto9 = ygglMainEmpMapper.queryEmpAge(userBean);
		List<YgglCartogramDto> ygglCartogramDto10 = ygglMainEmpMapper.queryNativeplace(userBean);
		List<YgglCartogramDto> ygglCartogramDto11 = ygglMainEmpMapper.queryWorkingAge(userBean);

		map.put("positive", ygglCartogramDto1.getPositive());
		if (ygglCartogramDto2 != null) {
			map.put("avgAge", ygglCartogramDto2.getAvgAge());
		}
		map.put("induction", ygglCartogramDto3.getInduction());
		map.put("probation", ygglCartogramDto4.getProbation());
		map.put("regular", ygglCartogramDto4.getRegular());
		map.put("departure", ygglCartogramDto5.getDepartureNum());

		map.put("department", ygglCartogramDto6);
		map.put("education", ygglCartogramDto7);
		map.put("jobs", ygglCartogramDto8);
		map.put("empAge", ygglCartogramDto9);
		map.put("nativeplace", ygglCartogramDto10);
		map.put("workingAge", ygglCartogramDto11);

1649
		return ResultUtil.data(map);
tangzhaoqian committed
1650 1651 1652 1653 1654 1655 1656 1657
	}

	/**
	 * 员工信息统计图
	 * 
	 * @return 成功信息(weng)
	 */
	@GetMapping("/Cartogram")
1658 1659
	@ApiOperation(value = "64.获取员工管理统计图信息", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 64)
tangzhaoqian committed
1660 1661 1662
	public Result<YgCartogramDto> ygCartogram(@CurrentUser UserBean userBean) {
		Integer orgCode = userBean.getOrgCode();
		List<YgbintuDto> bintu = ygglMainEmpMapper.rsybp(orgCode);
1663

tangzhaoqian committed
1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726
		Map<String, Long> gw = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getGw, Collectors.counting()));
		List<YgKVDto> gwList = new ArrayList<YgKVDto>();
		for (Map.Entry<String, Long> entry : gw.entrySet()) {
			gwList.add(new YgKVDto(entry.getKey(), entry.getValue().toString()));
		}
		Map<String, Long> bm = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm, Collectors.counting()));
		List<YgKVDto> bmList = new ArrayList<YgKVDto>();
		for (Map.Entry<String, Long> entry : bm.entrySet()) {
			bmList.add(new YgKVDto(entry.getKey(), entry.getValue().toString()));
		}
		Map<String, Long> edu = bintu.stream()
				.collect(Collectors.groupingBy(YgbintuDto::getEduname, Collectors.counting()));
		List<YgKVDto> eduList = new ArrayList<YgKVDto>();
		for (Map.Entry<String, Long> entry : edu.entrySet()) {
			eduList.add(new YgKVDto(entry.getKey(), entry.getValue().toString()));
		}
		Map<Integer, Long> jobStatus = bintu.stream()
				.collect(Collectors.groupingBy(YgbintuDto::getJobStatus, Collectors.counting()));
		List<YgKVDto> jobStatusList = new ArrayList<YgKVDto>();
		for (Entry<Integer, Long> entry : jobStatus.entrySet()) {
			jobStatusList.add(new YgKVDto(entry.getKey().toString(), entry.getValue().toString()));
		}
		Map<String, Long> proname = bintu.stream()
				.collect(Collectors.groupingBy(YgbintuDto::getProname, Collectors.counting()));
		List<YgKVDto> pronameList = new ArrayList<YgKVDto>();
		for (Entry<String, Long> entry : proname.entrySet()) {
			pronameList.add(new YgKVDto(entry.getKey().toString(), entry.getValue().toString()));
		}
		Map<String, Integer> workage = YgEnumInterface.workage.choose(bintu);
		List<YgKVDto> workageList = new ArrayList<YgKVDto>();
		for (Entry<String, Integer> entry : workage.entrySet()) {
			workageList.add(new YgKVDto(entry.getKey().toString(), entry.getValue().toString()));
		}
		Map<String, Integer> age = YgEnumInterface.age.choose(bintu);
		List<YgKVDto> ageList = new ArrayList<YgKVDto>();
		for (Entry<String, Integer> entry : age.entrySet()) {
			ageList.add(new YgKVDto(entry.getKey().toString(), entry.getValue().toString()));
		}
		// 在职
		Integer zaizhi = jobStatus.get(YgEnumInterface.jobStatus.ZHENSHI.getType()).intValue()
				+ jobStatus.get(YgEnumInterface.jobStatus.SHIYONG.getType()).intValue();
		// 本月新入职
		Integer xinruzhi = workage.get("本月新入职").intValue();
		// 本月离职
		Integer lizhi = ygglMainEmpMapper.benyueLz(orgCode);
		// 本月转正
		Integer zhuanzhen = ygglMainEmpMapper.benyueZz(orgCode);
		// 平均年龄
		Integer nianlin = age.get("平均年龄").intValue();
		YgCartogramDto ybp = new YgCartogramDto();
		ybp.setOnTheJob(zaizhi);
		ybp.setNewRecruits(xinruzhi);
		ybp.setDimission(lizhi);
		ybp.setRegularization(zhuanzhen);
		ybp.setAverageAge(nianlin);

		ybp.setDepartment(bmList);
		ybp.setPosition(gwList);
		ybp.setEdu(eduList);
		ybp.setJobStatus(jobStatusList);
		ybp.setProname(pronameList);
		ybp.setWorkage(workageList);
		ybp.setAge(ageList);
1727
		return ResultUtil.data(ybp);
tangzhaoqian committed
1728 1729 1730 1731 1732 1733 1734 1735 1736
	}

	/**
	 * 获取员工社保公积金
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/ygsbgjj")
1737 1738
	@ApiOperation(value = "65.获取员工社保公积金", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 65)
邓实川 committed
1739 1740
	public Result<YgglAttaSbgjj> selectygsbgjj(@CurrentUser UserBean userBean) {
		YgglAttaSbgjj ygglAttaSbgjj = YgglAttaSbgjj.builder().build().selectOne(
1741 1742
				new QueryWrapper<YgglAttaSbgjj>().lambda().eq(YgglAttaSbgjj::getOrgCode, userBean.getOrgCode())
						.eq(YgglAttaSbgjj::getEmpNum, userBean.getEmpNum()));
1743
		return ResultUtil.data(ygglAttaSbgjj);
tangzhaoqian committed
1744 1745 1746 1747 1748 1749 1750 1751 1752
	}

	/**
	 * 获取员工社保公积金
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/ygsbgjj/{empNum}")
1753 1754
	@ApiOperation(value = "66.获取员工社保公积金", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 66)
tangzhaoqian committed
1755 1756 1757
	public Result<YgglAttaSbgjj> selectygsbgjj(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {

		YgglAttaSbgjj ygglAttaSbgjj = YgglAttaSbgjj.builder().build()
1758
				.selectOne(new QueryWrapper<YgglAttaSbgjj>().lambda().eq(YgglAttaSbgjj::getEmpNum, empNum));
tangzhaoqian committed
1759

1760
		return ResultUtil.data(ygglAttaSbgjj);
tangzhaoqian committed
1761 1762 1763 1764 1765 1766 1767 1768 1769
	}

	/**
	 * 添加/修改员工社保公积金
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/ygsbgjj")
1770 1771
	@ApiOperation(value = "67.添加/修改员工社保公积金", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 67)
tangzhaoqian committed
1772 1773 1774 1775 1776 1777
	public Result<YgglAttaSbgjj> addygsbgjj(@CurrentUser UserBean userBean, @RequestBody YgglAttaSbgjj ygglAttaSbgjj) {
		Integer empNum = ygglAttaSbgjj.getEmpNum();
		if (empNum == null) {
			return ResultUtil.error();
		}
		YgglAttaSbgjj AttaSbgjj = YgglAttaSbgjj.builder().build()
1778
				.selectOne(new QueryWrapper<YgglAttaSbgjj>().lambda().eq(YgglAttaSbgjj::getEmpNum, empNum));
tangzhaoqian committed
1779
		if (AttaSbgjj != null) {
1780
			ygglAttaSbgjj.update(new UpdateWrapper<YgglAttaSbgjj>().lambda().eq(YgglAttaSbgjj::getEmpNum, empNum));
tangzhaoqian committed
1781 1782 1783 1784
		} else {
			ygglAttaSbgjj.insert();
		}

1785
		return ResultUtil.data(ygglAttaSbgjj);
tangzhaoqian committed
1786 1787 1788 1789 1790 1791 1792 1793 1794
	}

	/**
	 * 删除员工社保公积金
	 * 
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/ygsbgjj/{id}")
1795 1796
	@ApiOperation(value = "68.删除员工社保公积金", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 68)
tangzhaoqian committed
1797 1798
	public Result<Boolean> delygsbgjj(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
1799 1800
		return ResultUtil.data(YgglAttaSbgjj.builder().build().delete(new QueryWrapper<YgglAttaSbgjj>().lambda()
				.eq(YgglAttaSbgjj::getOrgCode, orgCode).eq(YgglAttaSbgjj::getId, id)));
tangzhaoqian committed
1801 1802 1803 1804 1805 1806 1807
	}

	@GetMapping(value = "/sysRegion")
	@ApiOperation(value = "省市区字典(贼全)", httpMethod = "GET", notes = "接口发布说明")
	public Result<List<Tree<String>>> sysRegion() {
		List<SysRegion> nodeList = SysRegion.builder().build()
				.selectList(new LambdaQueryWrapper<SysRegion>().select(SysRegion::getKeyId, SysRegion::getRegionCode,
1808
						SysRegion::getRegionName, SysRegion::getMerName, SysRegion::getLevel, SysRegion::getZipCode));
tangzhaoqian committed
1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819

		// 配置
		TreeNodeConfig treeNodeConfig = new TreeNodeConfig();
		// 自定义属性名 都要默认值的
		treeNodeConfig.setIdKey("key_id");
		treeNodeConfig.setParentIdKey("region_code");
		// 最大递归深度
		treeNodeConfig.setDeep(4);

		List<Tree<String>> treeNodes = TreeUtil.build(nodeList, "0", treeNodeConfig, (treeNode, tree) -> {
			tree.setId(treeNode.getKeyId().toString());
1820
			tree.setParentId(treeNode.getRegionCode().toString());
tangzhaoqian committed
1821 1822 1823
			tree.setName(treeNode.getRegionName());
			// 扩展属性 ...
			tree.putExtra("mer_name", treeNode.getMerName());
1824
			tree.putExtra("zip_code", treeNode.getZipCode());
tangzhaoqian committed
1825 1826
		});

1827
		return ResultUtil.data(treeNodes);
tangzhaoqian committed
1828
	}
1829

1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843
	/**
	 * 获取登录人的相关信息
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/loginmessage")
	@ApiOperation(value = "69.获取登录人的相关信息", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 69)
	public Result<LoginInfoDto> loginmessage(@CurrentUser UserBean userBean) {
		Integer empNum = userBean.getEmpNum();
		Integer orgCode = userBean.getOrgCode();
		LoginInfoDto loginInfo = LoginInfoDto.builder().build();
		YgglMainEmp ygglMainEmp = new LambdaQueryChainWrapper<YgglMainEmp>(ygglMainEmpMapper)
1844
				.select(YgglMainEmp::getBmgwId, YgglMainEmp::getName, YgglMainEmp::getRzTime, YgglMainEmp::getZzTime,YgglMainEmp::getSyq,
1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866
						YgglMainEmp::getEmpNum)
				.eq(YgglMainEmp::getEmpNum, empNum).eq(YgglMainEmp::getOrgCode, orgCode).one();
		if (ygglMainEmp != null) {
			Integer gw = ygglMainEmp.getBmgwId();

			ZzglBmgwM gwObj = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper)
					.select(ZzglBmgwM::getUpId, ZzglBmgwM::getName).eq(ZzglBmgwM::getId, gw)
					.eq(ZzglBmgwM::getOrgCode, orgCode).one();

			if (gwObj != null) {
				ZzglBmgwM bmObj = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper)
						.select(ZzglBmgwM::getId, ZzglBmgwM::getName).eq(ZzglBmgwM::getId, gwObj.getUpId())
						.eq(ZzglBmgwM::getOrgCode, orgCode).one();
				loginInfo.setBmId(bmObj != null ? bmObj.getId() : null);
				loginInfo.setBmName(bmObj != null ? bmObj.getName() : null);
			}

			loginInfo.setEmpNum(ygglMainEmp.getEmpNum());
			loginInfo.setName(ygglMainEmp.getName());
			loginInfo.setGwId(gw);
			loginInfo.setGwName(gwObj != null ? gwObj.getName() : "");
			loginInfo.setEntryTime(ygglMainEmp.getRzTime());
yuquan.zhu committed
1867 1868
			
			if(ygglMainEmp.getSyq()!=null) {
ilal committed
1869
//				System.out.println(ygglMainEmp.getSyq());
yuquan.zhu committed
1870 1871 1872 1873 1874 1875
				Date expireDate = DateUtil.offsetMonth(ygglMainEmp.getRzTime(), ygglMainEmp.getSyq()); // 时间偏移
				loginInfo.setRegularTime(expireDate);	
			}else {
				loginInfo.setRegularTime(new Date());	
			}
			
1876
		}
1877
		return ResultUtil.data(loginInfo);
1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889
	}

	/**
	 * 获取登录人和上级主管的empNum和名称
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/loginerChargers")
	@ApiOperation(value = "70.获取登录人和上级主管的empNum和名称", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 70)
	public Result<List<LoginerChargeDto>> loginerChargers(@CurrentUser UserBean userBean) {
ilal committed
1890 1891 1892
		
		List<LoginerChargeDto> loginerChargeDtos = new ArrayList<LoginerChargeDto>();
		
1893 1894 1895 1896
		Integer orgCode = userBean.getOrgCode();
		ArrayList<Integer> list = new ArrayList<Integer>();
		Integer empNum = userBean.getEmpNum();
		Integer gw = empNumConfirm(orgCode, empNum).getBmgwId();
ilal committed
1897
		if(gw != null && gw > 0) {
ilal committed
1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910
			ZzglBmgwM buid = ZzglBmgwM.builder().id(gw).build().selectById();
			
			List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper)
					.eq(ZzglBmgwM::getOrgCode, orgCode).eq(ZzglBmgwM::getType, 0).list();
			// 获取该员工的上级部门id 的数组list
			ZzglBmgwM.getUpDepts(list, buid.getUpId(), zzglBmgwMs);
			List<Integer> leaderList = new ArrayList<Integer>();
			for (Integer zzglId : list) {
				for (ZzglBmgwM zzglBmgwM : zzglBmgwMs) {
					if (zzglId.equals(zzglBmgwM.getId()) && zzglBmgwM.getLeader() != null) {

						leaderList.add(zzglBmgwM.getLeader());
					}
1911 1912
				}
			}
ilal committed
1913 1914
			List<YgglMainEmp> ygglMainEmps = empNumsConfirm(orgCode, leaderList);
//			List<LoginerChargeDto> loginerChargeDtos = new ArrayList<LoginerChargeDto>();
ilal committed
1915 1916 1917
			
			for (Integer leaderId : leaderList) {
				for (YgglMainEmp m : ygglMainEmps) {
ilal committed
1918
					if(leaderId.equals(m.getEmpNum())) {
ilal committed
1919 1920 1921 1922 1923
						if (m.getHeadUrl() == null) {
							m.setHeadUrl(CommonEnum.NULL_STR.getDesc());
						}
						loginerChargeDtos.add(new LoginerChargeDto(m.getEmpNum(), m.getName(), m.getHeadUrl()));
					}
ilal committed
1924
				}
ilal committed
1925
				
1926
			}
ilal committed
1927 1928
			
			
ilal committed
1929
			Collections.reverse(loginerChargeDtos);
ilal committed
1930 1931 1932 1933 1934
			if(loginerChargeDtos.size()>0) {
				if((userBean.getEmpNum()).equals(loginerChargeDtos.get(loginerChargeDtos.size()-1).getLeaderEmpNum())) {
					loginerChargeDtos.remove(loginerChargeDtos.size()-1);
				}
			}
ilal committed
1935
			return ResultUtil.data(loginerChargeDtos);
1936
		}
1937
		return ResultUtil.data(loginerChargeDtos);
ilal committed
1938
		
1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975
	}

	// 根据传来的empNum获取该人员信息,没有则传全部
	public List<YgglMainEmp> empNumsConfirm(Integer orgCode, List<Integer> empNumList) {
		List<YgglMainEmp> all = new LambdaQueryChainWrapper<YgglMainEmp>(ygglMainEmpMapper)
				.eq(YgglMainEmp::getOrgCode, orgCode).list();
		List<YgglMainEmp> ygglMainEmps = new ArrayList<YgglMainEmp>();
		if (empNumList.size() != 0) {
			for (Integer empNum : empNumList) {
				all.stream().filter(item -> empNum.equals(item.getEmpNum())).forEach(action -> {
					ygglMainEmps.add(action);
				});
			}
		} else {
			ygglMainEmps.addAll(all);
		}

		return ygglMainEmps;
	}

	// 根据传来的empNum获取该人员信息
	public YgglMainEmp empNumConfirm(Integer orgCode, Integer empNum) {
		YgglMainEmp one = new LambdaQueryChainWrapper<YgglMainEmp>(ygglMainEmpMapper)
				.eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getEmpNum, empNum).one();
		return one;
	}

	/**
	 * 获取用户头像
	 * 
	 * @param
	 * @return
	 */
	@PostMapping(value = "/headphotos")
	@ApiOperation(value = "71.获取用户头像", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 71)
	public Result<List<YgglMainEmp>> headphotos(@CurrentUser UserBean userBean, @RequestBody List<Integer> empNumList) {
tangzhaoqian committed
1976
		if (empNumList == null || empNumList.size() == 0) {
ilal committed
1977
			return ResultUtil.error("存在未设置的审批人");
1978 1979 1980 1981
		}
		List<YgglMainEmp> yglList = YgglMainEmp.builder().build()
				.selectList(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getOrgCode, userBean.getOrgCode())
						.in(YgglMainEmp::getEmpNum, empNumList)
ilal committed
1982
						.select(YgglMainEmp::getId,YgglMainEmp::getEmpNum, YgglMainEmp::getName, YgglMainEmp::getHeadUrl).orderByDesc(YgglMainEmp::getId));
1983 1984
		for (YgglMainEmp yg : yglList) {
			if (StringUtil.isEmpty(yg.getHeadUrl())) {
1985
				yg.setHeadUrl(CommonEnum.NULL_STR.getDesc());
1986 1987
			}
		}
1988
		return ResultUtil.data(yglList);
1989
	}
lal committed
1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004
	
	
	@Autowired
	private KqglAssoLeaveBalanceMapper kqglassoleavebalancemapper;
	
	@GetMapping(value = "/address_book")
	@ApiOperation(value = "APP 获取通讯录", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 70)
	public Result<Object> Getaddressbook(@CurrentUser UserBean userBean) {
		
		List<AdditionalDto> userlist = kqglassoleavebalancemapper.selectAdditionalList(userBean.getOrgCode());
		
		return ResultUtil.data(userlist);
	}
	
ilal committed
2005 2006 2007 2008 2009 2010 2011 2012
	
	@PostMapping(value = "/modify_avatar")
	@ApiOperation(value = "APP_修改头像", httpMethod = "POST", notes = "接口发布说明")
	public Result<YgglAttaSbgjj> Modify_Avatar(@CurrentUser UserBean userBean, @RequestBody ModifyAvatarDto modifyavatardto) {
		
		YgglMainEmp.builder().headUrl(modifyavatardto.getAvatar_path()).build().update(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getOrgCode, userBean.getOrgCode())
				.eq(YgglMainEmp::getEmpNum, userBean.getEmpNum()));
		
ilal committed
2013 2014 2015
		QyzxEmpLogin.builder().headUrl(modifyavatardto.getAvatar_path()).build().update(new QueryWrapper<QyzxEmpLogin>().lambda().eq(QyzxEmpLogin::getOrgId, userBean.getOrgCode())
				.eq(QyzxEmpLogin::getPhone, userBean.getQyzxEmpLogin().getPhone()));
		
ilal committed
2016 2017 2018
		return ResultUtil.success("上传成功");
	}
	
ilal committed
2019 2020 2021 2022
	@PostMapping(value = "/new_account")
	@ApiOperation(value = "修改账号", httpMethod = "POST", notes = "接口发布说明")
	public Result<Object> New_account(@CurrentUser UserBean userBean, @RequestBody UserInfo userinfo) {
		
lal committed
2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033
		YgglMainEmp sjhpd = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getPhone, userinfo.getPhone())
				.eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()));
		if(sjhpd == null) {
			YgglMainEmp.builder().phone(userinfo.getPhone()).build().update(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getEmpNum, userinfo.getName()).eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()));
			
			QyzxEmpLogin.builder().phone(userinfo.getPhone()).build().update(new QueryWrapper<QyzxEmpLogin>().lambda().eq(QyzxEmpLogin::getId,userinfo.getName()).eq(QyzxEmpLogin::getOrgId, userBean.getOrgCode()));
			
			return ResultUtil.success("修改成功");
		}else {
			return ResultUtil.error("该号码已存在");
		}
ilal committed
2034 2035
		
	}
ilal committed
2036 2037
	
	
tangzhaoqian committed
2038
}