From 835a39c4b5c6b1ca09e693c46aaa1c2d9de9d6c7 Mon Sep 17 00:00:00 2001 From: shilei <798989044@qq.com> Date: Thu, 23 Oct 2025 11:03:13 +0800 Subject: [PATCH] =?UTF-8?q?#chabaodao-4#=20=E7=8F=AD=E6=AC=A1=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hrm/constant/DownLoadTypeEnum.java | 2 +- .../HrmInformationFilesController.java | 44 ++- .../controller/HrmShiftQueryController.java | 74 ++++ .../HrmShiftQueryOpenController.java | 72 ++++ .../controller/WorkflowCommonController.java | 58 +++ .../chapanda/hrm/dao/HrmShiftQueryDao.java | 374 ++++++++++++++++++ .../chapanda/hrm/dao/WorkflowCommonDao.java | 66 ++++ .../hrm/entity/CustomSchedulingPo.java | 59 +++ .../chapanda/hrm/entity/CustomShiftPo.java | 48 +++ .../hrm/entity/CustomShiftTimePo.java | 29 ++ .../hrm/mapper/HrmShiftQueryMapper.java | 49 +++ .../hrm/service/HrmShiftQueryService.java | 20 + .../hrm/service/WorkflowCommonService.java | 10 + .../impl/HrmShiftQueryServiceImpl.java | 168 ++++++++ .../impl/WorkflowCommonServiceImpl.java | 26 ++ .../resources/mapper/HrmShiftQueryMapper.xml | 34 ++ 16 files changed, 1130 insertions(+), 3 deletions(-) create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/HrmShiftQueryController.java create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/HrmShiftQueryOpenController.java create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/WorkflowCommonController.java create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/dao/HrmShiftQueryDao.java create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/dao/WorkflowCommonDao.java create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/entity/CustomSchedulingPo.java create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/entity/CustomShiftPo.java create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/entity/CustomShiftTimePo.java create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/mapper/HrmShiftQueryMapper.java create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/HrmShiftQueryService.java create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/WorkflowCommonService.java create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/impl/HrmShiftQueryServiceImpl.java create mode 100644 secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/impl/WorkflowCommonServiceImpl.java create mode 100644 secondev-chapanda-hrmdev/src/main/resources/mapper/HrmShiftQueryMapper.xml diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/constant/DownLoadTypeEnum.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/constant/DownLoadTypeEnum.java index f7e113b..240c6e7 100644 --- a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/constant/DownLoadTypeEnum.java +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/constant/DownLoadTypeEnum.java @@ -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","签署文件下载","在职证明"), diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/HrmInformationFilesController.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/HrmInformationFilesController.java index c4e85e7..21986bc 100644 --- a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/HrmInformationFilesController.java +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/HrmInformationFilesController.java @@ -166,6 +166,38 @@ public class HrmInformationFilesController { return WeaResult.success(dataMap); } + + @WeaPermission(publicPermission = true) + @PostMapping("/getinformationpath3") + public WeaResult 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 dataMap = new HashMap(); + 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 diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/HrmShiftQueryController.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/HrmShiftQueryController.java new file mode 100644 index 0000000..4af2136 --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/HrmShiftQueryController.java @@ -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 queryShiftList(@RequestBody JSONObject paramJson){ + log.error("paramJson:{}",paramJson.toJSONString()); + List> dataList = hrmShiftQueryService.queryShiftList(paramJson); + return WeaResult.success(dataList); + } + + @WeaPermission(publicPermission = true) + @GetMapping("/getShiftList") + public WeaResult getShiftList(@RequestBody JSONObject paramJson){ + log.error("paramJson:{}",paramJson.toJSONString()); + List> dataList = hrmShiftQueryService.queryShiftList(paramJson); + return WeaResult.success(dataList); + } + + @WeaPermission(publicPermission = true) + @PostMapping("/querySchedulingList") + public WeaResult querySchedulingList(@RequestBody JSONObject paramJson){ + log.error("paramJson:{}",paramJson.toJSONString()); + List> dataList = hrmShiftQueryService.querySchedulingList(paramJson); + return WeaResult.success(dataList); + } + + @WeaPermission(publicPermission = true) + @GetMapping("/getSchedulingList") + public WeaResult getSchedulingList(@RequestBody JSONObject paramJson){ + log.error("paramJson:{}",paramJson.toJSONString()); + List> dataList = hrmShiftQueryService.querySchedulingList(paramJson); + return WeaResult.success(dataList); + } + + @WeaPermission(publicPermission = true) + @PostMapping("/operateScheduling") + public WeaResult operateScheduling(@RequestBody JSONObject paramJson){ + log.error("paramJson:{}",paramJson.toJSONString()); + List> dataList = hrmShiftQueryService.operateScheduling(paramJson); + return WeaResult.success(dataList); + } + + + +} diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/HrmShiftQueryOpenController.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/HrmShiftQueryOpenController.java new file mode 100644 index 0000000..9351d74 --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/HrmShiftQueryOpenController.java @@ -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 queryShiftList(@RequestBody JSONObject paramJson){ + log.error("paramJson:{}",paramJson.toJSONString()); + List> dataList = hrmShiftQueryService.queryShiftList(paramJson); + return WeaResult.success(dataList); + } + + @WeaPermission(publicPermission = true) + @GetMapping("/getShiftList") + public WeaResult getShiftList(@RequestBody JSONObject paramJson){ + log.error("paramJson:{}",paramJson.toJSONString()); + List> dataList = hrmShiftQueryService.queryShiftList(paramJson); + return WeaResult.success(dataList); + } + + @WeaPermission(publicPermission = true) + @PostMapping("/querySchedulingList") + public WeaResult querySchedulingList(@RequestBody JSONObject paramJson){ + log.error("paramJson:{}",paramJson.toJSONString()); + List> dataList = hrmShiftQueryService.querySchedulingList(paramJson); + return WeaResult.success(dataList); + } + + @WeaPermission(publicPermission = true) + @GetMapping("/getSchedulingList") + public WeaResult getSchedulingList(@RequestBody JSONObject paramJson){ + log.error("paramJson:{}",paramJson.toJSONString()); + List> dataList = hrmShiftQueryService.querySchedulingList(paramJson); + return WeaResult.success(dataList); + } + + @WeaPermission(publicPermission = true) + @PostMapping("/operateScheduling") + public WeaResult operateScheduling(@RequestBody JSONObject paramJson){ + log.error("paramJson:{}",paramJson.toJSONString()); + List> dataList = hrmShiftQueryService.operateScheduling(paramJson); + return WeaResult.success(dataList); + } + + + +} diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/WorkflowCommonController.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/WorkflowCommonController.java new file mode 100644 index 0000000..6e1bf28 --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/controller/WorkflowCommonController.java @@ -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 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 dataMap = workflowCommonService.queryRequestDraftCount(employeeid,workflowid); + return WeaResult.success(dataMap); + } + + + @WeaPermission(publicPermission = true) + @GetMapping("/deleteRequestDraft") + public WeaResult deleteRequestDraft(HttpServletRequest request, HttpServletResponse response){ + String requestid = String.valueOf(request.getParameter("requestid")); + SimpleEmployee simpleEmployee = UserContext.getCurrentUser(); + WfcRequestDeleteParamDataEntity wfcDeleteData = new WfcRequestDeleteParamDataEntity(); + wfcDeleteData.setRequestIds(requestid); + WeaResult result =wfcRequestOperateRest.deleteFlow(wfcDeleteData,simpleEmployee); + return result; + } +} diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/dao/HrmShiftQueryDao.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/dao/HrmShiftQueryDao.java new file mode 100644 index 0000000..1a7f179 --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/dao/HrmShiftQueryDao.java @@ -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> queryShiftList(String type,String isStore){ + String sourceType = "LOGIC"; + String groupId = "weaver-ebuilder-form-service"; + List> recordList = new ArrayList>(); + 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 paramList = new ArrayList<>(100); + paramList.add(Constants.TENANT_KEY); + paramList.add(isStore); + paramList.add(type); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + + Iterator> iterator = result.entrySet().iterator(); + while (iterator.hasNext()) { + Map.Entry 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> queryShiftTimeList(String shiftid){ + String sourceType = "LOGIC"; + String groupId = "weaver-hr-service"; + List> recordList = new ArrayList>(); + 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 paramList = new ArrayList<>(100); + paramList.add(shiftid); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map 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> querySchedulingList(String beginDate,String endDate,String empCode){ + String sourceType = "LOGIC"; + String groupId = "weaver-hr-service"; + List> recordList = new ArrayList>(); + 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 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 sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map 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 paramList = new ArrayList<>(100); + paramList.add(empCode); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> 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 paramList = new ArrayList<>(100); + paramList.add(scId); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> 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 paramList = new ArrayList<>(100); + paramList.add(employeeId); + paramList.add(attendConfig); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> 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 paramList = new ArrayList<>(100); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> 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 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 sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + Iterator> iterator = result.entrySet().iterator(); + while (iterator.hasNext()) { + Map.Entry 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 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 sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + Iterator> iterator = result.entrySet().iterator(); + while (iterator.hasNext()) { + Map.Entry 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 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 sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + Iterator> iterator = result.entrySet().iterator(); + while (iterator.hasNext()) { + Map.Entry entry = iterator.next(); + log.error(" Key = " + entry.getKey() + ", Value = " + entry.getValue()); + } + }catch (Exception e){ + e.printStackTrace(); + log.error("e:" + e); + } + } + + + +} diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/dao/WorkflowCommonDao.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/dao/WorkflowCommonDao.java new file mode 100644 index 0000000..a10a0f6 --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/dao/WorkflowCommonDao.java @@ -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 paramList = new ArrayList<>(100); + paramList.add(employeeid); + paramList.add(workflowid); + paramList.add(Constants.TENANT_KEY); + + List sqlParamList = databaseUtils.querySqlParamEntity(paramList); + Map result = databaseUtils.executeForQuery(sourceType, groupId, dataSql, sqlParamList); + List> 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; + } + + + +} diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/entity/CustomSchedulingPo.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/entity/CustomSchedulingPo.java new file mode 100644 index 0000000..b583e9d --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/entity/CustomSchedulingPo.java @@ -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; + } +} diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/entity/CustomShiftPo.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/entity/CustomShiftPo.java new file mode 100644 index 0000000..8cd70d0 --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/entity/CustomShiftPo.java @@ -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; + } +} diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/entity/CustomShiftTimePo.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/entity/CustomShiftTimePo.java new file mode 100644 index 0000000..c622f0a --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/entity/CustomShiftTimePo.java @@ -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; + } +} diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/mapper/HrmShiftQueryMapper.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/mapper/HrmShiftQueryMapper.java new file mode 100644 index 0000000..eddeb91 --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/mapper/HrmShiftQueryMapper.java @@ -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 queryShiftList(@Param("isStore") String isStore, @Param("type") String type, @Param("tenantKey") String tenantKey); + + /*** + * 查询班次时间列表 + * @param shiftId + * @param tenantKey + * @return + */ + List queryShiftTimeList(@Param("shiftId") String shiftId, @Param("tenantKey") String tenantKey); + + /*** + * 查询排班列表 + * @param beginDate + * @param endDate + * @param empCode + * @param tenantKey + * @return + */ + List querySchedulingList(@Param("beginDate") String beginDate, @Param("endDate") String endDate, @Param("empCode") String empCode, @Param("tenantKey") String tenantKey); + + + +} diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/HrmShiftQueryService.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/HrmShiftQueryService.java new file mode 100644 index 0000000..6087622 --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/HrmShiftQueryService.java @@ -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> queryShiftList(JSONObject paramJson); + + + List> querySchedulingList(JSONObject paramJson); + + + List> operateScheduling(JSONObject paramJson); + +} diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/WorkflowCommonService.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/WorkflowCommonService.java new file mode 100644 index 0000000..9d3e8c6 --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/WorkflowCommonService.java @@ -0,0 +1,10 @@ +package com.weaver.seconddev.chapanda.hrm.service; + +import org.springframework.stereotype.Component; +import java.util.Map; + +@Component +public interface WorkflowCommonService { + MapqueryRequestDraftCount(String employeeid,String workflowid); + +} diff --git a/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/impl/HrmShiftQueryServiceImpl.java b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/impl/HrmShiftQueryServiceImpl.java new file mode 100644 index 0000000..d16fdde --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/java/com/weaver/seconddev/chapanda/hrm/service/impl/HrmShiftQueryServiceImpl.java @@ -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> queryShiftList(JSONObject paramJson) { + List> shiftList = new ArrayList>(); + String type = paramJson.getString("type"); + String isStore = paramJson.getString("isStore"); + log.error("type:{}",type); + log.error("isStore:{}",isStore); + + List dataList = hrmShiftQueryMapper.queryShiftList(isStore,type,Constants.TENANT_KEY); + log.error("dataList:{}",dataList.size()); + for(int i=0;i shiftMap = new HashMap(); + shiftMap.put("scID",id); + shiftMap.put("scName",name); + shiftMap.put("type",fdjjrbc); + shiftMap.put("isStore",sfmdbc); + + log.error("id:{}",dataList.size()); + List attendList = hrmShiftQueryMapper.queryShiftTimeList(id,Constants.TENANT_KEY); + shiftMap.put("attend",attendList); + shiftList.add(shiftMap); + } + return shiftList; + } + + /*** + * 查询排班列表 + * @param paramJson + * @return + */ + @Override + public List> querySchedulingList(JSONObject paramJson) { + List> shiftList = new ArrayList>(); + 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 dataList = hrmShiftQueryMapper.querySchedulingList(beginDate,endDate,empCode,Constants.TENANT_KEY); + log.error("dataList:{}",dataList.size()); + for(int k = 0;k shiftMap = new HashMap(); + shiftMap.put("scID",scID); + shiftMap.put("scName",scName); + shiftMap.put("scDate",scDate); + shiftMap.put("empCode",empCode_item); + shiftMap.put("empName",empName); + + List attendList = hrmShiftQueryMapper.queryShiftTimeList(scID,Constants.TENANT_KEY); + shiftMap.put("attend",attendList); + shiftList.add(shiftMap); + } + } + return shiftList; + } + + + public List> operateScheduling(JSONObject paramJson) { + List> dataList = new ArrayList>(); + Map map = new HashMap(); + List> shiftList = new ArrayList>(); + String operType = paramJson.getString("operType"); + JSONArray dataArray = paramJson.getJSONArray("data"); + + for(int i=0;i queryRequestDraftCount(String employeeid, String workflowid) { + Map dataMap = new HashMap(); + String requestid = workflowCommonDao.queryRequestDraftCount(employeeid,workflowid); + dataMap.put("requestid",requestid); + return dataMap; + } +} diff --git a/secondev-chapanda-hrmdev/src/main/resources/mapper/HrmShiftQueryMapper.xml b/secondev-chapanda-hrmdev/src/main/resources/mapper/HrmShiftQueryMapper.xml new file mode 100644 index 0000000..fc4da14 --- /dev/null +++ b/secondev-chapanda-hrmdev/src/main/resources/mapper/HrmShiftQueryMapper.xml @@ -0,0 +1,34 @@ + + + + + + + + + + +