Explorar el Código

优化 报修时的bug

wuxw hace 3 años
padre
commit
566d9e58e8

BIN
service-api/src/main/java/com/java110/api/listener/.DS_Store


+ 7 - 6
service-api/src/main/java/com/java110/api/listener/ownerRepair/RepairFinishListener.java

@@ -449,10 +449,10 @@ public class RepairFinishListener extends AbstractServiceApiPlusListener {
             repairPoolPo.setRepairId(reqJson.getString("repairId"));
             repairPoolPo.setMaintenanceType(reqJson.getString("maintenanceType"));
             super.update(context, repairPoolPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_REPAIR);
-            if (repairChannel.equals("T") || repairChannel.equals("D")) { //如果是电话报修和员工代客报修结单后状态变为待回访
-                ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_RETURN_VISIT);
-            } else if (repairChannel.equals("Z")) { //如果是业主自主报修结单后状态变为待评价
+            if ("Z".equals(repairChannel)) { //如果是电话报修和员工代客报修结单后状态变为待回访
                 ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_APPRAISE);
+            } else { //如果是业主自主报修结单后状态变为待评价
+                ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_RETURN_VISIT);
             }
         } else if ("F".equals(publicArea) && "1001".equals(reqJson.getString("maintenanceType"))) { //如果不是公共区域且是有偿的走下面
             //3.0 生成支付费用
@@ -525,10 +525,11 @@ public class RepairFinishListener extends AbstractServiceApiPlusListener {
                 repairPoolPo.setRepairMaterials(repairMaterial.substring(0, repairMaterial.length() - 1));
                 super.update(context, repairPoolPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_REPAIR);
             }
-            if ("T".equals(repairChannel) || "D".equals(repairChannel)) { //如果是电话报修和员工代客报修结单后状态变为待回访
-                ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_RETURN_VISIT);
-            } else if ("Z".equals(repairChannel)) { //如果是业主自主报修结单后状态变为待评价
+
+            if ("Z".equals(repairChannel)) { //如果是电话报修和员工代客报修结单后状态变为待回访
                 ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_APPRAISE);
+            } else { //如果是业主自主报修结单后状态变为待评价
+                ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_RETURN_VISIT);
             }
         }
         ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_OK, ResultVo.MSG_OK);

BIN
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/.DS_Store


+ 19 - 12
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/SaveRepairReturnVisitBMOImpl.java

@@ -62,21 +62,28 @@ public class SaveRepairReturnVisitBMOImpl implements ISaveRepairReturnVisitBMO {
         RepairUserDto repairUserDto = new RepairUserDto();
         repairUserDto.setRepairId(repairReturnVisitPo.getRepairId());
         repairUserDto.setCommunityId(repairReturnVisitPo.getCommunityId());
-        if (repairChannel.equals("Z")) { //如果是业主端报修,就查询是否有已评价状态的
-            repairUserDto.setState(RepairUserDto.STATE_FINISH);
-        } else if (!StringUtil.isEmpty(maintenanceType) && maintenanceType.equals("1001")) { //如果不是业主端报修,且是有偿的,就查询已支付状态的
-            repairUserDto.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
-        } else { //其他的查询结单状态的
-            repairUserDto.setState(RepairUserDto.STATE_CLOSE);
-        }
+//        if (repairChannel.equals("Z")) { //如果是业主端报修,就查询是否有已评价状态的
+//            repairUserDto.setState(RepairUserDto.STATE_FINISH);
+//        } else if (!StringUtil.isEmpty(maintenanceType) && maintenanceType.equals("1001")) { //如果不是业主端报修,且是有偿的,就查询已支付状态的
+//            repairUserDto.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
+//        } else { //其他的查询结单状态的
+//            repairUserDto.setState(RepairUserDto.STATE_CLOSE);
+//        }
+
+        repairUserDto.setStates(new String[]{RepairUserDto.STATE_FINISH,RepairUserDto.STATE_FINISH_PAY_FEE,RepairUserDto.STATE_CLOSE});
         //查询报修派单状态
         List<RepairUserDto> repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto);
-        Assert.listOnlyOne(repairUserDtos, "信息错误");
+        //Assert.listOnlyOne(repairUserDtos, "信息错误");
+
+        if(repairUserDtos == null || repairUserDtos.size() <1){
+            throw new IllegalArgumentException("未查询到 接单 待支付 或者 评价完成的工单,不能回访");
+        }
+        repairUserDto = repairUserDtos.get(repairUserDtos.size()-1);
         RepairUserPo repairUserPo = new RepairUserPo();
         repairUserPo.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
         repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        Date endTime = repairUserDtos.get(0).getEndTime();
+        Date endTime = repairUserDto.getEndTime();
         repairUserPo.setStartTime(format.format(endTime));
         repairUserPo.setState(RepairUserDto.STATE_FINISH_VISIT);
         repairUserPo.setContext(repairReturnVisitPo.getContext());
@@ -85,9 +92,9 @@ public class SaveRepairReturnVisitBMOImpl implements ISaveRepairReturnVisitBMO {
         repairUserPo.setRepairId(repairReturnVisitPo.getRepairId());
         repairUserPo.setStaffId(repairReturnVisitPo.getVisitPersonId());
         repairUserPo.setStaffName(repairReturnVisitPo.getVisitPersonName());
-        repairUserPo.setPreStaffId(repairUserDtos.get(0).getStaffId());
-        repairUserPo.setPreStaffName(repairUserDtos.get(0).getStaffName());
-        repairUserPo.setPreRuId(repairUserDtos.get(0).getRuId());
+        repairUserPo.setPreStaffId(repairUserDto.getStaffId());
+        repairUserPo.setPreStaffName(repairUserDto.getStaffName());
+        repairUserPo.setPreRuId(repairUserDto.getRuId());
         repairUserPo.setRepairEvent("auditUser");
         repairUserPo.setbId("-1");
         repairUserInnerServiceSMOImpl.saveRepairUser(repairUserPo);