#chabaodao-4# 班次接口
This commit is contained in:
parent
b0be700da4
commit
835a39c4b5
|
|
@ -3,7 +3,7 @@ package com.weaver.seconddev.chapanda.hrm.constant;
|
|||
|
||||
public enum DownLoadTypeEnum {
|
||||
|
||||
INFORMATION("0","info", "info","签署文件下载","附件管理"),
|
||||
INFORMATION("0","info", "info","人员附件下载","附件管理"),
|
||||
CONTRACT("1","contract", "contract","签署文件下载","人事合同"),
|
||||
INCOME("2","income", "income","签署文件下载","收入证明"),
|
||||
EMPLOYMENT("3","employment", "employment","签署文件下载","在职证明"),
|
||||
|
|
|
|||
|
|
@ -166,6 +166,38 @@ public class HrmInformationFilesController {
|
|||
return WeaResult.success(dataMap);
|
||||
}
|
||||
|
||||
|
||||
@WeaPermission(publicPermission = true)
|
||||
@PostMapping("/getinformationpath3")
|
||||
public WeaResult<Object> getInformationPath3(@RequestBody JSONObject jsonObject){
|
||||
String data = String.valueOf(jsonObject.getString("data"));
|
||||
log.error("data:{}",data);
|
||||
JSONArray dataArray = new JSONArray();
|
||||
if(StringUtils.isNotBlank(data)){
|
||||
// String decodedData = hrmDownloadFilesService.convertBase64Data(data);
|
||||
// log.error("decodedData:{}",decodedData);
|
||||
// if(StringUtils.isNotBlank(decodedData)){
|
||||
// try{
|
||||
// dataArray = JSONArray.parseArray(decodedData);
|
||||
// }catch (Exception e){
|
||||
// log.error("{}",e);
|
||||
// }
|
||||
// }
|
||||
|
||||
try{
|
||||
dataArray = JSONArray.parseArray(data);
|
||||
}catch (Exception e){
|
||||
log.error("{}",e);
|
||||
}
|
||||
}
|
||||
log.error("dataArray:{}",dataArray.size());
|
||||
|
||||
String newZipFilePath = convertZipFile(dataArray, DownLoadTypeEnum.INFORMATION.getCode());
|
||||
|
||||
Map<String,Object> dataMap = new HashMap<String,Object>();
|
||||
dataMap.put("filepath",newZipFilePath);
|
||||
return WeaResult.success(dataMap);
|
||||
}
|
||||
/***
|
||||
* 转换为zip文件
|
||||
* @param dataArray
|
||||
|
|
@ -217,7 +249,7 @@ public class HrmInformationFilesController {
|
|||
log.error("fileName:{}",fileName);
|
||||
byte[] filedata = hrmDownloadFilesService.convertInputStreamToBytes(inputStream);
|
||||
|
||||
addFileToZip(zos, filedata, fileName,jobNum,userName);
|
||||
addFileToZip2(zos, filedata, fileName);
|
||||
|
||||
inputStream.close();
|
||||
} catch (IOException e) {
|
||||
|
|
@ -274,7 +306,7 @@ public class HrmInformationFilesController {
|
|||
for (DownLoadTypeEnum item : values) {
|
||||
log.error("item.getCode():{}",item.getCode());
|
||||
if(item.getCode().equals(type)){
|
||||
filename = DownLoadTypeEnum.INCOME.getFileName();
|
||||
filename = DownLoadTypeEnum.INFORMATION.getFileName();
|
||||
}
|
||||
}
|
||||
if(StringUtils.isNotBlank(filename)){
|
||||
|
|
@ -313,6 +345,14 @@ public class HrmInformationFilesController {
|
|||
zos.write(fileData);
|
||||
zos.closeEntry();
|
||||
}
|
||||
|
||||
private void addFileToZip2(ZipOutputStream zos, byte[] fileData, String entryName) throws IOException {
|
||||
// ZipEntry entry = new ZipEntry(fileName+"_"+jobNum+"/"+entryName);
|
||||
ZipEntry entry = new ZipEntry(entryName);
|
||||
zos.putNextEntry(entry);
|
||||
zos.write(fileData);
|
||||
zos.closeEntry();
|
||||
}
|
||||
/**
|
||||
* 测试接口
|
||||
* @param request
|
||||
|
|
|
|||
|
|
@ -0,0 +1,74 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.weaver.common.authority.annotation.WeaPermission;
|
||||
import com.weaver.common.base.entity.result.WeaResult;
|
||||
import com.weaver.seconddev.chapanda.hrm.service.HrmShiftQueryService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* packageName com.weaver.seconddev.chapanda.hrm.controller
|
||||
*
|
||||
* @ClassName HrmShiftQueryController
|
||||
* @Author shil
|
||||
* @Date 2025/10/16 13:37
|
||||
* @Description TODO
|
||||
*/
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/secondev/chapanda/hrm/shift")
|
||||
public class HrmShiftQueryController {
|
||||
|
||||
private final Logger log = LoggerFactory.getLogger(HrmShiftQueryController.class);
|
||||
|
||||
@Autowired
|
||||
private HrmShiftQueryService hrmShiftQueryService;
|
||||
@WeaPermission(publicPermission = true)
|
||||
@PostMapping("/queryShiftList")
|
||||
public WeaResult<Object> queryShiftList(@RequestBody JSONObject paramJson){
|
||||
log.error("paramJson:{}",paramJson.toJSONString());
|
||||
List<Map<String,Object>> dataList = hrmShiftQueryService.queryShiftList(paramJson);
|
||||
return WeaResult.success(dataList);
|
||||
}
|
||||
|
||||
@WeaPermission(publicPermission = true)
|
||||
@GetMapping("/getShiftList")
|
||||
public WeaResult<Object> getShiftList(@RequestBody JSONObject paramJson){
|
||||
log.error("paramJson:{}",paramJson.toJSONString());
|
||||
List<Map<String,Object>> dataList = hrmShiftQueryService.queryShiftList(paramJson);
|
||||
return WeaResult.success(dataList);
|
||||
}
|
||||
|
||||
@WeaPermission(publicPermission = true)
|
||||
@PostMapping("/querySchedulingList")
|
||||
public WeaResult<Object> querySchedulingList(@RequestBody JSONObject paramJson){
|
||||
log.error("paramJson:{}",paramJson.toJSONString());
|
||||
List<Map<String,Object>> dataList = hrmShiftQueryService.querySchedulingList(paramJson);
|
||||
return WeaResult.success(dataList);
|
||||
}
|
||||
|
||||
@WeaPermission(publicPermission = true)
|
||||
@GetMapping("/getSchedulingList")
|
||||
public WeaResult<Object> getSchedulingList(@RequestBody JSONObject paramJson){
|
||||
log.error("paramJson:{}",paramJson.toJSONString());
|
||||
List<Map<String,Object>> dataList = hrmShiftQueryService.querySchedulingList(paramJson);
|
||||
return WeaResult.success(dataList);
|
||||
}
|
||||
|
||||
@WeaPermission(publicPermission = true)
|
||||
@PostMapping("/operateScheduling")
|
||||
public WeaResult<Object> operateScheduling(@RequestBody JSONObject paramJson){
|
||||
log.error("paramJson:{}",paramJson.toJSONString());
|
||||
List<Map<String,Object>> dataList = hrmShiftQueryService.operateScheduling(paramJson);
|
||||
return WeaResult.success(dataList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.weaver.common.authority.annotation.WeaPermission;
|
||||
import com.weaver.common.base.entity.result.WeaResult;
|
||||
import com.weaver.seconddev.chapanda.hrm.service.HrmShiftQueryService;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* packageName com.weaver.seconddev.chapanda.hrm.controller
|
||||
*
|
||||
* @ClassName HrmShiftQueryController
|
||||
* @Author shil
|
||||
* @Date 2025/10/16 13:37
|
||||
* @Description TODO
|
||||
*/
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/sapi/secondev/cbd/hrm/shift")
|
||||
public class HrmShiftQueryOpenController {
|
||||
private final Logger log = LoggerFactory.getLogger(HrmShiftQueryOpenController.class);
|
||||
@Autowired
|
||||
private HrmShiftQueryService hrmShiftQueryService;
|
||||
@WeaPermission(publicPermission = true)
|
||||
@PostMapping("/queryShiftList")
|
||||
public WeaResult<Object> queryShiftList(@RequestBody JSONObject paramJson){
|
||||
log.error("paramJson:{}",paramJson.toJSONString());
|
||||
List<Map<String,Object>> dataList = hrmShiftQueryService.queryShiftList(paramJson);
|
||||
return WeaResult.success(dataList);
|
||||
}
|
||||
|
||||
@WeaPermission(publicPermission = true)
|
||||
@GetMapping("/getShiftList")
|
||||
public WeaResult<Object> getShiftList(@RequestBody JSONObject paramJson){
|
||||
log.error("paramJson:{}",paramJson.toJSONString());
|
||||
List<Map<String,Object>> dataList = hrmShiftQueryService.queryShiftList(paramJson);
|
||||
return WeaResult.success(dataList);
|
||||
}
|
||||
|
||||
@WeaPermission(publicPermission = true)
|
||||
@PostMapping("/querySchedulingList")
|
||||
public WeaResult<Object> querySchedulingList(@RequestBody JSONObject paramJson){
|
||||
log.error("paramJson:{}",paramJson.toJSONString());
|
||||
List<Map<String,Object>> dataList = hrmShiftQueryService.querySchedulingList(paramJson);
|
||||
return WeaResult.success(dataList);
|
||||
}
|
||||
|
||||
@WeaPermission(publicPermission = true)
|
||||
@GetMapping("/getSchedulingList")
|
||||
public WeaResult<Object> getSchedulingList(@RequestBody JSONObject paramJson){
|
||||
log.error("paramJson:{}",paramJson.toJSONString());
|
||||
List<Map<String,Object>> dataList = hrmShiftQueryService.querySchedulingList(paramJson);
|
||||
return WeaResult.success(dataList);
|
||||
}
|
||||
|
||||
@WeaPermission(publicPermission = true)
|
||||
@PostMapping("/operateScheduling")
|
||||
public WeaResult<Object> operateScheduling(@RequestBody JSONObject paramJson){
|
||||
log.error("paramJson:{}",paramJson.toJSONString());
|
||||
List<Map<String,Object>> dataList = hrmShiftQueryService.operateScheduling(paramJson);
|
||||
return WeaResult.success(dataList);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.controller;
|
||||
|
||||
import com.weaver.common.authority.annotation.WeaPermission;
|
||||
import com.weaver.common.base.entity.result.WeaResult;
|
||||
import com.weaver.framework.rpc.annotation.RpcReference;
|
||||
import com.weaver.seconddev.chapanda.hrm.service.WorkflowCommonService;
|
||||
import com.weaver.teams.domain.user.SimpleEmployee;
|
||||
import com.weaver.teams.security.context.UserContext;
|
||||
import com.weaver.workflow.core.api.rest.flow.entity.operate.WfcRequestDeleteParamDataEntity;
|
||||
import com.weaver.workflow.core.api.rest.flow.entity.operate.WfcRequestOperationResultDto;
|
||||
import com.weaver.workflow.core.api.rest.publicapi.WfcRequestOperateRest;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api/secondev/chapanda/hrm/request")
|
||||
public class WorkflowCommonController {
|
||||
private final Logger log = LoggerFactory.getLogger(WorkflowCommonController.class);
|
||||
|
||||
@Autowired
|
||||
private WorkflowCommonService workflowCommonService;
|
||||
|
||||
|
||||
@RpcReference
|
||||
WfcRequestOperateRest wfcRequestOperateRest;
|
||||
|
||||
@WeaPermission(publicPermission = true)
|
||||
@GetMapping("/queryRequestDraftCount")
|
||||
public WeaResult<Object> queryRequestDraftCount(HttpServletRequest request, HttpServletResponse response){
|
||||
String employeeid = String.valueOf(request.getParameter("employeeid"));
|
||||
log.error("employeeid:{}",employeeid);
|
||||
|
||||
String workflowid = String.valueOf(request.getParameter("workflowid"));
|
||||
log.error("workflowid:{}",workflowid);
|
||||
|
||||
Map<String,Object> dataMap = workflowCommonService.queryRequestDraftCount(employeeid,workflowid);
|
||||
return WeaResult.success(dataMap);
|
||||
}
|
||||
|
||||
|
||||
@WeaPermission(publicPermission = true)
|
||||
@GetMapping("/deleteRequestDraft")
|
||||
public WeaResult<WfcRequestOperationResultDto> deleteRequestDraft(HttpServletRequest request, HttpServletResponse response){
|
||||
String requestid = String.valueOf(request.getParameter("requestid"));
|
||||
SimpleEmployee simpleEmployee = UserContext.getCurrentUser();
|
||||
WfcRequestDeleteParamDataEntity wfcDeleteData = new WfcRequestDeleteParamDataEntity();
|
||||
wfcDeleteData.setRequestIds(requestid);
|
||||
WeaResult<WfcRequestOperationResultDto> result =wfcRequestOperateRest.deleteFlow(wfcDeleteData,simpleEmployee);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,374 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.dao;
|
||||
|
||||
import com.weaver.common.elog.util.DateUtils;
|
||||
import com.weaver.ebuilder.datasource.api.entity.SqlParamEntity;
|
||||
import com.weaver.seconddev.chapanda.hrm.constant.Constants;
|
||||
import com.weaver.seconddev.chapanda.hrm.util.DatabaseUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class HrmShiftQueryDao {
|
||||
|
||||
private final static Logger log = LoggerFactory.getLogger(HrmShiftQueryDao.class);
|
||||
|
||||
@Autowired
|
||||
private DatabaseUtils databaseUtils;
|
||||
|
||||
/***
|
||||
*
|
||||
* @param type
|
||||
* @param isStore
|
||||
* @return
|
||||
*/
|
||||
public List<Map<String, Object>> queryShiftList(String type,String isStore){
|
||||
String sourceType = "LOGIC";
|
||||
String groupId = "weaver-ebuilder-form-service";
|
||||
List<Map<String, Object>> recordList = new ArrayList<Map<String, Object>>();
|
||||
try{
|
||||
String dataSql =" select \n" +
|
||||
" b.id, " +
|
||||
" b.name, " +
|
||||
" a.sfmdbc, " +
|
||||
" a.fdjjrbc " +
|
||||
" from e10_common.uf_kq_mdbcdy a\n" +
|
||||
" inner join (select * from e10_other_business.attend_shift where delete_type=0 and tenant_key = ?) b on a.bc=b.id\n" +
|
||||
" where a.sfmdbc = ? \n" +
|
||||
" and a.fdjjrbc = ? \n" +
|
||||
" and a.delete_type = 0 " +
|
||||
" and a.tenant_key=?" ;
|
||||
log.error("dataSql:" + dataSql);
|
||||
List<String> paramList = new ArrayList<>(100);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
paramList.add(isStore);
|
||||
paramList.add(type);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
|
||||
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
|
||||
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
|
||||
|
||||
Iterator<Map.Entry<String, Object>> iterator = result.entrySet().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Map.Entry<String, Object> entry = iterator.next();
|
||||
log.error(" Key = " + entry.getKey() + ", Value = " + entry.getValue());
|
||||
}
|
||||
|
||||
recordList = databaseUtils.getDataSourceList(result);
|
||||
}catch (Exception e){
|
||||
log.error("e:" + e);
|
||||
}
|
||||
return recordList;
|
||||
}
|
||||
|
||||
/***
|
||||
*
|
||||
* @param shiftid
|
||||
* @return
|
||||
*/
|
||||
public List<Map<String,Object>> queryShiftTimeList(String shiftid){
|
||||
String sourceType = "LOGIC";
|
||||
String groupId = "weaver-hr-service";
|
||||
List<Map<String, Object>> recordList = new ArrayList<Map<String, Object>>();
|
||||
try{
|
||||
|
||||
String dataSql =" select attend_start_time,attend_end_time\n" +
|
||||
" from attend_period \n" +
|
||||
" where delete_type=0 \n" +
|
||||
" and attend_shift_id=? " +
|
||||
" and tenant_key = ? " ;
|
||||
|
||||
log.error("dataSql:" + dataSql);
|
||||
List<String> paramList = new ArrayList<>(100);
|
||||
paramList.add(shiftid);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
|
||||
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
|
||||
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
|
||||
recordList = databaseUtils.getDataSourceList(result);
|
||||
log.error("recordList:{}",recordList.size());
|
||||
}catch (Exception e){
|
||||
log.error("e:" + e);
|
||||
}
|
||||
return recordList;
|
||||
}
|
||||
|
||||
/***
|
||||
*
|
||||
* @param beginDate
|
||||
* @param endDate
|
||||
* @param empCode
|
||||
* @return
|
||||
*/
|
||||
public List<Map<String, Object>> querySchedulingList(String beginDate,String endDate,String empCode){
|
||||
String sourceType = "LOGIC";
|
||||
String groupId = "weaver-hr-service";
|
||||
List<Map<String, Object>> recordList = new ArrayList<Map<String, Object>>();
|
||||
try{
|
||||
String dataSql =" select \n" +
|
||||
" d.job_num, \n" +
|
||||
" d.username, \n" +
|
||||
" c.id bcid, \n" +
|
||||
" c.name bcname, \n" +
|
||||
" a.attend_date pbrq \n" +
|
||||
" from (select * from e10_other_business.attend_scheduling where delete_type=0 and tenant_key = ?) a\n" +
|
||||
" inner join (select * from e10_other_business.attend_config_range where delete_type=0 and entry_type='user' and tenant_key = ? ) b on a.range_id=b.id\n" +
|
||||
" inner join (select * from e10_other_business.attend_shift where delete_type=0 and tenant_key = ? ) c on a.shift_id=c.id\n" +
|
||||
" inner join (select * from eteams.employee where delete_type=0 and tenant_key = ? ) d on b.target_id=d.ID\n" +
|
||||
" where a.attend_date >= ? \n" +
|
||||
" and a.attend_date <= ? \n" +
|
||||
" and d.job_num = ? and d.tenant_key = ? and d.delete_type=0 " ;
|
||||
log.error("dataSql:" + dataSql);
|
||||
List<String> paramList = new ArrayList<>(100);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
paramList.add(beginDate);
|
||||
paramList.add(endDate);
|
||||
paramList.add(empCode);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
|
||||
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
|
||||
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
|
||||
recordList = databaseUtils.getDataSourceList(result);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("e:" + e);
|
||||
}
|
||||
return recordList;
|
||||
}
|
||||
|
||||
|
||||
public String queryEmployeeIdByCode(String empCode){
|
||||
String sourceType = "LOGIC";
|
||||
String groupId = "weaver-ebuilder-form-service";
|
||||
String employeeId = "";
|
||||
try{
|
||||
String dataSql =" select id from eteams.employee where job_num= ? and tenant_key = ? and delete_type=0 " ;
|
||||
log.error("dataSql:" + dataSql);
|
||||
List<String> paramList = new ArrayList<>(100);
|
||||
paramList.add(empCode);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
|
||||
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
|
||||
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(result);
|
||||
if(recordList.size()>0){
|
||||
employeeId = String.valueOf(recordList.get(0).get("id"));
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("e:" + e);
|
||||
}
|
||||
return employeeId;
|
||||
}
|
||||
|
||||
|
||||
public String queryAttendConfig(String scId){
|
||||
String sourceType = "LOGIC";
|
||||
String groupId = "weaver-hr-service";
|
||||
String attendConfig = "";
|
||||
try{
|
||||
String dataSql =" select attend_config \n" +
|
||||
" from attend_scheduling_shift \n" +
|
||||
" where delete_type = 0 \n" +
|
||||
" and attend_shift = ? and tenant_key = ? " ;
|
||||
|
||||
log.error("dataSql:" + dataSql);
|
||||
|
||||
List<String> paramList = new ArrayList<>(100);
|
||||
paramList.add(scId);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
|
||||
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
|
||||
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(result);
|
||||
log.error("recordList:" + recordList.size());
|
||||
|
||||
if(recordList.size()>0){
|
||||
attendConfig = String.valueOf(recordList.get(0).get("attend_config"));
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("e:" + e);
|
||||
}
|
||||
return attendConfig;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String queryRangeIdByconfigId(String employeeId,String attendConfig){
|
||||
String sourceType = "LOGIC";
|
||||
String groupId = "weaver-hr-service";
|
||||
String rangeId = "";
|
||||
try{
|
||||
String dataSql =" select id \n" +
|
||||
" from attend_config_range\n" +
|
||||
" where delete_type=0\n" +
|
||||
" and target_id= ? \n" +
|
||||
" and entry_type='user' \n" +
|
||||
" and attend_config= ? and tenant_key = ? " ;
|
||||
|
||||
log.error("dataSql:" + dataSql);
|
||||
List<String> paramList = new ArrayList<>(100);
|
||||
paramList.add(employeeId);
|
||||
paramList.add(attendConfig);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
|
||||
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
|
||||
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(result);
|
||||
if(recordList.size()>0){
|
||||
rangeId = String.valueOf(recordList.get(0).get("id"));
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("e:" + e);
|
||||
}
|
||||
return rangeId;
|
||||
}
|
||||
|
||||
public String queryRangeCount(){
|
||||
String sourceType = "LOGIC";
|
||||
String groupId = "weaver-hr-service";
|
||||
String count = "0";
|
||||
try{
|
||||
String dataSql =" select count(1) as cou \n" +
|
||||
" from attend_config_range\n" +
|
||||
" where delete_type=0\n" +
|
||||
" and entry_type='user' \n" +
|
||||
" and tenant_key = ? " ;
|
||||
|
||||
log.error("dataSql:" + dataSql);
|
||||
List<String> paramList = new ArrayList<>(100);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
|
||||
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
|
||||
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(result);
|
||||
if(recordList.size()>0){
|
||||
count = String.valueOf(recordList.get(0).get("cou"));
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("e:" + e);
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
|
||||
public void insertAttendConfigRange(Long id,String employeeId,String attendConfig,String sort_num){
|
||||
String sourceType = "LOGIC";
|
||||
String groupId = "weaver-hr-service";
|
||||
try{
|
||||
String create_time = DateUtils.getCurrentDateString() + " " + DateUtils.getOnlyCurrentTimeString();
|
||||
String dataSql =" insert into attend_config_range(id,target_id,entry_type,attend_config,tenant_key,create_time,update_time,delete_type,include_sub_dept,min_sec_level,max_sec_level,sort_num,creator) " +
|
||||
" values(?,?,'user',?,?,?,?,0,0,-999,999,?,?)" ;
|
||||
|
||||
log.error("dataSql:" + dataSql);
|
||||
List<String> paramList = new ArrayList<>(100);
|
||||
paramList.add(String.valueOf(id));
|
||||
paramList.add(employeeId);
|
||||
paramList.add(attendConfig);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
paramList.add(create_time);
|
||||
paramList.add(create_time);
|
||||
paramList.add(sort_num);
|
||||
paramList.add(Constants.SysUserId);
|
||||
|
||||
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
|
||||
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
|
||||
Iterator<Map.Entry<String, Object>> iterator = result.entrySet().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Map.Entry<String, Object> entry = iterator.next();
|
||||
log.error(" Key = " + entry.getKey() + ", Value = " + entry.getValue());
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("e:" + e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void insertAttendScheduling(Long id,String attendConfig,String attend_date,String range_id,String shift_id){
|
||||
String sourceType = "LOGIC";
|
||||
String groupId = "weaver-hr-service";
|
||||
try{
|
||||
String create_time = DateUtils.getCurrentDateString() + " " + DateUtils.getOnlyCurrentTimeString();
|
||||
String dataSql =" insert into attend_scheduling\n" +
|
||||
"(id,attend_config_id,attend_date,range_id,shift_id,tenant_key,update_time,delete_type,create_time,creator) " +
|
||||
"values(?,?,?,?,?,?,?,?,?,?)" ;
|
||||
|
||||
log.error("dataSql:" + dataSql);
|
||||
List<String> paramList = new ArrayList<>(100);
|
||||
paramList.add(String.valueOf(id));
|
||||
paramList.add(attendConfig);
|
||||
paramList.add(attend_date);
|
||||
|
||||
paramList.add(range_id);
|
||||
paramList.add(shift_id);
|
||||
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
paramList.add(create_time);
|
||||
paramList.add("0");
|
||||
paramList.add(create_time);
|
||||
paramList.add(Constants.SysUserId);
|
||||
|
||||
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
|
||||
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
|
||||
Iterator<Map.Entry<String, Object>> iterator = result.entrySet().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Map.Entry<String, Object> entry = iterator.next();
|
||||
log.error(" Key = " + entry.getKey() + ", Value = " + entry.getValue());
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("e:" + e);
|
||||
}
|
||||
}
|
||||
|
||||
public void deleteAttendScheduling(String attendDate,String shiftId,String attendConfig,String rangeId){
|
||||
String sourceType = "LOGIC";
|
||||
String groupId = "weaver-hr-service";
|
||||
try{
|
||||
|
||||
String update_time = DateUtils.getCurrentDateString() + " " + DateUtils.getOnlyCurrentTimeString();
|
||||
String dataSql =" update attend_scheduling\n" +
|
||||
" set delete_type = 1,update_time = ? \n" +
|
||||
" where ATTEND_DATE = ? \n" +
|
||||
" and SHIFT_ID=? \n" +
|
||||
" and ATTEND_CONFIG_ID=? \n" +
|
||||
" and RANGE_ID=? and tenant_key = ? " ;
|
||||
|
||||
log.error("dataSql:" + dataSql);
|
||||
List<String> paramList = new ArrayList<>(100);
|
||||
paramList.add(update_time);
|
||||
paramList.add(attendDate);
|
||||
paramList.add(shiftId);
|
||||
paramList.add(attendConfig);
|
||||
paramList.add(rangeId);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
|
||||
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
|
||||
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
|
||||
Iterator<Map.Entry<String, Object>> iterator = result.entrySet().iterator();
|
||||
while (iterator.hasNext()) {
|
||||
Map.Entry<String, Object> entry = iterator.next();
|
||||
log.error(" Key = " + entry.getKey() + ", Value = " + entry.getValue());
|
||||
}
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("e:" + e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,66 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.dao;
|
||||
|
||||
import com.weaver.ebuilder.datasource.api.entity.SqlParamEntity;
|
||||
import com.weaver.seconddev.chapanda.hrm.constant.Constants;
|
||||
import com.weaver.seconddev.chapanda.hrm.util.DatabaseUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class WorkflowCommonDao {
|
||||
|
||||
private final static Logger log = LoggerFactory.getLogger(WorkflowCommonDao.class);
|
||||
|
||||
@Autowired
|
||||
private DatabaseUtils databaseUtils;
|
||||
|
||||
/***
|
||||
* 获取eb表的appid和formid
|
||||
* @param employeeid
|
||||
* @param workflowid
|
||||
* @return
|
||||
*/
|
||||
public String queryRequestDraftCount(String employeeid,String workflowid){
|
||||
String sourceType = "LOGIC";
|
||||
String groupId = "weaver-workflow-report-serviceworkflowreport";
|
||||
String requestid = "";
|
||||
try{
|
||||
|
||||
String dataSql =" select requestid \n" +
|
||||
" from wfc_requestbase \n" +
|
||||
" where flowstatus ='0'\n" +
|
||||
" and creator =? \n" +
|
||||
" and workflowid =? \n" +
|
||||
" and delete_type=0\n" +
|
||||
" and tenant_key =? \n" +
|
||||
" order by create_time desc " ;
|
||||
|
||||
log.error("dataSql:" + dataSql);
|
||||
List<String> paramList = new ArrayList<>(100);
|
||||
paramList.add(employeeid);
|
||||
paramList.add(workflowid);
|
||||
paramList.add(Constants.TENANT_KEY);
|
||||
|
||||
List<SqlParamEntity> sqlParamList = databaseUtils.querySqlParamEntity(paramList);
|
||||
Map<String, Object> result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList);
|
||||
List<Map<String, Object>> recordList = databaseUtils.getDataSourceList(result);
|
||||
log.error("recordList:"+recordList.size());
|
||||
if(recordList.size()>0){
|
||||
requestid = String.valueOf(recordList.get(0).get("requestid"));
|
||||
}
|
||||
log.error("requestid:{}",requestid);
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
log.error("e:" + e);
|
||||
}
|
||||
return requestid;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.entity;
|
||||
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2025/08/04
|
||||
* @version: 1.0
|
||||
*/
|
||||
|
||||
public class CustomSchedulingPo {
|
||||
private String jobNum;
|
||||
private String username;
|
||||
|
||||
private String bcid;
|
||||
|
||||
private String bcname;
|
||||
|
||||
private String pbrq;
|
||||
|
||||
public String getJobNum() {
|
||||
return jobNum;
|
||||
}
|
||||
|
||||
public void setJobNum(String jobNum) {
|
||||
this.jobNum = jobNum;
|
||||
}
|
||||
|
||||
public String getUsername() {
|
||||
return username;
|
||||
}
|
||||
|
||||
public void setUsername(String username) {
|
||||
this.username = username;
|
||||
}
|
||||
|
||||
public String getBcid() {
|
||||
return bcid;
|
||||
}
|
||||
|
||||
public void setBcid(String bcid) {
|
||||
this.bcid = bcid;
|
||||
}
|
||||
|
||||
public String getBcname() {
|
||||
return bcname;
|
||||
}
|
||||
|
||||
public void setBcname(String bcname) {
|
||||
this.bcname = bcname;
|
||||
}
|
||||
|
||||
public String getPbrq() {
|
||||
return pbrq;
|
||||
}
|
||||
|
||||
public void setPbrq(String pbrq) {
|
||||
this.pbrq = pbrq;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.entity;
|
||||
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2025/08/04
|
||||
* @version: 1.0
|
||||
*/
|
||||
|
||||
public class CustomShiftPo {
|
||||
private String id;
|
||||
private String name;
|
||||
private String sfmdbc;
|
||||
private String fdjjrbc;
|
||||
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getSfmdbc() {
|
||||
return sfmdbc;
|
||||
}
|
||||
|
||||
public void setSfmdbc(String sfmdbc) {
|
||||
this.sfmdbc = sfmdbc;
|
||||
}
|
||||
|
||||
public String getFdjjrbc() {
|
||||
return fdjjrbc;
|
||||
}
|
||||
|
||||
public void setFdjjrbc(String fdjjrbc) {
|
||||
this.fdjjrbc = fdjjrbc;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.entity;
|
||||
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2025/08/04
|
||||
* @version: 1.0
|
||||
*/
|
||||
|
||||
public class CustomShiftTimePo {
|
||||
private String attendStartTime;
|
||||
private String attendEndTime;
|
||||
|
||||
public String getAttendStartTime() {
|
||||
return attendStartTime;
|
||||
}
|
||||
|
||||
public void setAttendStartTime(String attendStartTime) {
|
||||
this.attendStartTime = attendStartTime;
|
||||
}
|
||||
|
||||
public String getAttendEndTime() {
|
||||
return attendEndTime;
|
||||
}
|
||||
|
||||
public void setAttendEndTime(String attendEndTime) {
|
||||
this.attendEndTime = attendEndTime;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.mapper;
|
||||
|
||||
import com.weaver.seconddev.chapanda.hrm.entity.CustomSchedulingPo;
|
||||
import com.weaver.seconddev.chapanda.hrm.entity.CustomShiftPo;
|
||||
import com.weaver.seconddev.chapanda.hrm.entity.CustomShiftTimePo;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author:dxfeng
|
||||
* @createTime: 2025/07/15
|
||||
* @version: 1.0
|
||||
*/
|
||||
@Mapper
|
||||
public interface HrmShiftQueryMapper {
|
||||
|
||||
/***
|
||||
* 查询班次列表
|
||||
* @param isStore
|
||||
* @param type
|
||||
* @param tenantKey
|
||||
* @return
|
||||
*/
|
||||
List<CustomShiftPo> queryShiftList(@Param("isStore") String isStore, @Param("type") String type, @Param("tenantKey") String tenantKey);
|
||||
|
||||
/***
|
||||
* 查询班次时间列表
|
||||
* @param shiftId
|
||||
* @param tenantKey
|
||||
* @return
|
||||
*/
|
||||
List<CustomShiftTimePo> queryShiftTimeList(@Param("shiftId") String shiftId, @Param("tenantKey") String tenantKey);
|
||||
|
||||
/***
|
||||
* 查询排班列表
|
||||
* @param beginDate
|
||||
* @param endDate
|
||||
* @param empCode
|
||||
* @param tenantKey
|
||||
* @return
|
||||
*/
|
||||
List<CustomSchedulingPo> querySchedulingList(@Param("beginDate") String beginDate, @Param("endDate") String endDate, @Param("empCode") String empCode, @Param("tenantKey") String tenantKey);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public interface HrmShiftQueryService {
|
||||
|
||||
List<Map<String,Object>> queryShiftList(JSONObject paramJson);
|
||||
|
||||
|
||||
List<Map<String,Object>> querySchedulingList(JSONObject paramJson);
|
||||
|
||||
|
||||
List<Map<String,Object>> operateScheduling(JSONObject paramJson);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.service;
|
||||
|
||||
import org.springframework.stereotype.Component;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public interface WorkflowCommonService {
|
||||
Map<String,Object>queryRequestDraftCount(String employeeid,String workflowid);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,168 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.service.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.weaver.common.distribution.genid.IdGenerator;
|
||||
import com.weaver.seconddev.chapanda.hrm.constant.Constants;
|
||||
import com.weaver.seconddev.chapanda.hrm.dao.HrmShiftQueryDao;
|
||||
import com.weaver.seconddev.chapanda.hrm.entity.CustomSchedulingPo;
|
||||
import com.weaver.seconddev.chapanda.hrm.entity.CustomShiftPo;
|
||||
import com.weaver.seconddev.chapanda.hrm.entity.CustomShiftTimePo;
|
||||
import com.weaver.seconddev.chapanda.hrm.mapper.HrmShiftQueryMapper;
|
||||
import com.weaver.seconddev.chapanda.hrm.service.HrmShiftQueryService;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/***
|
||||
* author:shil
|
||||
*/
|
||||
@Service
|
||||
public class HrmShiftQueryServiceImpl implements HrmShiftQueryService {
|
||||
|
||||
private final Logger log = LoggerFactory.getLogger(HrmShiftQueryServiceImpl.class);
|
||||
@Autowired
|
||||
HrmShiftQueryMapper hrmShiftQueryMapper;
|
||||
|
||||
@Autowired
|
||||
HrmShiftQueryDao hrmShiftQueryDao;
|
||||
|
||||
/***
|
||||
* 查询班次列表
|
||||
* @param paramJson
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<Map<String,Object>> queryShiftList(JSONObject paramJson) {
|
||||
List<Map<String,Object>> shiftList = new ArrayList<Map<String,Object>>();
|
||||
String type = paramJson.getString("type");
|
||||
String isStore = paramJson.getString("isStore");
|
||||
log.error("type:{}",type);
|
||||
log.error("isStore:{}",isStore);
|
||||
|
||||
List<CustomShiftPo> dataList = hrmShiftQueryMapper.queryShiftList(isStore,type,Constants.TENANT_KEY);
|
||||
log.error("dataList:{}",dataList.size());
|
||||
for(int i=0;i<dataList.size();i++){
|
||||
CustomShiftPo customShiftPo = dataList.get(i);
|
||||
String id = customShiftPo.getId();
|
||||
String name = customShiftPo.getName();
|
||||
String sfmdbc = customShiftPo.getSfmdbc();
|
||||
String fdjjrbc = customShiftPo.getFdjjrbc();
|
||||
|
||||
Map<String,Object> shiftMap = new HashMap<String,Object>();
|
||||
shiftMap.put("scID",id);
|
||||
shiftMap.put("scName",name);
|
||||
shiftMap.put("type",fdjjrbc);
|
||||
shiftMap.put("isStore",sfmdbc);
|
||||
|
||||
log.error("id:{}",dataList.size());
|
||||
List<CustomShiftTimePo> attendList = hrmShiftQueryMapper.queryShiftTimeList(id,Constants.TENANT_KEY);
|
||||
shiftMap.put("attend",attendList);
|
||||
shiftList.add(shiftMap);
|
||||
}
|
||||
return shiftList;
|
||||
}
|
||||
|
||||
/***
|
||||
* 查询排班列表
|
||||
* @param paramJson
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<Map<String,Object>> querySchedulingList(JSONObject paramJson) {
|
||||
List<Map<String,Object>> shiftList = new ArrayList<Map<String,Object>>();
|
||||
String beginDate = paramJson.getString("beginDate");
|
||||
String endDate = paramJson.getString("endDate");
|
||||
log.error("beginDate:{}",beginDate);
|
||||
log.error("endDate:{}",endDate);
|
||||
String empCodeStr = paramJson.getString("empCode");
|
||||
log.error("empCodeStr:{}",empCodeStr);
|
||||
JSONArray empCodeArray = new JSONArray();
|
||||
if(StringUtils.isNotBlank(empCodeStr)){
|
||||
empCodeArray = JSONArray.parseArray(empCodeStr);
|
||||
}
|
||||
log.error("empCodeArray:{}",empCodeArray.size());
|
||||
|
||||
for(int i=0;i<empCodeArray.size();i++){
|
||||
String empCode = empCodeArray.getString(i);
|
||||
log.error("empCode:{}",empCode);
|
||||
|
||||
List<CustomSchedulingPo> dataList = hrmShiftQueryMapper.querySchedulingList(beginDate,endDate,empCode,Constants.TENANT_KEY);
|
||||
log.error("dataList:{}",dataList.size());
|
||||
for(int k = 0;k<dataList.size();k++){
|
||||
|
||||
CustomSchedulingPo customSchedulingPo = dataList.get(k);
|
||||
String scID = customSchedulingPo.getBcid();
|
||||
String scName = customSchedulingPo.getBcname();
|
||||
String scDate = customSchedulingPo.getPbrq();
|
||||
String empCode_item = customSchedulingPo.getJobNum();
|
||||
String empName = customSchedulingPo.getUsername();
|
||||
|
||||
Map<String,Object> shiftMap = new HashMap<String,Object>();
|
||||
shiftMap.put("scID",scID);
|
||||
shiftMap.put("scName",scName);
|
||||
shiftMap.put("scDate",scDate);
|
||||
shiftMap.put("empCode",empCode_item);
|
||||
shiftMap.put("empName",empName);
|
||||
|
||||
List<CustomShiftTimePo> attendList = hrmShiftQueryMapper.queryShiftTimeList(scID,Constants.TENANT_KEY);
|
||||
shiftMap.put("attend",attendList);
|
||||
shiftList.add(shiftMap);
|
||||
}
|
||||
}
|
||||
return shiftList;
|
||||
}
|
||||
|
||||
|
||||
public List<Map<String,Object>> operateScheduling(JSONObject paramJson) {
|
||||
List<Map<String,Object>> dataList = new ArrayList<Map<String,Object>>();
|
||||
Map<String,Object> map = new HashMap<String,Object>();
|
||||
List<Map<String,Object>> shiftList = new ArrayList<Map<String,Object>>();
|
||||
String operType = paramJson.getString("operType");
|
||||
JSONArray dataArray = paramJson.getJSONArray("data");
|
||||
|
||||
for(int i=0;i<dataArray.size();i++){
|
||||
JSONObject dataJson = dataArray.getJSONObject(i);
|
||||
String empCode = dataJson.getString("empCode");
|
||||
String scID = dataJson.getString("scID");
|
||||
String scDate = dataJson.getString("scDate");
|
||||
String employeeId = hrmShiftQueryDao.queryEmployeeIdByCode(empCode);
|
||||
|
||||
if(StringUtils.isNotBlank(employeeId)){
|
||||
if(StringUtils.isNotBlank(scID)){
|
||||
String attendConfig = hrmShiftQueryDao.queryAttendConfig(scID);
|
||||
if(StringUtils.isNotBlank(attendConfig)){
|
||||
String sort_num = hrmShiftQueryDao.queryRangeCount();
|
||||
if(StringUtils.isNotBlank(sort_num)){
|
||||
Long attend_config_rangeId = IdGenerator.generate();
|
||||
hrmShiftQueryDao.insertAttendConfigRange(attend_config_rangeId,employeeId,attendConfig,sort_num);
|
||||
|
||||
String rangeId = hrmShiftQueryDao.queryRangeIdByconfigId(employeeId,attendConfig);
|
||||
if(StringUtils.isBlank(rangeId)){
|
||||
// 添加排班
|
||||
if("1".equals(operType)){
|
||||
Long attendSchedulingId = IdGenerator.generate();
|
||||
hrmShiftQueryDao.insertAttendScheduling(attendSchedulingId,attendConfig,scDate,rangeId,scID);
|
||||
}else if("2".equals(operType)){ // 修改排班
|
||||
hrmShiftQueryDao.deleteAttendScheduling(scDate,scID,attendConfig,rangeId);
|
||||
Long attendSchedulingId = IdGenerator.generate();
|
||||
hrmShiftQueryDao.insertAttendScheduling(attendSchedulingId,attendConfig,scDate,rangeId,scID);
|
||||
}else if("3".equals(operType)){ // 删除排班
|
||||
hrmShiftQueryDao.deleteAttendScheduling(scDate,scID,attendConfig,rangeId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return dataList;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
package com.weaver.seconddev.chapanda.hrm.service.impl;
|
||||
|
||||
import com.weaver.seconddev.chapanda.hrm.dao.WorkflowCommonDao;
|
||||
import com.weaver.seconddev.chapanda.hrm.service.WorkflowCommonService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/***
|
||||
* author:shil
|
||||
*/
|
||||
|
||||
@Service
|
||||
public class WorkflowCommonServiceImpl implements WorkflowCommonService {
|
||||
|
||||
@Autowired
|
||||
WorkflowCommonDao workflowCommonDao;
|
||||
@Override
|
||||
public Map<String,Object> queryRequestDraftCount(String employeeid, String workflowid) {
|
||||
Map<String,Object> dataMap = new HashMap<String,Object>();
|
||||
String requestid = workflowCommonDao.queryRequestDraftCount(employeeid,workflowid);
|
||||
dataMap.put("requestid",requestid);
|
||||
return dataMap;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?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="com.weaver.seconddev.chapanda.hrm.mapper.HrmShiftQueryMapper">
|
||||
|
||||
<select id="queryShiftList" resultType="com.weaver.seconddev.chapanda.hrm.entity.CustomShiftPo">
|
||||
select b.id,b.name,a.sfmdbc,a.fdjjrbc
|
||||
from e10_common.uf_kq_mdbcdy a
|
||||
inner join (select * from e10_other_business.attend_shift where delete_type=0 and tenant_key = #{tenantKey}) b on a.bc=b.id
|
||||
where a.sfmdbc = #{isStore}
|
||||
and a.fdjjrbc = #{type}
|
||||
and a.delete_type = 0
|
||||
and a.tenant_key= #{tenantKey}
|
||||
</select>
|
||||
|
||||
<select id="queryShiftTimeList" resultType="com.weaver.seconddev.chapanda.hrm.entity.CustomShiftTimePo">
|
||||
select attend_start_time as attendStartTime,attend_end_time as attendEndTime
|
||||
from e10_other_business.attend_period
|
||||
where delete_type=0
|
||||
and attend_shift_id = #{shiftId}
|
||||
and tenant_key = #{tenantKey}
|
||||
</select>
|
||||
|
||||
<select id="querySchedulingList" resultType="com.weaver.seconddev.chapanda.hrm.entity.CustomSchedulingPo">
|
||||
select d.job_num as jobNum,d.username,c.id bcid,c.name bcname,a.attend_date pbrq
|
||||
from (select * from e10_other_business.attend_scheduling where delete_type=0 and tenant_key = #{tenantKey}) a
|
||||
inner join (select * from e10_other_business.attend_config_range where delete_type=0 and entry_type='user' and tenant_key = #{tenantKey} ) b on a.range_id=b.id
|
||||
inner join (select * from e10_other_business.attend_shift where delete_type=0 and tenant_key = #{tenantKey} ) c on a.shift_id=c.id
|
||||
inner join (select * from eteams.employee where delete_type=0 and tenant_key = #{tenantKey} ) d on b.target_id=d.ID
|
||||
where a.attend_date >= #{beginDate}
|
||||
and a.attend_date <= #{endDate}
|
||||
and d.job_num = #{empCode} and d.tenant_key = #{tenantKey} and d.delete_type=0
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue