소스 검색

服务计划需求开发

chenr 2 달 전
부모
커밋
af059b1ce3

+ 2 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/vo/ServicePlanVO.java

@@ -41,6 +41,8 @@ public class ServicePlanVO extends ServicePlan {
    //发送人
    private String sendUserName;
 
+   private String writeUserName;
+
    private String planTime;
 
 }

+ 6 - 6
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ServicePlanController.java

@@ -96,9 +96,9 @@ public class ServicePlanController extends BladeController {
     @ApiImplicitParams(value = {
         @ApiImplicitParam(name = "id", value = "id", required = true)
     })
-	public R<ServicePlanVO> detail(ServicePlan servicePlan) {
-		ServicePlan detail = servicePlanService.getOne(Condition.getQueryWrapper(servicePlan));
-		return R.data(ServicePlanWrapper.build().entityVO(detail));
+	public R<ServicePlanVO> detail(Long id) {
+        ServicePlanVO detail = servicePlanService.getdetail(id);
+		return R.data(detail);
 	}
 
 	/**
@@ -297,7 +297,7 @@ public class ServicePlanController extends BladeController {
     @ApiOperationSupport(order = 9)
     @ApiOperation(value = "保存服务计划数据", notes = "传入dataInfo")
     @Transactional
-    public R saveServiceData(@Valid @RequestBody JSONObject dataInfo) throws Exception {
+    public R<Long> saveServiceData(@Valid @RequestBody JSONObject dataInfo) throws Exception {
         JSONArray dataArray = new JSONArray();
         Long pkeyId = Long.valueOf(dataInfo.getString("pkeyId"));
         Long projectId=Long.valueOf(dataInfo.getString("projectId"));
@@ -307,7 +307,7 @@ public class ServicePlanController extends BladeController {
         Long groupId = servicePlanService.saveServicePlan(pkeyId,projectId,contractId,dataInfo);
         servicePlanService.saveServiceData(tableInfoList,groupId,pkeyId);
         servicePlanService.saveServicePlanPdf(projectId,pkeyId,Func.toLong(groupId));
-        return R.status( true);
+        return R.data(groupId);
     }
 
 
@@ -390,7 +390,7 @@ public class ServicePlanController extends BladeController {
         @ApiImplicitParam(name = "id", value = "id", required = true),
         @ApiImplicitParam(name = "pkeyId", value = "1月度服务计划 2服务完成确认单", required = true)
     })
-    public R<List<Map<String, Object>>> getServiceBussData(Long id,Long pkeyId){
+    public R<Map<String, Object>> getServiceBussData(Long id,Long pkeyId){
         return R.data(servicePlanService.getServiceBussData(id,pkeyId));
     }
 

+ 3 - 1
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IServicePlanService.java

@@ -53,9 +53,11 @@ public interface IServicePlanService extends BaseService<ServicePlan> {
 
     void saveServicePlanPdf(Long projectId,Long pkeyId, Long id) throws Exception;
 
-    List<Map<String, Object>> getServiceBussData(Long id, Long pkeyId);
+    Map<String, Object>getServiceBussData(Long id, Long pkeyId);
 
     Map<String,List<ServiceUserDto>> getSendUserAndWriteUser(Long projectId, Long contractId);
 
     Long saveServicePlan(Long pkeyId,Long projectId,Long contractId,@Valid JSONObject dataInfo);
+
+    ServicePlanVO getdetail(Long id);
 }

+ 56 - 20
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/ServicePlanServiceImpl.java

@@ -101,11 +101,18 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
             BeanUtil.copyProperties(sp, vo);
            vo.setStatusValue(vo.getStatus()==1?"计划中":vo.getStatus()==2?"协同中-甲方":vo.getStatus()==3?"协同中-系统":"已计划");
            vo.setIsEdit(checkIsEdit(vo));
-           vo.setStartTime(vo.getPlanStartTime().format(DateTimeFormatter.ofPattern("yyyy年M月d日")));
-           vo.setEndTime(vo.getPlanEndTime().format(DateTimeFormatter.ofPattern("yyyy年M月d日")));
-           vo.setPlanTime(vo.getStartTime()+"至"+vo.getEndTime());
+           if(vo.getPlanStartTime()!=null){
+               vo.setStartTime(vo.getPlanStartTime().format(DateTimeFormatter.ofPattern("yyyy年M月d日")));
+           }
+           if(vo.getPlanEndTime()!=null){
+               vo.setEndTime(vo.getPlanEndTime().format(DateTimeFormatter.ofPattern("yyyy年M月d日")));
+           }
+           if(StringUtils.isNotEmpty(vo.getStartTime())&&StringUtils.isNotEmpty(vo.getEndTime())){
+               vo.setPlanTime(vo.getStartTime()+"至"+vo.getEndTime());
+           }
+           vo.setWriteUserName(slectUserName(vo.getWriteUser()));
            vo.setSendUserName(slectUserName(vo.getSendUser()));
-            voList.add( vo);
+            voList.add(vo);
         }
         return page.setRecords(voList);
 	}
@@ -475,8 +482,7 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
     }
 
     @Override
-    public List<Map<String, Object>> getServiceBussData(Long id, Long pkeyId) {
-        List<Map<String, Object>> list = new ArrayList<>();
+    public Map<String, Object> getServiceBussData(Long id, Long pkeyId) {
         Map<String, Object> reData = new HashMap<>();
         String sqll="select * from m_wbs_tree_contract where p_key_id="+pkeyId;
         WbsTreeContract wbsTreeContract = jdbcTemplate.queryForObject(sqll, new BeanPropertyRowMapper<>(WbsTreeContract.class));
@@ -566,8 +572,7 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
         } catch (Exception e) {
             e.printStackTrace();
         }
-        list.add(reData);
-        return list;
+        return reData;
     }
 
     @Override
@@ -575,18 +580,27 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
         HashMap<String, List<ServiceUserDto>> map = new HashMap<>();
         List<String> sendList=baseMapper.getUserID(projectId, contractId,1);
         List<String> writeList=baseMapper.getUserID(projectId, contractId,2);
-        List<String> sendResult = sendList.stream()
-            .flatMap(str -> Arrays.stream(str.split(",")))
-            .distinct()
-            .sorted()
-            .collect(Collectors.toList());
-        List<String> writedResult = writeList.stream()
-            .flatMap(str -> Arrays.stream(str.split(",")))
-            .distinct()
-            .sorted()
-            .collect(Collectors.toList());
-           map.put("sendUser",  getUserNamesByIds(sendResult));
-           map.put("writeUser",  getUserNamesByIds(writedResult));
+        if (!sendList.isEmpty()) {
+            List<String> sendResult = sendList.stream()
+                .filter(Objects::nonNull)
+                .filter(str -> !str.isEmpty())
+                .flatMap(str -> Arrays.stream(str.split(",")))
+                .distinct()
+                .sorted()
+                .collect(Collectors.toList());
+            map.put("sendUser", getUserNamesByIds(sendResult));
+        }
+
+        if (!writeList.isEmpty()) {
+            List<String> writedResult = writeList.stream()
+                .filter(Objects::nonNull)
+                .filter(str -> !str.isEmpty())
+                .flatMap(str -> Arrays.stream(str.split(",")))
+                .distinct()
+                .sorted()
+                .collect(Collectors.toList());
+            map.put("writeUser", getUserNamesByIds(writedResult));
+        }
         return map;
     }
 
@@ -642,6 +656,28 @@ public class ServicePlanServiceImpl extends BaseServiceImpl<ServicePlanMapper, S
         this.saveOrUpdate(plan);
         return plan.getId();
     }
+
+    @Override
+    public ServicePlanVO getdetail(Long id) {
+        ServicePlan plan = this.getById(id);
+        ServicePlanVO vo = new ServicePlanVO();
+        BeanUtil.copyProperties(plan, vo);
+        vo.setStatusValue(vo.getStatus()==1?"计划中":vo.getStatus()==2?"协同中-甲方":vo.getStatus()==3?"协同中-系统":"已计划");
+        vo.setIsEdit(checkIsEdit(vo));
+        if(vo.getPlanStartTime()!=null){
+            vo.setStartTime(vo.getPlanStartTime().format(DateTimeFormatter.ofPattern("yyyy年M月d日")));
+        }
+        if(vo.getPlanEndTime()!=null){
+            vo.setEndTime(vo.getPlanEndTime().format(DateTimeFormatter.ofPattern("yyyy年M月d日")));
+        }
+        if(StringUtils.isNotEmpty(vo.getStartTime())&&StringUtils.isNotEmpty(vo.getEndTime())){
+            vo.setPlanTime(vo.getStartTime()+"至"+vo.getEndTime());
+        }
+        vo.setWriteUser(slectUserName(vo.getWriteUser()));
+        vo.setSendUserName(slectUserName(vo.getSendUser()));
+        return vo;
+    }
+
     private static String formatDate(String dateStr) {
         if (dateStr == null || dateStr.trim().isEmpty()) return null;
         try {