jiangping
2024-12-16 f6f097390b999e261f4369313ee6c6afa1b8c276
最新版本541200007
已添加3个文件
已修改15个文件
347 ■■■■ 文件已修改
server/system_gateway/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsCloudController.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/TMSContants.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderListPagerRequest.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderListParamRequest.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderListRequest.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsBasePageResponse.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsCircleStatusListResponse.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsCircleStatusResultListResponse.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOrderInfoResponse.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOrderListResponse.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java 85 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java 51 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: pro
    active: dev
  application:
    name: system_gateway
  # å®‰å…¨é…ç½®
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/TmsCloudController.java
@@ -6,10 +6,7 @@
import com.doumee.core.tms.model.request.TmsLockStatusQueryRequest;
import com.doumee.core.tms.model.request.TmsOrderInfoRequest;
import com.doumee.core.tms.model.request.TmsOrderListRequest;
import com.doumee.core.tms.model.response.TmsBaseResponse;
import com.doumee.core.tms.model.response.TmsLockStatusQueryResponse;
import com.doumee.core.tms.model.response.TmsOrderInfoResponse;
import com.doumee.core.tms.model.response.TmsOrderListResponse;
import com.doumee.core.tms.model.response.*;
import com.doumee.core.utils.Constants;
import com.doumee.core.wms.model.response.WmsBaseResponse;
import com.doumee.service.business.third.TmsService;
@@ -51,7 +48,7 @@
    @ApiOperation("【TMS】合同列表接口")
    @LoginNoRequired
    @PostMapping("/orderList")
    public ApiResponse<List<TmsOrderListResponse>> orderList(@RequestBody TmsOrderListRequest request )   {
    public ApiResponse<TmsBasePageResponse<TmsOrderListResponse>> orderList(@RequestBody TmsOrderListRequest request )   {
        return  ApiResponse.success(tmsService.orderList(request));
    }
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java
@@ -2,6 +2,7 @@
import com.doumee.api.BaseController;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.core.haikang.model.cars.response.CarsAlarmResultListResponse;
import com.doumee.core.model.ApiResponse;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.join.PlatformJobJoinMapper;
@@ -71,6 +72,13 @@
        BoardCarsListVO data = boardService.platformJobCarsList();
        return ApiResponse.success(data);
    }
    @LoginNoRequired
    @ApiOperation("汽车告警事件集合数据")
    @GetMapping("/carsEventList")
    public ApiResponse<List<CarsAlarmResultListResponse>> carsEventList() {
        List<CarsAlarmResultListResponse> data = boardService.carsEventList();
        return ApiResponse.success(data);
    }
    @LoginNoRequired
    @ApiOperation("根据车牌号查询作业信息和合同信息集合")
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java
@@ -34,6 +34,8 @@
    private static final String DEFAULT_CHARSET  = "UTF-8";
    private static final String REGION_ID = "cn-hangzhou";
    private static final String VERSION = "2.1.0";
    public static  List<CarsDeviceDetaisResponse> HK_CARS_LIST=  null;
    public static   String BASE_URL = "https://open.hikvisionauto.com:14021/v2/";
    private static TreeMap<String, String> getBaseParams()   {
        Map<String, String> params = Maps.newHashMap();
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/TMSContants.java
@@ -14,11 +14,11 @@
        String[] getRealTimeInventory = new String[]{"/tms/zhyt/getRealTimeInventory",  "【TMS】实时库存查询"};//TMS实时库存查询接口地址
        String[] getInboundOutbound = new String[]{"/tms/zhyt/getInboundOutbound",  "【TMS】出入库记录查询"};//TMS出入库记录查询接口地址
        String[] getIntransitDetails = new String[]{"/tms/zhyt/getIntransitDetails",  "【TMS】在途明细列表"};//TMS在途明细列表接口地址
        String[] getOrderList = new String[]{"/tms/zhyt/getIntransitDetails",  "【TMS】合同列表查询"};//TMS合同列表查询接口地址
        String[] getOrderList = new String[]{"/tms/zhyt/getOrderList",  "【TMS】合同列表查询"};//TMS合同列表查询接口地址
        String[] getElecByContractNumberList = new String[]{"/tms/zhyt/getElecByContractNumberList",  "【TMS】合同上锁状态"};//TMS合同上锁状态接口地址
        String[] getOrderDetailByContractNumber = new String[]{"/tms/zhyt/getOrderDetailByContractNumber",  "【TMS】合同详情"};//TMS合同详情接口地址
        String[] getGis = new String[]{"/tms/zhyt/getGis",  "【TMS】根据运输单号查询gis轨"};//TMS根据运输单号查询gis轨接口地址
        String[] getOrderStatusByContractNumber = new String[]{";//",  "【TMS】单生命周期"};//3.8订单生命周期
        String[] getOrderStatusByContractNumber = new String[]{"/tms/zhyt/getOrderStatusByContractNumber",  "【TMS】单生命周期"};//3.8订单生命周期
    }
    public  enum TopStatusLevel {
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderListPagerRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,20 @@
package com.doumee.core.tms.model.request;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2023/11/23 14:03
 */
@Data
@ApiModel("tms合同列表页码请求参数")
public class TmsOrderListPagerRequest {
    private Integer   page    ;//是    æ•°å­—    å½“前页
    private Integer    rows    ;//是    æ•°å­—    æ¯é¡µæ•°æ®é‡CreateDateTimeEnd;//截止时间
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderListParamRequest.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,27 @@
package com.doumee.core.tms.model.request;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2023/11/23 14:03
 */
@Data
@ApiModel("tms合同列表请求参数")
public class TmsOrderListParamRequest {
    private List<String> permissionDomainIdList; //是    é›†åˆ    åŒºåŸŸID集合
    private List<String> contractNumbers; //    å¦    é›†åˆ    åˆåŒå·é›†åˆ
    private  String contractNumber; //    å¦     åˆåŒå·é›†åˆ
    private String deliveryEnterprise    ;//否    å­—符串    å‘货地
    private String   receiveEnterprise    ;//    å¦    å­—符串    åˆ°è´§åœ°
    private String  provinceName    ;//    å¦    å­—符串    åˆ°è´§åœ°çœä»½
    private String ncCreateDateTimeEnd;//截止时间
    private String ncCreateDateTimeStart;//    å¼€å§‹æ—¶é—´
    private String    phoneNumber    ;//否    å­—符串    æ‰‹æœºå·
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/request/TmsOrderListRequest.java
@@ -10,17 +10,11 @@
 * @date 2023/11/23 14:03
 */
@Data
@ApiModel("tms合同列表请求参数")
@ApiModel("tms合同列表分页请求参数")
public class  TmsOrderListRequest {
    private List<String> permissionDomainIdList; //是    é›†åˆ    åŒºåŸŸID集合
    private List<String> contractNumbers; //    å¦    é›†åˆ    åˆåŒå·é›†åˆ
    private String fromRepertoty    ;//否    å­—符串    å‘货地
    private String   toRepertoty    ;//    å¦    å­—符串    åˆ°è´§åœ°
    private String  provinceName    ;//    å¦    å­—符串    åˆ°è´§åœ°çœä»½
    private String ncCreateDateTimeEnd;//截止时间
    private String ncCreateDateTimeStart;//    å¼€å§‹æ—¶é—´
    private String    phoneNumber    ;//否    å­—符串    æ‰‹æœºå·
    private TmsOrderListParamRequest parameters; //是    é›†åˆ    åŒºåŸŸID集合
    private TmsOrderListPagerRequest pager; //    å¦    é›†åˆ    åˆåŒå·é›†åˆ
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsBasePageResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
package com.doumee.core.tms.model.response;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import java.util.List;
@Data
public class TmsBasePageResponse<T> {
  private int totalCount;//    number    False    æ€»è®°å½•条数
  private int totalPage;//    æ€»é¡µæ•°    Integer
  private int  currentPage    ;//当前页    Integer
  private int  pageSize;//    æŸ¥è¯¢æ•°æ®è®°å½•总数    Long
  @JSONField(name="rows",alternateNames = {"results","list"})
  private List<T> rows    ;// object[]    False    æƒé™ç»„对象列表
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsCircleStatusListResponse.java
@@ -1,6 +1,7 @@
package com.doumee.core.tms.model.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@@ -8,17 +9,27 @@
 * @date 2023/11/23 14:03
 */
@Data
@ApiModel("tms根据合同号查询订单生命周期返回参数")
@ApiModel("tms根据合同号查询订单生命周期状态明细返回参数")
public class TmsCircleStatusListResponse {
   /**
    */
   @ApiModelProperty(value = "订单状态描述" )
   private String orderStatusDes    ;//字符串    è®¢å•状态描述
   @ApiModelProperty(value = "状态记录时间" )
   private String recordDate    ;//字符串    çŠ¶æ€è®°å½•æ—¶é—´
   @ApiModelProperty(value = "订单状态码" )
   private Integer  orderStatus;//    å­—符串    è®¢å•状态码
   @ApiModelProperty(value = "订单状态记录类型" )
   private Integer type;//    å­—符串    è®¢å•状态记录类型
   @ApiModelProperty(value = "撤销原因" )
   private String  canCelReason;//    å­—符串    æ’¤é”€åŽŸå› 
   @ApiModelProperty(value = "号码" )
   private String  tel    ;//字符串    å·ç 
   @ApiModelProperty(value = "订单状态唯一标识" )
   private Integer  statusKey;//    å­—符串    è®¢å•状态码
   private long timeStamp;//
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsCircleStatusResultListResponse.java
@@ -1,6 +1,7 @@
package com.doumee.core.tms.model.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@@ -14,9 +15,11 @@
public class TmsCircleStatusResultListResponse {
   /**
    */
   private Integer  key    ;//字符串    çŠ¶æ€è®°å½•æ—¶é—´
   private String   name    ;//字符串    è®¢å•状态码
   @ApiModelProperty(value = "索引值" )
   private int  key    ;//字符串    çŠ¶æ€è®°å½•æ—¶é—´
   @ApiModelProperty(value = "阶段名称" )
   private String   name    ;//字符串
   @ApiModelProperty(value = "二級数据集合" )
   private List<TmsCircleStatusListResponse> secondList    ;//二級数据集合
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOrderInfoResponse.java
@@ -1,6 +1,7 @@
package com.doumee.core.tms.model.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@@ -13,22 +14,42 @@
@ApiModel("tms合同详情返回参数")
public class TmsOrderInfoResponse {
    @ApiModelProperty(value = "合同号" )
    private String   contractNumber    ; //合同号
    @ApiModelProperty(value = "发货地" )
    private String   deliveryEnterprise    ; //发货地
    @ApiModelProperty(value = "到货地" )
    private String    receiveEnterprise    ; //到货地
    private String    plateNumber; //    è½¦ç‰Œå·    åˆåŒæœªé…è½½åˆ™æ— 
//    @ApiModelProperty(value = "车牌号" )
//    private String    plateNumber; //    è½¦ç‰Œå·    åˆåŒæœªé…è½½åˆ™æ— 
    @ApiModelProperty(value = "当前运输单状态" )
    private String   orderStatus    ; //当前运输单状态
    @ApiModelProperty(value = "制单时间" )
    private String   ncCreateDate; //    åˆ¶å•æ—¶é—´
    @ApiModelProperty(value = "运输如期" )
    private String   transportDate; //
    @ApiModelProperty(value = "运输单号" )
    private String   transportCode; //
    @ApiModelProperty(value = "司机姓名" )
    private String   driverName; //
    @ApiModelProperty(value = "司机电话" )
    private String   driverTel; //
    @ApiModelProperty(value = "状态描述" )
    private String   orderStatusDesc; //
    @ApiModelProperty(value = "车牌号" )
    private String    plateName; //": "皖CC2585",
    @ApiModelProperty(value = "发货仓库经度" )
    private String    deliveryLon    ; //    å‘货仓库经度
    @ApiModelProperty(value = "发货仓库纬度" )
    private String    deliveryLat    ; //    å‘货仓库纬度
    @ApiModelProperty(value = "卸货仓库经度" )
    private String    receiveLon    ; //    å¸è´§ä»“库经度
    @ApiModelProperty(value = "卸货仓库纬度" )
    private String   receiveLat; //        å¸è´§ä»“库纬度
    @ApiModelProperty(value = "计划到达时间" )
    private String   plannedArrivedDate; //        è®¡åˆ’到达时间
    @ApiModelProperty(value = "gis轨迹经纬度集合" )
     private List<TmsGisListResponse> gisList;
    @ApiModelProperty(value = "生命周期集合" )
    private List<TmsCircleStatusResultListResponse> cicleStatusList;
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/tms/model/response/TmsOrderListResponse.java
@@ -1,6 +1,7 @@
package com.doumee.core.tms.model.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@@ -27,18 +28,36 @@
         "message": "操作成功"
     }
     */
    @ApiModelProperty(value = "合同号" )
    private String    contractNumber; //    åˆåŒå·
    @ApiModelProperty(value = "发货地" )
    private String    fromRepertoty; //    å‘货地
    @ApiModelProperty(value = "到货地" )
    private String   toRepertoty    ; //到货地
    private String   plateNumber; //    è½¦ç‰Œå·    åˆåŒæœªé…è½½åˆ™æ— 
    @ApiModelProperty(value = "车牌号" )
    private String   plateName; //    è½¦ç‰Œå·    åˆåŒæœªé…è½½åˆ™æ— 
    @ApiModelProperty(value = "当前运输单状态" )
    private String    orderStatus; //    å½“前运输单状态
    @ApiModelProperty(value = "制单时间" )
    private String  ncCreateDate; //    åˆ¶å•æ—¶é—´
    @ApiModelProperty(value = "发货地" )
    private String   deliveryEnterprise; //    å‘货地    å‘货仓库名称
    @ApiModelProperty(value = "到货地" )
    private String   receiveEnterprise; //        åˆ°è´§åœ°    å¸è´§ä»“库名称
    private String    deliveryLon    ; //    å‘货仓库经度
    private String    deliveryLat    ; //    å‘货仓库纬度
    private String    receiveLon    ; //    å¸è´§ä»“库经度
    private String   receiveLat; //        å¸è´§ä»“库纬度
    @ApiModelProperty(value = "运输单号" )
    private String    transportCode; //        è¿è¾“单号    å¯èƒ½ä¸ºç©ºï¼ˆæ— è¿è¾“单的情况)
    @ApiModelProperty(value = "状态描述" )
    private String    orderStatusDesc; //        çŠ¶æ€æè¿°
    @ApiModelProperty(value = "发货地纬度" )
    private String    deliveryLon; //        çŠ¶æ€æè¿°
    @ApiModelProperty(value = "发货地经度" )
    private String    deliveryLat; //        çŠ¶æ€æè¿°
    @ApiModelProperty(value = "收货地纬度" )
    private String    receiveLon; //        çŠ¶æ€æè¿°
    @ApiModelProperty(value = "收货地经度" )
    private String    receiveLat; //        çŠ¶æ€æè¿°
    @ApiModelProperty(value = "计划到达时间" )
    private String    plannedArrivedDate; //        çŠ¶æ€æè¿°
    private long timeStamp;//时间戳
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/hksync/HkSyncNoticeServiceImpl.java
@@ -58,6 +58,19 @@
        }
        Constants.DEALING_HK_NOTICE_LIST =true;
        try {
            List<String> users = new ArrayList<>();
            users.add(username);
            List<Integer> userIds = new ArrayList<>();
            List<Member > userList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                    .in(Member::getPhone,users)
                    .eq(Member::getType,Constants.TWO)
                    .eq(Member::getIsdeleted,Constants.ZERO));
            Member tu= getFromUserList(username,userList);
            if(tu!=null){
                userIds.add(tu.getId());
            }else{
                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(), "对不起,无效账号~");
            }
            Date date = new Date();
            List<GetTodoListResponse> allHkList = new ArrayList<>();
            boolean hasNext = true;
@@ -88,16 +101,10 @@
                }
                curPage++;
            }
             if(allHkList!=null && allHkList.size()>0){
                List<Notices> list = new ArrayList<>();
                List<String> users = new ArrayList<>();
                for(GetTodoListResponse data :allHkList){
                    users.add(data.getUserId());
                }
                List<Integer> userIds = new ArrayList<>();
                List<Member > userList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
                        .in(Member::getPhone,users)
                        .eq(Member::getIsdeleted,Constants.ZERO));
                for(GetTodoListResponse data :allHkList){
                   Member u = getFromUserList(data.getUserId(),userList);
                   if(u==null){
@@ -133,13 +140,16 @@
                    list.add(notices);
                }
                if(list.size()>0){
                    noticesJoinMapper.insert(list);//批量插入记录
                }
            }
             if(userIds.size()>0){
                    //清空海康全部的代办数据
                    noticesJoinMapper.delete(new UpdateWrapper<Notices>().lambda()
                            .eq(Notices::getType, Constants.noticesObjectType.hknotice)
                            .in(Notices::getUserId, userIds));
                    noticesJoinMapper.insert(list);//批量插入记录
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -182,7 +182,7 @@
            toatalNum =1;
        }
        data.setTotalNum(new BigDecimal(toatalNum));
        data.setUseRate(data.getTotalNum().divide(data.getNum(),2,BigDecimal.ROUND_UP));
        data.setUseRate(Constants.formatBigdecimal(data.getNum()).divide(data.getTotalNum(),2,BigDecimal.ROUND_UP));
        return data;
    }
@@ -670,6 +670,7 @@
        List<PlatformJob>  dataList = platformJobMapper.selectJoinList(PlatformJob.class,
                new MPJLambdaWrapper<PlatformJob>()
                        .selectAs(PlatformJob::getId,PlatformJob::getId)
                        .selectAs(PlatformJob::getCreateDate,PlatformJob::getCreateDate)
                        .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
//                        .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
@@ -680,7 +681,7 @@
            TransportMeasureVO data = new TransportMeasureVO();
            data.setPlanDate(date);
            data.setPlanTimes(0);
            data.setPlanTaskNum(new BigDecimal(random.nextInt(0)));
            data.setPlanTaskNum(new BigDecimal( 0));
            data.setFinishTaskNum(new BigDecimal(0));
            for(PlatformJob job :dataList){
                if(queryType == 2){
@@ -849,42 +850,48 @@
        List<PlatformJob>  monthNum = platformJobMapper.selectJoinList(PlatformJob.class,
                new MPJLambdaWrapper<PlatformJob>()
                .selectAs(PlatformJob::getId,PlatformJob::getId)
                            .select(PlatformJob::getType,PlatformJob::getType)
                .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
//                .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
                        .select(PlatformJob::getStatus,PlatformJob::getStatus)
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
//                        .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
                        .apply("year(create_date) = year("+DateUtil.getPlusTime2(month)+") and month(create_date) = month("+DateUtil.getPlusTime2(month)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(month)));
                        .apply("year(done_date) = year('"+DateUtil.getPlusTime2(month)+"') and month(done_date) = month('"+DateUtil.getPlusTime2(month)+"') "));
        List<PlatformJob>  monthLastNum = platformJobMapper.selectJoinList(PlatformJob.class,
                new MPJLambdaWrapper<PlatformJob>()
                        .selectAs(PlatformJob::getId,PlatformJob::getId)
                        .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
                        .select(PlatformJob::getType,PlatformJob::getType)
                        .select(PlatformJob::getStatus,PlatformJob::getStatus)
//                        .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
                        .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastMonth)+") and month(create_date) = month("+DateUtil.getPlusTime2(lastMonth)+") and to_days(create_date)<= "+DateUtil.getPlusTime2(lastMonth)));
                        .apply("year(done_date) = year('"+DateUtil.getPlusTime2(lastMonth)+"') and month(done_date) = month('"+DateUtil.getPlusTime2(lastMonth)+"') and  done_date<= '"
                                +DateUtil.getPlusTime2(lastMonth)+"'"));
        List<PlatformJob>  yearNum = platformJobMapper.selectJoinList(PlatformJob.class,
                new MPJLambdaWrapper<PlatformJob>()
                        .selectAs(PlatformJob::getId,PlatformJob::getId)
                        .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
                        .selectCount(PlatformJob::getPlatformId,PlatformJob::getCountum)
//                        .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
                        .selectAs(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
                        .select(PlatformJob::getStatus,PlatformJob::getStatus)
                        .select(PlatformJob::getType,PlatformJob::getType)
//                        .selectCount(PlatformJob::getPlatformId,PlatformJob::getCountum)
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
                        .apply("year(create_date) = year("+DateUtil.getPlusTime2(year)+")   and to_days(create_date)<= "+DateUtil.getPlusTime2(year)));
                        .apply("year(done_date) = year('"+DateUtil.getPlusTime2(year)+"')   and done_date<= '"+DateUtil.getPlusTime2(year)+"'"));
        List<PlatformJob> yearLastNum = platformJobMapper.selectJoinList(PlatformJob.class,
                new MPJLambdaWrapper<PlatformJob>()
                        .selectAs(PlatformJob::getId,PlatformJob::getId)
                        .selectAs(PlatformJob::getType,PlatformJob::getId)
                        .select(PlatformJob::getStatus,PlatformJob::getStatus)
                        .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
//                        .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .in(PlatformJob::getType,Constants.ONE,Constants.THREE)
                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey())
                        .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastYear)+")  and to_days(create_date)<= "+DateUtil.getPlusTime2(lastYear)));
                        .apply("year(done_date) = year('"+DateUtil.getPlusTime2(lastYear)+"')  and done_date<= '"+DateUtil.getPlusTime2(lastYear)+"'"));
        data.setMonthOutTotal(getSumTotalByList(monthNum,0,null));//本月出库量
        data.setMonthLastOutTotal(getSumTotalByList(monthLastNum,null,null) );//上有出库量
        data.setMonthLastOutTotal(getSumTotalByList(monthLastNum,null,null) );//上月出库量
        data.setYearOutTotal(getSumTotalByList(yearNum,null,null)  );//本年出库量
        data.setYearLastOutTotal(getSumTotalByList(yearLastNum,null,null) );//去年出库量
        data.setMonthOutTimes(monthNum!=null?monthNum.size():0);
@@ -900,19 +907,30 @@
//                        .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),Constants.PlatformJobStatus.CALLED.getKey())
                        .apply(" and to_days(create_date) <to_days(now())"));
                        .apply("   to_days(create_date) <to_days(now())"));
        //==========今天出入库任务
        List<PlatformJob> currentNum = platformJobMapper.selectJoinList(PlatformJob.class,
        //==========今天出入库完成量
        List<PlatformJob> currentDoneNum = platformJobMapper.selectJoinList(PlatformJob.class,
                new MPJLambdaWrapper<PlatformJob>()
                        .selectAs(PlatformJob::getId,PlatformJob::getId)
                        .selectAs(PlatformJob::getStatus,PlatformJob::getStatus)
                        .selectAs(PlatformJob::getType,PlatformJob::getType)
                        .selectAs(PlatformJob::getStatus,PlatformJob::getStatus)
                        .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
//                        .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey())
                        .apply("year(create_date) = year("+DateUtil.getPlusTime2(lastYear)+")  and to_days(create_date)<= "+DateUtil.getPlusTime2(lastYear)));
                        .apply(" to_days(done_date) = to_days(now())"));
        //==========今天下发出入库任务----
        List<PlatformJob> currentNum = platformJobMapper.selectJoinList(PlatformJob.class,
                new MPJLambdaWrapper<PlatformJob>()
                        .selectAs(PlatformJob::getId,PlatformJob::getId)
                        .selectAs(PlatformJob::getType,PlatformJob::getType)
                        .selectAs(PlatformJob::getStatus,PlatformJob::getStatus)
                        .select(PlatformJob::getTotalNum,PlatformJob::getTotalNum)
//                        .select("select sum(io_qty) from platform_wms_details a where a.isdeleted=0 and a.job_id=t.id",create_date)
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .notIn(PlatformJob::getStatus,Constants.PlatformJobStatus.CALLED.getKey())
                        .apply(" to_days(create_date) = to_days(now())"));
        BigDecimal beforeOutNum = (getSumTotalByList(beforeJobNum,0,null));//今天之前未完成出库任务
        BigDecimal currentOutNum = (getSumTotalByList(currentNum,0,null));//今天下发出库任务
@@ -920,8 +938,8 @@
        BigDecimal currentInNum = (getSumTotalByList(currentNum,1,null));//今天下发入库任务
        data.setCurrentInNum(beforeInNum.add(currentInNum));//当前入库总任务成量
        data.setCurrentOutNum(beforeOutNum.add(currentOutNum));//当前出库总任务成量
        data.setCurrentInDoneNum(getSumTotalByList(currentNum,0,1));//今日完成量
        data.setCurrentOutDoneNum(getSumTotalByList(currentNum,1,1));//今日完成量
        data.setCurrentInDoneNum(getSumTotalByList(currentDoneNum,0,1));//今日完成量
        data.setCurrentOutDoneNum(getSumTotalByList(currentDoneNum,1,1));//今日完成量
        //------------今日出入库效率----------------
        BigDecimal outHours = getTotalDoneTimes(currentNum,0);//
@@ -933,15 +951,15 @@
            data.setTodayInRate(data.getCurrentInDoneNum().divide(inHours,2));//当前入库总任务成量
        }
        //------------本月出入库效率----------------
        BigDecimal outMonthNum = getSumTotalByList(monthNum,0,null).add(data.getCurrentOutDoneNum());
//        BigDecimal outMonthNum = getSumTotalByList(monthNum,0,null).add(data.getCurrentOutDoneNum());
        BigDecimal inMonthNum = getSumTotalByList(monthNum,1,null).add(data.getCurrentInDoneNum());
        BigDecimal outYearHours = getTotalDoneTimes(yearNum,0).add(outHours);//
        BigDecimal inYearHours = getTotalDoneTimes(yearNum,1).add(inHours);//
        if(outYearHours.compareTo(new BigDecimal(0))>0){
            data.setMonthOutRate(outMonthNum.divide(outYearHours,2));//本月入库效率
        BigDecimal outMonthHours = getTotalDoneTimes(monthNum,0).add(outHours);//
        BigDecimal inMonthHours = getTotalDoneTimes(monthNum,1).add(inHours);//
        if(outMonthHours.compareTo(new BigDecimal(0))>0){
            data.setMonthOutRate(data.getMonthOutTotal().divide(outMonthHours,0,BigDecimal.ROUND_HALF_UP));//本月入库效率
        }
        if(inYearHours.compareTo(new BigDecimal(0))>0){
            data.setMonthInRate(inMonthNum.divide(inYearHours,2));//本月入库效率
        if(inMonthHours.compareTo(new BigDecimal(0))>0){
            data.setMonthInRate(inMonthNum.divide(inMonthHours,0,BigDecimal.ROUND_HALF_UP));//本月入库效率
        }
        return data;
    }
@@ -1015,12 +1033,20 @@
//            if(Constants.formatBigdecimal(job.getIoQty()).compareTo(new BigDecimal(0)) >0){
//                r.add( job.getIoQty());
//            }else{
                r.add(Constants.formatBigdecimal(job.getTotalNum()));
            r =  r.add(Constants.formatBigdecimal(job.getTotalNum()));
//            }
        }
        return Constants.formatBigdecimal0Float(r);
    }
    @Override
    public     List<CarsAlarmResultListResponse> carsEventList(){
        if(HKCarOpenService.HK_CARS_LIST == null){
            HKCarOpenService.HK_CARS_LIST =   HKCarOpenService.getAllCarsDetais();
        }
        return  HKCarOpenService.getAlarmEvemtList(  HKCarOpenService.HK_CARS_LIST,new Date());
    }
    @Override
    public     BoardCarsListVO platformJobCarsList(){
        BoardCarsListVO data = new BoardCarsListVO();
@@ -1057,7 +1083,8 @@
                        .groupBy(PlatformJob::getCarCodeFront));
                data.setBusyNum( busyNum!=null ?busyNum.size():0);//在途有任务数量
                data.setIdleNum(codes.size() -data.getBusyNum());//无任务空闲数量
                data.setEventList(HKCarOpenService.getAlarmEvemtList(detaisResponses,new Date()));
                HKCarOpenService.HK_CARS_LIST = detaisResponses;
//                data.setEventList(HKCarOpenService.getAlarmEvemtList(detaisResponses,new Date()));
                if(busyNum != null){
                  FLAG:  for(CarsDeviceDetaisResponse model:detaisResponses){
                        for(PlatformJob job : busyNum){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/TmsServiceImpl.java
@@ -9,6 +9,7 @@
import com.doumee.core.tms.model.request.*;
import com.doumee.core.tms.model.response.*;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.HttpsUtil;
import com.doumee.core.wms.model.request.*;
import com.doumee.core.wms.model.response.WmsBaseDataResponse;
@@ -154,7 +155,9 @@
                }
            }
        }
        Collections.sort(list, (o1, o2) -> {
            return o2.getKey()  -  o1.getKey(); //按数量从大到小排序
        });
        return list;
    }
@@ -169,19 +172,26 @@
                for(TmsCircleStatusListResponse status :data){
                    if(Constants.equalsInteger(status.getOrderStatus(),Constants.FOUR)
                            && Constants.equalsInteger(status.getType(),TMSContants.StatusCode.app)) {
                        status.setOrderStatus(TMSContants.ChildStatusLevel.clqdapp.getKey());
                        status.setOrderStatus(TMSContants.ChildStatusLevel.clqdapp.getOrderStatus());
                    }
                    if(Constants.equalsInteger(status.getOrderStatus(),Constants.FIVE)
                            && Constants.equalsInteger(status.getType(),TMSContants.StatusCode.app)) {
                        status.setOrderStatus(TMSContants.ChildStatusLevel.ddzhd.getKey());
                        status.setOrderStatus(TMSContants.ChildStatusLevel.ddzhd.getOrderStatus());
                    }
                    if(Constants.equalsInteger(status.getOrderStatus(),t )){
                        status.setOrderStatusDes(TMSContants.ChildStatusLevel.getInfo(status.getOrderStatus(),null));
                        list.add(status);
                    }
                    Date td =DateUtil.fromStringToDate("yyy-MM-dd HH:mm:ss",status.getRecordDate());
                    if(td!=null){
                        status.setTimeStamp(td.getTime());
                }
            }
        }
        }
        Collections.sort(list, (o1, o2) -> {
            return (int) (o2.getTimeStamp() - o1.getTimeStamp()); //按数量从大到小排序
        });
        return list;
    }
@@ -192,21 +202,36 @@
     * @return TmsBaseResponse
     */
    @Override
    public   List<TmsOrderListResponse>  orderList(TmsOrderListRequest param){
       if(StringUtils.isBlank(param.getPhoneNumber())){
           param.setPhoneNumber("00000000000");//手机号必填
    public   TmsBasePageResponse<TmsOrderListResponse>  orderList(TmsOrderListRequest param){
        if(param == null){
            param = new TmsOrderListRequest();
       }
       if(param.getContractNumbers()==null || param.getContractNumbers().size()==0){
           param.setContractNumbers(null);
        if(param.getParameters() == null){
            param.setParameters( new TmsOrderListParamRequest());
        }
        if(param.getPager() == null){
            param.setPager( new TmsOrderListPagerRequest());
        }
        if(param.getPager().getPage() == null){
            param.getPager().setPage(1);
        }
        if(param.getPager().getRows() == null){
            param.getPager().setRows(10);
        }
       if(StringUtils.isBlank(param.getParameters().getPhoneNumber())){
           param.getParameters().setPhoneNumber("00000000000");//手机号必填
       }
       if(param.getParameters().getContractNumbers()==null || param.getParameters().getContractNumbers().size()==0){
           param.getParameters().setContractNumbers(null);
       }
        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                    +TMSContants.InterfacePath.getOrderList[0];
        TmsBaseResponse<List<TmsOrderListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderList[1],JSONObject.toJSONString(param)
                ,new TypeReference< TmsBaseResponse<List<TmsOrderListResponse>>>(){});
        TmsBaseResponse<TmsBasePageResponse<TmsOrderListResponse>> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderList[1],JSONObject.toJSONString(param)
                ,new TypeReference< TmsBaseResponse<TmsBasePageResponse<TmsOrderListResponse>>>(){});
        if(response ==null){
            return  new ArrayList<>();
            return  new TmsBasePageResponse<>();
        }else{
            return response.getData()==null?new ArrayList<>():response.getData();
            return response.getData()==null?new TmsBasePageResponse<>():response.getData();
        }
    }
    /**
@@ -222,7 +247,7 @@
        }
        String url = systemDictDataBiz.queryByCode(Constants.TSM_PARAM,Constants.TMS_INTERFACE_URL_PREFIX).getCode()
                    +TMSContants.InterfacePath.getOrderDetailByContractNumber[0];
        TmsBaseResponse<TmsOrderInfoResponse> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderDetailByContractNumber[1],JSONObject.toJSONString(param)
        TmsBaseResponse<TmsOrderInfoResponse> response = sendHttpRequest(url,TMSContants.InterfacePath.getOrderDetailByContractNumber[1],param.getContractNumber()
                ,new TypeReference< TmsBaseResponse<TmsOrderInfoResponse>>(){});
        if(response!=null && response.getData()!=null){
              result =response.getData();
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
@@ -1,5 +1,6 @@
package com.doumee.service.business.third;
import com.doumee.core.haikang.model.cars.response.CarsAlarmResultListResponse;
import com.doumee.core.haikang.model.param.respose.PageFireChannelInfoResponse;
import com.doumee.core.haikang.model.param.respose.PageRegionInfoResponse;
import com.doumee.core.haikang.model.param.respose.PageSensorStatusResponse;
@@ -89,4 +90,6 @@
    BoardStockListVO stockList();
    List<GeneralVO> todayTotalInList();
    List<CarsAlarmResultListResponse> carsEventList();
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/TmsService.java
@@ -34,7 +34,7 @@
     * @param param å‚æ•°
     * @return TmsBaseResponse
     */
    List<TmsOrderListResponse> orderList(TmsOrderListRequest param);
    TmsBasePageResponse<TmsOrderListResponse> orderList(TmsOrderListRequest param);
    List<TmsGisListResponse>  gisList(TmsGisListRequest param);
    List<TmsCircleStatusResultListResponse>  getCicleStatusList(TmsCircleStatusListRequest param);
    /**