Commit 82e6c8ee authored by 赵啸非's avatar 赵啸非

添加窗口人员查询

parent c8960ab5
package com.mortals.xhx.module.window.service;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.service.ICRUDService;
......@@ -9,21 +10,23 @@ import com.mortals.xhx.module.window.model.WindowOwnerEntity;
import com.mortals.xhx.module.window.dao.WindowOwnerDao;
import java.util.List;
import java.util.Map;
/**
* WindowOwnerService
*
* 窗口负责人 service接口
*
* @author zxfei
* @date 2023-07-12
*/
public interface WindowOwnerService extends ICRUDService<WindowOwnerEntity,Long>{
* WindowOwnerService
* <p>
* 窗口负责人 service接口
*
* @author zxfei
* @date 2023-07-12
*/
public interface WindowOwnerService extends ICRUDService<WindowOwnerEntity, Long> {
WindowOwnerDao getDao();
/**
* 获取基础平台与考勤绩效系统已分配的窗口差集列表
*
* @param pdu
* @return
*/
......@@ -31,14 +34,16 @@ public interface WindowOwnerService extends ICRUDService<WindowOwnerEntity,Long>
/**
*
* 获取基础平台与考勤绩效系统已分配的窗口差集列表
*
* @param context
* @return
*/
List<WindowOwnerDetailEntity> ownerWindowList(Context context);
Rest<List<StaffEntity>> getWindowPerson(Long windowId, Context context);
Rest<List<String>> getPerformMonthList(Context context);
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ package com.mortals.xhx.module.window.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.OrderCol;
import com.mortals.xhx.base.system.user.service.UserService;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.pdu.RespData;
......@@ -13,24 +14,23 @@ import com.mortals.xhx.feign.workman.IWorkmanFeign;
import com.mortals.xhx.module.staff.model.StaffEntity;
import com.mortals.xhx.module.staff.model.StaffQuery;
import com.mortals.xhx.module.staff.service.StaffService;
import com.mortals.xhx.module.window.model.*;
import com.mortals.xhx.module.window.service.WindowPerformService;
import com.mortals.xhx.module.window.service.WindowWorkmanPerformService;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.window.dao.WindowOwnerDao;
import com.mortals.xhx.module.window.model.WindowOwnerEntity;
import com.mortals.xhx.module.window.service.WindowOwnerService;
import org.springframework.beans.factory.annotation.Autowired;
import com.mortals.xhx.module.window.model.WindowOwnerDetailEntity;
import com.mortals.xhx.module.window.model.WindowOwnerDetailQuery;
import com.mortals.xhx.module.window.service.WindowOwnerDetailService;
import org.springframework.util.ObjectUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.Arrays;
import java.util.List;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.*;
import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j;
......@@ -52,7 +52,10 @@ public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerD
private IWindowFeign windowFeign;
@Autowired
private StaffService staffService;
@Autowired
private WindowPerformService windowPerformService;
@Autowired
private WindowWorkmanPerformService windowWorkmanPerformService;
@Autowired
private UserService userService;
......@@ -137,6 +140,7 @@ public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerD
return Rest.fail("获取窗口工作人员失败");
}
private StaffEntity getStaffEntityByName(String name) {
StaffEntity staffEntity = staffService.selectOne(new StaffQuery().name(name));
if (!ObjectUtils.isEmpty(staffEntity)) {
......@@ -192,4 +196,35 @@ public class WindowOwnerServiceImpl extends AbstractCRUDServiceImpl<WindowOwnerD
super.updateAfter(entity, context);
}
@Override
public Rest<List<String>> getPerformMonthList(Context context) {
//查询所有窗口汇总表
WindowPerformQuery windowPerformQuery = new WindowPerformQuery();
windowPerformQuery.setOwnerId(context.getUser().getCustomerId());
windowPerformQuery.setOrderColList(Arrays.asList(new OrderCol("year", OrderCol.DESCENDING), new OrderCol("month", OrderCol.DESCENDING)));
Map<String, List<WindowPerformEntity>> collect = windowPerformService.find(windowPerformQuery).stream().collect(Collectors.groupingBy(item -> item.getYear() + "-" + item.getMonth()));
Set<String> performMonthSet = collect.keySet();
//查询所有窗口人员汇总表
WindowWorkmanPerformQuery windowWorkmanPerformQuery = new WindowWorkmanPerformQuery();
windowWorkmanPerformQuery.setOwnerId(context.getUser().getCustomerId());
Map<String, List<WindowWorkmanPerformEntity>> workmanMonthSet = windowWorkmanPerformService.find(windowWorkmanPerformQuery).stream().collect(Collectors.groupingBy(item -> item.getYear() + "-" + item.getMonth()));
performMonthSet.addAll(workmanMonthSet.keySet());
//perform 排序 降序
List<String> dateList = performMonthSet.stream().collect(Collectors.toList());
Collections.sort(dateList, new Comparator<String>() {
@Override
public int compare(String object1, String object2) {
return object1.compareTo(object2);
}
});
return Rest.ok(dateList);
}
}
\ No newline at end of file
......@@ -172,6 +172,29 @@ public class WindowOwnerController extends BaseCRUDJsonBodyMappingController<Win
}
return jsonObject.toJSONString();
}
/**
* 查询所有窗口汇总表日期分组
*/
@PostMapping(value = "performMonthList")
public String getPerformMonthList() {
JSONObject jsonObject = new JSONObject();
String busiDesc = "查询当前负责人负责的窗口列表" + this.getModuleDesc();
try {
Rest<List<String>> performMonthRest = this.service.getPerformMonthList(getContext());
if(YesNoEnum.YES.getValue()== performMonthRest.getCode()){
jsonObject.put(KEY_RESULT_DATA, performMonthRest.getData());
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
jsonObject.put(KEY_RESULT_MSG, "查询所有窗口汇总表日期分组!");
}
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
log.error("获取异常", e);
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_FAILURE);
jsonObject.put(KEY_RESULT_MSG, super.convertException(e));
}
return jsonObject.toJSONString();
}
}
\ No newline at end of file
......@@ -42,12 +42,16 @@ Content-Type: application/json
client.global.set("WindowOwner_id", JSON.parse(response.body).data.id);
%}
###窗口负责人查看
GET {{baseUrl}}/window/owner/add
Accept: application/json
###窗口负责人查看
GET {{baseUrl}}/window/owner/info?id={{WindowOwner_id}}
Accept: application/json
###窗口负责人编辑
GET {{baseUrl}}/window/owner/edit?id={{WindowOwner_id}}
GET {{baseUrl}}/window/owner/edit?id=2
Accept: application/json
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment