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

8
import java.io.IOException;
9
import java.util.ArrayList;
10
import java.util.Collections;
11 12 13 14
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
15
import java.util.Map.Entry;
16
import java.util.stream.Collectors;
17

18 19
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
20 21 22
import javax.transaction.Transactional;

import org.springframework.beans.factory.annotation.Autowired;
23
import org.springframework.beans.factory.annotation.Value;
24
import org.springframework.transaction.interceptor.TransactionAspectSupport;
25
import org.springframework.validation.annotation.Validated;
26 27 28 29 30 31 32 33
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;

34
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
35 36 37
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
38
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
39
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
东州 翁 committed
40
import com.github.pagehelper.util.StringUtil;
41
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
42

43
import cn.hutool.core.bean.BeanUtil;
44
import cn.hutool.core.collection.CollUtil;
东州 翁 committed
45 46
import cn.hutool.core.date.BetweenFormater.Level;
import cn.hutool.core.date.DateUtil;
47
import cn.hutool.core.io.IoUtil;
48 49 50
import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.lang.tree.TreeNodeConfig;
import cn.hutool.core.lang.tree.TreeUtil;
51
import cn.hutool.core.util.IdcardUtil;
52
import cn.hutool.core.util.ObjectUtil;
53
import cn.hutool.core.util.ReUtil;
54
import cn.hutool.core.util.StrUtil;
55
import cn.hutool.json.JSONObject;
tangzhaoqian committed
56
import cn.hutool.json.JSONUtil;
57 58
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
59
import cn.timer.api.bean.clazz.CommonArea;
60
import cn.timer.api.bean.clazz.SysRegion;
61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
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;
太阳与水 committed
80
import cn.timer.api.config.enuminterface.YgEnumInterface;
81
import cn.timer.api.config.enuminterface.YgEnumInterface.jobStatus;
82
import cn.timer.api.config.enums.CommonEnum;
83
import cn.timer.api.config.enums.SysRoleType;
84
import cn.timer.api.config.exception.Regular;
85
import cn.timer.api.config.validation.ValidList;
86
import cn.timer.api.dao.clazz.CommonAreaMapper;
87
import cn.timer.api.dao.qyzx.QyzxEmpEntAssoMapper;
88
import cn.timer.api.dao.qyzx.QyzxEmpLoginMapper;
89
import cn.timer.api.dao.yggl.YgMzDtoMapper;
90 91 92 93
import cn.timer.api.dao.yggl.YgglMainEmpMapper;
import cn.timer.api.dao.yggl.YgglMainLzbMapper;
import cn.timer.api.dao.zzgl.ZzglBmgwMMapper;
import cn.timer.api.dto.yggl.AddygdaDto;
94
import cn.timer.api.dto.yggl.ImportEmpDto;
95
import cn.timer.api.dto.yggl.LoginInfoDto;
96
import cn.timer.api.dto.yggl.LoginerChargeDto;
97 98
import cn.timer.api.dto.yggl.LzbQueryDto;
import cn.timer.api.dto.yggl.LzygQueryDto;
99
import cn.timer.api.dto.yggl.YgCartogramDto;
100
import cn.timer.api.dto.yggl.YgKVDto;
101
import cn.timer.api.dto.yggl.YgQueryDto;
102
import cn.timer.api.dto.yggl.YgbintuDto;
103
import cn.timer.api.dto.yggl.YgglCartogramDto;
东州 翁 committed
104
import cn.timer.api.dto.yggl.YgmzDto;
105
import cn.timer.api.dto.yggl.YgzzDto;
106
import cn.timer.api.utils.DateFormatUtils;
107 108 109 110 111 112 113 114 115 116 117 118 119
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
120
@Transactional(rollbackOn = Exception.class)
121 122 123
@RequestMapping(value = "/yggl", produces = { "application/json" })
public class YgglController {

124 125
	@Value(value = "${config-8timer.init-password}")
	private String pwd;
126

127 128
	@Autowired
	private YgglMainEmpMapper ygglMainEmpMapper;
129

130 131
	@Autowired
	private QyzxEmpEntAssoMapper qyzxEmpEntAssoMapper;
132 133 134 135 136 137

	@Autowired
	private QyzxEmpLoginMapper qyzxEmpLoginMapper;

	@Autowired
	private YgglMainLzbMapper ygglMainLzbMapper;
邓实川 committed
138

139 140
	@Autowired
	private ZzglBmgwMMapper zzglBmgwMMapper;
邓实川 committed
141 142

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

146
	/**
147
	 * 获取员工档案
邓实川 committed
148
	 * 
149 150 151 152
	 * @param
	 * @return
	 */
	@GetMapping(value = "/ygda")
153
	@ApiOperation(value = "1.获取员工档案", httpMethod = "GET", notes = "接口发布说明")
154 155 156 157
	@ApiOperationSupport(order = 1)
	public Result<YgglMainEmp> selectygda(@CurrentUser UserBean userBean) {
		Integer empNum = userBean.getEmpNum();
		Integer orgCode = userBean.getOrgCode();
158
		YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda()
159
				.eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getEmpNum, empNum));
邓实川 committed
160 161 162 163
		Date rz = ygglMainEmp.getRzTime();
		if (rz != null) {
			ygglMainEmp.setWorkTime(DateUtil.formatBetween(rz, new Date(), Level.DAY));
		}
164
		return ResultUtil.data(ygglMainEmp);
165
	}
邓实川 committed
166

东州 翁 committed
167 168
	// 获取员工档案
	@GetMapping(value = "/ygda/{empNum}")
169
	@ApiOperation(value = "2.获取员工档案(管)", httpMethod = "GET", notes = "接口发布说明")
东州 翁 committed
170 171 172
	@ApiOperationSupport(order = 2)
	public Result<YgglMainEmp> selectygda(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
		Integer orgCode = userBean.getOrgCode();
173
		YgglMainEmp ygglMainEmp = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda()
174
				.eq(YgglMainEmp::getOrgCode, orgCode).eq(YgglMainEmp::getEmpNum, empNum));
175 176
		Date rz = ygglMainEmp.getRzTime();
		if (rz != null) {
邓实川 committed
177
			ygglMainEmp.setWorkTime(DateUtil.formatBetween(ygglMainEmp.getRzTime(), new Date(), Level.DAY));
东州 翁 committed
178
		}
179
		return ResultUtil.data(ygglMainEmp);
东州 翁 committed
180
	}
邓实川 committed
181

182 183
	/**
	 * 根据岗位id获取员工档案部门岗位名称
邓实川 committed
184
	 * 
185 186 187
	 * @param
	 * @return
	 */
东州 翁 committed
188
	@GetMapping(value = "/ygdabm/{gwid}")
189
	@ApiOperation(value = "3.获取员工档案部门岗位名称", httpMethod = "GET", notes = "接口发布说明")
东州 翁 committed
190
	@ApiOperationSupport(order = 3)
邓实川 committed
191 192
	public Result<String> selectbmgw(@CurrentUser UserBean userBean, @PathVariable Integer gwid) {
		if (gwid == null || gwid == 0) {
193
			return ResultUtil.data("岗位不存在");
194
		}
195
		Integer orgCode = userBean.getOrgCode();
196 197
		ZzglBmgwM zzglBmgwM = ZzglBmgwM.builder().build().selectOne(
				new QueryWrapper<ZzglBmgwM>().lambda().eq(ZzglBmgwM::getOrgCode, orgCode).eq(ZzglBmgwM::getId, gwid));
邓实川 committed
198 199 200 201 202 203
		String gw = null;
		Integer bmid = null;
		if (zzglBmgwM != null) {
			gw = zzglBmgwM.getName();
			bmid = zzglBmgwM.getUpId();
		}
204 205
		ZzglBmgwM z = ZzglBmgwM.builder().build().selectOne(
				new QueryWrapper<ZzglBmgwM>().lambda().eq(ZzglBmgwM::getOrgCode, orgCode).eq(ZzglBmgwM::getId, bmid));
邓实川 committed
206 207 208 209 210
		String bm = null;
		if (z != null) {
			bm = z.getName();
		}
		String bmgw = bm + "/" + gw;
211
		return ResultUtil.data(bmgw);
邓实川 committed
212 213
	}

214
	/**
215
	 * 添加员工档案
216
	 * 
217 218
	 * @param userBean
	 * @param addygdaDto
219 220
	 * @return
	 */
东州 翁 committed
221
	@PostMapping(value = "/addygda")
222
	@ApiOperation(value = "4.添加员工档案", httpMethod = "POST", notes = "接口发布说明")
223
	@ApiOperationSupport(order = 4)
224 225
	public Result<Object> addygda(@CurrentUser UserBean userBean, @Validated @RequestBody AddygdaDto addygdaDto)
			throws Exception {
东州 翁 committed
226 227 228 229 230
		Integer orgCode = userBean.getOrgCode();
		String name = addygdaDto.getName();
		String phone = addygdaDto.getPhone();
		Integer zjType = addygdaDto.getZjType();
		String zjNum = addygdaDto.getZjNum();
231 232 233
		boolean isvalid = true;
		switch (zjType) {
		case 0:
234
			isvalid = IdcardUtil.isValidCard15(zjNum) || IdcardUtil.isValidCard18(zjNum);
235 236
			break;
		case 1:
237
			String[] strs = IdcardUtil.isValidCard10(zjNum);
邓实川 committed
238 239 240 241 242 243
			if (strs == null) {
				isvalid = false;
				break;
			}
			String str2 = strs != null && strs.length > 2 ? strs[2] : "false";
			isvalid = "澳门/香港".contains(strs[0]) && "true".equals(str2);
244 245
			break;
		case 2:
246
			isvalid = IdcardUtil.isValidTWCard(zjNum);
247 248 249 250 251 252 253 254 255 256
			break;
		case 3:
			isvalid = ReUtil.isMatch(Regular.PASSPORT1, zjNum) || ReUtil.isMatch(Regular.PASSPORT2, zjNum);
			break;
		default:
			break;
		}
		if (!isvalid) {
			return ResultUtil.error("证件格式不对!");
		}
257

东州 翁 committed
258
		Integer jobType = addygdaDto.getJobType();
259
		Date rzTime = addygdaDto.getRzTime() == null ? new Date() : addygdaDto.getRzTime();
东州 翁 committed
260 261
		Integer syq = addygdaDto.getSyq();
		Integer sex = addygdaDto.getSex();
262
		Integer bmgwId = addygdaDto.getBmgwId();
263

东州 翁 committed
264 265 266
		QyzxEmpLogin login = new LambdaQueryChainWrapper<QyzxEmpLogin>(qyzxEmpLoginMapper)
				.eq(!StrUtil.hasBlank(phone), QyzxEmpLogin::getPhone, phone).one();
		if (login == null) {
267
			// 初始化密码 pwd
268
			login = QyzxEmpLogin.builder().phone(phone).pw(Md5.md5(pwd))
东州 翁 committed
269
					.sts(CommonEnum.U_STS_ON.getType()).orgId(userBean.getOrgCode()).username(name).build();
270
			if (!login.insert()) {
东州 翁 committed
271 272 273
				TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
				return ResultUtil.error("添加员工登录表失败,请检查输入信息");
			}
274
		}
275

276 277 278 279
		YgglMainEmp ygglMainEmp = ygglMainEmpMapper.selectOne(new QueryWrapper<YgglMainEmp>().lambda()
				.eq(YgglMainEmp::getPhone, phone).eq(YgglMainEmp::getOrgCode, orgCode));

		if (ygglMainEmp == null) {
280 281 282
			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)
283
					.jobStatus(jobStatus.SHIYONG.getType()).rzTime(rzTime).syq(syq).sex(sex)
284
					.empNum(login.getId()).orgCode(orgCode).bmgwId(bmgwId).build();
东州 翁 committed
285
			ygglMainEmp.insert();
286

287
			return ResultUtil.data(ygglMainEmp, "添加员工成功!");
东州 翁 committed
288
		} else {
289
			return ResultUtil.error("该手机号已被使用,请输入正确手机号");
东州 翁 committed
290
		}
291

东州 翁 committed
292
	}
邓实川 committed
293

294
	/**
东州 翁 committed
295
	 * 修改员工档案
邓实川 committed
296
	 * 
297 298 299
	 * @param
	 * @return
	 */
东州 翁 committed
300
	@PostMapping(value = "/updateygda")
301
	@ApiOperation(value = "5.修改员工档案", httpMethod = "POST", notes = "接口发布说明")
太阳与水 committed
302
	@ApiOperationSupport(order = 5)
303 304
	public Result<Object> updateygda(@CurrentUser UserBean userBean, @RequestBody YgglMainEmp ygglMainEmp)
			throws Exception {
305

306 307
		if (ObjectUtil.isAllNotEmpty(ygglMainEmp.getRzTime(), ygglMainEmp.getZzTime())
				&& !DateFormatUtils.getCompareDate(ygglMainEmp.getRzTime(), ygglMainEmp.getZzTime())) {
邓实川 committed
308
			return ResultUtil.error("入职日期 不可以大于 转正日期");
309
		}
310

东州 翁 committed
311
		if (ygglMainEmp.getEmpNum() != null) {
312 313 314
			ygglMainEmp.update(new UpdateWrapper<YgglMainEmp>().lambda()
					.eq(YgglMainEmp::getOrgCode, userBean.getOrgCode())
					.eq(YgglMainEmp::getEmpNum, ygglMainEmp.getEmpNum()));
315

东州 翁 committed
316 317
			return ResultUtil.data(ygglMainEmp, "修改成功");
		}
318
		return ResultUtil.data(ygglMainEmp, "修改成功");
东州 翁 committed
319
	}
邓实川 committed
320

321
	/**
东州 翁 committed
322
	 * 员工搜索
邓实川 committed
323
	 * 
324 325 326
	 * @param
	 * @return
	 */
东州 翁 committed
327
	@PostMapping(value = "/ygquery")
328
	@ApiOperation(value = "6.员工搜索/分页", httpMethod = "POST", notes = "接口发布说明")
太阳与水 committed
329
	@ApiOperationSupport(order = 6)
东州 翁 committed
330 331 332 333 334
	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)
邓实川 committed
335
				.eq(ZzglBmgwM::getOrgCode, orgCode).list();
东州 翁 committed
336
		ZzglBmgwM.getDepts(bList, b, zzglBmgwMs);
337

东州 翁 committed
338 339 340 341
		Integer j = ygQueryDto.getJobStatus();
		Integer t = ygQueryDto.getJobType();
		String q = ygQueryDto.getQuery();
		Page<YgglMainEmp> page = new Page<YgglMainEmp>(
邓实川 committed
342 343
				ygQueryDto.getCurrentPage() == null ? 1 : ygQueryDto.getCurrentPage(),
				ygQueryDto.getTotalPage() == null ? 10 : ygQueryDto.getTotalPage());
东州 翁 committed
344
		QueryWrapper<YgglMainEmp> queryWrapper = new QueryWrapper<>();
345
		queryWrapper.lambda()
346 347
				.select(YgglMainEmp::getName, YgglMainEmp::getEmpNum, YgglMainEmp::getBmgwId, YgglMainEmp::getRzTime,
						YgglMainEmp::getJobType, YgglMainEmp::getPhone, YgglMainEmp::getJobStatus)
348
				.ne(YgglMainEmp::getJobStatus, jobStatus.YILIZHI.getType())
349 350
				.eq(YgglMainEmp::getOrgCode, orgCode).eq(t != null && t > -1, YgglMainEmp::getJobType, t)
				.eq(j != null && j > -1, YgglMainEmp::getJobStatus, j)
351 352
				.in(!bList.isEmpty(), YgglMainEmp::getBmgwId, bList)
				.and(!StrUtil.hasBlank(q), wq -> wq.like(YgglMainEmp::getName, q).or().like(YgglMainEmp::getPhone, q));
353

东州 翁 committed
354
		IPage<YgglMainEmp> ygglMainEmpPage = YgglMainEmp.builder().build().selectPage(page, queryWrapper);
355

356
		return ResultUtil.data(ygglMainEmpPage);
357
	}
358

tangzhaoqian committed
359 360 361 362
	/**
	 * 导入员工档案
	 */
	@PostMapping(value = "/import_emp_record")
363
	@ApiOperation(value = "7.导入员工档案", httpMethod = "POST", notes = "接口发布说明")
tangzhaoqian committed
364
	@ApiOperationSupport(order = 7)
365 366
	public Result<JSONObject> importEmpRecord(@CurrentUser UserBean userBean,
			@Validated @RequestBody ValidList<AddygdaDto> listAddygdaDto) throws Exception {
367 368 369 370 371 372

		Integer orgCode = userBean.getOrgCode();
		// 查询所有员工手机号
//		List<QyzxEmpLogin> listEl = qyzxEmpLoginMapper
//				.selectList(new QueryWrapper<QyzxEmpLogin>().lambda()
//						.select(QyzxEmpLogin::getPhone));
373 374 375 376 377 378 379

		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;
380 381 382 383 384

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

386
		List<YgglMainEmp> listYmp = new ArrayList<YgglMainEmp>();
387

388
		// 过滤掉 导入数据中, listPhone已存在 的 phone 的对象集合
389
		List<AddygdaDto> list = listAddygdaDto.stream()
390 391 392
				.filter(o -> o != null && !listPhone.contains(o.getPhone()) && !listzjNum.contains(o.getZjNum()))
				.collect(Collectors.toList());

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

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

401
		List<YgglMainEmp> insertErrors = new ArrayList<YgglMainEmp>();
402

403 404
		YgglMainEmp yme;
		for (AddygdaDto ad : list) {
405

406 407 408 409 410 411 412
			String name = ad.getName();
			String phone = ad.getPhone();
			Integer zjType = ad.getZjType();
			String zjNum = ad.getZjNum();
			boolean isvalid = true;
			switch (zjType) {
			case 0:
413
				isvalid = IdcardUtil.isValidCard15(zjNum) || IdcardUtil.isValidCard18(zjNum);
414 415
				break;
			case 1:
416 417
				String[] strs = IdcardUtil.isValidCard10(zjNum);
				isvalid = "澳门/香港".contains(strs[0]) && "true".equals(strs[2]);
418 419
				break;
			case 2:
420
				isvalid = IdcardUtil.isValidTWCard(zjNum);
421 422 423 424 425 426 427 428 429 430 431 432 433 434 435
				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();
436

437 438 439 440
			QyzxEmpLogin login = new LambdaQueryChainWrapper<QyzxEmpLogin>(qyzxEmpLoginMapper)
					.eq(!StrUtil.hasBlank(phone), QyzxEmpLogin::getPhone, phone).one();
			if (login == null) {
				// 初始化密码 pwd
441 442
				login = QyzxEmpLogin.builder().phone(phone).pw(Md5.md5(pwd)).sts(CommonEnum.U_STS_ON.getType())
						.orgId(userBean.getOrgCode()).username(name).build();
443 444 445 446 447 448
				if (!login.insert()) {
					TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
					return ResultUtil.error("添加员工登录表失败,请检查输入信息");
				}
			}

449 450 451 452 453
			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();
454 455
			if (yme.insert()) {
				listYmp.add(yme);
456
			} else {
457
				// 存放 插入失败的 数据
458
				insertErrors.add(yme);
459
			}
460

461
		}
462

463 464 465
		JSONObject obj = JSONUtil.createObj();
		obj.set("empList", listYmp);
		obj.set("phoneRepetitions", phoneRepetitions);
466 467
		obj.set("idCardRepetitions", idCardRepetitions);
		obj.set("insertErrors", insertErrors);
468 469 470

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

474
	/**
475
	 * 获取导入模板
邓实川 committed
476
	 * 
477 478
	 * @param
	 * @return
479
	 * @throws IOException
480
	 */
481 482 483 484
	@GetMapping(value = "/impoet_template")
	@ApiOperation(value = "8.获取导入模板", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 8)
	public Result<Object> getImpoetTemplate(HttpServletResponse response) throws IOException {
485
		ImportEmpDto ied = ImportEmpDto.builder().name("张三").phone("15219671123")
486
				// 证件类型 0:身份证;1:港澳居民来往内地通行证;2:台湾居民来往大陆通行证;3:外国护照;4:其他
487
				.zjType(0).zjNum("445381199611063586")
488
				// 工作性质 0全职、1实习生、2兼职、3劳务派遣、4劳务、5派遣、6外包、7退休返聘
489
				.jobType(0).rzTime("2010-10-10 10:10:10")
490 491 492
				// 试用期 0:无试用期;1:1个月;2:2个月;3:3个月;4:4个月;5:5个月;6:6个月(有试用期显示选项)
				.syq(1)
				// 性别 0:男;1:女
493
				.sex(0).build();
494 495 496 497
		List<ImportEmpDto> listAd = CollUtil.newArrayList(ied);
		// 通过工具类创建writer
		ExcelWriter writer = ExcelUtil.getWriter(true);

498
		// 自定义标题别名
499 500 501 502 503 504 505 506
		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", "入职日期");
507

508 509 510 511 512 513 514 515
		// 合并单元格后的标题行,使用默认标题样式
		writer.merge(7, "员工导入模板");
		writer.setFreezePane(2);
		writer.setColumnWidth(1, 15);
		writer.setColumnWidth(4, 22);
		writer.setColumnWidth(7, 20);
		// 一次性写出内容,使用默认样式,强制输出标题
		writer.write(listAd, true);
516 517 518

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

522 523
		// 关闭writer,释放内存
		writer.close();
524
		// 此处记得关闭输出Servlet流
525
		IoUtil.close(out);
526

527
		return ResultUtil.data(null, "获取模板成功");
邓实川 committed
528

东州 翁 committed
529
	}
邓实川 committed
530

太阳与水 committed
531
	/**
东州 翁 committed
532
	 * 导出员工
邓实川 committed
533
	 * 
太阳与水 committed
534 535 536
	 * @param
	 * @return
	 */
东州 翁 committed
537
	@GetMapping(value = "/ygdas")
538 539
	@ApiOperation(value = "9.导出员工", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 9)
东州 翁 committed
540
	public Result<List<YgglMainEmp>> selectygdas(@CurrentUser UserBean userBean) {
邓实川 committed
541
		List<YgglMainEmp> list = new LambdaQueryChainWrapper<YgglMainEmp>(ygglMainEmpMapper)
542
				.eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()).in(YgglMainEmp::getJobStatus, jobStatus.SHIYONG.getType(), jobStatus.ZHENSHI.getType(), jobStatus.LIZHIZHONG.getType()).list();
东州 翁 committed
543
		return ResultUtil.data(list, "导出员工成功");
太阳与水 committed
544
	}
邓实川 committed
545

太阳与水 committed
546
	/**
东州 翁 committed
547
	 * 获取员工教育经历表
邓实川 committed
548
	 * 
太阳与水 committed
549 550 551
	 * @param
	 * @return
	 */
东州 翁 committed
552
	@GetMapping(value = "/jyjlb")
553 554
	@ApiOperation(value = "10.获取员工教育经历表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 10)
东州 翁 committed
555
	public Result<List<YgglAttaJyjlb>> selectjyjlb(@CurrentUser UserBean userBean) {
556 557 558
		List<YgglAttaJyjlb> ygglAttaJyjlbss = YgglAttaJyjlb.builder().build().selectList(
				new QueryWrapper<YgglAttaJyjlb>().lambda().eq(YgglAttaJyjlb::getOrgCode, userBean.getOrgCode())
						.eq(YgglAttaJyjlb::getEmpNum, userBean.getEmpNum()));
559
		return ResultUtil.data(ygglAttaJyjlbss);
东州 翁 committed
560
	}
邓实川 committed
561

东州 翁 committed
562 563
	// 获取员工教育经历表
	@GetMapping(value = "/jyjlb/{empNum}")
564 565
	@ApiOperation(value = "11.获取员工教育经历表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 11)
东州 翁 committed
566
	public Result<List<YgglAttaJyjlb>> selectjyjlb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
567 568 569
		List<YgglAttaJyjlb> ygglAttaJyjlbs = YgglAttaJyjlb.builder().build()
				.selectList(new QueryWrapper<YgglAttaJyjlb>().lambda()
						.eq(YgglAttaJyjlb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaJyjlb::getEmpNum, empNum));
570
		return ResultUtil.data(ygglAttaJyjlbs);
东州 翁 committed
571
	}
邓实川 committed
572

东州 翁 committed
573 574
	/**
	 * 添加/修改员工教育经历表
邓实川 committed
575
	 * 
太阳与水 committed
576 577 578
	 * @param
	 * @return
	 */
东州 翁 committed
579
	@PostMapping(value = "/jyjlb")
580 581
	@ApiOperation(value = "12.添加/修改员工教育经历表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 12)
东州 翁 committed
582 583 584 585
	public Result<YgglAttaJyjlb> addjyjlb(@CurrentUser UserBean userBean, @RequestBody YgglAttaJyjlb ygglAttaJyjlb) {
		ygglAttaJyjlb.setEmpNum(ygglAttaJyjlb.getEmpNum());
		ygglAttaJyjlb.setOrgCode(userBean.getOrgCode());
		ygglAttaJyjlb.insertOrUpdate();
586
		return ResultUtil.data(ygglAttaJyjlb, "修改员工教育经历表成功");
太阳与水 committed
587
	}
邓实川 committed
588

太阳与水 committed
589
	/**
东州 翁 committed
590
	 * 删除员工教育经历表
邓实川 committed
591
	 * 
东州 翁 committed
592 593
	 * @param
	 * @return
太阳与水 committed
594
	 */
东州 翁 committed
595
	@DeleteMapping(value = "/jyjlb/{id}")
596 597
	@ApiOperation(value = "13.删除员工教育经历表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 13)
东州 翁 committed
598
	public Result<Boolean> deljyjlb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
太阳与水 committed
599
		Integer orgCode = userBean.getOrgCode();
600 601
		return ResultUtil.data(YgglAttaJyjlb.builder().build().delete(new QueryWrapper<YgglAttaJyjlb>().lambda()
				.eq(YgglAttaJyjlb::getOrgCode, orgCode).eq(YgglAttaJyjlb::getId, id)), "删除员工教育经历表成功");
太阳与水 committed
602
	}
邓实川 committed
603

东州 翁 committed
604 605
	/**
	 * 获取员工培训经历信息表
邓实川 committed
606
	 * 
东州 翁 committed
607 608 609 610
	 * @param
	 * @return
	 */
	@GetMapping(value = "/pxjlxxb")
611 612
	@ApiOperation(value = "14.获取员工培训经历信息表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 14)
东州 翁 committed
613
	public Result<List<YgglAttaPxjlxxb>> selectpxjlxxb(@CurrentUser UserBean userBean) {
邓实川 committed
614
		List<YgglAttaPxjlxxb> ygglAttaPxjlxxbs = YgglAttaPxjlxxb.builder().build()
615 616 617
				.selectList(new QueryWrapper<YgglAttaPxjlxxb>().lambda()
						.eq(YgglAttaPxjlxxb::getOrgCode, userBean.getOrgCode())
						.eq(YgglAttaPxjlxxb::getEmpNum, userBean.getEmpNum()));
618
		return ResultUtil.data(ygglAttaPxjlxxbs);
东州 翁 committed
619
	}
邓实川 committed
620

东州 翁 committed
621 622
	// 获取员工培训经历信息表
	@GetMapping(value = "/pxjlxxb/{empNum}")
623 624
	@ApiOperation(value = "15.获取员工培训经历信息表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 15)
东州 翁 committed
625
	public Result<List<YgglAttaPxjlxxb>> selectpxjlxxb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
626 627 628
		List<YgglAttaPxjlxxb> ygglAttaPxjlxxbs = YgglAttaPxjlxxb.builder().build()
				.selectList(new QueryWrapper<YgglAttaPxjlxxb>().lambda()
						.eq(YgglAttaPxjlxxb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaPxjlxxb::getEmpNum, empNum));
629
		return ResultUtil.data(ygglAttaPxjlxxbs);
东州 翁 committed
630
	}
邓实川 committed
631

东州 翁 committed
632 633
	/**
	 * 添加/修改员工培训经历信息表
邓实川 committed
634
	 * 
东州 翁 committed
635 636 637 638
	 * @param
	 * @return
	 */
	@PostMapping(value = "/pxjlxxb")
639 640
	@ApiOperation(value = "16.添加/修改员工培训经历信息表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 16)
东州 翁 committed
641 642 643 644 645
	public Result<YgglAttaPxjlxxb> addpxjlxxb(@CurrentUser UserBean userBean,
			@RequestBody YgglAttaPxjlxxb ygglAttaPxjlxxb) {
		ygglAttaPxjlxxb.setEmpNum(ygglAttaPxjlxxb.getEmpNum());
		ygglAttaPxjlxxb.setOrgCode(userBean.getOrgCode());
		ygglAttaPxjlxxb.insertOrUpdate();
646
		return ResultUtil.data(ygglAttaPxjlxxb, "修改员工培训经历信息表成功");
647
	}
邓实川 committed
648

东州 翁 committed
649 650
	/**
	 * 删除员工培训经历信息表
邓实川 committed
651
	 * 
东州 翁 committed
652 653 654 655
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/pxjlxxb/{id}")
656 657
	@ApiOperation(value = "17.删除员工培训经历信息表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 17)
东州 翁 committed
658 659
	public Result<Boolean> delpxjlxxb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
660 661
		return ResultUtil.data(YgglAttaPxjlxxb.builder().build().delete(new QueryWrapper<YgglAttaPxjlxxb>().lambda()
				.eq(YgglAttaPxjlxxb::getOrgCode, orgCode).eq(YgglAttaPxjlxxb::getId, id)), "删除员工培训经历信息表成功");
东州 翁 committed
662
	}
邓实川 committed
663

东州 翁 committed
664 665
	/**
	 * 获取员工工作经历表
邓实川 committed
666
	 * 
东州 翁 committed
667 668 669 670
	 * @param
	 * @return
	 */
	@GetMapping(value = "/gzjlb")
671 672
	@ApiOperation(value = "18.获取员工工作经历表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 18)
东州 翁 committed
673
	public Result<List<YgglAttaGzjlb>> selectgzjlb(@CurrentUser UserBean userBean) {
674 675
		List<YgglAttaGzjlb> ygglAttaGzjlbs = YgglAttaGzjlb.builder().build().selectList(
				new QueryWrapper<YgglAttaGzjlb>().lambda().eq(YgglAttaGzjlb::getOrgCode, userBean.getOrgCode())
676
						.eq(YgglAttaGzjlb::getEmpNum, userBean.getEmpNum()));
677
		return ResultUtil.data(ygglAttaGzjlbs);
太阳与水 committed
678
	}
邓实川 committed
679

太阳与水 committed
680 681
	// 获取员工工作经历表
	@GetMapping(value = "/gzjlb/{empNum}")
682 683
	@ApiOperation(value = "19.获取员工工作经历表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 19)
太阳与水 committed
684
	public Result<List<YgglAttaGzjlb>> selectgzjlb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
685 686 687
		List<YgglAttaGzjlb> ygglAttaGzjlbs = YgglAttaGzjlb.builder().build()
				.selectList(new QueryWrapper<YgglAttaGzjlb>().lambda()
						.eq(YgglAttaGzjlb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaGzjlb::getEmpNum, empNum));
688
		return ResultUtil.data(ygglAttaGzjlbs);
太阳与水 committed
689
	}
邓实川 committed
690

东州 翁 committed
691 692
	/**
	 * 添加/修改员工工作经历表
邓实川 committed
693
	 * 
东州 翁 committed
694 695 696 697
	 * @param
	 * @return
	 */
	@PostMapping(value = "/gzjlb")
698 699
	@ApiOperation(value = "20.添加/修改员工工作经历表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 20)
东州 翁 committed
700 701 702 703
	public Result<YgglAttaGzjlb> addgzjlb(@CurrentUser UserBean userBean, @RequestBody YgglAttaGzjlb ygglAttaGzjlb) {
		ygglAttaGzjlb.setEmpNum(ygglAttaGzjlb.getEmpNum());
		ygglAttaGzjlb.setOrgCode(userBean.getOrgCode());
		ygglAttaGzjlb.insertOrUpdate();
704
		return ResultUtil.data(ygglAttaGzjlb, "修改员工工作经历表成功");
东州 翁 committed
705
	}
邓实川 committed
706

东州 翁 committed
707 708
	/**
	 * 删除员工工作经历表
邓实川 committed
709
	 * 
东州 翁 committed
710 711 712 713
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/gzjlb/{id}")
714 715
	@ApiOperation(value = "21.删除员工工作经历表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 21)
东州 翁 committed
716 717
	public Result<Boolean> delgzjlb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
718 719
		return ResultUtil.data(YgglAttaGzjlb.builder().build().delete(new QueryWrapper<YgglAttaGzjlb>().lambda()
				.eq(YgglAttaGzjlb::getOrgCode, orgCode).eq(YgglAttaGzjlb::getId, id)), "删除员工工作经历表成功");
东州 翁 committed
720
	}
邓实川 committed
721

东州 翁 committed
722 723
	/**
	 * 获取员工职称信息表
邓实川 committed
724
	 * 
东州 翁 committed
725 726 727 728
	 * @param
	 * @return
	 */
	@GetMapping(value = "/zcxxb")
729 730
	@ApiOperation(value = "22.获取员工职称信息表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 22)
东州 翁 committed
731
	public Result<List<YgglAttaZcxxb>> selectzcxxb(@CurrentUser UserBean userBean) {
732 733
		List<YgglAttaZcxxb> ygglAttaZcxxbs = YgglAttaZcxxb.builder().build().selectList(
				new QueryWrapper<YgglAttaZcxxb>().lambda().eq(YgglAttaZcxxb::getOrgCode, userBean.getOrgCode())
734
						.eq(YgglAttaZcxxb::getEmpNum, userBean.getEmpNum()));
735
		return ResultUtil.data(ygglAttaZcxxbs);
东州 翁 committed
736
	}
邓实川 committed
737

太阳与水 committed
738 739
	// 获取员工职称信息表
	@GetMapping(value = "/zcxxb/{empNum}")
740 741
	@ApiOperation(value = "23.获取员工职称信息表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 23)
太阳与水 committed
742
	public Result<List<YgglAttaZcxxb>> selectzcxxb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
743 744 745
		List<YgglAttaZcxxb> ygglAttaZcxxbs = YgglAttaZcxxb.builder().build()
				.selectList(new QueryWrapper<YgglAttaZcxxb>().lambda()
						.eq(YgglAttaZcxxb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaZcxxb::getEmpNum, empNum));
746
		return ResultUtil.data(ygglAttaZcxxbs);
太阳与水 committed
747
	}
邓实川 committed
748

东州 翁 committed
749 750
	/**
	 * 添加/修改员工职称信息表
邓实川 committed
751
	 * 
东州 翁 committed
752 753 754 755
	 * @param
	 * @return
	 */
	@PostMapping(value = "/zcxxb")
756 757
	@ApiOperation(value = "24.添加/修改员工职称信息表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 24)
东州 翁 committed
758 759 760 761
	public Result<YgglAttaZcxxb> addzcxxb(@CurrentUser UserBean userBean, @RequestBody YgglAttaZcxxb ygglAttaZcxxb) {
		ygglAttaZcxxb.setEmpNum(ygglAttaZcxxb.getEmpNum());
		ygglAttaZcxxb.setOrgCode(userBean.getOrgCode());
		ygglAttaZcxxb.insertOrUpdate();
762
		return ResultUtil.data(ygglAttaZcxxb, "修改员工职称信息表成功");
东州 翁 committed
763
	}
邓实川 committed
764

东州 翁 committed
765 766
	/**
	 * 删除员工职称信息表
邓实川 committed
767
	 * 
东州 翁 committed
768 769 770 771
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/zcxxb/{id}")
772 773
	@ApiOperation(value = "25.删除员工职称信息表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 25)
东州 翁 committed
774 775
	public Result<Boolean> delzcxxb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
776 777
		return ResultUtil.data(YgglAttaZcxxb.builder().build().delete(new QueryWrapper<YgglAttaZcxxb>().lambda()
				.eq(YgglAttaZcxxb::getOrgCode, orgCode).eq(YgglAttaZcxxb::getId, id)), "删除员工职称信息表成功");
东州 翁 committed
778
	}
邓实川 committed
779

东州 翁 committed
780 781
	/**
	 * 获取员工证书证件表
邓实川 committed
782
	 * 
东州 翁 committed
783 784 785 786
	 * @param
	 * @return
	 */
	@GetMapping(value = "/zszjb")
787 788
	@ApiOperation(value = "26.获取员工证书证件表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 26)
东州 翁 committed
789
	public Result<List<YgglAttaZszjb>> selectzszjb(@CurrentUser UserBean userBean) {
790 791 792
		List<YgglAttaZszjb> ygglAttaZszjbs = YgglAttaZszjb.builder().build().selectList(
				new QueryWrapper<YgglAttaZszjb>().lambda().eq(YgglAttaZszjb::getOrgCode, userBean.getOrgCode())
						.eq(YgglAttaZszjb::getEmpNum, userBean.getEmpNum()));
793
		return ResultUtil.data(ygglAttaZszjbs);
东州 翁 committed
794
	}
邓实川 committed
795

太阳与水 committed
796 797
	// 获取员工证书证件表
	@GetMapping(value = "/zszjb/{empNum}")
798 799
	@ApiOperation(value = "27.获取员工证书证件表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 27)
太阳与水 committed
800
	public Result<List<YgglAttaZszjb>> selectzszjb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
801 802 803
		List<YgglAttaZszjb> ygglAttaZszjbs = YgglAttaZszjb.builder().build()
				.selectList(new QueryWrapper<YgglAttaZszjb>().lambda()
						.eq(YgglAttaZszjb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaZszjb::getEmpNum, empNum));
804
		return ResultUtil.data(ygglAttaZszjbs);
太阳与水 committed
805
	}
邓实川 committed
806

东州 翁 committed
807 808
	/**
	 * 添加/修改员工证书证件表
邓实川 committed
809
	 * 
东州 翁 committed
810 811 812 813
	 * @param
	 * @return
	 */
	@PostMapping(value = "/zszjb")
814 815
	@ApiOperation(value = "28.添加/修改员工证书证件表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 28)
东州 翁 committed
816 817 818 819
	public Result<YgglAttaZszjb> addzszjb(@CurrentUser UserBean userBean, @RequestBody YgglAttaZszjb ygglAttaZszjb) {
		ygglAttaZszjb.setEmpNum(ygglAttaZszjb.getEmpNum());
		ygglAttaZszjb.setOrgCode(userBean.getOrgCode());
		ygglAttaZszjb.insertOrUpdate();
820
		return ResultUtil.data(ygglAttaZszjb, "修改员工证书证件表成功");
太阳与水 committed
821
	}
邓实川 committed
822

东州 翁 committed
823 824
	/**
	 * 删除员工证书证件表
邓实川 committed
825
	 * 
东州 翁 committed
826 827 828 829
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/zszjb/{id}")
830 831
	@ApiOperation(value = "29.删除员工证书证件表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 29)
东州 翁 committed
832 833
	public Result<Boolean> delzszjb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
834 835
		return ResultUtil.data(YgglAttaZszjb.builder().build().delete(new QueryWrapper<YgglAttaZszjb>().lambda()
				.eq(YgglAttaZszjb::getOrgCode, orgCode).eq(YgglAttaZszjb::getId, id)), "删除员工证书证件表成功");
太阳与水 committed
836
	}
邓实川 committed
837

东州 翁 committed
838 839
	/**
	 * 获取员工联系信息表
邓实川 committed
840
	 * 
东州 翁 committed
841 842 843 844
	 * @param
	 * @return
	 */
	@GetMapping(value = "/lxxxb")
845 846
	@ApiOperation(value = "30.获取员工联系信息表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 30)
东州 翁 committed
847
	public Result<List<YgglAttaLxxxb>> selectlxxxb(@CurrentUser UserBean userBean) {
848 849
		List<YgglAttaLxxxb> ygglAttaLxxxbs = YgglAttaLxxxb.builder().build().selectList(
				new QueryWrapper<YgglAttaLxxxb>().lambda().eq(YgglAttaLxxxb::getOrgCode, userBean.getOrgCode())
850
						.eq(YgglAttaLxxxb::getEmpNum, userBean.getEmpNum()));
851
		return ResultUtil.data(ygglAttaLxxxbs);
东州 翁 committed
852
	}
邓实川 committed
853

东州 翁 committed
854 855
	// 获取员工联系信息表
	@GetMapping(value = "/lxxxb/{empNum}")
856 857
	@ApiOperation(value = "31.获取员工联系信息表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 31)
东州 翁 committed
858
	public Result<List<YgglAttaLxxxb>> selectlxxxb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
859 860 861
		List<YgglAttaLxxxb> ygglAttaLxxxbs = YgglAttaLxxxb.builder().build()
				.selectList(new QueryWrapper<YgglAttaLxxxb>().lambda()
						.eq(YgglAttaLxxxb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaLxxxb::getEmpNum, empNum));
862
		return ResultUtil.data(ygglAttaLxxxbs);
东州 翁 committed
863
	}
邓实川 committed
864

东州 翁 committed
865 866
	/**
	 * 添加/修改员工联系信息表
邓实川 committed
867
	 * 
东州 翁 committed
868 869 870 871
	 * @param
	 * @return
	 */
	@PostMapping(value = "/lxxxb")
872 873
	@ApiOperation(value = "32.添加/修改员工联系信息表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 32)
东州 翁 committed
874 875 876 877
	public Result<YgglAttaLxxxb> addlxxxb(@CurrentUser UserBean userBean, @RequestBody YgglAttaLxxxb ygglAttaLxxxb) {
		ygglAttaLxxxb.setEmpNum(ygglAttaLxxxb.getEmpNum());
		ygglAttaLxxxb.setOrgCode(userBean.getOrgCode());
		ygglAttaLxxxb.insertOrUpdate();
878
		return ResultUtil.data(ygglAttaLxxxb, "修改员工联系信息表成功");
东州 翁 committed
879
	}
邓实川 committed
880

东州 翁 committed
881 882
	/**
	 * 删除员工联系信息表
邓实川 committed
883
	 * 
东州 翁 committed
884 885 886 887
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/lxxxb/{id}")
888 889
	@ApiOperation(value = "33.删除员工联系信息表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 33)
东州 翁 committed
890 891
	public Result<Boolean> dellxxxb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
892 893
		return ResultUtil.data(YgglAttaLxxxb.builder().build().delete(new QueryWrapper<YgglAttaLxxxb>().lambda()
				.eq(YgglAttaLxxxb::getOrgCode, orgCode).eq(YgglAttaLxxxb::getId, id)), "删除员工联系信息表成功");
东州 翁 committed
894
	}
邓实川 committed
895

东州 翁 committed
896 897
	/**
	 * 获取员工紧急联系人表
邓实川 committed
898
	 * 
东州 翁 committed
899 900 901 902
	 * @param
	 * @return
	 */
	@GetMapping(value = "/jjlxr")
903 904
	@ApiOperation(value = "34.获取员工紧急联系人表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 34)
东州 翁 committed
905
	public Result<List<YgglAttaJjlxr>> selectjjlxr(@CurrentUser UserBean userBean) {
906 907
		List<YgglAttaJjlxr> ygglAttaJjlxrs = YgglAttaJjlxr.builder().build().selectList(
				new QueryWrapper<YgglAttaJjlxr>().lambda().eq(YgglAttaJjlxr::getOrgCode, userBean.getOrgCode())
908
						.eq(YgglAttaJjlxr::getEmpNum, userBean.getEmpNum()));
909
		return ResultUtil.data(ygglAttaJjlxrs);
东州 翁 committed
910
	}
邓实川 committed
911

东州 翁 committed
912 913
	// 获取员工紧急联系人表
	@GetMapping(value = "/jjlxr/{empNum}")
914 915
	@ApiOperation(value = "35.获取员工紧急联系人表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 35)
916
	public Result<List<YgglAttaJjlxr>> selectjjlxr(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
917 918 919
		List<YgglAttaJjlxr> ygglAttaJjlxrs = YgglAttaJjlxr.builder().build()
				.selectList(new QueryWrapper<YgglAttaJjlxr>().lambda()
						.eq(YgglAttaJjlxr::getOrgCode, userBean.getOrgCode()).eq(YgglAttaJjlxr::getEmpNum, empNum));
920
		return ResultUtil.data(ygglAttaJjlxrs);
太阳与水 committed
921
	}
邓实川 committed
922

东州 翁 committed
923 924
	/**
	 * 添加/修改员工紧急联系人表
邓实川 committed
925
	 * 
东州 翁 committed
926 927 928 929
	 * @param
	 * @return
	 */
	@PostMapping(value = "/jjlxr")
930 931
	@ApiOperation(value = "36.添加/修改员工紧急联系人表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 36)
东州 翁 committed
932 933 934 935
	public Result<YgglAttaJjlxr> addjjlxr(@CurrentUser UserBean userBean, @RequestBody YgglAttaJjlxr ygglAttaJjlxr) {
		ygglAttaJjlxr.setEmpNum(ygglAttaJjlxr.getEmpNum());
		ygglAttaJjlxr.setOrgCode(userBean.getOrgCode());
		ygglAttaJjlxr.insertOrUpdate();
936
		return ResultUtil.data(ygglAttaJjlxr, "修改员工紧急联系人表成功");
东州 翁 committed
937
	}
邓实川 committed
938

东州 翁 committed
939 940
	/**
	 * 删除员工紧急联系人表
邓实川 committed
941
	 * 
东州 翁 committed
942 943 944 945
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/jjlxr/{id}")
946 947
	@ApiOperation(value = "37.删除员工紧急联系人表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 37)
东州 翁 committed
948 949
	public Result<Boolean> deljjlxr(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
950 951
		return ResultUtil.data(YgglAttaJjlxr.builder().build().delete(new QueryWrapper<YgglAttaJjlxr>().lambda()
				.eq(YgglAttaJjlxr::getOrgCode, orgCode).eq(YgglAttaJjlxr::getId, id)), "删除员工紧急联系人表成功");
东州 翁 committed
952
	}
邓实川 committed
953

东州 翁 committed
954 955 956
	// 获取工资卡信息
	/**
	 * 获取员工工资卡信息
邓实川 committed
957
	 * 
东州 翁 committed
958 959 960 961
	 * @param
	 * @return
	 */
	@GetMapping(value = "/gzk")
962 963
	@ApiOperation(value = "38.获取员工工资卡信息", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 38)
东州 翁 committed
964
	public Result<List<YgglAttaGzk>> selectgzk(@CurrentUser UserBean userBean) {
965
		List<YgglAttaGzk> ygglAttaGzks = YgglAttaGzk.builder().build()
966
				.selectList(new QueryWrapper<YgglAttaGzk>().lambda().eq(YgglAttaGzk::getOrgCode, userBean.getOrgCode())
967
						.eq(YgglAttaGzk::getEmpNum, userBean.getEmpNum()));
968
		return ResultUtil.data(ygglAttaGzks);
东州 翁 committed
969
	}
邓实川 committed
970

太阳与水 committed
971 972
	// 获取工资卡信息
	@GetMapping(value = "/gzk/{empNum}")
973 974
	@ApiOperation(value = "39.获取员工工资卡信息(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 39)
太阳与水 committed
975
	public Result<List<YgglAttaGzk>> selectgzk(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
976 977
		List<YgglAttaGzk> ygglAttaGzks = YgglAttaGzk.builder().build().selectList(new QueryWrapper<YgglAttaGzk>()
				.lambda().eq(YgglAttaGzk::getOrgCode, userBean.getOrgCode()).eq(YgglAttaGzk::getEmpNum, empNum));
978
		return ResultUtil.data(ygglAttaGzks);
太阳与水 committed
979
	}
邓实川 committed
980

东州 翁 committed
981 982
	/**
	 * 添加/修改工资卡信息
邓实川 committed
983
	 * 
东州 翁 committed
984 985 986 987
	 * @param
	 * @return
	 */
	@PostMapping(value = "/gzk")
988 989
	@ApiOperation(value = "40.添加/修改工资卡信息", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 40)
东州 翁 committed
990 991 992 993
	public Result<YgglAttaGzk> addgzk(@CurrentUser UserBean userBean, @RequestBody YgglAttaGzk ygglAttaGzk) {
		ygglAttaGzk.setEmpNum(ygglAttaGzk.getEmpNum());
		ygglAttaGzk.setOrgCode(userBean.getOrgCode());
		ygglAttaGzk.insertOrUpdate();
994
		return ResultUtil.data(ygglAttaGzk, "修改工资卡信息成功");
东州 翁 committed
995
	}
邓实川 committed
996

东州 翁 committed
997 998
	/**
	 * 删除工资卡信息
邓实川 committed
999
	 * 
东州 翁 committed
1000 1001 1002 1003
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/gzk/{id}")
1004 1005
	@ApiOperation(value = "41.删除工资卡信息", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 41)
东州 翁 committed
1006 1007
	public Result<Boolean> delgzk(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
1008 1009
		return ResultUtil.data(YgglAttaGzk.builder().build().delete(new QueryWrapper<YgglAttaGzk>().lambda()
				.eq(YgglAttaGzk::getOrgCode, orgCode).eq(YgglAttaGzk::getId, id)), "删除工资卡信息成功");
东州 翁 committed
1010
	}
邓实川 committed
1011

东州 翁 committed
1012 1013
	/**
	 * 获取员工合同信息表
邓实川 committed
1014
	 * 
东州 翁 committed
1015 1016 1017 1018
	 * @param
	 * @return
	 */
	@GetMapping(value = "/htxxb")
1019 1020
	@ApiOperation(value = "42.获取员工合同信息表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 42)
东州 翁 committed
1021
	public Result<List<YgglAttaHtxxb>> selecthtxxb(@CurrentUser UserBean userBean) {
1022 1023
		List<YgglAttaHtxxb> ygglAttaHtxxbs = YgglAttaHtxxb.builder().build().selectList(
				new QueryWrapper<YgglAttaHtxxb>().lambda().eq(YgglAttaHtxxb::getOrgCode, userBean.getOrgCode())
1024
						.eq(YgglAttaHtxxb::getEmpNum, userBean.getEmpNum()));
1025
		return ResultUtil.data(ygglAttaHtxxbs);
东州 翁 committed
1026
	}
邓实川 committed
1027

太阳与水 committed
1028 1029
	// 获取员工合同信息表
	@GetMapping(value = "/htxxb/{empNum}")
1030 1031
	@ApiOperation(value = "43.获取员工合同信息表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 43)
太阳与水 committed
1032
	public Result<List<YgglAttaHtxxb>> selecthtxxb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
1033 1034 1035
		List<YgglAttaHtxxb> ygglAttaHtxxbs = YgglAttaHtxxb.builder().build()
				.selectList(new QueryWrapper<YgglAttaHtxxb>().lambda()
						.eq(YgglAttaHtxxb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaHtxxb::getEmpNum, empNum));
1036
		return ResultUtil.data(ygglAttaHtxxbs);
太阳与水 committed
1037
	}
邓实川 committed
1038

太阳与水 committed
1039
	/**
东州 翁 committed
1040
	 * 添加/修改员工合同信息表
邓实川 committed
1041
	 * 
太阳与水 committed
1042 1043 1044
	 * @param
	 * @return
	 */
东州 翁 committed
1045
	@PostMapping(value = "/htxxb")
1046 1047
	@ApiOperation(value = "44.添加/修改员工合同信息表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 44)
东州 翁 committed
1048 1049 1050 1051
	public Result<YgglAttaHtxxb> addhtxxb(@CurrentUser UserBean userBean, @RequestBody YgglAttaHtxxb ygglAttaHtxxb) {
		ygglAttaHtxxb.setEmpNum(ygglAttaHtxxb.getEmpNum());
		ygglAttaHtxxb.setOrgCode(userBean.getOrgCode());
		ygglAttaHtxxb.insertOrUpdate();
1052
		return ResultUtil.data(ygglAttaHtxxb, "修改员工合同信息表成功");
太阳与水 committed
1053
	}
邓实川 committed
1054

太阳与水 committed
1055
	/**
东州 翁 committed
1056
	 * 删除员工合同信息表
邓实川 committed
1057
	 * 
太阳与水 committed
1058 1059 1060
	 * @param
	 * @return
	 */
东州 翁 committed
1061
	@DeleteMapping(value = "/htxxb/{id}")
1062 1063
	@ApiOperation(value = "45.删除员工合同信息表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 45)
东州 翁 committed
1064 1065
	public Result<Boolean> delhtxxb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
1066 1067
		return ResultUtil.data(YgglAttaHtxxb.builder().build().delete(new QueryWrapper<YgglAttaHtxxb>().lambda()
				.eq(YgglAttaHtxxb::getOrgCode, orgCode).eq(YgglAttaHtxxb::getId, id)), "删除员工合同信息表成功");
太阳与水 committed
1068
	}
邓实川 committed
1069

太阳与水 committed
1070
	/**
东州 翁 committed
1071
	 * 获取员工材料附件表
1072
	 * 
1073 1074 1075
	 * @param
	 * @return
	 */
东州 翁 committed
1076
	@GetMapping(value = "/clfjb")
1077 1078
	@ApiOperation(value = "46.获取员工材料附件表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 46)
东州 翁 committed
1079
	public Result<List<YgglAttaClfjb>> selectclfjb(@CurrentUser UserBean userBean) {
1080 1081
		List<YgglAttaClfjb> ygglAttaClfjbs = YgglAttaClfjb.builder().build().selectList(
				new QueryWrapper<YgglAttaClfjb>().lambda().eq(YgglAttaClfjb::getOrgCode, userBean.getOrgCode())
1082
						.eq(YgglAttaClfjb::getEmpNum, userBean.getEmpNum()));
1083
		return ResultUtil.data(ygglAttaClfjbs);
1084
	}
邓实川 committed
1085

东州 翁 committed
1086 1087
	// 获取员工材料附件表
	@GetMapping(value = "/clfjb/{empNum}")
1088 1089
	@ApiOperation(value = "47.获取员工材料附件表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 47)
东州 翁 committed
1090
	public Result<List<YgglAttaClfjb>> selectclfjb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
1091 1092 1093
		List<YgglAttaClfjb> ygglAttaClfjbs = YgglAttaClfjb.builder().build()
				.selectList(new QueryWrapper<YgglAttaClfjb>().lambda()
						.eq(YgglAttaClfjb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaClfjb::getEmpNum, empNum));
1094
		return ResultUtil.data(ygglAttaClfjbs);
1095
	}
邓实川 committed
1096

1097
	/**
东州 翁 committed
1098
	 * 添加/修改员工材料附件表
邓实川 committed
1099
	 * 
1100 1101 1102
	 * @param
	 * @return
	 */
东州 翁 committed
1103
	@PostMapping(value = "/clfjb")
1104 1105
	@ApiOperation(value = "48.添加/修改员工材料附件表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 48)
东州 翁 committed
1106 1107 1108 1109
	public Result<YgglAttaClfjb> addclfjb(@CurrentUser UserBean userBean, @RequestBody YgglAttaClfjb ygglAttaClfjb) {
		ygglAttaClfjb.setOrgCode(userBean.getOrgCode());
		ygglAttaClfjb.setEmpNum(ygglAttaClfjb.getEmpNum());
		ygglAttaClfjb.insertOrUpdate();
1110
		return ResultUtil.data(ygglAttaClfjb, "修改员工材料附件表成功");
1111
	}
邓实川 committed
1112

1113
	/**
东州 翁 committed
1114
	 * 删除员工材料附件表
邓实川 committed
1115
	 * 
1116 1117 1118 1119
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/clfjb/{id}")
1120 1121
	@ApiOperation(value = "49.删除员工材料附件表", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 49)
东州 翁 committed
1122 1123
	public Result<Boolean> delclfjb(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
1124 1125
		return ResultUtil.data(YgglAttaClfjb.builder().build().delete(new QueryWrapper<YgglAttaClfjb>().lambda()
				.eq(YgglAttaClfjb::getOrgCode, orgCode).eq(YgglAttaClfjb::getId, id)), "删除员工材料附件表成功");
1126
	}
邓实川 committed
1127

东州 翁 committed
1128 1129
	/**
	 * 获取成长记录表
邓实川 committed
1130
	 * 
东州 翁 committed
1131 1132 1133 1134
	 * @param
	 * @return
	 */
	@GetMapping(value = "/czjlb")
1135 1136
	@ApiOperation(value = "50.获取成长记录表", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 50)
东州 翁 committed
1137
	public Result<List<YgglAttaCzjlb>> selectczjlb(@CurrentUser UserBean userBean) {
1138 1139
		List<YgglAttaCzjlb> ygglAttaCzjlbs = YgglAttaCzjlb.builder().build().selectList(
				new QueryWrapper<YgglAttaCzjlb>().lambda().eq(YgglAttaCzjlb::getOrgCode, userBean.getOrgCode())
1140
						.eq(YgglAttaCzjlb::getEmpNum, userBean.getEmpNum()));
1141
		return ResultUtil.data(ygglAttaCzjlbs);
东州 翁 committed
1142
	}
邓实川 committed
1143

东州 翁 committed
1144 1145
	// 获取成长记录表
	@GetMapping(value = "/czjlb/{empNum}")
1146 1147
	@ApiOperation(value = "51.获取成长记录表(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 51)
东州 翁 committed
1148
	public Result<List<YgglAttaCzjlb>> selectczjlb(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {
1149 1150 1151
		List<YgglAttaCzjlb> ygglAttaCzjlbs = YgglAttaCzjlb.builder().build()
				.selectList(new QueryWrapper<YgglAttaCzjlb>().lambda()
						.eq(YgglAttaCzjlb::getOrgCode, userBean.getOrgCode()).eq(YgglAttaCzjlb::getEmpNum, empNum));
1152
		return ResultUtil.data(ygglAttaCzjlbs);
东州 翁 committed
1153
	}
邓实川 committed
1154

东州 翁 committed
1155 1156
	/**
	 * 添加/修改成长记录表
邓实川 committed
1157
	 * 
东州 翁 committed
1158 1159 1160 1161
	 * @param
	 * @return
	 */
	@PostMapping(value = "/czjlb")
1162 1163
	@ApiOperation(value = "52.添加/修改成长记录表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 52)
东州 翁 committed
1164 1165 1166 1167
	public Result<YgglAttaCzjlb> addczjlb(@CurrentUser UserBean userBean, @RequestBody YgglAttaCzjlb ygglAttaCzjlb) {
		ygglAttaCzjlb.setEmpNum(ygglAttaCzjlb.getEmpNum());
		ygglAttaCzjlb.setOrgCode(userBean.getOrgCode());
		ygglAttaCzjlb.insertOrUpdate();
1168
		return ResultUtil.data(ygglAttaCzjlb, "修改成长记录表成功");
东州 翁 committed
1169
	}
邓实川 committed
1170

东州 翁 committed
1171 1172
	/**
	 * 获取单个离职员工信息(管)
邓实川 committed
1173
	 * 
东州 翁 committed
1174 1175 1176 1177
	 * @param
	 * @return
	 */
	@GetMapping(value = "/lzb/{empNum}")
1178 1179
	@ApiOperation(value = "53.获取单个离职员工信息(管)", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 53)
东州 翁 committed
1180 1181 1182
	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();
1183
		return ResultUtil.data(lzyg);
东州 翁 committed
1184
	}
邓实川 committed
1185

东州 翁 committed
1186 1187
	/**
	 * 员工转正
邓实川 committed
1188
	 * 
东州 翁 committed
1189 1190 1191 1192
	 * @param
	 * @return
	 */
	@PostMapping(value = "/ygzz")
1193 1194
	@ApiOperation(value = "54.员工转正", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 54)
东州 翁 committed
1195
	public Result<Void> ygzz(@CurrentUser UserBean userBean, @RequestBody YgzzDto ygzzDto) {
1196

1197
		YgglMainEmp.builder().jobStatus(jobStatus.ZHENSHI.getType()).zzTime(ygzzDto.getZzTime()).sjzzTime(new Date())
1198 1199
				.zzRemark(ygzzDto.getZzRemark()).build()
				.update(new UpdateWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getEmpNum, ygzzDto.getEmpNum()));
1200
		return ResultUtil.success("转正成功!");
东州 翁 committed
1201
	}
邓实川 committed
1202

东州 翁 committed
1203 1204
	/**
	 * 计划离职 type2-3
邓实川 committed
1205
	 * 
东州 翁 committed
1206 1207 1208 1209
	 * @param
	 * @return
	 */
	@PostMapping(value = "/addlzjh")
1210 1211
	@ApiOperation(value = "55.添加离职计划", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 55)
东州 翁 committed
1212
	public Result<YgglMainLzb> addjhlz(@CurrentUser UserBean userBean, @RequestBody LzygQueryDto lzygQueryDto) {
1213

1214
		Integer empNum = lzygQueryDto.getEmpNum();
1215

1216
		YgglMainEmp ygglMainEmp = ygglMainEmpMapper.selectOne(new QueryWrapper<YgglMainEmp>().lambda()
1217
				.eq(YgglMainEmp::getEmpNum, empNum).eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()));
东州 翁 committed
1218 1219
		YgglMainLzb ygglMainLzb = YgglMainLzb.builder().empNum(lzygQueryDto.getEmpNum()).build();
		// 移动员工表数据到离职表
1220
		BeanUtil.copyProperties(ygglMainEmp, ygglMainLzb, "before_leaving_sts");
东州 翁 committed
1221
		ygglMainLzb.insert();
1222

1223
		YgglMainEmp.builder().empNum(lzygQueryDto.getEmpNum()).jobStatus(jobStatus.LIZHIZHONG.getType())
1224 1225
				.beforeLeavingSts(ygglMainEmp.getJobStatus()).build()
				.update(new UpdateWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getEmpNum, empNum));
1226
		YgglMainLzb.builder().jobStatus(jobStatus.LIZHIZHONG.getType()).lzTime(lzygQueryDto.getLzTime())
1227 1228
				.lzyy(lzygQueryDto.getLzyy()).lzbz(lzygQueryDto.getLzbz()).build()
				.update(new UpdateWrapper<YgglMainLzb>().lambda().eq(YgglMainLzb::getEmpNum, empNum));
1229

东州 翁 committed
1230 1231
		return ResultUtil.data(ygglMainLzb, "添加待离职员工成功");
	}
邓实川 committed
1232

1233
	/**
东州 翁 committed
1234
	 * 确认离职 type3-4
邓实川 committed
1235
	 * 
太阳与水 committed
1236 1237
	 * @param
	 * @return
东州 翁 committed
1238 1239
	 */
	@PostMapping(value = "/qrlz")
1240 1241
	@ApiOperation(value = "56.确认离职", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 56)
东州 翁 committed
1242
	public Result<Void> addlzb(@CurrentUser UserBean userBean, @RequestBody LzygQueryDto lzygQueryDto) {
1243
		Integer empNum = lzygQueryDto.getEmpNum();
1244 1245
		// 删除员工档案表
		ygglMainEmpMapper.delete(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getEmpNum, empNum));
1246

1247 1248
		YgglMainLzb.builder().empNum(empNum).jobStatus(YgEnumInterface.jobStatus.YILIZHI.getType()).sjlzTime(new Date())
				.build().update(new UpdateWrapper<YgglMainLzb>().lambda().eq(YgglMainLzb::getEmpNum, empNum));
1249

1250 1251 1252
		LambdaQueryWrapper<QyzxEmpEntAsso> queryWrapper = new QueryWrapper<QyzxEmpEntAsso>().lambda()
				.eq(QyzxEmpEntAsso::getEmpNum, empNum);

1253
		// 确认离职 删除员工关联表
1254
		qyzxEmpEntAssoMapper.delete(queryWrapper);
1255 1256 1257 1258

		// 初始化 部门主管
		zzglBmgwMMapper.update(ZzglBmgwM.builder().leader(null).build(),
				new UpdateWrapper<ZzglBmgwM>().lambda().eq(ZzglBmgwM::getLeader, empNum));
1259

1260 1261 1262 1263 1264
		// 更新当前企业
		List<QyzxEmpEntAsso> listEEA = qyzxEmpEntAssoMapper.selectList(queryWrapper);
		if (listEEA != null && listEEA.size() > 0) {
			QyzxEmpLogin.builder().id(empNum).orgId(CollUtil.getFirst(listEEA).getOrgCode()).build().updateById();
		}
1265

东州 翁 committed
1266 1267
		return ResultUtil.success("确认离职员工成功");
	}
邓实川 committed
1268

东州 翁 committed
1269 1270
	/**
	 * 放弃离职 type3-2
邓实川 committed
1271
	 * 
东州 翁 committed
1272 1273 1274 1275
	 * @param
	 * @return
	 */
	@PostMapping(value = "/fqlz")
1276 1277
	@ApiOperation(value = "57.放弃离职", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 57)
东州 翁 committed
1278
	public Result<Void> fqlz(@CurrentUser UserBean userBean, @RequestBody LzygQueryDto lzygQueryDto) {
1279 1280 1281 1282 1283 1284 1285

		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()));
东州 翁 committed
1286
		// 删除离职表
1287 1288
		YgglMainLzb.builder().id(lzygQueryDto.getEmpNum()).build()
				.delete(new QueryWrapper<YgglMainLzb>().lambda().eq(YgglMainLzb::getEmpNum, lzygQueryDto.getEmpNum()));
东州 翁 committed
1289 1290 1291

		return ResultUtil.success("放弃成功");
	}
邓实川 committed
1292

东州 翁 committed
1293
	@PostMapping(value = "/tzlzyy")
1294 1295
	@ApiOperation(value = "58.调整离职", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 58)
东州 翁 committed
1296 1297
	public Result<YgglMainLzb> tzlzyy(@CurrentUser UserBean userBean, @RequestBody YgglMainLzb ygglMainLzb) {

邓实川 committed
1298
		if (ygglMainLzb.getEmpNum() != null) {
1299 1300 1301
			ygglMainLzb
					.update(new UpdateWrapper<YgglMainLzb>().lambda().eq(YgglMainLzb::getOrgCode, userBean.getOrgCode())
							.eq(YgglMainLzb::getEmpNum, ygglMainLzb.getEmpNum()));
邓实川 committed
1302 1303
			return ResultUtil.data(ygglMainLzb, "修改成功");
		}
1304
		return ResultUtil.error("请确认该员工是否存在!");
邓实川 committed
1305

东州 翁 committed
1306
	}
邓实川 committed
1307

东州 翁 committed
1308 1309
	/**
	 * 查询离职员工列表
邓实川 committed
1310
	 * 
东州 翁 committed
1311 1312 1313 1314
	 * @param
	 * @return
	 */
	@PostMapping(value = "/querylzyg")
1315 1316
	@ApiOperation(value = "59.查询离职员工列表", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 59)
东州 翁 committed
1317 1318
	public Result<Object> querylzyg(@CurrentUser UserBean userBean, @RequestBody LzbQueryDto lzygQueryDto) {
		lzygQueryDto.setOrgCode(userBean.getOrgCode());
邓实川 committed
1319

东州 翁 committed
1320 1321 1322 1323 1324
		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, "离职员工搜索成功");
太阳与水 committed
1325
	}
邓实川 committed
1326

1327 1328
	/**
	 * 展示民族/展示所有民族
邓实川 committed
1329
	 * 
1330 1331
	 * @param
	 * @return
邓实川 committed
1332
	 */
1333
	@PostMapping(value = "/mz/{id}")
1334 1335
	@ApiOperation(value = "60.展示民族/展示所有民族", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 60)
1336
	public Result<List<YgmzDto>> selectmzs(@CurrentUser UserBean userBean, @PathVariable Integer id) {
邓实川 committed
1337 1338 1339
		if (id == null || id == 0) {
			List<YgmzDto> allmz = new LambdaQueryChainWrapper<YgmzDto>(ygMzDtoMapper).list();
			return ResultUtil.data(allmz, "展示所有民族");
1340
		}
邓实川 committed
1341 1342
		List<YgmzDto> mz = new LambdaQueryChainWrapper<YgmzDto>(ygMzDtoMapper).eq(YgmzDto::getNumber, id).list();
		return ResultUtil.data(mz, "展示该民族");
1343
	}
1344

1345 1346
	@Autowired
	CommonAreaMapper commonAreaMapper;
1347

1348
	/**
1349
	 * 籍贯树
1350 1351 1352 1353 1354
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/native_place")
1355 1356
	@ApiOperation(value = "61.籍贯树", httpMethod = "GET", notes = "籍贯树")
	@ApiOperationSupport(order = 61)
1357
	public Result<List<CommonArea>> selectNativePlace() {
1358

1359
		List<CommonArea> listCommonArea = commonAreaMapper.AllAreaForTree();
1360
		return ResultUtil.data(listCommonArea);
1361

1362
	}
邓实川 committed
1363

1364
	/**
1365
	 * 查询员工列表
邓实川 committed
1366
	 * 
1367 1368 1369 1370
	 * @param
	 * @return
	 */
	@GetMapping(value = "/queryemp")
1371
	@ApiOperation(value = "62.查询员工列表", httpMethod = "GET", notes = "接口发布说明")
东州 翁 committed
1372
	@ApiOperationSupport(order = 62)
1373
	public Result<List<YgQueryDto>> queryEmpMessage(@CurrentUser UserBean userBean) {
1374
		List<YgQueryDto> ygQueryDto = ygglMainEmpMapper.queryEmpMessage(userBean.getOrgCode());
1375 1376 1377 1378 1379
		for (YgQueryDto yg : ygQueryDto) {
			if (StringUtil.isEmpty(yg.getHeadUrl())) {
				yg.setHeadUrl("");
			}
		}
1380
		return ResultUtil.data(ygQueryDto);
1381
	}
邓实川 committed
1382

1383 1384 1385
	/*************** 统计图 ***************/
	/**
	 * 查询统计图
邓实川 committed
1386
	 * 
1387 1388 1389
	 * @return 成功信息
	 */
	@GetMapping("/yggl")
1390
	@ApiOperation(value = "63.获取员工管理统计图信息", httpMethod = "GET", notes = "接口发布说明")
东州 翁 committed
1391
	@ApiOperationSupport(order = 63)
1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408
	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());
1409 1410 1411
		if (ygglCartogramDto2 != null) {
			map.put("avgAge", ygglCartogramDto2.getAvgAge());
		}
1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423
		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);

1424
		return ResultUtil.data(map);
1425
	}
邓实川 committed
1426

东州 翁 committed
1427
	/**
1428
	 * 员工信息统计图
1429
	 * 
1430 1431 1432
	 * @return 成功信息(weng)
	 */
	@GetMapping("/Cartogram")
1433 1434
	@ApiOperation(value = "64.获取员工管理统计图信息", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 64)
1435 1436 1437
	public Result<YgCartogramDto> ygCartogram(@CurrentUser UserBean userBean) {
		Integer orgCode = userBean.getOrgCode();
		List<YgbintuDto> bintu = ygglMainEmpMapper.rsybp(orgCode);
1438

1439
		Map<String, Long> gw = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getGw, Collectors.counting()));
1440
		List<YgKVDto> gwList = new ArrayList<YgKVDto>();
1441 1442
		for (Map.Entry<String, Long> entry : gw.entrySet()) {
			gwList.add(new YgKVDto(entry.getKey(), entry.getValue().toString()));
1443
		}
1444
		Map<String, Long> bm = bintu.stream().collect(Collectors.groupingBy(YgbintuDto::getBm, Collectors.counting()));
1445
		List<YgKVDto> bmList = new ArrayList<YgKVDto>();
1446 1447
		for (Map.Entry<String, Long> entry : bm.entrySet()) {
			bmList.add(new YgKVDto(entry.getKey(), entry.getValue().toString()));
1448
		}
1449 1450
		Map<String, Long> edu = bintu.stream()
				.collect(Collectors.groupingBy(YgbintuDto::getEduname, Collectors.counting()));
1451
		List<YgKVDto> eduList = new ArrayList<YgKVDto>();
1452 1453
		for (Map.Entry<String, Long> entry : edu.entrySet()) {
			eduList.add(new YgKVDto(entry.getKey(), entry.getValue().toString()));
1454
		}
1455 1456
		Map<Integer, Long> jobStatus = bintu.stream()
				.collect(Collectors.groupingBy(YgbintuDto::getJobStatus, Collectors.counting()));
1457
		List<YgKVDto> jobStatusList = new ArrayList<YgKVDto>();
1458 1459
		for (Entry<Integer, Long> entry : jobStatus.entrySet()) {
			jobStatusList.add(new YgKVDto(entry.getKey().toString(), entry.getValue().toString()));
1460
		}
1461 1462
		Map<String, Long> proname = bintu.stream()
				.collect(Collectors.groupingBy(YgbintuDto::getProname, Collectors.counting()));
1463
		List<YgKVDto> pronameList = new ArrayList<YgKVDto>();
1464 1465
		for (Entry<String, Long> entry : proname.entrySet()) {
			pronameList.add(new YgKVDto(entry.getKey().toString(), entry.getValue().toString()));
1466
		}
1467
		Map<String, Integer> workage = YgEnumInterface.workage.choose(bintu);
1468
		List<YgKVDto> workageList = new ArrayList<YgKVDto>();
1469 1470
		for (Entry<String, Integer> entry : workage.entrySet()) {
			workageList.add(new YgKVDto(entry.getKey().toString(), entry.getValue().toString()));
1471
		}
1472
		Map<String, Integer> age = YgEnumInterface.age.choose(bintu);
1473
		List<YgKVDto> ageList = new ArrayList<YgKVDto>();
1474 1475
		for (Entry<String, Integer> entry : age.entrySet()) {
			ageList.add(new YgKVDto(entry.getKey().toString(), entry.getValue().toString()));
1476
		}
1477
		// 在职
1478 1479
		Integer zaizhi = jobStatus.get(YgEnumInterface.jobStatus.ZHENSHI.getType()).intValue()
				+ jobStatus.get(YgEnumInterface.jobStatus.SHIYONG.getType()).intValue();
1480
		// 本月新入职
1481
		Integer xinruzhi = workage.get("本月新入职").intValue();
1482
		// 本月离职
1483
		Integer lizhi = ygglMainEmpMapper.benyueLz(orgCode);
1484
		// 本月转正
1485
		Integer zhuanzhen = ygglMainEmpMapper.benyueZz(orgCode);
1486
		// 平均年龄
1487 1488
		Integer nianlin = age.get("平均年龄").intValue();
		YgCartogramDto ybp = new YgCartogramDto();
1489 1490 1491 1492 1493
		ybp.setOnTheJob(zaizhi);
		ybp.setNewRecruits(xinruzhi);
		ybp.setDimission(lizhi);
		ybp.setRegularization(zhuanzhen);
		ybp.setAverageAge(nianlin);
1494

1495 1496
		ybp.setDepartment(bmList);
		ybp.setPosition(gwList);
1497 1498 1499 1500 1501
		ybp.setEdu(eduList);
		ybp.setJobStatus(jobStatusList);
		ybp.setProname(pronameList);
		ybp.setWorkage(workageList);
		ybp.setAge(ageList);
1502
		return ResultUtil.data(ybp);
1503
	}
1504

1505 1506
	/**
	 * 获取员工社保公积金
邓实川 committed
1507
	 * 
东州 翁 committed
1508 1509 1510 1511
	 * @param
	 * @return
	 */
	@GetMapping(value = "/ygsbgjj")
1512 1513
	@ApiOperation(value = "65.获取员工社保公积金", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 65)
东州 翁 committed
1514
	public Result<List<YgglAttaSbgjj>> selectygsbgjj(@CurrentUser UserBean userBean) {
1515 1516 1517
		List<YgglAttaSbgjj> ygglAttaSbgjj = YgglAttaSbgjj.builder().build().selectList(
				new QueryWrapper<YgglAttaSbgjj>().lambda().eq(YgglAttaSbgjj::getOrgCode, userBean.getOrgCode())
						.eq(YgglAttaSbgjj::getEmpNum, userBean.getEmpNum()));
1518
		return ResultUtil.data(ygglAttaSbgjj);
东州 翁 committed
1519
	}
邓实川 committed
1520

1521 1522
	/**
	 * 获取员工社保公积金
邓实川 committed
1523
	 * 
1524 1525 1526 1527
	 * @param
	 * @return
	 */
	@GetMapping(value = "/ygsbgjj/{empNum}")
1528 1529
	@ApiOperation(value = "66.获取员工社保公积金", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 66)
邓实川 committed
1530 1531 1532
	public Result<YgglAttaSbgjj> selectygsbgjj(@CurrentUser UserBean userBean, @PathVariable Integer empNum) {

		YgglAttaSbgjj ygglAttaSbgjj = YgglAttaSbgjj.builder().build()
1533
				.selectOne(new QueryWrapper<YgglAttaSbgjj>().lambda().eq(YgglAttaSbgjj::getEmpNum, empNum));
1534

1535
		return ResultUtil.data(ygglAttaSbgjj);
1536
	}
邓实川 committed
1537

1538 1539
	/**
	 * 添加/修改员工社保公积金
邓实川 committed
1540
	 * 
1541 1542 1543 1544
	 * @param
	 * @return
	 */
	@PostMapping(value = "/ygsbgjj")
1545 1546
	@ApiOperation(value = "67.添加/修改员工社保公积金", httpMethod = "POST", notes = "接口发布说明")
	@ApiOperationSupport(order = 67)
邓实川 committed
1547
	public Result<YgglAttaSbgjj> addygsbgjj(@CurrentUser UserBean userBean, @RequestBody YgglAttaSbgjj ygglAttaSbgjj) {
1548 1549 1550 1551
		Integer empNum = ygglAttaSbgjj.getEmpNum();
		if (empNum == null) {
			return ResultUtil.error();
		}
邓实川 committed
1552
		YgglAttaSbgjj AttaSbgjj = YgglAttaSbgjj.builder().build()
1553
				.selectOne(new QueryWrapper<YgglAttaSbgjj>().lambda().eq(YgglAttaSbgjj::getEmpNum, empNum));
1554
		if (AttaSbgjj != null) {
1555
			ygglAttaSbgjj.update(new UpdateWrapper<YgglAttaSbgjj>().lambda().eq(YgglAttaSbgjj::getEmpNum, empNum));
邓实川 committed
1556
		} else {
1557 1558 1559
			ygglAttaSbgjj.insert();
		}

1560
		return ResultUtil.data(ygglAttaSbgjj);
1561
	}
邓实川 committed
1562

东州 翁 committed
1563 1564
	/**
	 * 删除员工社保公积金
邓实川 committed
1565
	 * 
东州 翁 committed
1566 1567 1568 1569
	 * @param
	 * @return
	 */
	@DeleteMapping(value = "/ygsbgjj/{id}")
1570 1571
	@ApiOperation(value = "68.删除员工社保公积金", httpMethod = "DELETE", notes = "接口发布说明")
	@ApiOperationSupport(order = 68)
东州 翁 committed
1572 1573
	public Result<Boolean> delygsbgjj(@CurrentUser UserBean userBean, @PathVariable Integer id) {
		Integer orgCode = userBean.getOrgCode();
1574 1575
		return ResultUtil.data(YgglAttaSbgjj.builder().build().delete(new QueryWrapper<YgglAttaSbgjj>().lambda()
				.eq(YgglAttaSbgjj::getOrgCode, orgCode).eq(YgglAttaSbgjj::getId, id)));
东州 翁 committed
1576
	}
邓实川 committed
1577

1578 1579 1580 1581 1582
	@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,
1583
						SysRegion::getRegionName, SysRegion::getMerName, SysRegion::getLevel, SysRegion::getZipCode));
1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594

		// 配置
		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());
1595
			tree.setParentId(treeNode.getRegionCode().toString());
1596 1597 1598
			tree.setName(treeNode.getRegionName());
			// 扩展属性 ...
			tree.putExtra("mer_name", treeNode.getMerName());
1599
			tree.putExtra("zip_code", treeNode.getZipCode());
1600 1601
		});

1602
		return ResultUtil.data(treeNodes);
1603
	}
1604

1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 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
	/**
	 * 获取登录人的相关信息
	 * 
	 * @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)
				.select(YgglMainEmp::getBmgwId, YgglMainEmp::getName, YgglMainEmp::getRzTime, YgglMainEmp::getZzTime,
						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());
			loginInfo.setRegularTime(ygglMainEmp.getRzTime());
		}
1644
		return ResultUtil.data(loginInfo);
1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677
	}

	/**
	 * 获取登录人和上级主管的empNum和名称
	 * 
	 * @param
	 * @return
	 */
	@GetMapping(value = "/loginerChargers")
	@ApiOperation(value = "70.获取登录人和上级主管的empNum和名称", httpMethod = "GET", notes = "接口发布说明")
	@ApiOperationSupport(order = 70)
	public Result<List<LoginerChargeDto>> loginerChargers(@CurrentUser UserBean userBean) {
		Integer orgCode = userBean.getOrgCode();
		ArrayList<Integer> list = new ArrayList<Integer>();
		Integer empNum = userBean.getEmpNum();
		Integer gw = empNumConfirm(orgCode, empNum).getBmgwId();
		List<ZzglBmgwM> zzglBmgwMs = new LambdaQueryChainWrapper<ZzglBmgwM>(zzglBmgwMMapper)
				.eq(ZzglBmgwM::getOrgCode, orgCode).list();
		// 获取该员工的上级部门id 的数组list
		ZzglBmgwM.getUpDepts(list, gw, 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());
				}
			}
		}
		List<YgglMainEmp> ygglMainEmps = empNumsConfirm(orgCode, leaderList);
		List<LoginerChargeDto> loginerChargeDtos = new ArrayList<LoginerChargeDto>();
		for (YgglMainEmp m : ygglMainEmps) {
			if (m.getHeadUrl() == null) {
1678
				m.setHeadUrl(CommonEnum.NULL_STR.getDesc());
1679 1680 1681 1682
			}
			loginerChargeDtos.add(new LoginerChargeDto(m.getEmpNum(), m.getName(), m.getHeadUrl()));
		}
		Collections.reverse(loginerChargeDtos);
1683
		return ResultUtil.data(loginerChargeDtos);
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 1727 1728 1729
	}

	// 根据传来的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) {
		if (empNumList.size() == 0) {
			return ResultUtil.error("请输入empNum数组");
		}
		List<YgglMainEmp> yglList = YgglMainEmp.builder().build()
				.selectList(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getOrgCode, userBean.getOrgCode())
						.in(YgglMainEmp::getEmpNum, empNumList)
						.select(YgglMainEmp::getEmpNum, YgglMainEmp::getName, YgglMainEmp::getHeadUrl));
		for (YgglMainEmp yg : yglList) {
			if (StringUtil.isEmpty(yg.getHeadUrl())) {
1730
				yg.setHeadUrl(CommonEnum.NULL_STR.getDesc());
1731 1732
			}
		}
1733
		return ResultUtil.data(yglList);
1734
	}
1735

1736
}