소스 검색

工单转抢维修

xqf 3 년 전
부모
커밋
d5e886d73f

+ 10 - 5
xrtyGps/gps-boot/src/main/java/com/tofly/gpsboot/controller/BaseController.java

@@ -219,15 +219,20 @@ public class BaseController<T, V> {
      * @return null说明通过校验
      */
     public ResultRespone<Object> validRest(ResultRespone<Object> rest , BindingResult result){
-        // 数据校验
-        if (!result.hasErrors()) {
+        if(null==result){
             return null;
         }else {
-            rest.setCode(Constant.DATA_VALIDATION_CODE);
-            rest.setMessage(Constant.DATA_VALIDATION);
-            return rest;
+            // 数据校验
+            if (!result.hasErrors()) {
+                return null;
+            }else {
+                rest.setCode(Constant.DATA_VALIDATION_CODE);
+                rest.setMessage(Constant.DATA_VALIDATION);
+                return rest;
 
+            }
         }
 
+
     }
 }

+ 2 - 1
xrtyGps/gps-boot/src/main/java/com/tofly/gpsboot/controller/maintain/RepairorderController.java

@@ -76,7 +76,8 @@ public class RepairorderController extends BaseController<Repairorder, Repairord
         // 数据校验 判空返回
         if (!Optional.ofNullable(super.validRest(rest, result)).isPresent()) {
             try {
-                service.savaPlanInfo(fileList, parDto);
+                Repairorder repairorder = service.savaPlanInfo(fileList, parDto);
+                rest.setResult(repairorder.getId());
             } catch (BusinessException e) {
                 rest.setCode(e.getRetCd());
                 rest.setMessage(e.getMsgDes());

+ 1 - 1
xrtyMis/mis-api/pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <artifactId>xrtymis</artifactId>
         <groupId>com.tofly</groupId>
-        <version>1.0-SNAPSHOT</version>
+        <version>1.0.0</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 

+ 16 - 0
xrtyMis/mis-api/src/main/java/com/tofly/api/GdglinfoClient.java

@@ -0,0 +1,16 @@
+package com.tofly.api;
+
+import com.tofly.common.core.entity.ResultRespone;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+/**
+ * @author BZ-DJJ
+ */
+@FeignClient(name = "tofly-xrtymis",contextId="GdglinfoClient")
+public interface GdglinfoClient {
+
+    @GetMapping("/gdglinfo/gdGdUpdateState")
+    ResultRespone<Boolean> gdGdUpdateState(@RequestParam(value = "id") String id);
+}

+ 4 - 2
xrtyMis/mis-boot/pom.xml

@@ -3,17 +3,19 @@
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>tofly-xrty</artifactId>
         <groupId>com.tofly</groupId>
+        <artifactId>xrtymis</artifactId>
         <version>1.0.0</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>mis-boot</artifactId>
-
     <properties>
         <maven.compiler.source>8</maven.compiler.source>
         <maven.compiler.target>8</maven.compiler.target>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+        <java.version>1.8</java.version>
     </properties>
 
     <dependencies>

+ 22 - 3
xrtyMis/mis-boot/src/main/java/com/tofly/xrtymis/custom/controller/GdglinfoController.java

@@ -16,6 +16,7 @@ import com.tofly.common.log.annotation.ToFlyAppLog;
 import com.tofly.common.oauth.util.SecurityUtils;
 import com.tofly.pojo.Department;
 import com.tofly.pojo.comm.Audit;
+import com.tofly.pojo.maintain.vo.datail.RepairOrderDetailVo;
 import com.tofly.pojo.plan.Checkhistory;
 import com.tofly.xrtymis.custom.dto.*;
 import com.tofly.xrtymis.custom.em.AuditEnum;
@@ -113,7 +114,11 @@ public class GdglinfoController {
                 // 未新增审批链的数据,也满足条件
                 Set<Long> collect1 = gdglinfoService.list(new QueryWrapper<Gdglinfo>().lambda().eq(Gdglinfo::getJgczry, userId).eq(Gdglinfo::getLcjd, RejectedNodeEnum.JGSH.getCode())).stream().map(Gdglinfo::getId).collect(Collectors.toSet());
                 collect.addAll(collect1);
-                return ResultRespone.success(gdglinfoService.page(page, Wrappers.query(gdglinfo).lambda().in(Gdglinfo::getId,collect).ge(Gdglinfo::getDjsj,stTime).le(Gdglinfo::getDjsj,enTime).orderByAsc(Gdglinfo::getId)));
+                if(collect.size()>0){
+                    return ResultRespone.success(gdglinfoService.page(page, Wrappers.query(gdglinfo).lambda().in(Gdglinfo::getId,collect).ge(Gdglinfo::getDjsj,stTime).le(Gdglinfo::getDjsj,enTime).orderByAsc(Gdglinfo::getId)));
+                }else {
+                    return ResultRespone.success();
+                }
 
             }
         }catch (Exception e){
@@ -341,8 +346,22 @@ public class GdglinfoController {
 
     @ApiOperation(value = "转入维修工单归档")
     @GetMapping("/gdGdUpdateState")
-    public ResultRespone<Boolean> gdGdUpdateState(@RequestParam(value = "wxgdbh") String wxgdbh){
-        return ResultRespone.success(gdglinfoService.updateGdLcjdState(wxgdbh));
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "抢维修工单id", required = true, dataType = "String")
+    })
+    public ResultRespone<Boolean> gdGdUpdateState(@RequestParam(value = "id") String id){
+        return ResultRespone.success(gdglinfoService.updateGdLcjdState(id));
+    }
+
+
+    @ApiOperation(value = "查询抢维修信息")
+    @GetMapping("/gdGdQWXInfo")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "gdbh", value = "业务工地编号", required = true, dataType = "String"),
+            @ApiImplicitParam(name = "flag", value = "是否展示部门下所有数据 是则填1 个人不填为空", required = false, dataType = "String")
+    })
+    public ResultRespone<RepairOrderDetailVo> gdGdQWXInfo(@RequestParam(value = "gdbh") String gdbh, @RequestParam(value = "flag",required = false)String flag){
+        return ResultRespone.success(gdglinfoService.gdGdQWXInfo(gdbh,flag));
     }
 
 

+ 3 - 0
xrtyMis/mis-boot/src/main/java/com/tofly/xrtymis/custom/service/GdglinfoService.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.tofly.common.core.entity.ResultRespone;
 import com.tofly.pojo.comm.Audit;
+import com.tofly.pojo.maintain.vo.datail.RepairOrderDetailVo;
 import com.tofly.pojo.plan.Checkhistory;
 import com.tofly.xrtymis.custom.dto.DateTimeDTO;
 import com.tofly.xrtymis.custom.dto.GdglinfoDTO;
@@ -188,4 +189,6 @@ public interface GdglinfoService extends IService<Gdglinfo> {
     List<Checkhistory> getAuditHisInfo(Long planId);
 
     Boolean updateGdLcjdState(String wxgdbh);
+
+    RepairOrderDetailVo gdGdQWXInfo(String gdbh,String flag);
 }

+ 56 - 8
xrtyMis/mis-boot/src/main/java/com/tofly/xrtymis/custom/service/impl/GdglinfoServiceImpl.java

@@ -32,6 +32,7 @@ import com.tofly.pojo.User;
 import com.tofly.pojo.comm.Audit;
 import com.tofly.pojo.maintain.dto.RepairorderDto;
 import com.tofly.pojo.maintain.dto.RepairuserChildDto;
+import com.tofly.pojo.maintain.vo.datail.RepairOrderDetailVo;
 import com.tofly.pojo.message.Messagepush;
 import com.tofly.pojo.message.Messagerecipient;
 import com.tofly.pojo.message.Usertask;
@@ -68,6 +69,7 @@ import com.tofly.xrtymis.mapper.GdglinfoMapper;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import org.springframework.util.StringUtils;
+import org.springframework.validation.BindingResult;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.text.SimpleDateFormat;
@@ -132,6 +134,10 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
     private OrderClient orderClient;
 
 
+    @Autowired
+    private GdglCirculationService gdglCirculationService;
+
+
     /**
      * 创建工单
      * @param extend
@@ -226,7 +232,19 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
                     gdglinfo.setHangUp("1");
                     gdglinfo.setLcjd(Long.valueOf(GdglinfoEM.GDDJ.getType()));
                     //转入抢维修,调用抢维修接口
-                    getQWX(extend);
+                    String number = getQWX(extend);
+                    if(!StringUtils.isEmpty(number)) {
+                        GdglCirculation gdglCirculation = GdglCirculation.builder()
+                                .gdbh(gdglinfo.getGdbh())
+                                .otherBh(number)
+                                .createTime(new Date())
+                                .type(gdflowconfig.getTransferOutType())
+                                .build();
+                        gdglCirculationService.save(gdglCirculation);
+                    }else {
+                        return ResultRespone.failed(false,"维修工单创建异常,工单保存失败!");
+                    }
+
                 }else {
                     gdglinfo.setLcjd(Long.valueOf(GdglinfoEM.GDGD.getType()));
                     gdglinfo.setProcessDeposit("1,7");
@@ -341,7 +359,7 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
     }
 
 
-    private Long getQWX(GdglinfoExtendDto extend){
+    private String getQWX(GdglinfoExtendDto extend){
         RepairorderDto repairorderDto = new RepairorderDto();
         BeanUtils.copyProperties(extend,repairorderDto);
         repairorderDto.setNum(1l);
@@ -356,10 +374,9 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
         rc.setPhone(extend.getLdhm());
         repairorderDto.setRepairUserChildDtoList(Arrays.asList(rc));
 
-        Object obj = orderClient.saveRepairorder(repairorderDto,null,null).getResult();
-        log.info("=============>"+obj);
-
-        return null;
+        ResultRespone r = orderClient.saveRepairorder(repairorderDto,null,null);
+        Object obj = r.getResult();
+        return String.valueOf(obj);
     }
 
     /**
@@ -1704,11 +1721,39 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
         return (List<Checkhistory>) auditClient.getAuditHisInfo(checkhistory).getResult();
     }
 
+    /**
+     * 抢维修工单归档
+     * @param wxgdbh
+     * @return
+     */
     @Override
     public Boolean updateGdLcjdState(String wxgdbh) {
-        //TODO 修改挂起工单
+        GdglCirculation gdglCirculation = gdglCirculationService.getOne(new QueryWrapper<GdglCirculation>().lambda().eq(GdglCirculation::getOtherBh,wxgdbh));
+        if(gdglCirculation==null){
+            return false;
+        }
+        return this.update(new UpdateWrapper<Gdglinfo>().lambda()
+                .set(Gdglinfo::getLcjd,Long.valueOf(GdglinfoEM.GDGD.getType()))
+                .set(Gdglinfo::getHangUp,"0").eq(Gdglinfo::getGdbh,gdglCirculation.getGdbh()));
 
-        return null;
+    }
+
+    /**
+     * 调用接口查询第三方抢维修信息
+     * @param gdbh
+     * @return
+     */
+    @Override
+    public RepairOrderDetailVo gdGdQWXInfo(String gdbh,String flag) {
+        GdglCirculation gdglCirculation = gdglCirculationService.getOne(new QueryWrapper<GdglCirculation>().lambda().eq(GdglCirculation::getGdbh,gdbh));
+        if(gdglCirculation==null){
+            return null;
+        }
+        ResultRespone<RepairOrderDetailVo> rr = orderClient.getPlanRepairOrderDetail(Long.valueOf(gdglCirculation.getOtherBh()),flag);
+        if(rr==null){
+            return null;
+        }
+        return rr.getResult();
     }
 
     /**
@@ -1737,6 +1782,7 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
     private Audit getNextAudit(List<Audit> list, Integer auditLevel) {
         AtomicReference<Audit> audit = new AtomicReference<>();
         AtomicBoolean flag = new AtomicBoolean(true);
+        list.sort(Comparator.comparing(Audit::getAuditLevel));
         list.forEach(info -> {
             if (flag.get()) {
                 if (auditLevel < info.getAuditLevel()) {
@@ -1757,6 +1803,8 @@ public class GdglinfoServiceImpl extends ServiceImpl<GdglinfoMapper, Gdglinfo> i
     private Audit getSuperiorAudit(List<Audit> list, Integer auditLevel) {
         AtomicReference<Audit> audit = new AtomicReference<>();
         AtomicBoolean flag = new AtomicBoolean(true);
+        // level排序
+        list.sort(Comparator.comparing(Audit::getAuditLevel));
         list.forEach(info -> {
             if (flag.get()) {
                 if (auditLevel > info.getAuditLevel()) {

+ 3 - 1
xrtyMis/mis-boot/src/main/java/com/tofly/xrtymis/entity/GdglCirculation.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import lombok.Builder;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -17,6 +18,7 @@ import java.util.Date;
  *  @author xqf
  */
 @Data
+@Builder
 @EqualsAndHashCode(callSuper = true)
 @TableName(value = "TF_YWPN_GDCIRCULATION_W", resultMap = "gdglCirculationMapper")
 @KeySequence("TF_YWPN_GDCIRCULATION_W")
@@ -35,7 +37,7 @@ public class GdglCirculation extends Model<GdglCirculation> {
     private String gdbh;
 
     @ApiModelProperty(value = "转入类型")
-    private String type;
+    private Long type;
 
     @ApiModelProperty(value = "转入工单编号")
     private String otherBh;

+ 1 - 1
xrtyMis/mis-boot/src/main/resources/mapper/GdglCirculationMapper.xml

@@ -3,7 +3,7 @@
 
 <mapper namespace="com.tofly.xrtymis.mapper.GdglCirculationMapper">
 
-    <resultMap id="fileMap" type="com.tofly.xrtymis.entity.GdglCirculation">
+    <resultMap id="gdglCirculationMapper" type="com.tofly.xrtymis.entity.GdglCirculation">
         <id property="id" column="ID"/>
         <result property="gdbh" column="GDBH"/>
         <result property="type" column="TYPE"/>

+ 10 - 7
xrtyMis/pom.xml

@@ -1,21 +1,24 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <modules>
-        <module>mis-api</module>
-        <module>mis-boot</module>
-    </modules>
+
     <parent>
         <groupId>com.tofly</groupId>
         <artifactId>tofly-xrty</artifactId>
         <version>1.0.0</version>
     </parent>
 
+    <modelVersion>4.0.0</modelVersion>
+    <modules>
+        <module>mis-api</module>
+        <module>mis-boot</module>
+    </modules>
+
     <groupId>com.tofly</groupId>
     <artifactId>xrtymis</artifactId>
-    <version>1.0-SNAPSHOT</version>
+    <version>1.0.0</version>
     <packaging>pom</packaging>
+    <name>xrtymis</name>
 
     <dependencies>
 
@@ -23,7 +26,7 @@
         <groupId>com.baomidou</groupId>
         <artifactId>mybatis-plus-boot-starter</artifactId>
         <version>3.3.2</version>
-    </dependency>
+        </dependency>
 
     </dependencies>