From 380908e868b088d62c0e572457bffeea1cbfe8f8 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期四, 23 二月 2023 02:51:45 +0800
Subject: [PATCH] 优化加入智能水电表厂家
---
service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java | 116 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 64 insertions(+), 52 deletions(-)
diff --git a/service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java b/service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java
index 41481e1..aa2e591 100644
--- a/service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java
+++ b/service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java
@@ -3,15 +3,18 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.common.smo.impl.AttendanceClassesTaskDetailInnerServiceSMOImpl;
import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.annotation.Java110Transactional;
import com.java110.core.client.FileUploadTemplate;
import com.java110.core.context.ICmdDataFlowContext;
import com.java110.core.event.cmd.Cmd;
import com.java110.core.event.cmd.CmdEvent;
import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.core.smo.IPhotoSMO;
import com.java110.doc.annotation.*;
import com.java110.dto.attendanceClasses.AttendanceClassesDto;
import com.java110.dto.attendanceClasses.AttendanceClassesTaskDetailDto;
import com.java110.dto.attendanceClasses.AttendanceClassesTaskDto;
+import com.java110.dto.attendanceClassesStaff.AttendanceClassesStaffDto;
import com.java110.dto.file.FileDto;
import com.java110.dto.org.OrgStaffRelDto;
import com.java110.dto.store.StoreUserDto;
@@ -19,6 +22,7 @@
import com.java110.intf.common.*;
import com.java110.intf.store.IOrgStaffRelV1InnerServiceSMO;
import com.java110.intf.store.IStoreInnerServiceSMO;
+import com.java110.intf.user.IAttendanceClassesStaffV1InnerServiceSMO;
import com.java110.intf.user.IUserV1InnerServiceSMO;
import com.java110.po.attendanceClasses.AttendanceClassesPo;
import com.java110.po.attendanceClassesTask.AttendanceClassesTaskPo;
@@ -92,16 +96,20 @@
private IFileInnerServiceSMO fileInnerServiceSMOImpl;
@Autowired
- private IOrgStaffRelV1InnerServiceSMO orgStaffRelV1InnerServiceSMOImpl;
+ private IAttendanceClassesStaffV1InnerServiceSMO attendanceClassesStaffV1InnerServiceSMOImpl;
+
+ @Autowired
+ private IPhotoSMO photoSMOImpl;
@Override
public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
Assert.hasKeyAndValue(reqJson, "staffId", "鏈寘鍚憳宸�");
- Assert.hasKeyAndValue(reqJson, "clockTime", "鏈寘鍚�冨嫟鏃堕棿");
+ Assert.hasKeyAndValue(reqJson, "checkTime", "鏈寘鍚�冨嫟鏃堕棿");
}
@Override
+ @Java110Transactional
public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
StoreUserDto storeUserDto = new StoreUserDto();
@@ -116,56 +124,29 @@
Assert.listOnlyOne(storeUserDtos, "鍛樺伐涓嶅瓨鍦�");
- OrgStaffRelDto orgStaffRelDto = new OrgStaffRelDto();
- orgStaffRelDto.setStoreId(storeUserDtos.get(0).getStoreId());
- orgStaffRelDto.setStaffId(reqJson.getString("staffId"));
- List<OrgStaffRelDto> orgStaffRelDtos = orgStaffRelV1InnerServiceSMOImpl.queryOrgStaffRels(orgStaffRelDto);
+ AttendanceClassesStaffDto attendanceClassesStaffDto = new AttendanceClassesStaffDto();
+ attendanceClassesStaffDto.setStaffId(reqJson.getString("staffId"));
+ attendanceClassesStaffDto.setStoreId(storeUserDtos.get(0).getStoreId());
+ List<AttendanceClassesStaffDto> attendanceClassesStaffs = attendanceClassesStaffV1InnerServiceSMOImpl.queryAttendanceClassesStaffs(attendanceClassesStaffDto);
- if(orgStaffRelDtos == null || orgStaffRelDtos.size() < 1){
+ if (attendanceClassesStaffs == null || attendanceClassesStaffs.size() < 1) {
throw new CmdException("鍛樺伐娌℃湁鑰冨嫟浠诲姟");
}
- List<String> orgIds = new ArrayList<>();
- for(OrgStaffRelDto orgStaffRelDto1: orgStaffRelDtos){
- orgIds.add(orgStaffRelDto1.getOrgId());
+ for (AttendanceClassesStaffDto tmpAttendanceClassesStaffDto : attendanceClassesStaffs) {
+ // 鑰冨嫟鐝鏄惁瀛樺湪
+ AttendanceClassesDto attendanceClassesDto = new AttendanceClassesDto();
+ attendanceClassesDto.setStoreId(storeUserDtos.get(0).getStoreId());
+ attendanceClassesDto.setClassesId(tmpAttendanceClassesStaffDto.getClassesId());
+ List<AttendanceClassesDto> attendanceClassesDtos = attendanceClassesV1InnerServiceSMOImpl.queryAttendanceClassess(attendanceClassesDto);
+ if (attendanceClassesDtos == null || attendanceClassesDtos.size() < 1) {
+ throw new CmdException("鐝涓嶅瓨鍦�");
+ }
+ doCheckInAttendanceLog(context, reqJson, storeUserDtos, userDtos, attendanceClassesDtos.get(0));
}
+ }
- // 鑰冨嫟鐝鏄惁瀛樺湪
- AttendanceClassesDto attendanceClassesDto = new AttendanceClassesDto();
- attendanceClassesDto.setStoreId(storeUserDtos.get(0).getStoreId());
- attendanceClassesDto.setClassesObjIds(orgIds.toArray(new String[orgIds.size()]));
- List<AttendanceClassesDto> attendanceClassesDtos = attendanceClassesV1InnerServiceSMOImpl.queryAttendanceClassess(attendanceClassesDto);
-
- Assert.listOnlyOne(attendanceClassesDtos, "鐝涓嶅瓨鍦�");
-
-
- AttendanceLogPo attendanceLogPo = new AttendanceLogPo();
- attendanceLogPo.setLogId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_logId));
- attendanceLogPo.setStoreId(storeUserDtos.get(0).getStoreId());
- attendanceLogPo.setStaffId(reqJson.getString("staffId"));
- attendanceLogPo.setClockTime(reqJson.getString("clockTime"));
- attendanceLogPo.setDepartmentId(attendanceClassesDtos.get(0).getClassesObjId());
- attendanceLogPo.setDepartmentName(attendanceClassesDtos.get(0).getClassesObjName());
- attendanceLogPo.setStaffName(userDtos.get(0).getName());
-
- int flag = attendanceLogInnerServiceSMOImpl.saveAttendanceLog(attendanceLogPo);
-
- if (flag < 1) {
- throw new CmdException("鑰冨嫟澶辫触");
- }
-
- // 鏌ヨ鏄惁涓轰笂鐝�
-
- AttendanceClassesTaskDetailDto attendanceClassesTaskDetailDto = new AttendanceClassesTaskDetailDto();
- attendanceClassesTaskDetailDto.setNowCheckTime(reqJson.getString("clockTime"));
- attendanceClassesTaskDetailDto.setClassId(attendanceClassesDtos.get(0).getClassesId());
- attendanceClassesTaskDetailDto.setStaffId(reqJson.getString("staffId"));
- List<AttendanceClassesTaskDetailDto> attendanceClassesTaskDetailDtos = attendanceClassesTaskDetailInnerServiceSMOImpl.queryAttendanceClassesTaskDetails(attendanceClassesTaskDetailDto);
-
- if (attendanceClassesTaskDetailDtos == null || attendanceClassesTaskDetailDtos.size() < 1) {
- context.setResponseEntity(ResultVo.error("涓嶆槸鑰冨嫟鑼冨洿鍐�"));
- return;
- }
+ private void doCheckInAttendanceLog(ICmdDataFlowContext context, JSONObject reqJson, List<StoreUserDto> storeUserDtos, List<UserDto> userDtos, AttendanceClassesDto attendanceClassesDto) {
String photo = "";
if (reqJson.containsKey("photo") && !StringUtil.isEmpty(reqJson.getString("photo"))) {
@@ -178,13 +159,44 @@
photo = fileInnerServiceSMOImpl.saveFile(fileDto);
}
+
+ AttendanceLogPo attendanceLogPo = new AttendanceLogPo();
+ attendanceLogPo.setLogId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_logId));
+ attendanceLogPo.setStoreId(storeUserDtos.get(0).getStoreId());
+ attendanceLogPo.setStaffId(reqJson.getString("staffId"));
+ attendanceLogPo.setClockTime(reqJson.getString("checkTime"));
+ attendanceLogPo.setDepartmentId(attendanceClassesDto.getClassesId());
+ attendanceLogPo.setDepartmentName(attendanceClassesDto.getClassesName());
+ attendanceLogPo.setStaffName(userDtos.get(0).getName());
+ attendanceLogPo.setFacePath(photo);
+
+ int flag = attendanceLogInnerServiceSMOImpl.saveAttendanceLog(attendanceLogPo);
+
+ if (flag < 1) {
+ throw new CmdException("鑰冨嫟澶辫触");
+ }
+
+ // 鏌ヨ鏄惁涓轰笂鐝�
+
+ AttendanceClassesTaskDetailDto attendanceClassesTaskDetailDto = new AttendanceClassesTaskDetailDto();
+ attendanceClassesTaskDetailDto.setNowCheckTime(reqJson.getString("checkTime"));
+ attendanceClassesTaskDetailDto.setClassId(attendanceClassesDto.getClassesId());
+ attendanceClassesTaskDetailDto.setStaffId(reqJson.getString("staffId"));
+ List<AttendanceClassesTaskDetailDto> attendanceClassesTaskDetailDtos = attendanceClassesTaskDetailInnerServiceSMOImpl.queryAttendanceClassesTaskDetails(attendanceClassesTaskDetailDto);
+
+ if (attendanceClassesTaskDetailDtos == null || attendanceClassesTaskDetailDtos.size() < 1) {
+ context.setResponseEntity(ResultVo.error("涓嶆槸鑰冨嫟鑼冨洿鍐�"));
+ return;
+ }
+
+
//褰撳墠鑰冨嫟鐨� 璁板綍
AttendanceClassesTaskDetailDto nowAttendanceClassesTaskDetailDto = attendanceClassesTaskDetailDtos.get(0);
AttendanceClassesTaskDetailPo attendanceClassesTaskDetailPo = new AttendanceClassesTaskDetailPo();
attendanceClassesTaskDetailPo.setDetailId(nowAttendanceClassesTaskDetailDto.getDetailId());
- attendanceClassesTaskDetailPo.setCheckTime(reqJson.getString("clockTime"));
- attendanceClassesTaskDetailPo.setState(getState(nowAttendanceClassesTaskDetailDto, DateUtil.getDateFromStringA(reqJson.getString("clockTime"))));
+ attendanceClassesTaskDetailPo.setCheckTime(reqJson.getString("checkTime"));
+ attendanceClassesTaskDetailPo.setState(getState(nowAttendanceClassesTaskDetailDto, DateUtil.getDateFromStringA(reqJson.getString("checkTime"))));
attendanceClassesTaskDetailPo.setFacePath(photo);
flag = attendanceClassesTaskDetailInnerServiceSMOImpl.updateAttendanceClassesTaskDetail(attendanceClassesTaskDetailPo);
@@ -216,23 +228,23 @@
* 鑰冨嫟鐘舵�佽绠�
*
* @param nowAttendanceClassesTaskDetailDto
- * @param clockTime
+ * @param checkTime
* @return
*/
- private String getState(AttendanceClassesTaskDetailDto nowAttendanceClassesTaskDetailDto, Date clockTime) {
+ private String getState(AttendanceClassesTaskDetailDto nowAttendanceClassesTaskDetailDto, Date checkTime) {
Date value = DateUtil.getDateFromStringA(nowAttendanceClassesTaskDetailDto.getValue());
if (AttendanceClassesTaskDetailDto.SPEC_CD_START.equals(nowAttendanceClassesTaskDetailDto.getSpecCd())) {
- if (clockTime.after(value)) {
+ if (checkTime.after(value)) {
return AttendanceClassesTaskDetailDto.STATE_LATE;
}
return AttendanceClassesTaskDetailDto.STATE_NORMAL;
}
- if (clockTime.before(value)) {
+ if (checkTime.before(value)) {
return AttendanceClassesTaskDetailDto.STATE_LEAVE;
}
return AttendanceClassesTaskDetailDto.STATE_NORMAL;
--
Gitblit v1.8.0