From ae42d2da37fe9d161e7058b51367b95f24c3d97a Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期二, 13 六月 2023 15:11:36 +0800
Subject: [PATCH] optimize
---
service-common/src/main/java/com/java110/common/cmd/attendanceClasses/CheckInCmd.java | 101 +++++++++++++++++++++++++++++++++-----------------
1 files changed, 66 insertions(+), 35 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 8bc61f7..27e4ef6 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
@@ -1,10 +1,8 @@
package com.java110.common.cmd.attendanceClasses;
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;
@@ -14,15 +12,14 @@
import com.java110.dto.attendanceClasses.AttendanceClassesDto;
import com.java110.dto.attendanceClasses.AttendanceClassesTaskDetailDto;
import com.java110.dto.attendanceClasses.AttendanceClassesTaskDto;
+import com.java110.dto.attendanceClasses.AttendanceClassesStaffDto;
import com.java110.dto.file.FileDto;
-import com.java110.dto.org.OrgStaffRelDto;
import com.java110.dto.store.StoreUserDto;
import com.java110.dto.user.UserDto;
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;
import com.java110.po.attendanceClassesTaskDetail.AttendanceClassesTaskDetailPo;
import com.java110.po.attendanceLog.AttendanceLogPo;
@@ -34,7 +31,6 @@
import org.springframework.beans.factory.annotation.Autowired;
import java.text.ParseException;
-import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -94,7 +90,7 @@
private IFileInnerServiceSMO fileInnerServiceSMOImpl;
@Autowired
- private IOrgStaffRelV1InnerServiceSMO orgStaffRelV1InnerServiceSMOImpl;
+ private IAttendanceClassesStaffV1InnerServiceSMO attendanceClassesStaffV1InnerServiceSMOImpl;
@Autowired
private IPhotoSMO photoSMOImpl;
@@ -122,33 +118,25 @@
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());
- }
-
- // 鑰冨嫟鐝鏄惁瀛樺湪
- AttendanceClassesDto attendanceClassesDto = new AttendanceClassesDto();
- attendanceClassesDto.setStoreId(storeUserDtos.get(0).getStoreId());
- attendanceClassesDto.setClassesObjIds(orgIds.toArray(new String[orgIds.size()]));
- List<AttendanceClassesDto> attendanceClassesDtos = attendanceClassesV1InnerServiceSMOImpl.queryAttendanceClassess(attendanceClassesDto);
-
- if(attendanceClassesDtos == null || attendanceClassesDtos.size() < 1){
- throw new CmdException("鐝涓嶅瓨鍦�");
- }
-
- // Assert.listOnlyOne(attendanceClassesDtos, "鐝涓嶅瓨鍦�");
- for(AttendanceClassesDto tmpAttendanceClassesDto : attendanceClassesDtos) {
- doCheckInAttendanceLog(context, reqJson, storeUserDtos, userDtos, tmpAttendanceClassesDto);
+ 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));
}
}
@@ -171,8 +159,8 @@
attendanceLogPo.setStoreId(storeUserDtos.get(0).getStoreId());
attendanceLogPo.setStaffId(reqJson.getString("staffId"));
attendanceLogPo.setClockTime(reqJson.getString("checkTime"));
- attendanceLogPo.setDepartmentId(attendanceClassesDto.getClassesObjId());
- attendanceLogPo.setDepartmentName(attendanceClassesDto.getClassesObjName());
+ attendanceLogPo.setDepartmentId(attendanceClassesDto.getClassesId());
+ attendanceLogPo.setDepartmentName(attendanceClassesDto.getClassesName());
attendanceLogPo.setStaffName(userDtos.get(0).getName());
attendanceLogPo.setFacePath(photo);
@@ -188,10 +176,27 @@
attendanceClassesTaskDetailDto.setNowCheckTime(reqJson.getString("checkTime"));
attendanceClassesTaskDetailDto.setClassId(attendanceClassesDto.getClassesId());
attendanceClassesTaskDetailDto.setStaffId(reqJson.getString("staffId"));
+ attendanceClassesTaskDetailDto.setState(AttendanceClassesTaskDetailDto.STATE_WAIT);
List<AttendanceClassesTaskDetailDto> attendanceClassesTaskDetailDtos = attendanceClassesTaskDetailInnerServiceSMOImpl.queryAttendanceClassesTaskDetails(attendanceClassesTaskDetailDto);
if (attendanceClassesTaskDetailDtos == null || attendanceClassesTaskDetailDtos.size() < 1) {
- context.setResponseEntity(ResultVo.error("涓嶆槸鑰冨嫟鑼冨洿鍐�"));
+ attendanceClassesTaskDetailDto = new AttendanceClassesTaskDetailDto();
+ attendanceClassesTaskDetailDto.setNowCheckTime(reqJson.getString("checkTime"));
+ attendanceClassesTaskDetailDto.setClassId(attendanceClassesDto.getClassesId());
+ attendanceClassesTaskDetailDto.setStaffId(reqJson.getString("staffId"));
+ attendanceClassesTaskDetailDtos = attendanceClassesTaskDetailInnerServiceSMOImpl.queryAttendanceClassesTaskDetails(attendanceClassesTaskDetailDto);
+
+ if (attendanceClassesTaskDetailDtos != null && attendanceClassesTaskDetailDtos.size() > 0) {
+ String specName = "涓婄彮:";
+ if (!AttendanceClassesTaskDetailDto.SPEC_CD_START.equals(attendanceClassesTaskDetailDtos.get(0).getSpecCd())) {
+ specName = "涓嬬彮:";
+ }
+ updateAttendanceLogRemark(attendanceLogPo.getLogId(), specName + "閲嶅鎵撳崱");
+ context.setResponseEntity(ResultVo.error("閲嶅鎵撳崱"));
+ return;
+ }
+ updateAttendanceLogRemark(attendanceLogPo.getLogId(), "鏈埌鏃堕棿");
+ context.setResponseEntity(ResultVo.error("鏈埌鏃堕棿"));
return;
}
@@ -205,8 +210,13 @@
attendanceClassesTaskDetailPo.setState(getState(nowAttendanceClassesTaskDetailDto, DateUtil.getDateFromStringA(reqJson.getString("checkTime"))));
attendanceClassesTaskDetailPo.setFacePath(photo);
flag = attendanceClassesTaskDetailInnerServiceSMOImpl.updateAttendanceClassesTaskDetail(attendanceClassesTaskDetailPo);
+ String specName = "涓婄彮:";
+ if (!AttendanceClassesTaskDetailDto.SPEC_CD_START.equals(nowAttendanceClassesTaskDetailDto.getSpecCd())) {
+ specName = "涓嬬彮:";
+ }
if (flag < 1) {
+ updateAttendanceLogRemark(attendanceLogPo.getLogId(), specName + "鑰冨嫟澶辫触");
throw new CmdException("鑰冨嫟澶辫触");
}
@@ -225,9 +235,30 @@
flag = attendanceClassesTaskInnerServiceSMOImpl.updateAttendanceClassesTask(attendanceClassesTaskPo);
- if (flag < 1) {
- throw new CmdException("鑰冨嫟澶辫触");
+// if (flag < 1) {
+// updateAttendanceLogRemark(attendanceLogPo.getLogId(), specName + "鑰冨嫟澶辫触");
+// throw new CmdException("鑰冨嫟澶辫触");
+// }
+
+ String msg = "鎵撳崱鎴愬姛";
+ if (AttendanceClassesTaskDetailDto.STATE_LATE.equals(attendanceClassesTaskDetailPo.getState())) {
+ msg = "鎵撳崱杩熷埌";
}
+
+ if (AttendanceClassesTaskDetailDto.STATE_LEAVE.equals(attendanceClassesTaskDetailPo.getState())) {
+ msg = "鎵撳崱鏃╅��";
+ }
+ updateAttendanceLogRemark(attendanceLogPo.getLogId(), specName + msg);
+ context.setResponseEntity(ResultVo.createResponseEntity(ResultVo.CODE_OK, msg));
+
+ }
+
+ private void updateAttendanceLogRemark(String logId, String remark) {
+
+ AttendanceLogPo attendanceLogPo = new AttendanceLogPo();
+ attendanceLogPo.setLogId(logId);
+ attendanceLogPo.setRemark(remark.length() > 1000 ? remark.substring(0, 1000) : remark);
+ attendanceLogInnerServiceSMOImpl.updateAttendanceLog(attendanceLogPo);
}
/**
--
Gitblit v1.8.0