|
@@ -1,10 +1,21 @@
|
|
|
package com.yh.saas.plugin.yiliangyiyun.service.impl;
|
|
|
|
|
|
+import com.baomidou.mybatisplus.plugins.Page;
|
|
|
+import com.google.common.collect.Lists;
|
|
|
+import com.yh.saas.common.support.util.IdGenerator;
|
|
|
+import com.yh.saas.plugin.yiliangyiyun.entity.ClockInfo;
|
|
|
import com.yh.saas.plugin.yiliangyiyun.entity.LeaveInfo;
|
|
|
import com.yh.saas.plugin.yiliangyiyun.mapper.LeaveInfoMapper;
|
|
|
+import com.yh.saas.plugin.yiliangyiyun.service.IClockInfoService;
|
|
|
import com.yh.saas.plugin.yiliangyiyun.service.ILeaveInfoService;
|
|
|
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -16,5 +27,96 @@ import org.springframework.stereotype.Service;
|
|
|
*/
|
|
|
@Service
|
|
|
public class LeaveInfoServiceImpl extends ServiceImpl<LeaveInfoMapper, LeaveInfo> implements ILeaveInfoService {
|
|
|
+ @Autowired
|
|
|
+ private IClockInfoService clockInfoService;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加请假信息
|
|
|
+ *
|
|
|
+ * @param leaveInfo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ public String addLeave(LeaveInfo leaveInfo) {
|
|
|
+ String ClockId = IdGenerator.generateUUID();
|
|
|
+ //新增主键id
|
|
|
+ leaveInfo.setId(IdGenerator.generateUUID());
|
|
|
+ leaveInfo.setClockId(ClockId);
|
|
|
+ leaveInfo.setStatus("待审核");
|
|
|
+ leaveInfo.setStatusFlag("1");
|
|
|
+ boolean one = this.insert(leaveInfo);
|
|
|
+ //新增打卡信息
|
|
|
+ ClockInfo clockInfo = new ClockInfo();
|
|
|
+ clockInfo.setId(ClockId);
|
|
|
+ clockInfo.setLeaveId(leaveInfo.getId());
|
|
|
+ clockInfo.setCommonId(leaveInfo.getCommonId());
|
|
|
+ clockInfo.setCompId(leaveInfo.getCompId());
|
|
|
+ clockInfo.setDept(leaveInfo.getDept());
|
|
|
+ clockInfo.setEmpName(leaveInfo.getEmpName());
|
|
|
+ clockInfo.setPhone(leaveInfo.getPhone());
|
|
|
+ clockInfo.setLeaveId(leaveInfo.getId());
|
|
|
+ clockInfo.setLeaveType(leaveInfo.getLeaveType());
|
|
|
+ boolean two = clockInfoService.insert(clockInfo);
|
|
|
+ if (one && two) {
|
|
|
+ return "OK";
|
|
|
+ } else {
|
|
|
+ return "NG";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 请假记录查询
|
|
|
+ *
|
|
|
+ * @param leaveInfo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Page<LeaveInfo> selectLeaveInfo(LeaveInfo leaveInfo) {
|
|
|
+ Map<String, Object> pageView = new HashMap<>();
|
|
|
+ pageView.put("startRecord", (leaveInfo.getCurrentPage() - 1)
|
|
|
+ * leaveInfo.getPageSize());
|
|
|
+ // 公司ID
|
|
|
+ pageView.put("compId", leaveInfo.getCompId());
|
|
|
+ pageView.put("commonId", leaveInfo.getCommonId());
|
|
|
+ pageView.put("pageSize", leaveInfo.getPageSize());
|
|
|
+ pageView.put("currentPage", leaveInfo.getCurrentPage());
|
|
|
+ // 查询总数
|
|
|
+ Integer dataCount = baseMapper.getCountByCondition(pageView);
|
|
|
+ List<LeaveInfo> dataList = baseMapper.getListByCondition(pageView);
|
|
|
+ Page<LeaveInfo> page = new Page<>();
|
|
|
+ page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
|
|
|
+ page.setTotal(dataCount == null ? 0 : dataCount);
|
|
|
+ page.setCurrent(leaveInfo.getCurrentPage());
|
|
|
+ page.setSize(leaveInfo.getPageSize());
|
|
|
+ return page;
|
|
|
+ }
|
|
|
|
|
|
+ /**
|
|
|
+ * 请假记录查询(PC)
|
|
|
+ * @param leaveInfo
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Page<LeaveInfo> selectLeaveInfoPc(LeaveInfo leaveInfo) {
|
|
|
+ Map<String, Object> pageView = new HashMap<>();
|
|
|
+ pageView.put("startRecord", (leaveInfo.getCurrentPage() - 1)
|
|
|
+ * leaveInfo.getPageSize());
|
|
|
+ // 公司ID
|
|
|
+ pageView.put("compId", leaveInfo.getCompId());
|
|
|
+ pageView.put("pageSize", leaveInfo.getPageSize());
|
|
|
+ pageView.put("currentPage", leaveInfo.getCurrentPage());
|
|
|
+ pageView.put("searchKeyWord", leaveInfo.getSearchKeyWord());
|
|
|
+ pageView.put("theStartDate", leaveInfo.getTheStartDate());
|
|
|
+ pageView.put("theEndDate", leaveInfo.getTheEndDate());
|
|
|
+ // 查询总数
|
|
|
+ Integer dataCount = baseMapper.getCountByConditionPc(pageView);
|
|
|
+ List<LeaveInfo> dataList = baseMapper.getListByConditionPc(pageView);
|
|
|
+ Page<LeaveInfo> page = new Page<>();
|
|
|
+ page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
|
|
|
+ page.setTotal(dataCount == null ? 0 : dataCount);
|
|
|
+ page.setCurrent(leaveInfo.getCurrentPage());
|
|
|
+ page.setSize(leaveInfo.getPageSize());
|
|
|
+ return page;
|
|
|
+ }
|
|
|
}
|