|
@@ -8,21 +8,17 @@ import com.qmth.sop.business.bean.params.DingSaveParam;
|
|
import com.qmth.sop.business.bean.result.*;
|
|
import com.qmth.sop.business.bean.result.*;
|
|
import com.qmth.sop.business.entity.SysUser;
|
|
import com.qmth.sop.business.entity.SysUser;
|
|
import com.qmth.sop.business.entity.TBCrm;
|
|
import com.qmth.sop.business.entity.TBCrm;
|
|
|
|
+import com.qmth.sop.business.entity.TBService;
|
|
import com.qmth.sop.business.entity.TBTask;
|
|
import com.qmth.sop.business.entity.TBTask;
|
|
-import com.qmth.sop.business.service.TBCrmService;
|
|
|
|
-import com.qmth.sop.business.service.TBDingService;
|
|
|
|
-import com.qmth.sop.business.service.TBSopInfoService;
|
|
|
|
-import com.qmth.sop.business.service.TBTaskService;
|
|
|
|
|
|
+import com.qmth.sop.business.service.*;
|
|
import com.qmth.sop.business.templete.execute.AsyncDingCountExportService;
|
|
import com.qmth.sop.business.templete.execute.AsyncDingCountExportService;
|
|
import com.qmth.sop.common.contant.SystemConstant;
|
|
import com.qmth.sop.common.contant.SystemConstant;
|
|
-import com.qmth.sop.common.enums.DingResultEnum;
|
|
|
|
-import com.qmth.sop.common.enums.DingSubmitStatusEnum;
|
|
|
|
-import com.qmth.sop.common.enums.InOutTypeEnum;
|
|
|
|
-import com.qmth.sop.common.enums.TaskTypeEnum;
|
|
|
|
|
|
+import com.qmth.sop.common.enums.*;
|
|
import com.qmth.sop.common.util.Result;
|
|
import com.qmth.sop.common.util.Result;
|
|
import com.qmth.sop.common.util.ResultUtil;
|
|
import com.qmth.sop.common.util.ResultUtil;
|
|
import com.qmth.sop.common.util.ServletUtil;
|
|
import com.qmth.sop.common.util.ServletUtil;
|
|
import io.swagger.annotations.*;
|
|
import io.swagger.annotations.*;
|
|
|
|
+import org.apache.commons.collections4.CollectionUtils;
|
|
import org.springframework.validation.BindingResult;
|
|
import org.springframework.validation.BindingResult;
|
|
import org.springframework.web.bind.annotation.*;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
@@ -35,6 +31,7 @@ import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 考勤打卡表 控制器
|
|
* 考勤打卡表 控制器
|
|
@@ -63,6 +60,9 @@ public class TBDingController {
|
|
@Resource
|
|
@Resource
|
|
TBCrmService tbCrmService;
|
|
TBCrmService tbCrmService;
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
|
+ TBServiceService tbServiceService;
|
|
|
|
+
|
|
@ApiOperation(value = "工时统计统计查询接口")
|
|
@ApiOperation(value = "工时统计统计查询接口")
|
|
@RequestMapping(value = "/query", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/query", method = RequestMethod.POST)
|
|
@ApiResponses({@ApiResponse(code = 200, message = "工时统计统计查询结果", response = TBDingSubmitQueryResult.class)})
|
|
@ApiResponses({@ApiResponse(code = 200, message = "工时统计统计查询结果", response = TBDingSubmitQueryResult.class)})
|
|
@@ -225,25 +225,49 @@ public class TBDingController {
|
|
@RequestMapping(value = "/ding_find_running_sop", method = RequestMethod.POST)
|
|
@RequestMapping(value = "/ding_find_running_sop", method = RequestMethod.POST)
|
|
@ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DingElementResult.class)})
|
|
@ApiResponses({@ApiResponse(code = 200, message = "查询成功", response = DingElementResult.class)})
|
|
@OperationLog
|
|
@OperationLog
|
|
- public Result findDingRunningSop(@ApiParam(value = "服务单元id", required = true) @RequestParam String serviceUnitId) {
|
|
|
|
- List<SopInfoResult> resultList = new ArrayList<>();
|
|
|
|
|
|
+ public Result findDingRunningSop() {
|
|
|
|
+ List<DingSopInfo> resultList = new ArrayList<>();
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
SysUser requestUser = (SysUser) ServletUtil.getRequestUser();
|
|
Long requestUserId = requestUser.getId();
|
|
Long requestUserId = requestUser.getId();
|
|
|
|
|
|
- TBCrm tbCrm = tbCrmService.findOccupiedCrm(requestUserId, null, SystemConstant.convertIdToLong(serviceUnitId));
|
|
|
|
- if (Objects.nonNull(tbCrm)) {
|
|
|
|
- CrmProjectResult crmProjectResult = tbCrmService.findCrmProjectBySopNoOrCrmNo(null, tbCrm.getCrmNo());
|
|
|
|
- List<String> sopNoList = tbSopInfoService.findFlowPassageByCrmNo(tbCrm.getCrmNo());
|
|
|
|
- for (String sopNo : sopNoList) {
|
|
|
|
- SopInfoResult result = new SopInfoResult();
|
|
|
|
- result.setSopNo(sopNo);
|
|
|
|
- result.setCrmNo(tbCrm.getCrmNo());
|
|
|
|
- result.setCrmName(tbCrm.getName());
|
|
|
|
- result.setCustomId(crmProjectResult.getCustomId());
|
|
|
|
- result.setCustomName(crmProjectResult.getCustomName());
|
|
|
|
- result.setCustomType(crmProjectResult.getCustomType());
|
|
|
|
- result.setCustomTypeStr(crmProjectResult.getCustomType().getTitle());
|
|
|
|
- resultList.add(result);
|
|
|
|
|
|
+ List<TBCrm> tbCrmList = tbCrmService.findOccupiedCrm(requestUserId, null);
|
|
|
|
+ if (CollectionUtils.isNotEmpty(tbCrmList)) {
|
|
|
|
+ List<Long> serviceUnitIdList = tbCrmList.stream()
|
|
|
|
+ .map(TBCrm::getServiceId)
|
|
|
|
+ .filter(Objects::nonNull)
|
|
|
|
+ .distinct()
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ for (Long serviceUnitId : serviceUnitIdList) {
|
|
|
|
+ DingSopInfo cell = new DingSopInfo();
|
|
|
|
+ TBService service = tbServiceService.getById(serviceUnitId);
|
|
|
|
+ if (Objects.isNull(service)) {
|
|
|
|
+ throw ExceptionResultEnum.ERROR.exception("未找到服务单元");
|
|
|
|
+ }
|
|
|
|
+ cell.setServiceUnitId(serviceUnitId);
|
|
|
|
+ cell.setServiceUnitName(service.getName());
|
|
|
|
+ List<TBCrm> crmInServiceList = tbCrmList.stream()
|
|
|
|
+ .filter(e -> serviceUnitId.equals(e.getServiceId()))
|
|
|
|
+ .distinct()
|
|
|
|
+ .collect(Collectors.toList());
|
|
|
|
+ for (TBCrm tbCrm : crmInServiceList) {
|
|
|
|
+ CrmProjectResult crmProjectResult = tbCrmService.findCrmProjectBySopNoOrCrmNo(null, tbCrm.getCrmNo());
|
|
|
|
+ List<String> sopNoList = tbSopInfoService.findFlowPassageByCrmNo(tbCrm.getCrmNo());
|
|
|
|
+ List<SopInfoResult> sopInfo = new ArrayList<>();
|
|
|
|
+ for (String sopNo : sopNoList) {
|
|
|
|
+ SopInfoResult result = new SopInfoResult();
|
|
|
|
+ result.setSopNo(sopNo);
|
|
|
|
+ result.setCrmNo(tbCrm.getCrmNo());
|
|
|
|
+ result.setCrmName(tbCrm.getName());
|
|
|
|
+ result.setCustomId(crmProjectResult.getCustomId());
|
|
|
|
+ result.setCustomName(crmProjectResult.getCustomName());
|
|
|
|
+ result.setCustomType(crmProjectResult.getCustomType());
|
|
|
|
+ result.setCustomTypeStr(crmProjectResult.getCustomType().getTitle());
|
|
|
|
+ sopInfo.add(result);
|
|
|
|
+ }
|
|
|
|
+ cell.setSopInfo(sopInfo);
|
|
|
|
+ }
|
|
|
|
+ resultList.add(cell);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return ResultUtil.ok(resultList);
|
|
return ResultUtil.ok(resultList);
|