liupeng 5 роки тому
батько
коміт
d541bf8d28

+ 17 - 2
code/sapparent/sapcms/src/main/java/org/fouram/controller/TaskController.java

@@ -77,6 +77,22 @@ public class TaskController extends BaseController {
 	}
 	
 	/**
+	 * http://localhost:8080/sapcms/task/saveAllUserCheckOption
+	 * @return
+	 */
+	@RequestMapping(value = "/saveAllUserCheckOption", produces = "application/json;charset=utf-8")
+	@ResponseBody
+	public Object saveAllUserCheckOption() {
+		try {
+			sapCheckService.saveAllUserCheckOption();
+			return AppUtil.success();
+		} catch (Exception e) {
+			LoggerUtil.error(e);
+			return AppUtil.error(ResultConstant.WEB_ERR_MSG);
+		}
+	}
+	
+	/**
 	 * http://localhost:8080/sapcms/task/saveReportBaseData
 	 * @return
 	 */
@@ -87,7 +103,6 @@ public class TaskController extends BaseController {
 			sapCheckService.saveAllUserCheckData();
 			sapCheckService.saveCheckoutStartAndEndData();
 			employeeTimeService.saveEmployeeTimes();
-//			sapCheckService.updateReportData();
 			return AppUtil.success();
 		} catch (Exception e) {
 			LoggerUtil.error(e);
@@ -103,7 +118,7 @@ public class TaskController extends BaseController {
 	@ResponseBody
 	public Object saveReportResultData() {
 		try {
-			sapCheckService.updateReportBaseData();
+//			sapCheckService.updateReportBaseData();
 			sapCheckService.saveReportResultData();
 			return AppUtil.success();
 		} catch (Exception e) {

+ 34 - 0
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapCheckMapper.xml

@@ -65,8 +65,42 @@
 		LEFT JOIN sap_checkout_start e on a.userId = e.userId and b.checkinDay = e.checkinDay
 		LEFT JOIN sap_checkout_end g on a.userId = g.userId and b.checkinDay = g.checkinDay
 		LEFT JOIN sap_employee_time f on a.userId = f.userId and b.checkinDay = f.startDate and f.approvalStatus = 'APPROVED'
+		where EXISTS (SELECT 1 from sap_checkin_option o where a.userId = o.userId)
 		order by a.sortNumber ASC, b.checkinDay asc;
 	</insert>
+	<update id="truncateCheckReportUser">
+		truncate table sap_check_report_user
+	</update>
+	<insert id="saveCheckReportUser">
+		insert into sap_check_report_user
+		SELECT a.userId, a.name, 
+		replace(group_concat(case when a.checkinDay = '2020-04-01' then a.result else '' end ),',','') as '2020-04-01',
+		replace(group_concat(case when a.checkinDay = '2020-04-02' then a.result else '' end ),',','') as '2020-04-02',
+		replace(group_concat(case when a.checkinDay = '2020-04-03' then a.result else '' end ),',','') as '2020-04-03',
+		replace(group_concat(case when a.checkinDay = '2020-04-07' then a.result else '' end ),',','') as '2020-04-07',
+		replace(group_concat(case when a.checkinDay = '2020-04-08' then a.result else '' end ),',','') as '2020-04-08',
+		replace(group_concat(case when a.checkinDay = '2020-04-09' then a.result else '' end ),',','') as '2020-04-09',
+		replace(group_concat(case when a.checkinDay = '2020-04-10' then a.result else '' end ),',','') as '2020-04-10',
+		replace(group_concat(case when a.checkinDay = '2020-04-13' then a.result else '' end ),',','') as '2020-04-13',
+		replace(group_concat(case when a.checkinDay = '2020-04-14' then a.result else '' end ),',','') as '2020-04-14',
+		replace(group_concat(case when a.checkinDay = '2020-04-15' then a.result else '' end ),',','') as '2020-04-15',
+		replace(group_concat(case when a.checkinDay = '2020-04-16' then a.result else '' end ),',','') as '2020-04-16',
+		replace(group_concat(case when a.checkinDay = '2020-04-17' then a.result else '' end ),',','') as '2020-04-17',
+		replace(group_concat(case when a.checkinDay = '2020-04-20' then a.result else '' end ),',','') as '2020-04-20',
+		replace(group_concat(case when a.checkinDay = '2020-04-21' then a.result else '' end ),',','') as '2020-04-21',
+		replace(group_concat(case when a.checkinDay = '2020-04-22' then a.result else '' end ),',','') as '2020-04-22',
+		replace(group_concat(case when a.checkinDay = '2020-04-23' then a.result else '' end ),',','') as '2020-04-23',
+		replace(group_concat(case when a.checkinDay = '2020-04-24' then a.result else '' end ),',','') as '2020-04-24',
+		replace(group_concat(case when a.checkinDay = '2020-04-26' then a.result else '' end ),',','') as '2020-04-26',
+		replace(group_concat(case when a.checkinDay = '2020-04-27' then a.result else '' end ),',','') as '2020-04-27',
+		replace(group_concat(case when a.checkinDay = '2020-04-28' then a.result else '' end ),',','') as '2020-04-28',
+		replace(group_concat(case when a.checkinDay = '2020-04-29' then a.result else '' end ),',','') as '2020-04-29',
+		replace(group_concat(case when a.checkinDay = '2020-04-30' then a.result else '' end ),',','') as '2020-04-30'
+		from sap_check_report a group by a.userId, a.name;
+	</insert>
+	<update id="truncateCheckOption">
+		truncate table sap_checkin_option
+	</update>
 	<insert id="saveCheckinOption">
 		insert into sap_checkin_option(userId,workSec,offWorkSec,workTime,offWorkTime) 
 		values (#{userId},#{workSec},#{offWorkSec},#{workTime},#{offWorkTime})

+ 7 - 0
code/sapparent/sapservice/src/main/java/org/fouram/service/SapCheckService.java

@@ -99,11 +99,15 @@ public class SapCheckService extends BaseService {
 	}
 
 	public void saveAllUserCheckOption() throws Exception {
+		update("SapCheckMapper.truncateCheckOption", null);
+		
 		List<SapUser> users = userService.selectSuccessList();
 		Map<String, List<String>> map = groupList(users);
 		int count = 0;
 		List<Date> datetimes = Lists.newArrayList();
 		datetimes.add(DateUtil.sdfTime.parse("2020-04-09 00:00:00"));
+		datetimes.add(DateUtil.sdfTime.parse("2020-04-10 00:00:00"));
+		datetimes.add(DateUtil.sdfTime.parse("2020-04-13 00:00:00"));
 		for (String key : map.keySet()) {
 			count = count + 1;
 			List<WxCpCheckinOption> options = WXCpOaUtil.getCheckinOption(datetimes, map.get(key));
@@ -219,6 +223,9 @@ public class SapCheckService extends BaseService {
 				update("SapCheckMapper.updateResultOk", checkReport.getId());
 			}
 		}
+		// 生成报表用户数据
+		update("SapCheckMapper.truncateCheckReportUser", null);
+		update("SapCheckMapper.saveCheckReportUser", null);
 	}
 
 	// 是不是正确的上班时间