Browse Source

getStaffLasrGridVisitedId

dev_shibei_match
wangchao 5 years ago
parent
commit
1762cb64d6
  1. 8
      epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java
  2. 16
      epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffGridVisitedDao.java
  3. 24
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffGridVisitedServiceImpl.java
  4. 25
      epmet-user/epmet-user-server/src/main/resources/mapper/StaffGridVisitedDao.xml

8
epmet-module/gov-mine/gov-mine-server/src/main/java/com/epmet/service/impl/StaffAgencyServiceImpl.java

@ -220,6 +220,14 @@ public class StaffAgencyServiceImpl implements StaffAgencyService {
Result<CustomerGridByUserIdResultDTO> staffGridResult = Result<CustomerGridByUserIdResultDTO> staffGridResult =
govOrgFeignClient.getStaffGrid(latestGridFormDTO); govOrgFeignClient.getStaffGrid(latestGridFormDTO);
if (staffGridResult.success() && null != staffGridResult.getData() && StringUtils.isNotBlank(staffGridResult.getData().getGridId())) { if (staffGridResult.success() && null != staffGridResult.getData() && StringUtils.isNotBlank(staffGridResult.getData().getGridId())) {
StaffGridVisitedFormDTO gridRecordParam = new StaffGridVisitedFormDTO();
gridRecordParam.setGridId(staffGridResult.getData().getGridId());
gridRecordParam.setCustomerId(latestGridFormDTO.getCustomerId());
gridRecordParam.setStaffId(latestGridFormDTO.getStaffId());
Result writeRecordResult = epmetUserFeignClient.saveStaffGridVisitedRecord(gridRecordParam);
if(writeRecordResult.success()){
logger.warn("com.epmet.service.impl.StaffAgencyServiceImpl.getLatestGrid,工作人员网格访问网格写入失败,staffId:{},gridId:{}",latestGridFormDTO.getStaffId(),staffGridResult.getData().getGridId());
}
return staffGridResult; return staffGridResult;
} }
} }

16
epmet-user/epmet-user-server/src/main/java/com/epmet/dao/StaffGridVisitedDao.java

@ -23,6 +23,8 @@ import com.epmet.dto.form.LatestGridFormDTO;
import com.epmet.entity.StaffGridVisitedEntity; import com.epmet.entity.StaffGridVisitedEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.Date;
/** /**
* 工作人员进入网格日志表 * 工作人员进入网格日志表
* *
@ -42,12 +44,22 @@ public interface StaffGridVisitedDao extends BaseDao<StaffGridVisitedEntity> {
String selectStaffLatestGrid(LatestGridFormDTO latestGridFormDTO); String selectStaffLatestGrid(LatestGridFormDTO latestGridFormDTO);
/** /**
* @Description 根据staffId和customerId查询当前用户上一次登陆的网格信息 * @Description 根据staffId和customerId查询当前用户上一次登陆的网格Id,Id,创建时间
* @param latestGridFormDTO * @param latestGridFormDTO
* @return StaffGridVisitedEntity * @return StaffGridVisitedEntity
* @author wangc * @author wangc
* @date 2020.08.27 15:05 * @date 2020.08.27 15:05
**/ **/
StaffGridVisitedEntity selectVistedRecordByStaffId(LatestGridFormDTO latestGridFormDTO); StaffGridVisitedEntity selectVisitedRecordByStaffId(LatestGridFormDTO latestGridFormDTO);
/**
* @Description 更新工作人员网格登陆记录的时间
* @param id
* @param date
* @return
* @author wangc
* @date 2020.08.27 16:28
**/
void updateRecordTime(String id, Date date);
} }

24
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/StaffGridVisitedServiceImpl.java

@ -43,9 +43,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays; import java.util.*;
import java.util.List;
import java.util.Map;
/** /**
* 工作人员进入网格日志表 * 工作人员进入网格日志表
@ -124,10 +122,28 @@ public class StaffGridVisitedServiceImpl extends BaseServiceImpl<StaffGridVisite
@Override @Override
public Result<CustomerGridByUserIdResultDTO> getStaffLatestGrid(LatestGridFormDTO latestGridFormDTO) { public Result<CustomerGridByUserIdResultDTO> getStaffLatestGrid(LatestGridFormDTO latestGridFormDTO) {
Calendar currentCal = Calendar.getInstance();
currentCal.setTime(new Date());
CustomerGridByUserIdResultDTO gridResult = new CustomerGridByUserIdResultDTO(); CustomerGridByUserIdResultDTO gridResult = new CustomerGridByUserIdResultDTO();
String gridId = baseDao.selectStaffLatestGrid(latestGridFormDTO); StaffGridVisitedEntity recordEntity = baseDao.selectVisitedRecordByStaffId(latestGridFormDTO);
String gridId = null == recordEntity ? null : recordEntity.getGridId();
if(StringUtils.isNotBlank(gridId)){ if(StringUtils.isNotBlank(gridId)){
Calendar recordCal = Calendar.getInstance();
recordCal.setTime(recordEntity.getCreatedTime());
if(currentCal.get(Calendar.YEAR) == recordCal.get(Calendar.YEAR) &&
currentCal.get(Calendar.DAY_OF_YEAR) == recordCal.get(Calendar.DAY_OF_YEAR)
&& StringUtils.isNotBlank(recordEntity.getId())){
//同一天 更新
baseDao.updateRecordTime(recordEntity.getId(),currentCal.getTime());
}else{
//非同一天 新增
recordEntity.setCustomerId(latestGridFormDTO.getCustomerId());
recordEntity.setStaffId(latestGridFormDTO.getStaffId());
recordEntity.setId(null);
recordEntity.setCreatedTime(null);
baseDao.insert(recordEntity);
}
CustomerGridFormDTO param = new CustomerGridFormDTO(); CustomerGridFormDTO param = new CustomerGridFormDTO();
param.setGridId(gridId); param.setGridId(gridId);
Result<CustomerGridDTO> gridInfoResult = Result<CustomerGridDTO> gridInfoResult =

25
epmet-user/epmet-user-server/src/main/resources/mapper/StaffGridVisitedDao.xml

@ -33,8 +33,8 @@
LIMIT 1 LIMIT 1
</select> </select>
<!-- 根据staffId和customerId查询当前用户上一次登陆的网格Id,Id,创建时间 -->
<select id="selectVistedRecordByStaffId" resultType="com.epmet.entity.StaffGridVisitedEntity"> <select id="selectVisitedRecordByStaffId" resultType="com.epmet.entity.StaffGridVisitedEntity">
SELECT SELECT
ID, ID,
GRID_ID, GRID_ID,
@ -43,12 +43,25 @@
STAFF_GRID_VISITED STAFF_GRID_VISITED
WHERE WHERE
DEL_FLAG = '0' DEL_FLAG = '0'
AND AND CUSTOMER_ID = #{customerId}
CUSTOMER_ID = #{customerId}
AND AND STAFF_ID = #{staffId}
STAFF_ID = #{staffId}
ORDER BY ORDER BY
CREATED_TIME DESC CREATED_TIME DESC
LIMIT 1 LIMIT 1
</select> </select>
<!-- 更新工作人员网格登陆记录的时间 -->
<update id="updateRecordTime">
UPDATE
STAFF_GRID_VISITED
SET
CREATED_TIME = #{date},
UPDATED_TIME = #{date}
WHERE
DEL_FLAG = '0'
AND
ID = #{id}
</update>
</mapper> </mapper>
Loading…
Cancel
Save