liupeng 5 lat temu
rodzic
commit
4e5d20b17f

+ 77 - 0
code/sapparent/sapcms/src/main/java/org/fouram/controller/ReportController.java

@@ -0,0 +1,77 @@
+package org.fouram.controller;
+
+import java.util.Date;
+
+import org.fouram.core.base.controller.BaseController;
+import org.fouram.core.util.AppUtil;
+import org.fouram.core.util.AppUtil.ResultConstant;
+import org.fouram.core.util.DateUtil;
+import org.fouram.core.util.LoggerUtil;
+import org.fouram.service.SapApprovalInfoService;
+import org.fouram.service.SapCheckService;
+import org.fouram.service.SapEmployeeTimeService;
+import org.fouram.service.WxDepartService;
+import org.fouram.service.WxUserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+@Controller
+@RequestMapping(value = "/report")
+public class ReportController extends BaseController {
+
+	@Autowired
+	private WxUserService wxUserService;
+	@Autowired
+	private WxDepartService wxDepartService;
+	@Autowired
+	private SapCheckService sapCheckService;
+	@Autowired
+	private SapEmployeeTimeService employeeTimeService;
+	@Autowired
+	private SapApprovalInfoService sapApprovalInfoService;
+
+	/**
+	 * http://localhost:8080/sapcms/report/initReport
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/initReport", produces = "application/json;charset=utf-8")
+	@ResponseBody
+	public Object initReport() {
+		try {
+			Date startDate = DateUtil.sdfTime.parse("2020-05-11 00:00:00");
+			Date endDate = DateUtil.sdfTime.parse("2020-05-15 23:59:59");
+			wxDepartService.saveDeparts();
+			wxUserService.saveUsers();
+			sapCheckService.saveAllUserCheckData(startDate, endDate);
+			sapCheckService.saveCheckoutStartAndEndData();
+			employeeTimeService.saveEmployeeTimes();
+			sapCheckService.saveAllUserCheckOption();
+			sapApprovalInfoService.saveApprovalInfos(DateUtil.sdfTime.parse("2020-05-01 00:00:00"), endDate);
+			return AppUtil.success();
+		} catch (Exception e) {
+			LoggerUtil.error(e);
+			return AppUtil.error(ResultConstant.WEB_ERR_MSG);
+		}
+	}
+
+	/**
+	 * http://localhost:8080/sapcms/report/saveReport
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/saveReport", produces = "application/json;charset=utf-8")
+	@ResponseBody
+	public Object saveReport() {
+		try {
+			sapCheckService.updateReportBaseData();
+			sapCheckService.saveReportResultData();
+			return AppUtil.success();
+		} catch (Exception e) {
+			LoggerUtil.error(e);
+			return AppUtil.error(ResultConstant.WEB_ERR_MSG);
+		}
+	}
+}

+ 0 - 89
code/sapparent/sapcms/src/main/java/org/fouram/controller/TaskController.java

@@ -1,21 +1,13 @@
 package org.fouram.controller;
 
-import java.util.Date;
-
 import org.fouram.core.base.controller.BaseController;
 import org.fouram.core.util.AppUtil;
 import org.fouram.core.util.AppUtil.ResultConstant;
-import org.fouram.core.util.DateUtil;
 import org.fouram.core.util.LoggerUtil;
-import org.fouram.service.SapApprovalInfoService;
-import org.fouram.service.SapCheckService;
-import org.fouram.service.SapEmployeeTimeService;
 import org.fouram.service.SapReportService;
 import org.fouram.service.SapUserService;
 import org.fouram.service.TaskService;
 import org.fouram.service.TestUserService;
-import org.fouram.service.WxDepartService;
-import org.fouram.service.WxUserService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -28,21 +20,11 @@ public class TaskController extends BaseController {
 	@Autowired
 	private TaskService taskService;
 	@Autowired
-	private WxUserService wxUserService;
-	@Autowired
 	private SapUserService sapUserService;
 	@Autowired
-	private WxDepartService wxDepartService;
-	@Autowired
-	private SapCheckService sapCheckService;
-	@Autowired
 	private TestUserService testUserService;
 	@Autowired
 	private SapReportService sapReportService;
-	@Autowired
-	private SapEmployeeTimeService employeeTimeService;
-	@Autowired
-	private SapApprovalInfoService sapApprovalInfoService;
 
 	/**
 	 * http://localhost:8080/sapcms/task/syncWeixinUser
@@ -93,77 +75,6 @@ public class TaskController extends BaseController {
 	}
 	
 	/**
-	 * http://localhost:8080/sapcms/task/saveReportBaseData
-	 * @return
-	 */
-	@RequestMapping(value = "/saveReportBaseData", produces = "application/json;charset=utf-8")
-	@ResponseBody
-	public Object saveReportBaseData() {
-		try {
-			Date startDate = DateUtil.sdfTime.parse("2020-05-11 00:00:00");
-			Date endDate = DateUtil.sdfTime.parse("2020-05-15 23:59:59");
-			sapCheckService.saveAllUserCheckData(startDate, endDate);
-			sapCheckService.saveCheckoutStartAndEndData();
-			employeeTimeService.saveEmployeeTimes();
-			sapCheckService.saveAllUserCheckOption();
-			sapApprovalInfoService.saveApprovalInfos(DateUtil.sdfTime.parse("2020-05-01 00:00:00"), endDate);
-			return AppUtil.success();
-		} catch (Exception e) {
-			LoggerUtil.error(e);
-			return AppUtil.error(ResultConstant.WEB_ERR_MSG);
-		}
-	}
-	
-	/**
-	 * http://localhost:8080/sapcms/task/saveWxUsers
-	 * @return
-	 */
-	@RequestMapping(value = "/saveWxUsers", produces = "application/json;charset=utf-8")
-	@ResponseBody
-	public Object saveWxUsers() {
-		try {
-			wxUserService.saveUsers();
-			return AppUtil.success();
-		} catch (Exception e) {
-			LoggerUtil.error(e);
-			return AppUtil.error(ResultConstant.WEB_ERR_MSG);
-		}
-	}
-	
-	/**
-	 * http://localhost:8080/sapcms/task/saveWxDeparts
-	 * @return
-	 */
-	@RequestMapping(value = "/saveWxDeparts", produces = "application/json;charset=utf-8")
-	@ResponseBody
-	public Object saveWxDeparts() {
-		try {
-			wxDepartService.saveDeparts();
-			return AppUtil.success();
-		} catch (Exception e) {
-			LoggerUtil.error(e);
-			return AppUtil.error(ResultConstant.WEB_ERR_MSG);
-		}
-	}
-	
-	/**
-	 * http://localhost:8080/sapcms/task/saveReportResultData
-	 * @return
-	 */
-	@RequestMapping(value = "/saveReportResultData", produces = "application/json;charset=utf-8")
-	@ResponseBody
-	public Object saveReportResultData() {
-		try {
-			sapCheckService.updateReportBaseData();
-			sapCheckService.saveReportResultData();
-			return AppUtil.success();
-		} catch (Exception e) {
-			LoggerUtil.error(e);
-			return AppUtil.error(ResultConstant.WEB_ERR_MSG);
-		}
-	}
-	
-	/**
 	 * http://localhost:8080/sapcms/task/updateUnableData
 	 * @return
 	 */

+ 3 - 3
code/sapparent/sapservice/src/main/java/org/fouram/mapper/SapEmployeeTimeMapper.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="SapEmployeeTimeMapper">
-	<update id="truncateEmployeeTime">
-		truncate table sap_employee_time
-	</update>
+	<select id="selectById" resultType="SapEmployeeTime">
+		select * from sap_employee_time where externalCode=#{externalCode}
+	</select>
 
 	<insert id="saveOne">
 		insert into sap_employee_time(externalCode,lastModifiedDateTime,endDate,endDateTime,loaActualReturnDate,

+ 0 - 1
code/sapparent/sapservice/src/main/java/org/fouram/service/SapApprovalInfoService.java

@@ -13,7 +13,6 @@ public class SapApprovalInfoService extends BaseService {
 
 	public void saveApprovalInfos(Date startDate, Date endDate) throws Exception {
 		List<SapApprovalInfo> approvalInfos = WXCpOaUtil.getApprovalDetailList(startDate, endDate);
-		System.out.println(approvalInfos.size());
 		for (SapApprovalInfo approvalInfo : approvalInfos) {
 			save("SapApprovalInfoMapper.save", approvalInfo);
 		}

+ 3 - 19
code/sapparent/sapservice/src/main/java/org/fouram/service/SapCheckService.java

@@ -11,6 +11,7 @@ import org.fouram.core.base.service.BaseService;
 import org.fouram.core.plugin.weixin.cp.util.WXCpOaUtil;
 import org.fouram.core.util.BeanUtils;
 import org.fouram.core.util.DateUtil;
+import org.fouram.core.util.LoggerUtil;
 import org.fouram.core.util.Tools;
 import org.fouram.entity.SapCheck;
 import org.fouram.entity.SapCheckOption;
@@ -54,6 +55,7 @@ public class SapCheckService extends BaseService {
 	}
 
 	public void saveAllUserCheckData(Date startDate, Date endDate) throws Exception {
+		LoggerUtil.info("执行微信打卡开始" + DateUtil.getTime());
 		// 清空表记录
 		update("SapCheckMapper.truncateCheckin", null);
 		update("SapCheckMapper.truncateCheckoff", null);
@@ -61,14 +63,9 @@ public class SapCheckService extends BaseService {
 
 		List<String> userIds = selectCheckUserList();
 		Map<String, List<String>> map = groupList(userIds);
-		int count = 0;
 		for (String key : map.keySet()) {
-			count = count + 1;
 			List<WxCpCheckinData> checkinDatas = WXCpOaUtil.getCheckinData(startDate, endDate, map.get(key));
-			System.out.println(checkinDatas.size());
-			int subCount = 0;
 			for (WxCpCheckinData data : checkinDatas) {
-				subCount = subCount + 1;
 				SapCheck check = new SapCheck();
 				BeanUtils.copyProperties(data, check);
 				check.setCheckinDate(new Date(check.getCheckinTime() * 1000));
@@ -82,10 +79,9 @@ public class SapCheckService extends BaseService {
 				} else {
 					System.out.println(data);
 				}
-				System.out.println(subCount);
 			}
-			System.out.println(count);
 		}
+		LoggerUtil.info("执行微信打卡结束" + DateUtil.getTime());
 	}
 
 	public void saveCheckoutStartAndEndData() throws Exception {
@@ -101,16 +97,11 @@ public class SapCheckService extends BaseService {
 
 		List<String> users = selectCheckUserList();
 		Map<String, List<String>> map = groupList(users);
-		int count = 0;
 		List<Date> datetimes = Lists.newArrayList();
 		datetimes.add(DateUtil.sdfTime.parse("2020-05-07 00:00:00"));
 		for (String key : map.keySet()) {
-			count = count + 1;
 			List<WxCpCheckinOption> options = WXCpOaUtil.getCheckinOption(datetimes, map.get(key));
-			System.out.println(options.size());
-			int subCount = 0;
 			for (WxCpCheckinOption option : options) {
-				subCount = subCount + 1;
 				if (option.getGroup() != null && !option.getGroup().getCheckinDate().isEmpty()) {
 					SapCheckOption check = new SapCheckOption();
 					CheckinTime checkinTime = option.getGroup().getCheckinDate().get(0).getCheckinTime()[0];
@@ -119,17 +110,10 @@ public class SapCheckService extends BaseService {
 					check.setOffWorkSec(checkinTime.getOffWorkSec());
 					saveCheckinOption(check);
 				}
-				System.out.println(subCount);
 			}
-			System.out.println(count);
 		}
 	}
 
-	public static void main(String[] args) {
-		System.out.println(34200 / 60 / 60.0);
-		System.out.println(66600 / 60 / 60.0);
-	}
-
 	public void saveCheckin(SapCheck check) throws Exception {
 		save("SapCheckMapper.saveCheckin", check);
 	}

+ 26 - 25
code/sapparent/sapservice/src/main/java/org/fouram/service/SapEmployeeTimeService.java

@@ -29,15 +29,12 @@ public class SapEmployeeTimeService extends BaseService {
 	}
 
 	public void saveEmployeeTimes() throws Exception {
-		update("SapEmployeeTimeMapper.truncateEmployeeTime", null);
-		
 		List<String> sapUsers = checkService.selectCheckUserList();
 		String url = "https://api15.sapsf.cn/odata/v2/EmployeeTime?$filter=userId in %s&$format=json";
 		url = String.format(url, getUserIdList(sapUsers));
 		JsonNode node = requestService.getForObject(url, getHttpHeaders());
 		if (node != null) {
 			Iterator<JsonNode> iterator = node.get("d").get("results").elements();
-			int count = 0;
 			while (iterator.hasNext()) {
 				JsonNode userNode = iterator.next();
 				String externalCode = JsonNodeUtil.getValue(userNode, "externalCode");
@@ -75,33 +72,37 @@ public class SapEmployeeTimeService extends BaseService {
 				String fractionQuantity = JsonNodeUtil.getValue(userNode, "fractionQuantity");
 				String endTime = JsonNodeUtil.getValue(userNode, "endTime");
 				String originalQuantityInDays = JsonNodeUtil.getValue(userNode, "originalQuantityInDays");
+				
+				if(selectById(externalCode) == null) {
+					SapEmployeeTime employeeTime = SapEmployeeTime.builder().externalCode(externalCode)
+							.lastModifiedDateTime(lastModifiedDateTime).loaActualReturnDate(loaActualReturnDate)
+							.createdDateTime(createdDateTime).timeType(timeType)
+							.loaExpectedReturnDate(loaExpectedReturnDate).flexibleRequesting(flexibleRequesting)
+							.timeRecordOrigin(timeRecordOrigin).mdfSystemRecordStatus(mdfSystemRecordStatus)
+							.custPeriod(custPeriod).quantityInHours(quantityInHours).loaStartJobInfoId(loaStartJobInfoId)
+							.startDate(startDate).startDateTime(startDateTime).endDate(endDate).endDateTime(endDateTime)
+							.displayQuantity(displayQuantity).quantityInDays(quantityInDays).startTime(startTime)
+							.loaEndJobInfoId(loaEndJobInfoId).approvalStatus(approvalStatus)
+							.cancellationWorkflowRequestId(cancellationWorkflowRequestId)
+							.deductionQuantity(deductionQuantity).editable(editable).lastModifiedBy(lastModifiedBy)
+							.workflowRequestId(workflowRequestId).undeterminedEndDate(undeterminedEndDate).userId(userId)
+							.recurrenceGroup(recurrenceGroup).createdBy(createdBy)
+							.workflowInitiatedByAdmin(workflowInitiatedByAdmin).comment(comment)
+							.fractionQuantity(fractionQuantity).endTime(endTime)
+							.originalQuantityInDays(originalQuantityInDays).build();
 
-				SapEmployeeTime employeeTime = SapEmployeeTime.builder().externalCode(externalCode)
-						.lastModifiedDateTime(lastModifiedDateTime).loaActualReturnDate(loaActualReturnDate)
-						.createdDateTime(createdDateTime).timeType(timeType)
-						.loaExpectedReturnDate(loaExpectedReturnDate).flexibleRequesting(flexibleRequesting)
-						.timeRecordOrigin(timeRecordOrigin).mdfSystemRecordStatus(mdfSystemRecordStatus)
-						.custPeriod(custPeriod).quantityInHours(quantityInHours).loaStartJobInfoId(loaStartJobInfoId)
-						.startDate(startDate).startDateTime(startDateTime).endDate(endDate).endDateTime(endDateTime)
-						.displayQuantity(displayQuantity).quantityInDays(quantityInDays).startTime(startTime)
-						.loaEndJobInfoId(loaEndJobInfoId).approvalStatus(approvalStatus)
-						.cancellationWorkflowRequestId(cancellationWorkflowRequestId)
-						.deductionQuantity(deductionQuantity).editable(editable).lastModifiedBy(lastModifiedBy)
-						.workflowRequestId(workflowRequestId).undeterminedEndDate(undeterminedEndDate).userId(userId)
-						.recurrenceGroup(recurrenceGroup).createdBy(createdBy)
-						.workflowInitiatedByAdmin(workflowInitiatedByAdmin).comment(comment)
-						.fractionQuantity(fractionQuantity).endTime(endTime)
-						.originalQuantityInDays(originalQuantityInDays).build();
-
-				saveOne(employeeTime);
-
-				count = count + 1;
-				System.out.println(count);
+					saveOne(employeeTime);
+				}
 			}
 		}
 	}
 
-	void saveOne(SapEmployeeTime employeeTime) throws Exception {
+	public void saveOne(SapEmployeeTime employeeTime) throws Exception {
 		save("SapEmployeeTimeMapper.saveOne", employeeTime);
 	}
+	
+	public SapEmployeeTime selectById(String externalCode) throws Exception {
+		return (SapEmployeeTime) findObject("SapEmployeeTimeMapper.selectById", externalCode);
+	}
+	
 }

+ 4 - 0
code/sapparent/sapservice/src/main/java/org/fouram/service/WxDepartService.java

@@ -7,6 +7,8 @@ import java.util.List;
 import org.fouram.constants.WebConstants;
 import org.fouram.core.base.service.BaseService;
 import org.fouram.core.plugin.weixin.cp.util.WXCpDepartUtil;
+import org.fouram.core.util.DateUtil;
+import org.fouram.core.util.LoggerUtil;
 import org.fouram.entity.WxDepart;
 import org.springframework.stereotype.Service;
 
@@ -16,12 +18,14 @@ import me.chanjar.weixin.cp.bean.WxCpDepart;
 public class WxDepartService extends BaseService {
 
 	public void saveDeparts() throws Exception {
+		LoggerUtil.info("执行微信部门开始" + DateUtil.getTime());
 		List<WxCpDepart> departs = WXCpDepartUtil.getAllChildDeparts(WebConstants.TOP_DEPART);
 		for (WxCpDepart depart : departs) {
 			if(selectById(depart.getId()) == null) {
 				save("WxDepartMapper.save", depart);
 			}
 		}
+		LoggerUtil.info("执行微信部门结束" + DateUtil.getTime());
 	}
 	
 	public List<WxDepart> findParentList(Long id) throws Exception {

+ 4 - 0
code/sapparent/sapservice/src/main/java/org/fouram/service/WxUserService.java

@@ -5,6 +5,8 @@ import java.util.Map;
 
 import org.fouram.core.base.service.BaseService;
 import org.fouram.core.plugin.weixin.cp.util.WXCpUserUtil;
+import org.fouram.core.util.DateUtil;
+import org.fouram.core.util.LoggerUtil;
 import org.fouram.entity.WxDepart;
 import org.fouram.entity.WxUser;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,6 +25,7 @@ public class WxUserService extends BaseService {
 	private Map<Long, List<WxDepart>> userDepartMap = Maps.newHashMap();
 
 	public void saveUsers() throws Exception {
+		LoggerUtil.info("执行微信用户开始" + DateUtil.getTime());
 		List<WxCpUser> users = WXCpUserUtil.listAllUser();
 		List<WxDepart> departs = null;
 		WxUser wxUser = null;
@@ -46,6 +49,7 @@ public class WxUserService extends BaseService {
 				update("WxUserMapper.update", wxUser);
 			}
 		}
+		LoggerUtil.info("执行微信用户结束" + DateUtil.getTime());
 	}
 
 	public WxUser selectById(String userId) throws Exception {