xiaogang
2021-04-12 a4b832562c7341709d505fc04cca0a230ac1a371
优化报修,优化回访数据查询
33个文件已修改
1个文件已添加
1059 ■■■■ 已修改文件
java110-bean/src/main/java/com/java110/dto/appraise/AppraiseDto.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/meterWater/MeterWaterDto.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/repair/RepairDto.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/user/UserDto.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/po/appraise/AppraisePo.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/po/owner/RepairPoolPo.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/vo/ResultVo.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/common/AdvertServiceDaoImplMapper.xml 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/common/AppraiseServiceDaoImplMapper.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/community/RepairReturnVisitServiceDaoImplMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/community/RepairServiceDaoImplMapper.xml 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/community/RepairUserServiceDaoImplMapper.xml 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/report/ReportFeeMonthStatisticsServiceDaoImplMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-db/src/main/resources/mapper/user/UserServiceDaoImplMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/common/IAdvertInnerServiceSMO.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-interface/src/main/java/com/java110/intf/community/IRepairUserInnerServiceSMO.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/listener/advert/SaveAdvertListener.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/listener/fee/PayFeeListener.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/listener/fee/PayFeePreListener.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/listener/meterWater/ListMeterWatersListener.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/listener/ownerRepair/GrabbingRepairListener.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/listener/ownerRepair/ListStaffFinishRepairsListener.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-api/src/main/java/com/java110/api/listener/ownerRepair/RepairFinishListener.java 117 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/dao/IAdvertServiceDao.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/dao/impl/AdvertServiceDaoImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-common/src/main/java/com/java110/common/smo/impl/AdvertInnerServiceSMOImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/SaveRepairReturnVisitBMOImpl.java 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/dao/IRepairUserServiceDao.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/dao/impl/RepairTypeUserServiceDaoImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/dao/impl/RepairUserServiceDaoImpl.java 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/listener/repair/AbstractRepairBusinessServiceDataFlowListener.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-community/src/main/java/com/java110/community/smo/impl/RepairUserInnerServiceSMOImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/adapt/roomRenovation/MachineRoomRenovation.java 166 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-job/src/main/java/com/java110/job/task/repair/ReturnVisitRepairTemplate.java 250 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
java110-bean/src/main/java/com/java110/dto/appraise/AppraiseDto.java
@@ -29,6 +29,8 @@
    private String objId;
    private String objType;
    private String appraiseUserId;
    private String doorSpeedScore;
    private String repairmanServiceScore;
    private Date createTime;
@@ -124,4 +126,20 @@
    public void setStatusCd(String statusCd) {
        this.statusCd = statusCd;
    }
    public String getDoorSpeedScore() {
        return doorSpeedScore;
    }
    public void setDoorSpeedScore(String doorSpeedScore) {
        this.doorSpeedScore = doorSpeedScore;
    }
    public String getRepairmanServiceScore() {
        return repairmanServiceScore;
    }
    public void setRepairmanServiceScore(String repairmanServiceScore) {
        this.repairmanServiceScore = repairmanServiceScore;
    }
}
java110-bean/src/main/java/com/java110/dto/meterWater/MeterWaterDto.java
@@ -17,6 +17,7 @@
    public static final String METER_TYPE_ROOM = "1010";
    public static final String OBJ_TYPE_ROOM = "1001";
    public static final String PAYER_OBJ_TYPE_ROOM = "3333"; //房屋
    private String remark;
    private String curReadingTime;
java110-bean/src/main/java/com/java110/dto/repair/RepairDto.java
@@ -103,6 +103,11 @@
    //维修后图片
    private List<PhotoVo> afterPhotos;
    //所需物料
    private String repairMaterials;
    //费用明细
    private String repairFee;
    public String getRepairName() {
        return repairName;
@@ -450,4 +455,20 @@
    public void setVisitContext(String visitContext) {
        this.visitContext = visitContext;
    }
    public String getRepairMaterials() {
        return repairMaterials;
    }
    public void setRepairMaterials(String repairMaterials) {
        this.repairMaterials = repairMaterials;
    }
    public String getRepairFee() {
        return repairFee;
    }
    public void setRepairFee(String repairFee) {
        this.repairFee = repairFee;
    }
}
java110-bean/src/main/java/com/java110/dto/user/UserDto.java
@@ -43,6 +43,8 @@
    private String parentOrgId;
    private String departmentOrgId;
    private String orgId;
    private String staffName;
@@ -276,4 +278,12 @@
    public void setLoginByPhone(boolean loginByPhone) {
        this.loginByPhone = loginByPhone;
    }
    public String getDepartmentOrgId() {
        return departmentOrgId;
    }
    public void setDepartmentOrgId(String departmentOrgId) {
        this.departmentOrgId = departmentOrgId;
    }
}
java110-bean/src/main/java/com/java110/po/appraise/AppraisePo.java
@@ -14,6 +14,8 @@
    private String statusCd = "0";
    private String objType;
    private String appraiseUserId;
    private String doorSpeedScore;
    private String repairmanServiceScore;
    public String getParentAppraiseId() {
        return parentAppraiseId;
@@ -95,5 +97,19 @@
        this.appraiseUserId = appraiseUserId;
    }
    public String getDoorSpeedScore() {
        return doorSpeedScore;
    }
    public void setDoorSpeedScore(String doorSpeedScore) {
        this.doorSpeedScore = doorSpeedScore;
    }
    public String getRepairmanServiceScore() {
        return repairmanServiceScore;
    }
    public void setRepairmanServiceScore(String repairmanServiceScore) {
        this.repairmanServiceScore = repairmanServiceScore;
    }
}
java110-bean/src/main/java/com/java110/po/owner/RepairPoolPo.java
@@ -27,7 +27,9 @@
    private String maintenanceType;
    private String repairChannel;
    private String bId;
    private String statusCd ;
    private String statusCd;
    private String repairMaterials;
    private String repairFee;
    public String getRepairId() {
@@ -159,4 +161,19 @@
        this.bId = bId;
    }
    public String getRepairMaterials() {
        return repairMaterials;
    }
    public void setRepairMaterials(String repairMaterials) {
        this.repairMaterials = repairMaterials;
    }
    public String getRepairFee() {
        return repairFee;
    }
    public void setRepairFee(String repairFee) {
        this.repairFee = repairFee;
    }
}
java110-bean/src/main/java/com/java110/vo/ResultVo.java
@@ -28,6 +28,7 @@
    public static final int CODE_UNAUTHORIZED = 401; //认证失败
    public static final int CODE_WECHAT_UNAUTHORIZED = 1401; //认证失败
    public static final int CODE_BUSINESS_VERIFICATION = 5010; //业务校验未通过
    public static final int ORDER_ERROR = 500; //订单调度异常
java110-db/src/main/resources/mapper/common/AdvertServiceDaoImplMapper.xml
@@ -11,13 +11,6 @@
    (#{classify},#{adName},#{locationTypeCd},#{adTypeCd},#{advertId},#{operate},#{startTime},#{state},#{endTime},#{communityId},#{bId},#{locationObjId},#{seq})
    </insert>
    <!-- 保存广告信息 -->
    <insert id="saveAdverts" parameterType="Map">
    insert into advert(advert_id,b_id,ad_name,ad_type_cd,classify,community_id,location_type_cd,location_obj_id,state,seq,start_time,end_time,create_time)
    values
    (#{advertId},#{bId},#{adName},#{adTypeCd},#{classify},#{communityId},#{locationTypeCd},#{locationObjId},#{state},#{seq},#{startTime},#{endTime},#{createTime})
    </insert>
    <!-- 查询广告信息信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessAdvertInfo" parameterType="Map" resultType="Map">
        select t.classify,t.ad_name,t.ad_name adName,t.location_type_cd,t.location_type_cd
java110-db/src/main/resources/mapper/common/AppraiseServiceDaoImplMapper.xml
@@ -7,9 +7,9 @@
    <!-- 保存评价信息 add by wuxw 2018-07-03 -->
    <insert id="saveAppraiseInfo" parameterType="Map">
        insert into appraise(
        parent_appraise_id,appraise_user_name,appraise_id,appraise_score,appraise_type,context,obj_id,obj_type,appraise_user_id
        parent_appraise_id,appraise_user_name,appraise_id,appraise_score,appraise_type,context,obj_id,obj_type,appraise_user_id,door_speed_score,repairman_service_score
        ) values (
        #{parentAppraiseId},#{appraiseUserName},#{appraiseId},#{appraiseScore},#{appraiseType},#{context},#{objId},#{objType},#{appraiseUserId}
        #{parentAppraiseId},#{appraiseUserName},#{appraiseId},#{appraiseScore},#{appraiseType},#{context},#{objId},#{objType},#{appraiseUserId},#{doorSpeedScore},#{repairmanServiceScore}
        )
    </insert>
@@ -19,7 +19,7 @@
        appraiseUserName,t.appraise_id,t.appraise_id appraiseId,t.appraise_score,t.appraise_score
        appraiseScore,t.appraise_type,t.appraise_type appraiseType,t.context,t.obj_id,t.obj_id
        objId,t.status_cd,t.status_cd statusCd,t.obj_type,t.obj_type objType,t.appraise_user_id,t.appraise_user_id
        appraiseUserId
        appraiseUserId,t.door_speed_score doorSpeedScore,t.repairman_service_score repairmanServiceScore
        from appraise t
        where 1 =1
        <if test="parentAppraiseId !=null and parentAppraiseId != ''">
java110-db/src/main/resources/mapper/community/RepairReturnVisitServiceDaoImplMapper.xml
@@ -116,12 +116,13 @@
        left join t_dict d on rrp.state = d.status_cd and d.table_name = 'r_repair_pool' and d.table_columns = 'state'
        left join r_repair_setting rs on rs.repair_type = rrp.repair_type and rs.status_cd = '0'
        where 1 = 1
        and rrp.state = '1800'
        and rs.return_visit_flag in ('002','003')
        <if test="state == 'waiting'">
            and rrp.state = '1800'
            and t.repair_id is null
        </if>
        <if test="state == 'finish'">
            and rrp.state = '1900'
            and t.repair_id is not null
        </if>
        <if test="visitId !=null and visitId != ''">
java110-db/src/main/resources/mapper/community/RepairServiceDaoImplMapper.xml
@@ -8,10 +8,10 @@
    <insert id="saveBusinessRepairInfo" parameterType="Map">
        insert into business_repair_pool(
        operate,repair_name,appointment_time,repair_type,context,repair_id,tel,state,community_id,b_id,repair_obj_type,repair_obj_id,
        repair_obj_name, maintenance_type,repair_channel
        repair_obj_name, maintenance_type,repair_channel,repair_materials,repair_fee
        ) values (
        #{operate},#{repairName},#{appointmentTime},#{repairType},#{context},#{repairId},#{tel},#{state},#{communityId},#{bId},
        #{repairObjType},#{repairObjId},#{repairObjName},#{maintenanceType},#{repairChannel}
        #{repairObjType},#{repairObjId},#{repairObjName},#{maintenanceType},#{repairChannel},#{repairMaterials},#{repairFee}
        )
    </insert>
@@ -22,7 +22,8 @@
        repairId,t.tel,t.state,t.community_id,t.community_id communityId,t.b_id,t.b_id bId,
        t.repair_obj_type,t.repair_obj_id,t.repair_obj_name,t.repair_obj_type repairObjType,t.repair_obj_id
        repairObjId,t.repair_obj_name repairObjName,t.maintenance_type,t.maintenance_type maintenanceType,
        t.repair_channel,t.repair_channel repairChannel
        t.repair_channel,t.repair_channel repairChannel,t.repair_materials,t.repair_materials repairMaterials,
        t.repair_fee,t.repair_fee repairFee
        from business_repair_pool t
        where 1 =1
        <if test="operate !=null and operate != ''">
@@ -58,6 +59,12 @@
        <if test="repairChannel !=null and repairChannel != ''">
            and t.repair_channel= #{repairChannel}
        </if>
        <if test="repairMaterials !=null and repairMaterials != ''">
            and t.repair_materials= #{repairMaterials}
        </if>
        <if test="repairFee !=null and repairFee != ''">
            and t.repair_fee= #{repairFee}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
@@ -67,10 +74,11 @@
    <insert id="saveRepairInfoInstance" parameterType="Map">
        insert into r_repair_pool(
        repair_name,appointment_time,repair_type,context,repair_id,tel,status_cd,state,community_id,b_id,
        repair_obj_type,repair_obj_id,repair_obj_name,repair_channel,maintenance_type
        repair_obj_type,repair_obj_id,repair_obj_name,repair_channel,maintenance_type,repair_materials,repair_fee
        ) select
        t.repair_name,t.appointment_time,t.repair_type,t.context,t.repair_id,t.tel,'0',t.state,t.community_id,t.b_id,
        t.repair_obj_type,t.repair_obj_id,t.repair_obj_name,t.repair_channel,t.maintenance_type
        t.repair_obj_type,t.repair_obj_id,t.repair_obj_name,t.repair_channel,t.maintenance_type,t.repair_materials,
        t.repair_fee
        from business_repair_pool t where 1=1
        and t.operate= 'ADD'
        <if test="repairName !=null and repairName != ''">
@@ -103,6 +111,12 @@
        <if test="maintenanceType !=null and maintenanceType != ''">
            and t.maintenance_type= #{maintenanceType}
        </if>
        <if test="repairMaterials !=null and repairMaterials != ''">
            and t.repair_materials= #{repairMaterials}
        </if>
        <if test="repairFee !=null and repairFee != ''">
            and t.repair_fee= #{repairFee}
        </if>
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
@@ -114,6 +128,7 @@
        appointmentTime,t.repair_type,t.repair_type repairType,t.context,t.repair_id,t.repair_id
        repairId,t.tel,t.status_cd,t.status_cd statusCd,t.state,t.community_id,t.community_id communityId,t.b_id,t.b_id
        bId, d.name stateName,t.maintenance_type maintenanceType,t.repair_channel repairChannel,
        t.repair_materials,t.repair_materials repairMaterials,t.repair_fee,t.repair_fee repairFee,
        rs.repair_type_name repairTypeName,rs.repair_way repairWay,rs.return_visit_flag returnVisitFlag,
        t.repair_obj_type,t.repair_obj_id,t.repair_obj_name,t.repair_obj_type repairObjType,t.repair_obj_id repairObjId,
        t.repair_obj_name repairObjName,rrv.visit_type visitType,rrv.context visitContext
@@ -123,7 +138,8 @@
        from r_repair_pool t
        left join t_dict d on t.state = d.status_cd and d.table_name = 'r_repair_pool' and d.table_columns = 'state'
        left join r_repair_setting rs on rs.repair_type = t.repair_type and rs.status_cd = '0'
        left join r_repair_return_visit rrv on t.repair_id = rrv.repair_id and rrv.community_id = t.community_id and rrv.status_cd = '0'
        left join r_repair_return_visit rrv on t.repair_id = rrv.repair_id and rrv.community_id = t.community_id and
        rrv.status_cd = '0'
        <if test="staffId != null and staffId != ''">
            ,r_repair_user rru
            ,t_dict td
@@ -140,8 +156,11 @@
        <if test="repairWay !=null and repairWay != ''">
            and rs.repair_way= #{repairWay}
        </if>
        <if test="returnVisitFlag !=null and returnVisitFlag != ''">
        <if test="returnVisitFlag != null and returnVisitFlag != '' and returnVisitFlag != '003'">
            and rs.return_visit_flag in ('001','002')
        </if>
        <if test="returnVisitFlag != null and returnVisitFlag != '' and returnVisitFlag == '003'">
            and rs.return_visit_flag = '003'
        </if>
        <if test="repairName !=null and repairName != ''">
            and t.repair_name like '%${repairName}%'
@@ -191,6 +210,12 @@
        <if test="maintenanceType !=null and maintenanceType != ''">
            and t.maintenance_type= #{maintenanceType}
        </if>
        <if test="repairMaterials !=null and repairMaterials != ''">
            and t.repair_materials= #{repairMaterials}
        </if>
        <if test="repairFee !=null and repairFee != ''">
            and t.repair_fee= #{repairFee}
        </if>
        <if test="repairChannels !=null">
            and t.repair_channel in
            <foreach collection="repairChannels" item="item" open="(" close=")" separator=",">
@@ -201,7 +226,6 @@
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
    </select>
    <!-- 修改报修信息信息 add by wuxw 2018-07-03 -->
@@ -242,6 +266,12 @@
        </if>
        <if test="maintenanceType !=null and maintenanceType != ''">
            , t.maintenance_type= #{maintenanceType}
        </if>
        <if test="repairMaterials !=null and repairMaterials != ''">
            , t.repair_materials= #{repairMaterials}
        </if>
        <if test="repairFee !=null and repairFee != ''">
            , t.repair_fee= #{repairFee}
        </if>
        where 1=1
        <if test="repairId !=null and repairId != ''">
@@ -336,7 +366,8 @@
        t.repair_obj_type,t.repair_obj_id,t.repair_obj_name,t.repair_obj_type repairObjType,t.repair_obj_id
        repairObjId,t.repair_obj_name repairObjName,t.repair_channel repairChannel,
        sru.ru_id startRuId,ru.ru_id ruId,ru.pre_ru_id preRuId,t.maintenance_type,t.maintenance_type maintenanceType,
        t.repair_channel,t.repair_channel repairChannel
        t.repair_channel,t.repair_channel repairChannel,t.repair_materials,t.repair_materials repairMaterials,
        t.repair_fee,t.repair_fee repairFee
        from r_repair_pool t
        left join t_dict d on t.state = d.status_cd and d.table_name = 'r_repair_pool' and d.table_columns = 'state'
        left join r_repair_setting rs on rs.repair_type = t.repair_type and rs.status_cd = '0'
@@ -345,7 +376,7 @@
        left join t_dict td on rs.return_visit_flag = td.status_cd and td.table_name='r_repair_setting' and
        td.table_columns='return_visit_flag'
        where 1 =1
        and ru.state = '10001'
        and ru.state in ('10001','10009','11000')
        and t.state in('1000','1100','1200','1300','1400','1700','1800')
        <if test="staffId !=null and staffId != ''">
            and ru.staff_id = #{staffId}
@@ -386,6 +417,12 @@
        <if test="repairObjId !=null and repairObjId != ''">
            and t.repair_obj_id= #{repairObjId}
        </if>
        <if test="repairMaterials !=null and repairMaterials != ''">
            and t.repair_materials= #{repairMaterials}
        </if>
        <if test="repairFee !=null and repairFee != ''">
            and t.repair_fee= #{repairFee}
        </if>
        order by t.create_time desc
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
@@ -403,7 +440,7 @@
        left join t_dict td on rs.return_visit_flag = td.status_cd and td.table_name='r_repair_setting' and
        td.table_columns='return_visit_flag'
        where 1 =1
        and ru.state = '10001'
        and ru.state in ('10001','10009','11000')
        and t.state in('1000','1100','1200','1300','1400','1700','1800')
        <if test="staffId !=null and staffId != ''">
            and ru.staff_id = #{staffId}
@@ -455,7 +492,8 @@
        rs.return_visit_flag returnVisitFlag,td.name returnVisitFlagName,
        t.repair_obj_type,t.repair_obj_id,t.repair_obj_name,t.repair_obj_type repairObjType,t.repair_obj_id
        repairObjId,t.repair_obj_name repairObjName,t.maintenance_type,t.maintenance_type maintenanceType,
        t.repair_channel,t.repair_channel repairChannel
        t.repair_channel,t.repair_channel repairChannel,t.repair_materials,t.repair_materials repairMaterials,
        t.repair_fee,t.repair_fee repairFee
        from r_repair_pool t
        left join t_dict d on t.state = d.status_cd and d.table_name = 'r_repair_pool' and d.table_columns = 'state'
        left join r_repair_setting rs on rs.repair_type = t.repair_type and rs.status_cd = '0'
java110-db/src/main/resources/mapper/community/RepairUserServiceDaoImplMapper.xml
@@ -15,6 +15,17 @@
        )
    </insert>
    <!-- 保存报修派单信息 add by fqz 2021-04-02 -->
    <insert id="saveRepairUser" parameterType="Map">
        insert into r_repair_user(
        context,repair_id,ru_id,state,community_id,b_id,staff_id,staff_name,pre_staff_id,
        pre_staff_name,repair_event,end_time,start_time,pre_ru_id,create_time
        ) values (
        #{context},#{repairId},#{ruId},#{state},#{communityId},#{bId},#{staffId},
        #{staffName},#{preStaffId},#{preStaffName},#{repairEvent},#{endTime},#{startTime},#{preRuId},#{createTime}
        )
    </insert>
    <!-- 查询报修派单信息(Business) add by wuxw 2018-07-03 -->
    <select id="getBusinessRepairUserInfo" parameterType="Map" resultType="Map">
@@ -47,7 +58,6 @@
        <if test="bId !=null and bId != ''">
            and t.b_id= #{bId}
        </if>
    </select>
@@ -82,7 +92,6 @@
        <if test="userId !=null and userId != ''">
            and t.user_id= #{userId}
        </if>
    </insert>
@@ -170,6 +179,9 @@
        <if test="startTime !=null ">
            , t.start_time= #{startTime}
        </if>
        <if test="staffName !=null and staffName != ''">
            , t.staff_name= #{staffName}
        </if>
        where 1=1
        <if test="ruId !=null and ruId != ''">
            and t.ru_id= #{ruId}
@@ -240,5 +252,4 @@
            and t.pre_ru_id= #{preRuId}
        </if>
    </select>
</mapper>
java110-db/src/main/resources/mapper/report/ReportFeeMonthStatisticsServiceDaoImplMapper.xml
@@ -1524,7 +1524,7 @@
    <select id="queryRepairForStaff" parameterType="Map" resultType="Map">
        SELECT r.staff_id staffId,r.staff_name staffName FROM r_repair_user r
        WHERE r.state!='10005' AND
        r.repair_event!='payUser' AND r.repair_event!="startUser"
        r.repair_event!='payUser' AND r.repair_event!="startUser" AND r.staff_id != '-1'
        <if test="communityId != null and communityId !=''">
            and r.community_id = #{communityId}
        </if>
java110-db/src/main/resources/mapper/user/UserServiceDaoImplMapper.xml
@@ -458,6 +458,9 @@
        <if test="parentOrgId !=null and parentOrgId != ''">
            and uo.parent_org_id = #{parentOrgId}
        </if>
        <if test="departmentOrgId !=null and departmentOrgId != ''">
            and uosr.org_id = #{departmentOrgId}
        </if>
        and a.status_cd = '0'
        and uo.status_cd = '0'
        and uosr.status_cd = '0'
@@ -503,6 +506,9 @@
        <if test="parentOrgId !=null and parentOrgId != ''">
            and uo.parent_org_id = #{parentOrgId}
        </if>
        <if test="departmentOrgId !=null and departmentOrgId != ''">
            and uosr.org_id = #{departmentOrgId}
        </if>
        and u.status_cd = '0'
        and uo.status_cd = '0'
        and uosr.status_cd = '0'
java110-interface/src/main/java/com/java110/intf/common/IAdvertInnerServiceSMO.java
@@ -40,15 +40,6 @@
    int queryAdvertsCount(@RequestBody AdvertDto advertDto);
    /**
     * <p>保存广告信息</p>
     *
     * @param advertDto 数据对象分享
     * @return AdvertDto 对象数据
     */
    @RequestMapping(value = "/saveAdverts", method = RequestMethod.POST)
    int saveAdverts(@RequestBody AdvertDto advertDto);
    /**
     * 修改广告信息
     *
     * @param advertDto
java110-interface/src/main/java/com/java110/intf/community/IRepairUserInnerServiceSMO.java
@@ -44,7 +44,17 @@
     * 保存报修派单信息
     *
     * @param repairUserPo
     * @author fqz
     */
    @RequestMapping(value = "/saveRepairUser", method = RequestMethod.POST)
    void saveRepairUser(@RequestBody RepairUserPo repairUserPo);
    /**
     * 修改报修派单信息
     *
     * @param repairUserPo
     * @author fqz
     */
    @RequestMapping(value = "/updateRepairUser", method = RequestMethod.POST)
    void updateRepairUser(@RequestBody RepairUserPo repairUserPo);
}
service-api/src/main/java/com/java110/api/listener/advert/SaveAdvertListener.java
@@ -4,12 +4,11 @@
import com.alibaba.fastjson.JSONObject;
import com.java110.api.listener.AbstractServiceApiPlusListener;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.advert.AdvertDto;
import com.java110.intf.common.IAdvertInnerServiceSMO;
import com.java110.intf.common.IFileInnerServiceSMO;
import com.java110.dto.file.FileDto;
import com.java110.intf.common.IFileRelInnerServiceSMO;
import com.java110.po.advert.AdvertItemPo;
import com.java110.po.advert.AdvertPo;
import com.java110.po.file.FileRelPo;
import com.java110.utils.constant.*;
import com.java110.utils.util.Assert;
@@ -32,9 +31,6 @@
    @Autowired
    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
    @Autowired
    private IAdvertInnerServiceSMO advertInnerServiceSMOImpl;
    @Autowired
    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
@@ -72,11 +68,12 @@
        reqJson.put("advertId", advertId);
        reqJson.put("state", "1000");
        reqJson.put("createTime", new Date());
        reqJson.put("bId", "-1");
        /*reqJson.put("bId", "-1");
        AdvertDto advertDto = BeanConvertUtil.covertBean(reqJson, AdvertDto.class);
        //保存广告信息
        advertInnerServiceSMOImpl.saveAdverts(advertDto);
//        super.insert(context, advertPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ADVERT);
        advertInnerServiceSMOImpl.saveAdverts(advertDto);*/
        AdvertPo advertPo = BeanConvertUtil.covertBean(reqJson, AdvertPo.class);
        super.insert(context, advertPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_ADVERT);
        if (hasKeyAndValue(reqJson, "photos") && reqJson.getJSONArray("photos").size() > 0) {
            JSONArray photos = reqJson.getJSONArray("photos");
            for (int _photoIndex = 0; _photoIndex < photos.size(); _photoIndex++) {
service-api/src/main/java/com/java110/api/listener/fee/PayFeeListener.java
@@ -8,6 +8,7 @@
import com.java110.core.annotation.Java110Listener;
import com.java110.core.context.DataFlowContext;
import com.java110.core.event.service.api.ServiceDataFlowEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeConfigDto;
import com.java110.dto.fee.FeeDto;
@@ -44,6 +45,7 @@
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
@@ -102,7 +104,7 @@
    }
    @Override
    public void soService(ServiceDataFlowEvent event) {
    public void soService(ServiceDataFlowEvent event) throws ParseException {
        logger.debug("ServiceDataFlowEvent : {}", event);
@@ -137,7 +139,6 @@
                }
            }
        }
        //为停车费单独处理
        if (paramObj.containsKey("carPayerObjType") && FeeDto.PAYER_OBJ_TYPE_CAR.equals(paramObj.getString("carPayerObjType"))) {
            Date feeEndTime = (Date) paramObj.get("carFeeEndTime");
@@ -162,7 +163,6 @@
                }
            }
        }
        //判断是否有派单属性ID
        FeeAttrDto feeAttrDto = new FeeAttrDto();
        feeAttrDto.setCommunityId(paramObj.getString("communityId"));
@@ -215,16 +215,37 @@
            Assert.listOnlyOne(repairUserDtoList, "信息错误!");
            RepairUserPo repairUserPo = new RepairUserPo();
            repairUserPo.setRuId(repairUserDtoList.get(0).getRuId());
            if (repairChannel.equals("Z")) {  //如果业主是自主报修,状态就变成待评价
                repairUserPo.setState(RepairUserDto.STATE_EVALUATE);
                //如果是待评价状态,就更新开始时间
                repairUserPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
                repairUserPo.setContext("待评价");
            if (repairChannel.equals("Z")) {  //如果业主是自主报修,状态就变成已支付,并新增一条待评价状态
                repairUserPo.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
                //如果是待评价状态,就更新结束时间
                repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
                repairUserPo.setContext("已支付" + paramObj.getString("feePrice") + "元");
                //新增待评价状态
                JSONObject object = JSONObject.parseObject("{\"datas\":{}}");
                object.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
                object.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 4);
                object.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
                RepairUserPo repairUser = new RepairUserPo();
                repairUser.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
                repairUser.setStartTime(repairUserPo.getEndTime());
                repairUser.setState(RepairUserDto.STATE_EVALUATE);
                repairUser.setContext("待评价");
                repairUser.setCommunityId(paramObj.getString("communityId"));
                repairUser.setCreateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
                repairUser.setRepairId(repairUserDtoList.get(0).getRepairId());
                repairUser.setStaffId(repairUserDtoList.get(0).getStaffId());
                repairUser.setStaffName(repairUserDtoList.get(0).getStaffName());
                repairUser.setPreStaffId(repairUserDtoList.get(0).getStaffId());
                repairUser.setPreStaffName(repairUserDtoList.get(0).getStaffName());
                repairUser.setPreRuId(repairUserDtoList.get(0).getRuId());
                repairUser.setRepairEvent("auditUser");
                object.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(RepairUserPo.class.getSimpleName(), BeanConvertUtil.beanCovertMap(repairUser));
                businesses.add(object);
            } else {  //如果是员工代客报修或电话报修,状态就变成已支付
                repairUserPo.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
                //如果是已支付状态,就更新结束时间
                repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
                repairUserPo.setContext("已支付");
                repairUserPo.setContext("已支付" + paramObj.getString("feePrice") + "元");
            }
            business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(RepairUserPo.class.getSimpleName(), BeanConvertUtil.beanCovertMap(repairUserPo));
            businesses.add(business);
@@ -243,9 +264,9 @@
        feeReceiptDetailDto.setCommunityId(paramObj.getString("communityId"));
        List<FeeReceiptDetailDto> feeReceiptDetailDtos = feeReceiptDetailInnerServiceSMOImpl.queryFeeReceiptDetails(feeReceiptDetailDto);
        if(feeReceiptDetailDtos != null || feeReceiptDetailDtos.size()> 0){
        if (feeReceiptDetailDtos != null || feeReceiptDetailDtos.size() > 0) {
            dataFlowContext.setResponseEntity(ResultVo.createResponseEntity(feeReceiptDetailDtos.get(0)));
            return ;
            return;
        }
        dataFlowContext.setResponseEntity(ResultVo.createResponseEntity(feeReceiptDetailPo));
    }
service-api/src/main/java/com/java110/api/listener/fee/PayFeePreListener.java
@@ -8,6 +8,7 @@
import com.java110.core.annotation.Java110Listener;
import com.java110.core.context.DataFlowContext;
import com.java110.core.event.service.api.ServiceDataFlowEvent;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.app.AppDto;
import com.java110.dto.fee.FeeAttrDto;
import com.java110.dto.fee.FeeDetailDto;
@@ -38,6 +39,7 @@
import org.springframework.http.ResponseEntity;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;
@@ -160,11 +162,34 @@
            Assert.listOnlyOne(repairUserDtoList, "信息错误!");
            RepairUserPo repairUserPo = new RepairUserPo();
            repairUserPo.setRuId(repairUserDtoList.get(0).getRuId());
            repairUserPo.setState(RepairUserDto.STATE_EVALUATE);
            //如果是待评价状态,就更新开始时间
            repairUserPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
            repairUserPo.setContext("待评价");
            repairUserPo.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
            //如果是待评价状态,就更新结束时间
            repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
            DecimalFormat df = new DecimalFormat("#.00");
            BigDecimal payment_amount=new BigDecimal(paramObj.getString("receivableAmount"));
            repairUserPo.setContext("已支付" + df.format(payment_amount) + "元");
            //新增待评价状态
            JSONObject object = JSONObject.parseObject("{\"datas\":{}}");
            object.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
            object.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ + 3);
            object.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
            RepairUserPo repairUser = new RepairUserPo();
            repairUser.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
            repairUser.setStartTime(repairUserPo.getEndTime());
            repairUser.setState(RepairUserDto.STATE_EVALUATE);
            repairUser.setContext("待评价");
            repairUser.setCommunityId(paramObj.getString("communityId"));
            repairUser.setCreateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
            repairUser.setRepairId(repairUserDtoList.get(0).getRepairId());
            repairUser.setStaffId(repairUserDtoList.get(0).getStaffId());
            repairUser.setStaffName(repairUserDtoList.get(0).getStaffName());
            repairUser.setPreStaffId(repairUserDtoList.get(0).getStaffId());
            repairUser.setPreStaffName(repairUserDtoList.get(0).getStaffName());
            repairUser.setPreRuId(repairUserDtoList.get(0).getRuId());
            repairUser.setRepairEvent("auditUser");
            object.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(RepairUserPo.class.getSimpleName(), BeanConvertUtil.beanCovertMap(repairUser));
            business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put(RepairUserPo.class.getSimpleName(), BeanConvertUtil.beanCovertMap(repairUserPo));
            businesses.add(object);
            businesses.add(business);
        }
service-api/src/main/java/com/java110/api/listener/meterWater/ListMeterWatersListener.java
@@ -117,10 +117,10 @@
        }
        if (StringUtil.isEmpty(meterWaterDto.getObjType())) {
            meterWaterDto.setObjType(MeterWaterDto.OBJ_TYPE_ROOM);
            meterWaterDto.setObjType(MeterWaterDto.PAYER_OBJ_TYPE_ROOM);
        }
        if (MeterWaterDto.OBJ_TYPE_ROOM.equals(meterWaterDto.getObjType())) {
        if (MeterWaterDto.PAYER_OBJ_TYPE_ROOM.equals(meterWaterDto.getObjType())) {
            String[] nums = roomNum.split("-");
            if (nums.length != 3) {
                return false;
service-api/src/main/java/com/java110/api/listener/ownerRepair/GrabbingRepairListener.java
@@ -50,34 +50,38 @@
    @Override
    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
        //Assert.hasKeyAndValue(reqJson, "xxx", "xxx");
        Assert.hasKeyAndValue(reqJson, "repairId", "未包含报修单信息");
        //Assert.hasKeyAndValue(reqJson, "context", "未包含派单内容");
        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区信息");
        Assert.hasKeyAndValue(reqJson, "userId", "未包含用户ID");
        Assert.hasKeyAndValue(reqJson, "userName", "未包含用户名称");
        RepairDto repairDto = new RepairDto();
        repairDto.setRepairId(reqJson.getString("repairId"));
        repairDto.setCommunityId(reqJson.getString("communityId"));
        List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
        Assert.listOnlyOne(repairDtos, "未找到工单信息或找到多条");
        String repairType = repairDtos.get(0).getRepairType();
    }
    @Override
    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
        RepairDto repairDtoData = new RepairDto();
        repairDtoData.setRepairId(reqJson.getString("repairId"));
        repairDtoData.setCommunityId(reqJson.getString("communityId"));
        List<RepairDto> repairDtoList = repairInnerServiceSMOImpl.queryRepairs(repairDtoData);
        if (repairDtoList.size()!= 1) {
            ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "未找到工单信息或找到多条!");
            context.setResponseEntity(responseEntity);
            return;
        }
        String repairType = repairDtoList.get(0).getRepairType();
        RepairTypeUserDto repairTypeUserDto = new RepairTypeUserDto();
        repairTypeUserDto.setCommunityId(reqJson.getString("communityId"));
        repairTypeUserDto.setRepairType(repairType);
        repairTypeUserDto.setStaffId(reqJson.getString("userId"));
        int count = repairTypeUserInnerServiceSMOImpl.queryRepairTypeUsersCount(repairTypeUserDto);
        if (count < 1) {
            throw new IllegalArgumentException("您没有权限抢该类型报修单");
            ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "您没有权限抢该类型报修单!");
            context.setResponseEntity(responseEntity);
            return;
        }
    }
    @Override
    protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
        //获取报修id
        String repairId = reqJson.getString("repairId");
        RepairDto repairDto = new RepairDto();
service-api/src/main/java/com/java110/api/listener/ownerRepair/ListStaffFinishRepairsListener.java
@@ -85,7 +85,7 @@
            ownerRepairDto.setStates(Arrays.asList(states));
        }else{
            //Pc WEB维修已办
            String[] states={RepairDto.STATE_BACK, RepairDto.STATE_TRANSFER, RepairDto.STATE_PAY_ERROR, RepairDto.STATE_APPRAISE, RepairDto.STATE_RETURN_VISIT, RepairDto.STATE_COMPLATE};
            String[] states={RepairDto.STATE_BACK, RepairDto.STATE_TRANSFER,RepairDto.STATE_PAY, RepairDto.STATE_PAY_ERROR, RepairDto.STATE_APPRAISE, RepairDto.STATE_RETURN_VISIT, RepairDto.STATE_COMPLATE};
            ownerRepairDto.setStates(Arrays.asList(states));
        }
        int count = repairInnerServiceSMOImpl.queryStaffFinishRepairsCount(ownerRepairDto);
service-api/src/main/java/com/java110/api/listener/ownerRepair/RepairFinishListener.java
@@ -20,6 +20,7 @@
import com.java110.intf.common.IFileInnerServiceSMO;
import com.java110.intf.community.IRepairInnerServiceSMO;
import com.java110.intf.community.IRepairUserInnerServiceSMO;
import com.java110.intf.community.IResourceStoreServiceSMO;
import com.java110.intf.fee.IFeeConfigInnerServiceSMO;
import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
@@ -28,6 +29,7 @@
import com.java110.po.file.FileRelPo;
import com.java110.po.owner.RepairPoolPo;
import com.java110.po.owner.RepairUserPo;
import com.java110.po.purchase.ResourceStorePo;
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.constant.FeeTypeConstant;
import com.java110.utils.constant.ServiceCodeRepairDispatchStepConstant;
@@ -43,6 +45,8 @@
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.List;
/**
@@ -75,6 +79,9 @@
    @Autowired
    private IOwnerInnerServiceSMO ownerInnerServiceSMO;
    @Autowired
    private IResourceStoreServiceSMO resourceStoreServiceSMO;
    @Override
    protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
        Assert.hasKeyAndValue(reqJson, "repairId", "未包含报修单信息");
@@ -93,17 +100,59 @@
        String repairChannel = reqJson.getString("repairChannel");
        //获取维修类型
        String maintenanceType = reqJson.getString("maintenanceType");
        if (!reqJson.getString("outLowPrice").equals(reqJson.getString("outHighPrice"))
                && maintenanceType.equals("1001")) {
        //获取商品资源res_id
        String resId = reqJson.getString("resId");
        //获取商品数量
        String useNumber = reqJson.getString("useNumber");
        String outLowPrice = "0";
        String outHighPrice = "0";
        List<ResourceStorePo> resourceStorePoList = new ArrayList<>();
        //用料
        String repairMaterials = "";
        //单价
        Double unitPrice = 0.0;
        //数量
        Double useNumber_s = 0.0;
        //总价
        String totalPrice = "";
        DecimalFormat df = new DecimalFormat("#.00");
        if (!StringUtil.isEmpty(reqJson.getString("price")) && !StringUtil.isEmpty(useNumber)) {
            //支付费用 数量乘以单价
            unitPrice = Double.parseDouble(reqJson.getString("price"));
            useNumber_s = Double.parseDouble(useNumber);
            //计算金额
            totalPrice = df.format(unitPrice * useNumber_s);
        }
        if (!StringUtil.isEmpty(resId)) {
            //查询库存并校验库存
            ResourceStorePo resourceStorePo = new ResourceStorePo();
            resourceStorePo.setResId(resId);
            resourceStorePoList = resourceStoreServiceSMO.getResourceStores(resourceStorePo);
            repairMaterials = resourceStorePoList.get(0).getResName() + "*" + useNumber;
            outLowPrice = resourceStorePoList.get(0).getOutLowPrice();
            outHighPrice = resourceStorePoList.get(0).getOutHighPrice();
        }
        if (!StringUtil.isEmpty(useNumber)) {
            String nowStock = "0";
            if (resourceStorePoList.size() == 1) {
                nowStock = resourceStorePoList.get(0).getStock();
            }
            if (Integer.parseInt(nowStock) < Integer.parseInt(useNumber)) {
                ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "商品供料库存不足!");
                context.setResponseEntity(responseEntity);
                return;
            }
        }
        if (maintenanceType.equals("1001")) {
            //获取价格
            Double price = Double.parseDouble(reqJson.getString("price"));
            //获取最低价
            Double outLowPrice = Double.parseDouble(reqJson.getString("outLowPrice"));
            //获取最高价
            Double outHighPrice = Double.parseDouble(reqJson.getString("outHighPrice"));
            Double outLowPrices = Double.parseDouble(outLowPrice);
            Double outHighPrices = Double.parseDouble(outHighPrice);
            //物品价格应该在最低价和最高价之间
            if (price < outLowPrice || price > outHighPrice) {
                throw new IllegalArgumentException("输入的价格不正确,请重新输入!");
            if (price < outLowPrices || price > outHighPrices) {
                ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "输入的商品供料单价不正确,请重新输入!");
                context.setResponseEntity(responseEntity);
                return;
            }
        }
        RepairUserDto repairUserDto = new RepairUserDto();
@@ -112,7 +161,11 @@
        repairUserDto.setState(RepairUserDto.STATE_DOING);
        repairUserDto.setStaffId(userId);
        List<RepairUserDto> repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto);
        Assert.listOnlyOne(repairUserDtos, "当前用户没有需要处理订单");
        if (repairUserDtos.size() != 1) {
            ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "当前用户没有需要处理订单!");
            context.setResponseEntity(responseEntity);
            return;
        }
        // 1.0 关闭自己订单
        RepairUserPo repairUserPo = new RepairUserPo();
        repairUserPo.setRuId(repairUserDtos.get(0).getRuId());
@@ -128,14 +181,20 @@
            repairUserDto.setCommunityId(reqJson.getString("communityId"));
            repairUserDto.setRepairEvent(RepairUserDto.REPAIR_EVENT_START_USER);
            repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto);
            Assert.listOnlyOne(repairUserDtos, "数据错误 该订单没有发起人");
            if (repairUserDtos.size() != 1) {
                ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "数据错误 该订单没有发起人!");
                context.setResponseEntity(responseEntity);
                return;
            }
            repairUserPo = new RepairUserPo();
            repairUserPo.setRuId("-1");
            repairUserPo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
            if (maintenanceType.equals("1001")) { //如果是有偿的就走下面(业主报修有偿或者电话申请有偿或者员工报修有偿)
                repairUserPo.setState(RepairUserDto.STATE_PAY_FEE);
                repairUserPo.setContext("待支付" + totalPrice + "元");
            } else {
                repairUserPo.setState(RepairUserDto.STATE_EVALUATE);
                repairUserPo.setContext("待评价");
            }
            repairUserPo.setRepairId(reqJson.getString("repairId"));
            if (repairChannel.equals("Z")) {  //如果是业主端报修的走下面的方法
@@ -145,21 +204,33 @@
                RepairDto repairDto = new RepairDto();
                repairDto.setRepairId(reqJson.getString("repairId"));
                List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
                Assert.listOnlyOne(repairDtos, "数据错误 该用户没有报修单");
                if (repairDtos.size() != 1) {
                    ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "数据错误,该用户没有报修单!");
                    context.setResponseEntity(responseEntity);
                    return;
                }
                //此时的报修对象ID即房屋ID
                String roomId = repairDtos.get(0).getRepairObjId();
                OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
                ownerRoomRelDto.setRoomId(roomId);
                //查询房屋业主关系表
                List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMO.queryOwnerRoomRels(ownerRoomRelDto);
                Assert.listOnlyOne(ownerRoomRelDtos, "信息错误");
                if (ownerRoomRelDtos.size() != 1) {
                    ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "信息错误,未找到房屋的业主!");
                    context.setResponseEntity(responseEntity);
                    return;
                }
                //获取业主id
                String ownerId = ownerRoomRelDtos.get(0).getOwnerId();
                OwnerDto ownerDto = new OwnerDto();
                ownerDto.setOwnerId(ownerId);
                //根据业主id查询业主信息
                List<OwnerDto> ownerDtos = ownerInnerServiceSMO.queryOwners(ownerDto);
                Assert.listOnlyOne(ownerDtos, "信息错误");
                if (ownerDtos.size() != 1) {
                    ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "未查询到业主信息!");
                    context.setResponseEntity(responseEntity);
                    return;
                }
                //获取业主姓名
                String ownerName = ownerDtos.get(0).getName();
                repairUserPo.setStaffId(ownerId);
@@ -169,7 +240,6 @@
            repairUserPo.setPreStaffName(userName);
            repairUserPo.setPreRuId(repairUserDtos.get(0).getRuId());
            repairUserPo.setRepairEvent(RepairUserDto.REPAIR_EVENT_PAY_USER);
            repairUserPo.setContext("");
            repairUserPo.setCommunityId(reqJson.getString("communityId"));
            super.insert(context, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
        }
@@ -240,9 +310,13 @@
            feeConfigDto.setFeeTypeCd(FeeTypeConstant.FEE_TYPE_REPAIR);
            feeConfigDto.setIsDefault(FeeConfigDto.DEFAULT_FEE_CONFIG);
            List<FeeConfigDto> feeConfigDtos = feeConfigInnerServiceSMOImpl.queryFeeConfigs(feeConfigDto);
            Assert.listOnlyOne(feeConfigDtos, "默认维修费用有多条或不存在");
            if (feeConfigDtos.size() != 1) {
                ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "默认维修费用有多条或不存在!");
                context.setResponseEntity(responseEntity);
                return;
            }
            PayFeePo feePo = new PayFeePo();
            feePo.setAmount(reqJson.getString("price"));
            feePo.setAmount(String.valueOf(totalPrice));
            feePo.setCommunityId(reqJson.getString("communityId"));
            feePo.setConfigId(feeConfigDtos.get(0).getConfigId());
            feePo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
@@ -255,7 +329,11 @@
            repairDto.setCommunityId(reqJson.getString("communityId"));
            repairDto.setRepairId(reqJson.getString("repairId"));
            List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
            Assert.listOnlyOne(repairDtos, "维修单有多条或不存在");
            if (repairDtos.size() != 1) {
                ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "维修单有多条或不存在!");
                context.setResponseEntity(responseEntity);
                return;
            }
            feePo.setPayerObjId(repairDtos.get(0).getRepairObjId());
            feePo.setStartTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
            feePo.setState(FeeDto.STATE_DOING);
@@ -271,7 +349,12 @@
            //改变r_repair_pool表maintenance_type维修类型
            RepairPoolPo repairPoolPo = new RepairPoolPo();
            repairPoolPo.setRepairId(reqJson.getString("repairId"));
            //维修类型
            repairPoolPo.setMaintenanceType(reqJson.getString("maintenanceType"));
            //用料
            repairPoolPo.setRepairMaterials(repairMaterials);
            //费用明细
            repairPoolPo.setRepairFee(df.format(unitPrice) + " * " + useNumber + " = " + totalPrice);
            super.update(context, repairPoolPo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_REPAIR);
            ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_PAY);
        } else if (publicArea.equals("T")) {  //公共区域走这里
service-common/src/main/java/com/java110/common/dao/IAdvertServiceDao.java
@@ -67,14 +67,6 @@
    int queryAdvertsCount(Map info);
    /**
     * 保存广告属性
     *
     * @param info
     * @return
     */
    int saveAdverts(Map info);
    /**
     * 修改广告信息
     *
     * @param info 修改信息
service-common/src/main/java/com/java110/common/dao/impl/AdvertServiceDaoImpl.java
@@ -115,13 +115,6 @@
    }
    @Override
    public int saveAdverts(Map info) {
        logger.debug("saveAdverts 入参 info : {}", info);
        int saveFlag = sqlSessionTemplate.insert("advertServiceDaoImpl.saveAdverts", info);
        return saveFlag;
    }
    @Override
    public void updateAdverts(Map info) {
        logger.debug("修改广告信息Instance 入参 info : {}", info);
//        int saveFlag = sqlSessionTemplate.update("advertServiceDaoImpl.updateAdvertInfoInstance", info);
service-common/src/main/java/com/java110/common/smo/impl/AdvertInnerServiceSMOImpl.java
@@ -47,13 +47,6 @@
    }
    @Override
    public int saveAdverts(@RequestBody AdvertDto advertDto) {
        int saveFlag = 1;
        advertServiceDaoImpl.saveAdverts(BeanConvertUtil.beanCovertMap(advertDto));
        return saveFlag;
    }
    @Override
    public int updateAdverts(@RequestBody AdvertDto advertDto) {
        int saveFlag = 1;
        advertServiceDaoImpl.updateAdverts(BeanConvertUtil.beanCovertMap(advertDto));
service-community/src/main/java/com/java110/community/bmo/repairReturnVisit/impl/SaveRepairReturnVisitBMOImpl.java
@@ -4,14 +4,24 @@
import com.java110.core.annotation.Java110Transactional;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.repair.RepairDto;
import com.java110.dto.repair.RepairUserDto;
import com.java110.intf.community.IRepairInnerServiceSMO;
import com.java110.intf.community.IRepairReturnVisitInnerServiceSMO;
import com.java110.intf.community.IRepairUserInnerServiceSMO;
import com.java110.po.owner.RepairPoolPo;
import com.java110.po.owner.RepairUserPo;
import com.java110.po.repairReturnVisit.RepairReturnVisitPo;
import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
@Service("saveRepairReturnVisitBMOImpl")
public class SaveRepairReturnVisitBMOImpl implements ISaveRepairReturnVisitBMO {
@@ -21,6 +31,9 @@
    @Autowired
    private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
    @Autowired
    private IRepairUserInnerServiceSMO repairUserInnerServiceSMOImpl;
    /**
     * 添加小区信息
@@ -38,6 +51,47 @@
            return ResultVo.createResponseEntity(ResultVo.CODE_ERROR, "保存失败");
        }
        RepairDto repairDto = new RepairDto();
        repairDto.setRepairId(repairReturnVisitPo.getRepairId());
        List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
        Assert.listOnlyOne(repairDtos, "报修信息为空");
        //获取报修渠道
        String repairChannel = repairDtos.get(0).getRepairChannel();
        //获取维修类型
        String maintenanceType = repairDtos.get(0).getMaintenanceType();
        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);
        }
        //查询报修派单状态
        List<RepairUserDto> repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto);
        Assert.listOnlyOne(repairUserDtos, "信息错误");
        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();
        repairUserPo.setStartTime(format.format(endTime));
        repairUserPo.setState(RepairUserDto.STATE_FINISH_VISIT);
        repairUserPo.setContext(repairReturnVisitPo.getContext());
        repairUserPo.setCommunityId(repairReturnVisitPo.getCommunityId());
        repairUserPo.setCreateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        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.setRepairEvent("auditUser");
        repairUserPo.setbId("-1");
        repairUserInnerServiceSMOImpl.saveRepairUser(repairUserPo);
        RepairPoolPo repairPoolPo = new RepairPoolPo();
        repairPoolPo.setRepairId(repairReturnVisitPo.getRepairId());
        repairPoolPo.setState(RepairDto.STATE_COMPLATE);
service-community/src/main/java/com/java110/community/dao/IRepairUserServiceDao.java
@@ -15,23 +15,24 @@
 * 报修派单组件内部之间使用,没有给外围系统提供服务能力
 * 报修派单服务接口类,要求全部以字符串传输,方便微服务化
 * 新建客户,修改客户,删除客户,查询客户等功能
 *
 * <p>
 * Created by wuxw on 2016/12/27.
 */
public interface IRepairUserServiceDao {
    /**
     * 保存 报修派单信息
     *
     * @param businessRepairUserInfo 报修派单信息 封装
     * @throws DAOException 操作数据库异常
     */
    void saveBusinessRepairUserInfo(Map businessRepairUserInfo) throws DAOException;
    /**
     * 查询报修派单信息(business过程)
     * 根据bId 查询报修派单信息
     *
     * @param info bId 信息
     * @return 报修派单信息
     * @throws DAOException DAO异常
@@ -39,21 +40,19 @@
    List<Map> getBusinessRepairUserInfo(Map info) throws DAOException;
    /**
     * 保存 报修派单信息 Business数据到 Instance中
     *
     * @param info
     * @throws DAOException DAO异常
     */
    void saveRepairUserInfoInstance(Map info) throws DAOException;
    /**
     * 查询报修派单信息(instance过程)
     * 根据bId 查询报修派单信息
     *
     * @param info bId 信息
     * @return 报修派单信息
     * @throws DAOException DAO异常
@@ -61,9 +60,9 @@
    List<Map> getRepairUserInfo(Map info) throws DAOException;
    /**
     * 修改报修派单信息
     *
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
@@ -78,4 +77,12 @@
     */
    int queryRepairUsersCount(Map info);
    /**
     * 插入报修派单信息
     *
     * @param info
     * @author fqz
     */
    void saveRepairUser(Map info);
}
service-community/src/main/java/com/java110/community/dao/impl/RepairTypeUserServiceDaoImpl.java
@@ -9,7 +9,6 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
service-community/src/main/java/com/java110/community/dao/impl/RepairUserServiceDaoImpl.java
@@ -25,6 +25,7 @@
    /**
     * 报修派单信息封装
     *
     * @param businessRepairUserInfo 报修派单信息 封装
     * @throws DAOException DAO异常
     */
@@ -32,98 +33,104 @@
    public void saveBusinessRepairUserInfo(Map businessRepairUserInfo) throws DAOException {
        businessRepairUserInfo.put("month", DateUtil.getCurrentMonth());
        // 查询business_user 数据是否已经存在
        logger.debug("保存报修派单信息 入参 businessRepairUserInfo : {}",businessRepairUserInfo);
        int saveFlag = sqlSessionTemplate.insert("repairUserServiceDaoImpl.saveBusinessRepairUserInfo",businessRepairUserInfo);
        if(saveFlag < 1){
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存报修派单数据失败:"+ JSONObject.toJSONString(businessRepairUserInfo));
        logger.debug("保存报修派单信息 入参 businessRepairUserInfo : {}", businessRepairUserInfo);
        int saveFlag = sqlSessionTemplate.insert("repairUserServiceDaoImpl.saveBusinessRepairUserInfo", businessRepairUserInfo);
        if (saveFlag < 1) {
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "保存报修派单数据失败:" + JSONObject.toJSONString(businessRepairUserInfo));
        }
    }
    /**
     * 查询报修派单信息
     *
     * @param info bId 信息
     * @return 报修派单信息
     * @throws DAOException DAO异常
     */
    @Override
    public List<Map> getBusinessRepairUserInfo(Map info) throws DAOException {
        logger.debug("查询报修派单信息 入参 info : {}",info);
        List<Map> businessRepairUserInfos = sqlSessionTemplate.selectList("repairUserServiceDaoImpl.getBusinessRepairUserInfo",info);
        logger.debug("查询报修派单信息 入参 info : {}", info);
        List<Map> businessRepairUserInfos = sqlSessionTemplate.selectList("repairUserServiceDaoImpl.getBusinessRepairUserInfo", info);
        return businessRepairUserInfos;
    }
    /**
     * 保存报修派单信息 到 instance
     * @param info   bId 信息
     *
     * @param info bId 信息
     * @throws DAOException DAO异常
     */
    @Override
    public void saveRepairUserInfoInstance(Map info) throws DAOException {
        logger.debug("保存报修派单信息Instance 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.insert("repairUserServiceDaoImpl.saveRepairUserInfoInstance",info);
        if(saveFlag < 1){
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"保存报修派单信息Instance数据失败:"+ JSONObject.toJSONString(info));
        logger.debug("保存报修派单信息Instance 入参 info : {}", info);
        int saveFlag = sqlSessionTemplate.insert("repairUserServiceDaoImpl.saveRepairUserInfoInstance", info);
        if (saveFlag < 1) {
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "保存报修派单信息Instance数据失败:" + JSONObject.toJSONString(info));
        }
    }
    /**
     * 查询报修派单信息(instance)
     *
     * @param info bId 信息
     * @return List<Map>
     * @throws DAOException DAO异常
     */
    @Override
    public List<Map> getRepairUserInfo(Map info) throws DAOException {
        logger.debug("查询报修派单信息 入参 info : {}",info);
        List<Map> businessRepairUserInfos = sqlSessionTemplate.selectList("repairUserServiceDaoImpl.getRepairUserInfo",info);
        logger.debug("查询报修派单信息 入参 info : {}", info);
        List<Map> businessRepairUserInfos = sqlSessionTemplate.selectList("repairUserServiceDaoImpl.getRepairUserInfo", info);
        return businessRepairUserInfos;
    }
    /**
     * 修改报修派单信息
     *
     * @param info 修改信息
     * @throws DAOException DAO异常
     */
    @Override
    public void updateRepairUserInfoInstance(Map info) throws DAOException {
        logger.debug("修改报修派单信息Instance 入参 info : {}",info);
        int saveFlag = sqlSessionTemplate.update("repairUserServiceDaoImpl.updateRepairUserInfoInstance",info);
        if(saveFlag < 1){
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR,"修改报修派单信息Instance数据失败:"+ JSONObject.toJSONString(info));
        logger.debug("修改报修派单信息Instance 入参 info : {}", info);
        int saveFlag = sqlSessionTemplate.update("repairUserServiceDaoImpl.updateRepairUserInfoInstance", info);
        if (saveFlag < 1) {
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "修改报修派单信息Instance数据失败:" + JSONObject.toJSONString(info));
        }
    }
     /**
    /**
     * 查询报修派单数量
     *
     * @param info 报修派单信息
     * @return 报修派单数量
     */
    @Override
    public int queryRepairUsersCount(Map info) {
        logger.debug("查询报修派单数据 入参 info : {}",info);
        logger.debug("查询报修派单数据 入参 info : {}", info);
        List<Map> businessRepairUserInfos = sqlSessionTemplate.selectList("repairUserServiceDaoImpl.queryRepairUsersCount", info);
        if (businessRepairUserInfos.size() < 1) {
            return 0;
        }
        return Integer.parseInt(businessRepairUserInfos.get(0).get("count").toString());
    }
    /**
     * 插入报修派单信息
     *
     * @param info
     * @author fqz
     */
    @Override
    public void saveRepairUser(Map info) {
        logger.debug("插入报修派单信息 入参 info : {}", info);
        int saveFlag = sqlSessionTemplate.insert("repairUserServiceDaoImpl.saveRepairUser", info);
        if (saveFlag < 1) {
            throw new DAOException(ResponseConstant.RESULT_PARAM_ERROR, "保存报修派单信息数据失败:" + JSONObject.toJSONString(info));
        }
    }
}
service-community/src/main/java/com/java110/community/listener/repair/AbstractRepairBusinessServiceDataFlowListener.java
@@ -51,6 +51,8 @@
        businessRepairInfo.put("repairObjName", businessRepairInfo.get("repair_obj_name"));
        businessRepairInfo.put("repairChannel", businessRepairInfo.get("repair_channel"));
        businessRepairInfo.put("maintenanceType", businessRepairInfo.get("maintenance_type"));
        businessRepairInfo.put("repairMaterials", businessRepairInfo.get("repair_materials"));
        businessRepairInfo.put("repairFee", businessRepairInfo.get("repair_fee"));
        businessRepairInfo.remove("bId");
        businessRepairInfo.put("statusCd", statusCd);
    }
@@ -89,7 +91,8 @@
        currentRepairInfo.put("repairObjName", currentRepairInfo.get("repair_obj_name"));
        currentRepairInfo.put("repairChannel", currentRepairInfo.get("repair_channel"));
        currentRepairInfo.put("maintenanceType", currentRepairInfo.get("maintenance_type"));
        currentRepairInfo.put("repairMaterials", currentRepairInfo.get("repair_materials"));
        currentRepairInfo.put("repairFee", currentRepairInfo.get("repair_fee"));
        currentRepairInfo.put("operate", StatusConstant.OPERATE_DEL);
        getRepairServiceDaoImpl().saveBusinessRepairInfo(currentRepairInfo);
service-community/src/main/java/com/java110/community/smo/impl/RepairUserInnerServiceSMOImpl.java
@@ -94,9 +94,22 @@
        return repairUserServiceDaoImpl.queryRepairUsersCount(BeanConvertUtil.beanCovertMap(repairUserDto));
    }
    /**
     * @param repairUserPo
     * @author fqz
     */
    @Override
    public void saveRepairUser(RepairUserPo repairUserPo) {
        repairUserServiceDaoImpl.saveRepairUserInfoInstance(BeanConvertUtil.beanCovertMap(repairUserPo));
    public void saveRepairUser(@RequestBody RepairUserPo repairUserPo) {
        repairUserServiceDaoImpl.saveRepairUser(BeanConvertUtil.beanCovertMap(repairUserPo));
    }
    /**
     * @param repairUserPo
     * @author fqz
     */
    @Override
    public void updateRepairUser(@RequestBody RepairUserPo repairUserPo) {
        repairUserServiceDaoImpl.updateRepairUserInfoInstance(BeanConvertUtil.beanCovertMap(repairUserPo));
    }
    public IRepairUserServiceDao getRepairUserServiceDaoImpl() {
service-job/src/main/java/com/java110/job/adapt/roomRenovation/MachineRoomRenovation.java
New file
@@ -0,0 +1,166 @@
package com.java110.job.adapt.roomRenovation;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.factory.WechatFactory;
import com.java110.dto.community.CommunityDto;
import com.java110.dto.owner.OwnerAppUserDto;
import com.java110.dto.owner.OwnerRoomRelDto;
import com.java110.dto.smallWeChat.SmallWeChatDto;
import com.java110.dto.smallWechatAttr.SmallWechatAttrDto;
import com.java110.entity.order.Business;
import com.java110.entity.wechat.Content;
import com.java110.entity.wechat.Data;
import com.java110.entity.wechat.PropertyFeeTemplateMessage;
import com.java110.intf.community.ICommunityInnerServiceSMO;
import com.java110.intf.store.ISmallWeChatInnerServiceSMO;
import com.java110.intf.store.ISmallWechatAttrInnerServiceSMO;
import com.java110.intf.user.IOwnerAppUserInnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
import com.java110.job.adapt.DatabusAdaptImpl;
import com.java110.utils.cache.MappingCache;
import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
import com.java110.utils.util.StringUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
import java.util.List;
/**
 * 装修跟踪适配器
 *
 * @author fqz
 * @date 2021-04-10 14:30
 */
@Component(value = "machineRoomRenovation")
public class MachineRoomRenovation extends DatabusAdaptImpl {
    @Autowired
    private ICommunityInnerServiceSMO communityInnerServiceSMO;
    @Autowired
    private ISmallWeChatInnerServiceSMO smallWeChatInnerServiceSMOImpl;
    @Autowired
    private ISmallWechatAttrInnerServiceSMO smallWechatAttrInnerServiceSMOImpl;
    @Autowired
    private IOwnerRoomRelInnerServiceSMO ownerRoomRelInnerServiceSMOImpl;
    @Autowired
    private IOwnerAppUserInnerServiceSMO ownerAppUserInnerServiceSMO;
    @Autowired
    private RestTemplate outRestTemplate;
    private static Logger logger = LoggerFactory.getLogger(MachineRoomRenovation.class);
    //模板信息推送地址
    private static String sendMsgUrl = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=";
    @Override
    public void execute(Business business, List<Business> businesses) {
        JSONObject data = business.getData();
        //查询小区信息
        CommunityDto communityDto = new CommunityDto();
        communityDto.setCommunityId(data.getString("communityId"));
        List<CommunityDto> communityDtos = communityInnerServiceSMO.queryCommunitys(communityDto);
        //获取房屋id
        String roomId = data.getString("roomId");
        //获取房屋名称
        String roomName = data.getString("roomName");
        JSONObject paramIn = new JSONObject();
        paramIn.put("roomName", roomName);
        paramIn.put("roomId", roomId);
        //给业主推送消息
        publishMsg(paramIn, communityDtos.get(0));
    }
    /**
     * 新增装修跟踪记录给业主推送消息
     *
     * @param paramIn
     * @param communityDto
     */
    private void publishMsg(JSONObject paramIn, CommunityDto communityDto) {
        //查询公众号配置
        SmallWeChatDto smallWeChatDto = new SmallWeChatDto();
        smallWeChatDto.setWeChatType("1100");
        smallWeChatDto.setObjType(SmallWeChatDto.OBJ_TYPE_COMMUNITY);
        smallWeChatDto.setObjId(communityDto.getCommunityId());
        List<SmallWeChatDto> smallWeChatDtos = smallWeChatInnerServiceSMOImpl.querySmallWeChats(smallWeChatDto);
        if (smallWeChatDto == null || smallWeChatDtos.size() <= 0) {
            logger.info("未配置微信公众号信息,定时任务执行结束");
            return;
        }
        SmallWeChatDto weChatDto = smallWeChatDtos.get(0);
        SmallWechatAttrDto smallWechatAttrDto = new SmallWechatAttrDto();
        smallWechatAttrDto.setCommunityId(communityDto.getCommunityId());
        smallWechatAttrDto.setWechatId(weChatDto.getWeChatId());
        smallWechatAttrDto.setSpecCd(SmallWechatAttrDto.SPEC_CD_WECHAT_TEMPLATE);
        List<SmallWechatAttrDto> smallWechatAttrDtos = smallWechatAttrInnerServiceSMOImpl.querySmallWechatAttrs(smallWechatAttrDto);
        if (smallWechatAttrDtos == null || smallWechatAttrDtos.size() <= 0) {
            logger.info("未配置微信公众号消息模板");
            return;
        }
        String templateId = smallWechatAttrDtos.get(0).getValue();
        String accessToken = WechatFactory.getAccessToken(weChatDto.getAppId(), weChatDto.getAppSecret());
        if (StringUtil.isEmpty(accessToken)) {
            logger.info("推送微信模板,获取accessToken失败:{}", accessToken);
            return;
        }
        //获取房屋id
        String roomId = paramIn.getString("roomId");
        OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
        ownerRoomRelDto.setRoomId(roomId);
        //根据房屋id查询房屋业主关系表
        List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
        Assert.listOnlyOne(ownerRoomRelDtos, "房屋业主信息错误");
        //获取业主id
        String ownerId = ownerRoomRelDtos.get(0).getOwnerId();
        //根据业主id查询绑定业主
        OwnerAppUserDto ownerAppUserDto = new OwnerAppUserDto();
        ownerAppUserDto.setMemberId(ownerId);
        ownerAppUserDto.setAppType("WECHAT");
        //查询绑定业主
        List<OwnerAppUserDto> ownerAppUserDtos = ownerAppUserInnerServiceSMO.queryOwnerAppUsers(ownerAppUserDto);
        if (ownerAppUserDtos.size() > 0) {
            //获取当前绑定业主所属小区
            String communityId = ownerAppUserDtos.get(0).getCommunityId();
            //通过小区id查询小区信息
            CommunityDto community = new CommunityDto();
            community.setCommunityId(communityId);
            List<CommunityDto> communityDtos = communityInnerServiceSMO.queryCommunitys(community);
            Assert.listOnlyOne(communityDtos, "业主小区信息不存在");
            //获取物业联系方式
            String tel = null;
            if (communityDtos != null && communityDtos.size() > 0) {
                tel = communityDtos.get(0).getTel();
            }
            //获取openId
            String openId = ownerAppUserDtos.get(0).getOpenId();
            String url = sendMsgUrl + accessToken;
            Data data = new Data();
            PropertyFeeTemplateMessage templateMessage = new PropertyFeeTemplateMessage();
            templateMessage.setTemplate_id(templateId);
            templateMessage.setTouser(openId);
            data.setFirst(new Content("装修巡检通知"));
            data.setKeyword1(new Content("关于房屋装修现场巡检通知"));
            data.setKeyword2(new Content(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A)));
            data.setKeyword3(new Content("您的" + communityDtos.get(0).getName() + "小区" + paramIn.getString("roomName") + "房屋,有新的现场巡检记录,请您及时了解近期房屋装修状况!"));
            data.setRemark(new Content("如有其它问题,请联系" + communityDtos.get(0).getName() + "客服,联系电话" + tel + ",感谢您的使用。"));
            templateMessage.setData(data);
            String wechatUrl = MappingCache.getValue("OWNER_WECHAT_URL");
            templateMessage.setUrl(wechatUrl);
            logger.info("发送模板消息内容:{}", JSON.toJSONString(templateMessage));
            ResponseEntity<String> responseEntity = outRestTemplate.postForEntity(url, JSON.toJSONString(templateMessage), String.class);
            logger.info("微信模板返回内容:{}", responseEntity);
        }
    }
}
service-job/src/main/java/com/java110/job/task/repair/ReturnVisitRepairTemplate.java
@@ -1,19 +1,28 @@
package com.java110.job.task.repair;
import com.java110.core.factory.GenerateCodeFactory;
import com.java110.dto.community.CommunityDto;
import com.java110.dto.repair.RepairDto;
import com.java110.dto.repair.RepairSettingDto;
import com.java110.dto.repair.RepairUserDto;
import com.java110.dto.task.TaskDto;
import com.java110.intf.community.IRepairInnerServiceSMO;
import com.java110.intf.community.IRepairTypeUserInnerServiceSMO;
import com.java110.intf.community.IRepairSettingInnerServiceSMO;
import com.java110.intf.community.IRepairUserInnerServiceSMO;
import com.java110.job.quartz.TaskSystemQuartz;
import com.java110.po.owner.RepairPoolPo;
import com.java110.utils.constant.StateConstant;
import com.java110.po.owner.RepairUserPo;
import com.java110.utils.constant.StatusConstant;
import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@@ -33,7 +42,10 @@
    private IRepairInnerServiceSMO repairInnerServiceSMOImpl;
    @Autowired
    private IRepairTypeUserInnerServiceSMO repairTypeUserInnerServiceSMOImpl;
    private IRepairUserInnerServiceSMO repairUserInnerServiceSMO;
    @Autowired
    private IRepairSettingInnerServiceSMO repairSettingInnerServiceSMO;
    @Override
    protected void process(TaskDto taskDto) {
@@ -56,6 +68,17 @@
     * @param communityDto
     */
    private void returnVisitRepair(TaskDto taskDto, CommunityDto communityDto) {
        RepairDto repair = new RepairDto();
        repair.setCommunityId(communityDto.getCommunityId());
        repair.setState(RepairDto.STATE_APPRAISE);
        repair.setReturnVisitFlag("001,003");
        repair.setPage(1);
        repair.setRow(100);
        //查询都回访待价状态数据
        List<RepairDto> repairs = repairInnerServiceSMOImpl.queryRepairs(repair);
        for (RepairDto repairDto : repairs) {
            doFinishRepairAppraise(repairDto);
        }
        RepairDto repairDto = new RepairDto();
        repairDto.setCommunityId(communityDto.getCommunityId());
        repairDto.setStatess(new String[]{RepairDto.STATE_RETURN_VISIT, RepairDto.STATE_APPRAISE});
@@ -75,21 +98,228 @@
     * @param tmpRepairDto
     */
    private void doReturnVisitRepair(RepairDto tmpRepairDto) {
        if ("001".equals(tmpRepairDto.getReturnVisitFlag())) {
        if ("001".equals(tmpRepairDto.getReturnVisitFlag()) && RepairDto.STATE_RETURN_VISIT.equals(tmpRepairDto.getState())) {
            RepairPoolPo repairPoolPo = new RepairPoolPo();
            repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
            repairPoolPo.setState(RepairDto.STATE_COMPLATE);
            repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
            repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
            RepairDto repairDto = new RepairDto();
            repairDto.setRepairId(tmpRepairDto.getRepairId());
            //查询报修信息
            List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
            Assert.listOnlyOne(repairDtos, "报修信息错误");
            //查询报修工单信息
            RepairSettingDto repairSettingDto = new RepairSettingDto();
            repairSettingDto.setSettingId(repairDtos.get(0).getRepairType());
            List<RepairSettingDto> repairSettingDtos = repairSettingInnerServiceSMO.queryRepairSettings(repairSettingDto);
            Assert.listOnlyOne(repairDtos, "报修工单信息错误");
            //获取报修区域
            String publicArea = repairSettingDtos.get(0).getPublicArea();
            //获取报修渠道
            String repairChannel = repairDtos.get(0).getRepairChannel();
            //获取维修类型
            String maintenanceType = repairDtos.get(0).getMaintenanceType();
            if (publicArea.equals("T") && !repairChannel.equals("Z")) {  //如果是公共区域,且不是业主报修
                RepairUserDto repairUserDto = new RepairUserDto();
                repairUserDto.setRepairId(tmpRepairDto.getRepairId());
                repairUserDto.setState(RepairUserDto.STATE_CLOSE);
                List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
                Assert.listOnlyOne(repairUserDtoList, "信息错误");
                saveRepairUser(repairUserDtoList, tmpRepairDto);
            } else if (publicArea.equals("F") && maintenanceType.equals("1002") && !repairChannel.equals("Z")) {  //如果不是公共区域,且是无偿的,并且不是业主报修
                RepairUserDto repairUserDto = new RepairUserDto();
                repairUserDto.setRepairId(tmpRepairDto.getRepairId());
                repairUserDto.setState(RepairUserDto.STATE_CLOSE);
                List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
                Assert.listOnlyOne(repairUserDtoList, "信息错误");
                saveRepairUser(repairUserDtoList, tmpRepairDto);
            } else if (publicArea.equals("F") && maintenanceType.equals("1001") && !repairChannel.equals("Z")) {  //如果不是公共区域,且是有偿的,并且不是业主报修
                RepairUserDto repairUserDto = new RepairUserDto();
                repairUserDto.setRepairId(tmpRepairDto.getRepairId());
                repairUserDto.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
                List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
                Assert.listOnlyOne(repairUserDtoList, "信息错误");
                saveRepairUser(repairUserDtoList, tmpRepairDto);
            } else { //如果是业主报修
                RepairUserDto repairUserDto = new RepairUserDto();
                repairUserDto.setRepairId(tmpRepairDto.getRepairId());
                repairUserDto.setState(RepairUserDto.STATE_FINISH);
                List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
                Assert.listOnlyOne(repairUserDtoList, "信息错误");
                saveRepairUser(repairUserDtoList, tmpRepairDto);
            }
            return;
        }
        if ("002".equals(tmpRepairDto.getReturnVisitFlag()) && RepairDto.STATE_APPRAISE.equals(tmpRepairDto.getState())) {
            RepairPoolPo repairPoolPo = new RepairPoolPo();
            repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
            repairPoolPo.setState(RepairDto.STATE_COMPLATE);
            repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
            repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
        if ("002".equals(tmpRepairDto.getReturnVisitFlag())) {
            RepairDto repairDto = new RepairDto();
            repairDto.setRepairId(tmpRepairDto.getRepairId());
            //查询报修信息
            List<RepairDto> repairDtos = repairInnerServiceSMOImpl.queryRepairs(repairDto);
            Assert.listOnlyOne(repairDtos, "报修信息错误");
            //查询报修工单信息
            RepairSettingDto repairSettingDto = new RepairSettingDto();
            repairSettingDto.setSettingId(repairDtos.get(0).getRepairType());
            List<RepairSettingDto> repairSettingDtos = repairSettingInnerServiceSMO.queryRepairSettings(repairSettingDto);
            Assert.listOnlyOne(repairDtos, "报修工单信息错误");
            //获取报修区域
            String publicArea = repairSettingDtos.get(0).getPublicArea();
            //获取报修渠道0
            String repairChannel = repairDtos.get(0).getRepairChannel();
            //获取维修类型
            String maintenanceType = repairDtos.get(0).getMaintenanceType();
            if (publicArea.equals("T") && !repairChannel.equals("Z")) {  //如果是公共区域,且不是业主报修
                RepairUserDto repairUserDto = new RepairUserDto();
                repairUserDto.setRepairId(tmpRepairDto.getRepairId());
                repairUserDto.setState(RepairUserDto.STATE_CLOSE);
                List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
                Assert.listOnlyOne(repairUserDtoList, "信息错误");
                saveRepairUser(repairUserDtoList, tmpRepairDto);
                //改变repair_pool状态
                RepairPoolPo repairPoolPo = new RepairPoolPo();
                repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
                repairPoolPo.setState(RepairDto.STATE_COMPLATE);
                repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
                repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
            } else if (publicArea.equals("F") && maintenanceType.equals("1002") && !repairChannel.equals("Z")) {  //如果不是公共区域,且是无偿的,并且不是业主报修
                RepairUserDto repairUserDto = new RepairUserDto();
                repairUserDto.setRepairId(tmpRepairDto.getRepairId());
                repairUserDto.setState(RepairUserDto.STATE_CLOSE);
                List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
                Assert.listOnlyOne(repairUserDtoList, "信息错误");
                saveRepairUser(repairUserDtoList, tmpRepairDto);
                //改变repair_pool
                RepairPoolPo repairPoolPo = new RepairPoolPo();
                repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
                repairPoolPo.setState(RepairDto.STATE_COMPLATE);
                repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
                repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
            } else if (publicArea.equals("F") && maintenanceType.equals("1001") && !repairChannel.equals("Z")) {  //如果不是公共区域,且是有偿的,并且不是业主报修
                RepairUserDto repairUserDto = new RepairUserDto();
                repairUserDto.setRepairId(tmpRepairDto.getRepairId());
                repairUserDto.setState(RepairUserDto.STATE_FINISH_PAY_FEE);
                List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
                Assert.listOnlyOne(repairUserDtoList, "信息错误");
                saveRepairUser(repairUserDtoList, tmpRepairDto);
                //改变repair_pool状态
                RepairPoolPo repairPoolPo = new RepairPoolPo();
                repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
                repairPoolPo.setState(RepairDto.STATE_COMPLATE);
                repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
                repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
            } else { //如果是业主报修
                if (RepairDto.STATE_APPRAISE.equals(tmpRepairDto.getState())) { //业主未评价
                    RepairUserDto repairUserDto = new RepairUserDto();
                    repairUserDto.setRepairId(tmpRepairDto.getRepairId());
                    repairUserDto.setState(RepairUserDto.STATE_EVALUATE);
                    List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
                    Assert.listOnlyOne(repairUserDtoList, "业主没有待评价的记录");
                    saveRepairUserOfOwner(repairUserDtoList, tmpRepairDto);
                } else if (RepairDto.STATE_RETURN_VISIT.equals(tmpRepairDto.getState())) { //业主已评价
                    RepairUserDto repairUserDto = new RepairUserDto();
                    repairUserDto.setRepairId(tmpRepairDto.getRepairId());
                    repairUserDto.setState(RepairUserDto.STATE_FINISH);
                    List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
                    Assert.listOnlyOne(repairUserDtoList, "业主没有已评价的记录");
                    saveRepairUser(repairUserDtoList, tmpRepairDto);
                }
                //改变repair_pool状态
                RepairPoolPo repairPoolPo = new RepairPoolPo();
                repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
                repairPoolPo.setState(RepairDto.STATE_COMPLATE);
                repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
                repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
            }
            return;
        }
    }
    /**
     * 待评价状态超过48小时泡成待回访状态
     *
     * @param tmpRepairDto
     */
    private void doFinishRepairAppraise(RepairDto tmpRepairDto) {
        //如果是待评价状态,判断是否已超过两天未评价
        if (RepairDto.STATE_APPRAISE.equals(tmpRepairDto.getState())) {
            RepairUserDto repairUserDto = new RepairUserDto();
            repairUserDto.setRepairId(tmpRepairDto.getRepairId());
            repairUserDto.setState(RepairUserDto.STATE_EVALUATE);
            List<RepairUserDto> repairUserDtoList = repairUserInnerServiceSMO.queryRepairUsers(repairUserDto);
            Assert.listOnlyOne(repairUserDtoList, "信息错误");
            //获取评价开始时间
            Date startTime = repairUserDtoList.get(0).getStartTime();
            //获取当前时间
            Date nowTime = new Date();
            //判断时间是否超过了两天
            if ((nowTime.getTime() - startTime.getTime()) > 2 * 1000 * 60 * 60 * 24) {
                //超过两天未评价,状态变为待回访状态
                RepairPoolPo repairPoolPo = new RepairPoolPo();
                repairPoolPo.setRepairId(tmpRepairDto.getRepairId());
                repairPoolPo.setState(RepairDto.STATE_RETURN_VISIT);
                repairPoolPo.setStatusCd(StatusConstant.STATUS_CD_VALID);
                repairInnerServiceSMOImpl.updateRepair(repairPoolPo);
                //r_repair_user状态变为已评价状态
                RepairUserPo repairUserPo = new RepairUserPo();
                repairUserPo.setRuId(repairUserDtoList.get(0).getRuId());
                repairUserPo.setState(RepairUserDto.STATE_FINISH);
                repairUserPo.setStaffName("定时任务处理");
                repairUserPo.setContext("已评价");
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                repairUserPo.setEndTime(format.format(nowTime));
                repairUserInnerServiceSMO.updateRepairUser(repairUserPo);
            }
        }
    }
    //定时任务跑完新增维修派单状态
    public void saveRepairUser(List<RepairUserDto> repairUserDtoList, RepairDto tmpRepairDto) {
        RepairUserPo repairUserPo = new RepairUserPo();
        repairUserPo.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        repairUserPo.setStartTime(format.format(repairUserDtoList.get(0).getEndTime()));
        repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        repairUserPo.setState(RepairUserDto.STATE_FINISH_VISIT);
        repairUserPo.setContext("已回访");
        repairUserPo.setCommunityId(tmpRepairDto.getCommunityId());
        repairUserPo.setCreateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        repairUserPo.setRepairId(tmpRepairDto.getRepairId());
        repairUserPo.setStaffId("-1");
        repairUserPo.setbId("-1");
        repairUserPo.setStaffName("定时任务处理");
        repairUserPo.setPreStaffId(repairUserDtoList.get(0).getStaffId());
        repairUserPo.setPreStaffName(repairUserDtoList.get(0).getStaffName());
        repairUserPo.setPreRuId(repairUserDtoList.get(0).getRuId());
        repairUserPo.setRepairEvent("auditUser");
        repairUserInnerServiceSMO.saveRepairUser(repairUserPo);
    }
    //业主端已评价不回访时修改并新增维修派单状态
    public void saveRepairUserOfOwner(List<RepairUserDto> repairUserDtoList, RepairDto tmpRepairDto) {
        RepairUserPo repairUserPo = new RepairUserPo();
        repairUserPo.setRuId(repairUserDtoList.get(0).getRuId());
        repairUserPo.setState(RepairUserDto.STATE_FINISH);
        repairUserPo.setStaffName("定时任务处理");
        repairUserPo.setContext("已评价");
        repairUserPo.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        //修改报修派单待评价状态,变为评价完成
        repairUserInnerServiceSMO.updateRepairUser(repairUserPo);
        RepairUserPo repairUser = new RepairUserPo();
        repairUser.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
        repairUser.setStartTime(repairUserPo.getEndTime());
        repairUser.setEndTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        repairUser.setState(RepairUserDto.STATE_FINISH_VISIT);
        repairUser.setContext("已回访");
        repairUser.setCommunityId(tmpRepairDto.getCommunityId());
        repairUser.setCreateTime(DateUtil.getNow(DateUtil.DATE_FORMATE_STRING_A));
        repairUser.setRepairId(tmpRepairDto.getRepairId());
        repairUser.setStaffId("-1");
        repairUser.setbId("-1");
        repairUser.setStaffName("定时任务处理");
        repairUser.setPreStaffId(repairUserDtoList.get(0).getStaffId());
        repairUser.setPreStaffName(repairUserDtoList.get(0).getStaffName());
        repairUser.setPreRuId(repairUserDtoList.get(0).getRuId());
        repairUser.setRepairEvent("auditUser");
        repairUserInnerServiceSMO.saveRepairUser(repairUser);
    }
}