From 12d80bca1bf32cb05451877b553c0eef8ca16e9b Mon Sep 17 00:00:00 2001
From: lal <lalqqhy@163.com>
Date: Thu, 4 Jun 2020 14:14:09 +0800
Subject: [PATCH] 提交

---
 src/main/java/cn/timer/api/config/Initialization/InitializeSetting.java |  3 ++-
 src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java      | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/main/java/cn/timer/api/dto/kqmk/AttMemberSettings.java              | 24 ++++++++++++++++++++++++
 src/main/java/cn/timer/api/dto/kqmk/UserAttendanceRelDto.java           | 24 ++++++++++++++++++++++++
 4 files changed, 139 insertions(+), 2 deletions(-)
 create mode 100644 src/main/java/cn/timer/api/dto/kqmk/AttMemberSettings.java
 create mode 100644 src/main/java/cn/timer/api/dto/kqmk/UserAttendanceRelDto.java

diff --git a/src/main/java/cn/timer/api/config/Initialization/InitializeSetting.java b/src/main/java/cn/timer/api/config/Initialization/InitializeSetting.java
index 8a8b880..4841811 100644
--- a/src/main/java/cn/timer/api/config/Initialization/InitializeSetting.java
+++ b/src/main/java/cn/timer/api/config/Initialization/InitializeSetting.java
@@ -19,7 +19,8 @@ public class InitializeSetting implements ApplicationRunner {
 	@Override
 	public void run(ApplicationArguments args) throws Exception {
 		
-		StaticVariable.mac_command = "http://120.24.24.239:8095/cmd";//考勤机执行命令
+//		StaticVariable.mac_command = "http://120.24.24.239:8095";//考勤机执行命令
+		StaticVariable.mac_command = "http://172.20.10.2:8088";//考勤机执行命令
 	}
 
 }
diff --git a/src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java b/src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java
index 1c2119a..f04eb2b 100644
--- a/src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java
+++ b/src/main/java/cn/timer/api/controller/kqgl/TimeCardController.java
@@ -36,6 +36,7 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.lang.Console;
+import cn.timer.api.bean.kqgl.KqglAssoKqjgly;
 import cn.timer.api.bean.kqgl.PunchCardDetails;
 import cn.timer.api.bean.kqgl.PunchRecord;
 import cn.timer.api.bean.kqgl.UserAttendanceRel;
@@ -86,6 +87,7 @@ import cn.timer.api.dao.kqmk.KqglAssoYhkqzMapper;
 import cn.timer.api.dao.kqmk.KqglAssoYhsbMapper;
 import cn.timer.api.dao.kqmk.KqglAssoZhoupaibanMapper;
 import cn.timer.api.dao.kqmk.KqglMainKqzMapper;
+import cn.timer.api.dto.kqmk.AttMemberSettings;
 import cn.timer.api.dto.kqmk.AttSchedulingDto;
 import cn.timer.api.dto.kqmk.AttendanceAssistantDto;
 import cn.timer.api.dto.kqmk.AttqueryCriteriaDto;
@@ -104,6 +106,7 @@ import cn.timer.api.dto.kqmk.ModifyEmployeeBalanceDto;
 import cn.timer.api.dto.kqmk.OriginalRecordDto;
 import cn.timer.api.dto.kqmk.SetConditionsDto;
 import cn.timer.api.dto.kqmk.StartTimeRestDto;
+import cn.timer.api.dto.kqmk.UserAttendanceRelDto;
 import cn.timer.api.dto.kqmk.VacationInformationDto;
 import cn.timer.api.utils.DateUtil;
 import cn.timer.api.utils.ResponseResult;
@@ -1150,6 +1153,92 @@ public class TimeCardController {
 	}
 	
 	
+	
+	/**
+	 * 	获取当前考勤组所有人员
+	 */
+	@GetMapping(value="/AttUserGroupList/{id}")
+	@ApiOperation(value = "获取当前考勤组所有人员", httpMethod = "GET", notes = "接口发布说明")
+	public Result<Object> getAttUserGroupList(@CurrentUser UserBean userBean,@PathVariable("id") Integer id) {
+		
+		UserAttendanceRelDto usatt = UserAttendanceRelDto.builder().build();
+		List<UserAttendanceRel> userattgor = userattendancerelmapper.selectAttendanceOfficerByKqzid(id,userBean.getOrgCode());
+		usatt.setUseratts(userattgor);
+		
+		KqglMainKqz kqztypeid = kqglmainkqzmapper.selectOne(new QueryWrapper<KqglMainKqz>().lambda().eq(KqglMainKqz::getId, id));
+		usatt.setTypeid(kqztypeid.getPbfs());
+		
+		return ResultUtil.data(usatt);
+	}
+	
+	@PostMapping(value = "/setmembers")
+	@ApiOperation(value = "考勤设置成员", httpMethod = "POST", notes = "接口发布说明")
+	public Result<Object> Attsetmembers(@CurrentUser UserBean userBean,@RequestBody AttMemberSettings attsetuser) {
+		
+		//确认当前考勤组是否存在考勤机打卡
+		List<KqglAssoKqzdkfs> dkfs = kqglassokqzdkfsmapper.selectList(new QueryWrapper<KqglAssoKqzdkfs>().lambda().eq(KqglAssoKqzdkfs::getType, 1).eq(KqglAssoKqzdkfs::getKqzId, attsetuser.getAttgroupid()));
+		if(dkfs.size() > 0) {
+			for(KqglAssoKqzdkfs fss:dkfs) {
+				String DevId = null;
+				int kqjid = 0;
+				KqglAssoKqj kqj = KqglAssoKqj.builder().id(fss.getDkfsid()).build().selectById();//查询考勤机“序列号”
+				DevId = kqj.getCode();
+				kqjid = kqj.getId();
+				
+				//考勤组新增员工
+				String[] addmember = attsetuser.getAddMember();
+				String urladd = StaticVariable.mac_command+"/addUserName";
+				for(int a=0;a<addmember.length;a++){
+					HttpHeaders headers = new HttpHeaders();
+			        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+			        params.add("devId", DevId);
+			        params.add("userId", addmember[a]);
+			        YgglMainEmp yggluser = YgglMainEmp.builder().build().selectOne(new QueryWrapper<YgglMainEmp>().lambda().eq(YgglMainEmp::getOrgCode, userBean.getOrgCode()).eq(YgglMainEmp::getEmpNum, addmember[a]));
+			        params.add("userName", yggluser.getName());
+			        RestTemplate restTemplate = new RestTemplate();
+			        HttpEntity httpEntity = new HttpEntity(params, headers);
+			        ResponseEntity<String> request = restTemplate.postForEntity(urladd, httpEntity, String.class);
+			        System.err.print(request.getBody());
+			        
+			        //需要改下下
+			        KqglAssoYhsb uskqj = KqglAssoYhsb.builder().userId(Integer.valueOf(addmember[a])).kqjid(kqjid).type(1).isGly(0).build();
+					if (!uskqj.insert()) 
+						return ResultUtil.error("操作失败--新增用户与设备关系");
+				}
+				
+				//考勤组减少员工 
+		        String[] removemember = attsetuser.getRemoveMember();
+		        String urlre = StaticVariable.mac_command+"/deleteUser";
+		        for(int r=0;r<removemember.length;r++){
+		        	HttpHeaders headers = new HttpHeaders();
+		            MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
+		            params.add("devId", DevId);
+		            params.add("userId", removemember[r]);
+		            RestTemplate restTemplate = new RestTemplate();
+		            HttpEntity httpEntity = new HttpEntity(params, headers);
+		            ResponseEntity<String> request = restTemplate.postForEntity(urlre, httpEntity, String.class);
+		            System.err.print(request.getBody());
+		            
+		            //用户与设备关系表
+		            KqglAssoYhsb.builder().build().delete(new QueryWrapper<KqglAssoYhsb>().lambda().eq(KqglAssoYhsb::getUserId, removemember[r]).eq(KqglAssoYhsb::getKqjid, kqjid).eq(KqglAssoYhsb::getType, 1));
+		            //考勤机管理员
+		            KqglAssoKqjgly.builder().build().delete(new QueryWrapper<KqglAssoKqjgly>().lambda().eq(KqglAssoKqjgly::getKqjid, kqjid).eq(KqglAssoKqjgly::getUserid, removemember[r]));
+		            
+				}
+			}
+			
+		}
+		
+        //删除--kqgl_asso_yhkqz[用户和考勤组关系表]
+        
+        
+       
+        
+		
+        return ResultUtil.success("成功");
+	}
+	
+	
 	@PutMapping(value="/switch")
 	@ApiOperation(value = "41:设置假期规则开关", httpMethod = "PUT", notes = "接口发布说明")
 	@ApiOperationSupport(order = 41)
@@ -1910,7 +1999,6 @@ public class TimeCardController {
 //		return ResultUtil.data(map);
 //	}
 	
-	
 	/**************************/
 	/**
 	 * 	查询列表-加班补偿方式
diff --git a/src/main/java/cn/timer/api/dto/kqmk/AttMemberSettings.java b/src/main/java/cn/timer/api/dto/kqmk/AttMemberSettings.java
new file mode 100644
index 0000000..d6efab6
--- /dev/null
+++ b/src/main/java/cn/timer/api/dto/kqmk/AttMemberSettings.java
@@ -0,0 +1,24 @@
+package cn.timer.api.dto.kqmk;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class AttMemberSettings {
+	
+	@ApiModelProperty(value = "考勤组id", example = "字段说明")
+	private Integer attgroupid;
+	
+	@ApiModelProperty(value = "考勤组新增员工", example = "字段说明")
+	private String[] addMember;
+	
+	@ApiModelProperty(value = "考勤组减少员工 ", example = "字段说明")
+	private String[] removeMember;
+	
+}
diff --git a/src/main/java/cn/timer/api/dto/kqmk/UserAttendanceRelDto.java b/src/main/java/cn/timer/api/dto/kqmk/UserAttendanceRelDto.java
new file mode 100644
index 0000000..3737d89
--- /dev/null
+++ b/src/main/java/cn/timer/api/dto/kqmk/UserAttendanceRelDto.java
@@ -0,0 +1,24 @@
+package cn.timer.api.dto.kqmk;
+
+import java.io.Serializable;
+import java.util.List;
+
+import cn.timer.api.bean.kqgl.UserAttendanceRel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class UserAttendanceRelDto implements Serializable{
+	
+	private static final long serialVersionUID = 8904448757565309401L;
+	
+	private Integer typeid;
+	
+	private List<UserAttendanceRel> useratts;
+	
+}
\ No newline at end of file
--
libgit2 0.26.0