liukangdong
2024-12-17 04bf59bbc3fad774c57a2ee5ebf07db24b476bf2
Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
已添加3个文件
已修改31个文件
978 ■■■■ 文件已修改
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_admin/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | 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 26 ●●●● 补丁 | 查看 | 原始文档 | 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/TmsGisStatusInfoResponse.java 23 ●●●●● 补丁 | 查看 | 原始文档 | 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/core/wms/model/response/WmsBaseDataResponse.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsInventoryDataResponse.java 433 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsInventoryJsonResponse.java 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardStockListVO.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java 20 ●●●● 补丁 | 查看 | 原始文档 | 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/hksync/HkSyncPushServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java 106 ●●●●● 补丁 | 查看 | 原始文档 | 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/impl/thrid/WmsServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | 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/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/WmsService.java 4 ●●●● 补丁 | 查看 | 原始文档 | 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_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: pro
    active: dev
  application:
    name: visitsAdmin
    # å®‰å…¨é…ç½®
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 {
@@ -30,17 +30,17 @@
         * å·²åˆ°è´§
         * å·²å…¥åº“
         */
        ddsc(0,"订单生成",new Integer[]{ChildStatusLevel.create.getKey()}),
        ydpzz (1,"运单配载中",new Integer[]{ChildStatusLevel.ysdxc.getKey()
                ,ChildStatusLevel.ysdcx.getKey()
                ,ChildStatusLevel.shtg.getKey()
                ,ChildStatusLevel.shwtg.getKey()}),
        ckckz (2,"仓库出库中",new Integer[]{ChildStatusLevel.ddzhddzs.getKey()
                ,ChildStatusLevel.sqzyzwc.getKey()
                ,ChildStatusLevel.clqddzs.getKey()}),
        clysz(3, "车辆运输中",new Integer[]{ChildStatusLevel.clqdapp.getKey()}),
        ydh(4,"已到货",new Integer[]{ChildStatusLevel.ddzhd.getKey()}),
        yrk (5,"已入库",new Integer[]{ChildStatusLevel.ddxhd.getKey()});
        ddsc(0,"订单生成",new Integer[]{ChildStatusLevel.create.getOrderStatus()}),
        ydpzz (1,"运单配载中",new Integer[]{ChildStatusLevel.ysdxc.getOrderStatus()
                ,ChildStatusLevel.ysdcx.getOrderStatus()
                ,ChildStatusLevel.shtg.getOrderStatus()
                ,ChildStatusLevel.shwtg.getOrderStatus()}),
        ckckz (2,"仓库出库中",new Integer[]{ChildStatusLevel.ddzhddzs.getOrderStatus()
                ,ChildStatusLevel.sqzyzwc.getOrderStatus()
                ,ChildStatusLevel.clqddzs.getOrderStatus()}),
        clysz(3, "车辆运输中",new Integer[]{ChildStatusLevel.clqdapp.getOrderStatus()}),
        ydh(4,"已到货",new Integer[]{ChildStatusLevel.ddzhd.getOrderStatus()}),
        yrk (5,"已入库",new Integer[]{ChildStatusLevel.ddxhd.getOrderStatus()});
        // æˆå‘˜å˜é‡
        private int key;
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/TmsGisStatusInfoResponse.java
@@ -1,7 +1,10 @@
package com.doumee.core.tms.model.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author æ±Ÿè¹„蹄
@@ -12,13 +15,17 @@
public class TmsGisStatusInfoResponse {
   /**
    */
   private String startRepertotyName;//    å­—符串    èµ·ç‚¹åç§°
   private String   endRepertotyName;//    å­—符串    ç»ˆç‚¹åç§°
   private String    startLon    ;//字符串    èµ·ç‚¹ç»åº¦
   private String  startLat;//    å­—符串    èµ·ç‚¹çº¬åº¦
   private String endLon    ;//字符串    ç»ˆç‚¹ç»åº¦
   private String  endLat    ;//字符串    ç»ˆç‚¹çº¬åº¦
   private String  plateNumber;//    å­—符串    è½¦ç‰Œå·
   private String callLetter;//": "40258036812",
   @ApiModelProperty(value = "韦度" )
   private Double lon;//": 117.28768,
   @ApiModelProperty(value = "经度" )
   private Double lat;//": 32.909134,
   private String course;//": "200",
   private BigDecimal speed;//": 310,
   @ApiModelProperty(value = "时间" )
   private String gpstime;//": "2023/09/04 11:10:29",
   private String stamp;//": "2023/09/04 11:10:29",
   private String lon1;//": 117.28768,
   private String lat1;//": 32.909134
}
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/core/wms/model/response/WmsBaseDataResponse.java
@@ -4,6 +4,8 @@
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2023/11/23 14:03
@@ -16,5 +18,7 @@
    private String success;
    @ApiModelProperty(value = "消息描述" ,example = "1")
    private String msgDescr;
    @ApiModelProperty(value = "消息描述" ,example = "1")
    private List<WmsInventoryJsonResponse> json;
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsInventoryDataResponse.java
@@ -1,9 +1,16 @@
package com.doumee.core.wms.model.response;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.doumee.core.utils.Constants;
import com.doumee.dao.web.response.platformReport.BoardStockListVO;
import com.doumee.dao.web.response.platformReport.GeneralVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
@@ -13,12 +20,436 @@
@Data
@ApiModel("WMS接口处理返回data参数")
public class WmsInventoryDataResponse {
    @ApiModelProperty(value = "是否接收成功 1成功 -1 å¤±è´¥" ,example = "1")
    private String success;
    @ApiModelProperty(value = "消息描述" ,example = "1")
    private String msgDescr;
    @ApiModelProperty(value = "消息描述" ,example = "1")
    private List<WmsInventoryJsonResponse> json;
    public static void main(String[] args) {
        String dd ="{\n" +
                "  \"data\": [\n" +
                "    {\n" +
                "      \"json\": [\n" +
                "        {\n" +
                "          \"item_code\": \"NoBarCode019\",\n" +
                "          \"item_name\": \"黄山徽商新视界细支(芜湖)\",\n" +
                "          \"qty\": 1470,\n" +
                "          \"supplier_code\": \"02\",\n" +
                "          \"supplier_name\": \"芜湖卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028223744\",\n" +
                "          \"item_name\": \"黄山(记忆)\",\n" +
                "          \"qty\": 600,\n" +
                "          \"supplier_code\": \"01\",\n" +
                "          \"supplier_name\": \"蚌埠卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028123266\",\n" +
                "          \"item_name\": \"黄山硬记忆\",\n" +
                "          \"qty\": 45,\n" +
                "          \"supplier_code\": \"05\",\n" +
                "          \"supplier_name\": \"滁州卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028225175\",\n" +
                "          \"item_name\": \"黄山(新制皖烟)\",\n" +
                "          \"qty\": 41,\n" +
                "          \"supplier_code\": \"01\",\n" +
                "          \"supplier_name\": \"蚌埠卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028223980\",\n" +
                "          \"item_name\": \"黄山(印象一品)\",\n" +
                "          \"qty\": 8119,\n" +
                "          \"supplier_code\": \"07\",\n" +
                "          \"supplier_name\": \"重庆中烟工业有限责任公司\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028125321\",\n" +
                "          \"item_name\": \"黄山(中国画细支)\",\n" +
                "          \"qty\": 570,\n" +
                "          \"supplier_code\": \"02\",\n" +
                "          \"supplier_name\": \"芜湖卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028223980\",\n" +
                "          \"item_name\": \"黄山(印象一品)\",\n" +
                "          \"qty\": 9701,\n" +
                "          \"supplier_code\": \"01\",\n" +
                "          \"supplier_name\": \"蚌埠卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"FYWL02\",\n" +
                "          \"item_name\": \"非烟物料02\",\n" +
                "          \"qty\": 2,\n" +
                "          \"supplier_code\": \"03\",\n" +
                "          \"supplier_name\": \"合肥卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028131605\",\n" +
                "          \"item_name\": \"黄山(大红方印)\",\n" +
                "          \"qty\": 190,\n" +
                "          \"supplier_code\": \"05\",\n" +
                "          \"supplier_name\": \"滁州卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"NoBarCode009\",\n" +
                "          \"item_name\": \"黄山徽商新概念细支(芜湖)\",\n" +
                "          \"qty\": 25500,\n" +
                "          \"supplier_code\": \"02\",\n" +
                "          \"supplier_name\": \"芜湖卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"NoBarCode009\",\n" +
                "          \"item_name\": \"黄山徽商新概念细支(芜湖)\",\n" +
                "          \"qty\": 600,\n" +
                "          \"supplier_code\": \"02\",\n" +
                "          \"supplier_name\": \"芜湖卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Semifinished\",\n" +
                "          \"itemType_name\": \"在制品\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028223980\",\n" +
                "          \"item_name\": \"黄山(印象一品)\",\n" +
                "          \"qty\": 2722,\n" +
                "          \"supplier_code\": \"05\",\n" +
                "          \"supplier_name\": \"滁州卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028208949\",\n" +
                "          \"item_name\": \"黄山(红方印细支)\",\n" +
                "          \"qty\": 2090,\n" +
                "          \"supplier_code\": \"02\",\n" +
                "          \"supplier_name\": \"芜湖卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"NoBarCode028\",\n" +
                "          \"item_name\": \"25合肥新制皖纸箱备货\",\n" +
                "          \"qty\": 5430,\n" +
                "          \"supplier_code\": \"03\",\n" +
                "          \"supplier_name\": \"合肥卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"FYWL01\",\n" +
                "          \"item_name\": \"非烟物料01\",\n" +
                "          \"qty\": 1,\n" +
                "          \"supplier_code\": \"\",\n" +
                "          \"supplier_name\": \"\",\n" +
                "          \"owner_code\": \"\",\n" +
                "          \"owner_name\": \"\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028129664\",\n" +
                "          \"item_name\": \"黄山(大黄山)\",\n" +
                "          \"qty\": 370,\n" +
                "          \"supplier_code\": \"01\",\n" +
                "          \"supplier_name\": \"蚌埠卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028125970\",\n" +
                "          \"item_name\": \"黄山(徽商新概念细支)\",\n" +
                "          \"qty\": 6876,\n" +
                "          \"supplier_code\": \"02\",\n" +
                "          \"supplier_name\": \"芜湖卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"NoBarCode020\",\n" +
                "          \"item_name\": \"黄山红方印细支(芜湖)\",\n" +
                "          \"qty\": 3160,\n" +
                "          \"supplier_code\": \"02\",\n" +
                "          \"supplier_name\": \"芜湖卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"cailiao001\",\n" +
                "          \"item_name\": \"机械手和分拣线的材料\",\n" +
                "          \"qty\": 1,\n" +
                "          \"supplier_code\": \"07\",\n" +
                "          \"supplier_name\": \"重庆中烟工业有限责任公司\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"NoBarCode008\",\n" +
                "          \"item_name\": \"新制皖(蚌埠)\",\n" +
                "          \"qty\": 30,\n" +
                "          \"supplier_code\": \"01\",\n" +
                "          \"supplier_name\": \"蚌埠卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"NoBarCode010\",\n" +
                "          \"item_name\": \"大红方印(滁州)\",\n" +
                "          \"qty\": 140,\n" +
                "          \"supplier_code\": \"05\",\n" +
                "          \"supplier_name\": \"滁州卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028124966\",\n" +
                "          \"item_name\": \"黄山(小红方印)\",\n" +
                "          \"qty\": 3466,\n" +
                "          \"supplier_code\": \"02\",\n" +
                "          \"supplier_name\": \"芜湖卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028126007\",\n" +
                "          \"item_name\": \"黄山(新一品)\",\n" +
                "          \"qty\": 14219,\n" +
                "          \"supplier_code\": \"05\",\n" +
                "          \"supplier_name\": \"滁州卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"NoBarCode021\",\n" +
                "          \"item_name\": \"都宝(悠酷中支)芜湖\",\n" +
                "          \"qty\": 175,\n" +
                "          \"supplier_code\": \"02\",\n" +
                "          \"supplier_name\": \"芜湖卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"cailiao002\",\n" +
                "          \"item_name\": \"分拣线材料\",\n" +
                "          \"qty\": 2,\n" +
                "          \"supplier_code\": \"03\",\n" +
                "          \"supplier_name\": \"合肥卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"NoBarCode011\",\n" +
                "          \"item_name\": \"黄山小红方印(芜湖)\",\n" +
                "          \"qty\": 4060,\n" +
                "          \"supplier_code\": \"02\",\n" +
                "          \"supplier_name\": \"芜湖卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028124058\",\n" +
                "          \"item_name\": \"黄山(黑马细支)\",\n" +
                "          \"qty\": 201,\n" +
                "          \"supplier_code\": \"02\",\n" +
                "          \"supplier_name\": \"芜湖卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"EmptyContainer\",\n" +
                "          \"item_name\": \"空托盘组\",\n" +
                "          \"qty\": 20561,\n" +
                "          \"supplier_code\": \"\",\n" +
                "          \"supplier_name\": \"\",\n" +
                "          \"owner_code\": \"\",\n" +
                "          \"owner_name\": \"\",\n" +
                "          \"package_type\": \"\",\n" +
                "          \"package_name\": \"\",\n" +
                "          \"itemType_code\": \"\",\n" +
                "          \"itemType_name\": \"\"\n" +
                "        },\n" +
                "        {\n" +
                "          \"item_code\": \"6901028223980\",\n" +
                "          \"item_name\": \"黄山(印象一品)\",\n" +
                "          \"qty\": 10,\n" +
                "          \"supplier_code\": \"04\",\n" +
                "          \"supplier_name\": \"阜阳卷烟厂\",\n" +
                "          \"owner_code\": \"20340001\",\n" +
                "          \"owner_name\": \"安徽中烟工业有限公司\",\n" +
                "          \"package_type\": \"BoxType_Paper\",\n" +
                "          \"package_name\": \"纸箱\",\n" +
                "          \"itemType_code\": \"ItemStatus_Production\",\n" +
                "          \"itemType_name\": \"成品类\"\n" +
                "        }\n" +
                "      ],\n" +
                "      \"success\": 1,\n" +
                "      \"msgDescr\": \"OK\"\n" +
                "    }\n" +
                "  ]\n" +
                "}";
        TypeReference< WmsBaseResponse<WmsInventoryDataResponse>> typeReference =     new TypeReference< WmsBaseResponse<WmsInventoryDataResponse>>(){};
        WmsBaseResponse<WmsInventoryDataResponse>  response =   JSONObject.parseObject(dd, typeReference.getType());
        BoardStockListVO data = new BoardStockListVO();
        double toatalNum = 1d;
        BigDecimal num = new BigDecimal(0);
        List<GeneralVO> list = new ArrayList<>();
        try {
            toatalNum =100000;
        }catch (Exception e){
        }
        if(response!=null && response.getData()!=null && response.getData().size()>0){
            List<WmsInventoryJsonResponse> t= response.getData().get(0).getJson();
            if(t!=null &&t.size()>0){
                for(WmsInventoryJsonResponse j :t){
                    num = num.add (Constants.formatBigdecimal( j.getQty()));
                    GeneralVO d = new GeneralVO();
                    d.setNum(Constants.formatBigdecimal(j.getQty()));
                    d.setName(j.getItemName());
                    list.add(d);
                }
            }
        }
        data.setStockList(list);
        data.setNum(num);
        if(toatalNum<=0){
            toatalNum =1;
        }
        data.setTotalNum(new BigDecimal(toatalNum));
        data.setUseRate(Constants.formatBigdecimal(data.getNum()).divide(data.getTotalNum(),2,BigDecimal.ROUND_UP));
        System.out.println(data.getNum());
    }
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/wms/model/response/WmsInventoryJsonResponse.java
@@ -1,5 +1,6 @@
package com.doumee.core.wms.model.response;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -15,29 +16,38 @@
@ApiModel("WMS接口处理返回data参数")
public class WmsInventoryJsonResponse {
    @ApiModelProperty(value = "是否接收成功 1成功 -1 å¤±è´¥" ,example = "1")
    private String item_code;
    @ApiModelProperty(value = "消息描述" ,example = "1")
    private String item_name;
    @ApiModelProperty(value = "qty" ,example = "1")
    @ApiModelProperty(value = "item_code" )
    @JSONField(name="item_code" )
    private String itemCode;
    @ApiModelProperty(value = "item_name" )
    @JSONField(name="item_name" )
    private String itemName;
    @ApiModelProperty(value = "qty" )
    @JSONField(name="qty" )
    private BigDecimal qty;
    @ApiModelProperty(value = "supplier_code" ,example = "1")
    private String  supplier_code;
    @ApiModelProperty(value = "g" ,example = "1")
    private String  supplier_name;
    @ApiModelProperty(value = "owner_code" ,example = "1")
    private String  owner_code;
    @ApiModelProperty(value = "owner_name" ,example = "1")
    private String  owner_name;
    @ApiModelProperty(value = "package_type" ,example = "1")
    private String  package_type;
    @ApiModelProperty(value = "package_name" ,example = "1")
    private String  package_name;
    @ApiModelProperty(value = "itemType_code" ,example = "1")
    private String  itemType_code;
    @ApiModelProperty(value = "ItemStatus_Production" ,example = "1")
    private String  ItemStatus_Production;
    @ApiModelProperty(value = "itemType_name" ,example = "1")
    private String  itemType_name;
    @ApiModelProperty(value = "supplier_code" )
    @JSONField(name="supplier_code" )
    private String  supplierCode;
    @ApiModelProperty(value = "supplier_name" )
    @JSONField(name="supplier_name" )
    private String  supplierName;
    @ApiModelProperty(value = "owner_code" )
    @JSONField(name="owner_code" )
    private String  ownerCode;
    @ApiModelProperty(value = "owner_name" )
    @JSONField(name="owner_name" )
    private String  ownerName;
    @ApiModelProperty(value = "package_type" )
    @JSONField(name="package_type" )
    private String  packageType;
    @ApiModelProperty(value = "package_name" )
    @JSONField(name="package_name" )
    private String  packageName;
    @ApiModelProperty(value = "itemTypeCode" )
    @JSONField(name="itemTypeCode" )
    private String  itemTypeCode;
    @ApiModelProperty(value = "itemType_name" )
    @JSONField(name="itemType_name" )
    private String  itemTypeName;
}
server/visits/dmvisit_service/src/main/java/com/doumee/core/wx/wxPlat/WxPlatNotice.java
@@ -254,7 +254,7 @@
                thing13.put("value",Constants.equalsInteger(hiddenDanger.getStatus(),Constants.ONE)?"隐患已整改":"隐患已退回");
                //提交人
                Map<String, Object> thing10 = new HashMap<String,Object>();
                thing10.put("value",hiddenDanger.getCheckorName());
                thing10.put("value",hiddenDanger.getMemberName());
                //通知时间
                Map<String, Object> time16 = new HashMap<String,Object>();
                time16.put("value", DateUtil.getFomartDate(hiddenDanger.getDealTime(),"yyyyå¹´MM月dd日 HH:mm:ss") );
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Visits.java
@@ -311,6 +311,10 @@
    @TableField(exist = false)
    private String createMemberName;
    @ApiModelProperty(value = "创建人电话", example = "1")
    @TableField(exist = false)
    private String createMobile;
    @ApiModelProperty(value = "审批信息数据")
    @TableField(exist = false)
    private ApproveDataVO approveDateVO;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/VisitDetailVO.java
@@ -46,8 +46,10 @@
    @ApiModelProperty(value = "拜访时间")
    private String visitTime;
    @ApiModelProperty(value = "显示通知状态")
    @ApiModelProperty(value = "显示通知状态值")
    private String info;
    @ApiModelProperty(value = "显示通知状态 1=待审批;2=审批通过;3=审批未通过;4=业务取消")
    private Integer infoStatus;
    @ApiModelProperty(value = "随访人员信息")
    private List<Visits> withVisitsList;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/BoardStockListVO.java
@@ -19,7 +19,6 @@
    private List<GeneralVO> stockList;
    @ApiModelProperty(value = "区域库存汇总集合")
    private List<GeneralVO> areaTotalList;
    @ApiModelProperty(value = "库存已利用")
    private BigDecimal num;
    @ApiModelProperty(value = "库存利用率")
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/ApproveParamServiceImpl.java
@@ -40,8 +40,6 @@
        approveParamMapper.insert(approveParam);
        return approveParam.getId();
    }
    /**
     * éªŒè¯æ•°æ®å¿…å¡«
     * @param approveParam
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -210,7 +210,6 @@
        hiddenDanger.setMemberName(systemUser.getRealname());
        //提交人的微信公众号通知
        if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){
            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
                    wxNoticeConfigMapper,hiddenDanger,
                    WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
@@ -222,10 +221,9 @@
                .eq(SystemUser::getDeleted, Constants.ZERO)
                .eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId())
                .last(" limit 1 "));
        //处理人的微信公众号通知
        if(Objects.nonNull(checkUser)&&StringUtils.isNotBlank(checkUser.getOpenid())){
            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
                    wxNoticeConfigMapper,hiddenDanger,
                    WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
@@ -605,6 +603,7 @@
        if(Objects.isNull(hiddenDangerCate)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患类型");
        }
        model.setCategoryName(hiddenDangerCate.getName());
        hiddenDanger.setCategoryName(hiddenDangerCate.getName());
        hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId());
        hiddenDanger.setEditDate(new Date());
@@ -625,6 +624,7 @@
                .eq(Notices::getObjId,hiddenDanger.getId())
                .eq(Notices::getObjType,Constants.THREE)
                .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId())
                .orderByDesc(Notices::getId)
                .last(" limit  1 ")
        );
        if(Objects.nonNull(notices)){
@@ -651,6 +651,7 @@
          return;
        }
        hiddenDanger.setMemberName(memberUser.getRealname());
        model.setMemberName(memberUser.getRealname());
        SystemUser checkUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
                .eq(SystemUser::getDeleted, Constants.ZERO)
                .eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId()));
@@ -667,7 +668,7 @@
        if(Objects.nonNull(checkUser)&&StringUtils.isNotBlank(checkUser.getOpenid())){
            WxPlatNotice wxPlatNotice = new WxPlatNotice();
            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
                    wxNoticeConfigMapper,hiddenDanger,
                    wxNoticeConfigMapper,model,
                    WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
                    Arrays.asList(checkUser.getOpenid().split(",")));
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -368,19 +368,24 @@
            //开启短信通知
            if(Objects.nonNull(smsConfig) || Constants.equalsInteger(smsConfig.getStatus(),Constants.ZERO)){
                String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode() + smsConfig.getContent();
                Visits visits = visitsMapper.selectById(objId);
                Visits visits = visitsMapper.selectJoinOne(Visits.class,new MPJLambdaWrapper<Visits>().selectAll(Visits.class)
                        .selectAs(SystemUser::getMobile,Visits::getCreateMobile)
                        .leftJoin(SystemUser.class,SystemUser::getMemberId,Visits::getMemberId)
                        .eq(Visits::getId,objId)
                        .last(" limit   1")
                );
                if(Objects.nonNull(visits)){
                    if(objCode.equals(SmsConstants.visitReportingContent.visitReportingAuditSuccess)){
                        // æ‚¨çš„【访客报备】已经审批通过,请通知访客于{预约入园开始时间}后乘坐{车牌号}入园,如有疑问,请联系被访人。
                        content = content.replace("{预约入园开始时间}",DateUtil.getFomartDate(visits.getStarttime(),"yyyy-MM-dd HH:mm"))
                                .replace("{车牌号}",visits.getCarNos());
                        sendBusinessSms(emayService,smsEmailMapper,
                                Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId());
                                Arrays.asList(visits.getCreateMobile().split(",")),SmsConstants.visitReport,content,visits.getId());
                    }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingAuditFail)){
                        //您的【访客报备】已被驳回,驳回原因为:{驳回原因}。如有疑问,请联系审批人。
                        content = content.replace("{驳回原因}",msg);
                        sendBusinessSms(emayService,smsEmailMapper,
                                Arrays.asList(visits.getPhone().split(",")),SmsConstants.visitReport,content,visits.getId());
                                Arrays.asList(visits.getCreateMobile().split(",")),SmsConstants.visitReport,content,visits.getId());
                    }else if(objCode.equals(SmsConstants.visitReportingContent.visitReportingTimeOutSignOut)){
                        //您的【访客报备】已于{预约入园结束时间}到期,请及时离场,如有疑问,请联系被访人
                        content = content.replace("{预约入园结束时间}",DateUtil.getFomartDate(visits.getEndtime(),"yyyy-MM-dd HH:mm"));
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -1409,17 +1409,29 @@
                            memberId)
            );
//        }
        if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.waitCheck)||Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.submitCheck)){
        Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>().lambda().eq(Notices::getObjId,visits.getId())
                .eq(Notices::getType,Constants.equalsInteger(visits.getType(),Constants.TWO)?Constants.noticesObjectType.visitReporting:Constants.noticesObjectType.visit)
                        .eq(Notices::getUserId,memberId)
                        .eq(Notices::getSendacopy,Constants.ZERO)
                .last(" limit 1 ")
        );
            visitDetailVO.setInfoStatus(1);
        if(Objects.nonNull(notices)){
            notices.setInfo(notices.getInfo());
                visitDetailVO.setInfo(notices.getInfo());
        }else{
            notices.setInfo("暂无");
                visitDetailVO.setInfo("暂无");
            }
        }else if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.noPass)){
            visitDetailVO.setInfoStatus(Constants.VisitStatus.noPass);
            visitDetailVO.setInfo("审批未通过");
        }else if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.cancel)){
            visitDetailVO.setInfoStatus(Constants.VisitStatus.cancel);
            visitDetailVO.setInfo("已取消");
        }else{
            visitDetailVO.setInfoStatus(Constants.VisitStatus.pass);
            visitDetailVO.setInfo("审批已通过");
        }
        return visitDetailVO;
    }
@@ -1797,7 +1809,7 @@
                SmsEmailServiceImpl.sendVisitTimeOutSms(systemDictDataBiz,
                        emayService,smsEmailMapper,smsConfigMapper,
                        SmsConstants.visitContent.visitTimeOutSignOutNum,
                        visitReportTimeCount.toString(),Arrays.asList(mobile.split(","))
                        visitTimeCount.toString(),Arrays.asList(mobile.split(","))
                );
            }
        }
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/hksync/HkSyncPushServiceImpl.java
@@ -488,10 +488,12 @@
                //如果是访客登记,录入人员的在场数据记录
//                retentionList.add(getRetentionModelByVisitRequest(visits, request.getHappenTime(),request.getSrcType()));
                //来访时间
                if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.xfSuccess)){
                inoutDayCount.setSigninVisitorNum(Constants.formatIntegerNum(inoutDayCount.getSigninVisitorNum())+1);
                updateVistis.setStatus(Constants.VisitStatus.signin);
                updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
                updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime()));
                }
                //更新最新来访时间
                Member member = new Member();
                member.setLastVisitDate(updateVistis.getInDate());
@@ -499,12 +501,14 @@
                memberMapper.updateById(member);
            }else if (Constants.formatIntegerNum(request.getEventType()) == HKConstants.EventTypes.VISIT_SIGN_ICCM_OUT.getKey())  {
                //如果是访客签离事件
                if(Constants.equalsInteger(visits.getStatus(),Constants.VisitStatus.signin)){
                inoutDayCount.setLeaveVisitorNum(Constants.formatIntegerNum(inoutDayCount.getLeaveVisitorNum())+1);
                updateVistis.setStatus(Constants.VisitStatus.signout);
                updateVistis.setInDate(DateUtil.getISO8601DateByStr(data.getBeginTime()));
                updateVistis.setOutDate(DateUtil.getISO8601DateByStr(data.getFinishTime()));
                updateVistis.setOutType(Constants.ZERO);
                updateVistis.setOutInfo("访客正常签离");
                }
            }else{
                //如果人员信息存在,切是访客通行,则删除之前的所有进场数据(无论此次推送是进厂还是出场推送事件)
                delRetentionLis.add(visits.getMemberId());
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -20,7 +20,7 @@
import com.doumee.core.utils.DateUtil;
import com.doumee.core.utils.Utils;
import com.doumee.core.wms.model.response.WmsBaseResponse;
import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
import com.doumee.core.wms.model.response.WmsBaseDataResponse;
import com.doumee.core.wms.model.response.WmsInventoryJsonResponse;
import com.doumee.dao.business.*;
import com.doumee.dao.business.join.PlatformWarnEventJoinMapper;
@@ -161,9 +161,8 @@
        try {
            toatalNum =Double.parseDouble(systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_TOTAL_STOCK_NUM).getCode()) ;
        }catch (Exception e){
        }
        WmsBaseResponse<WmsInventoryDataResponse> response =  wmsService.getInventoryList();
        WmsBaseResponse<WmsBaseDataResponse> response =  wmsService.getInventoryList();
        if(response!=null && response.getData()!=null && response.getData().size()>0){
            List<WmsInventoryJsonResponse> t= response.getData().get(0).getJson();
            if(t!=null &&t.size()>0){
@@ -171,7 +170,7 @@
                    num = num.add (Constants.formatBigdecimal( j.getQty()));
                    GeneralVO d = new GeneralVO();
                    d.setNum(Constants.formatBigdecimal(j.getQty()));
                    d.setName(j.getItem_name());
                    d.setName(j.getItemName());
                    list.add(d);
                }
            }
@@ -182,7 +181,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_HALF_UP));
        return data;
    }
@@ -670,6 +669,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 +680,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){
@@ -729,7 +729,11 @@
                        .selectAll(PlatformJob.class)
                        .eq(PlatformJob::getIsdeleted,Constants.ZERO)
                        .eq(PlatformJob::getCarCodeFront,param.getCarCode())
                        .in(PlatformJob::getStatus,Constants.PlatformJobStatus.DONE.getKey(),Constants.PlatformJobStatus.LEAVED.getKey(),Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),Constants.PlatformJobStatus.CALLED.getKey())
                        .in(PlatformJob::getStatus,
                                Constants.PlatformJobStatus.DONE.getKey(),
                                Constants.PlatformJobStatus.LEAVED.getKey(),
                                Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),
                                Constants.PlatformJobStatus.CALLED.getKey())
                        .last("limit 1"));
        if(job!=null){
            List<PlatformLog>  logList = platformLogMapper.selectJoinList(PlatformLog.class,
@@ -769,7 +773,7 @@
                                .orderByDesc(PlatformLog::getCreateDate));
                if(detailList!=null){
                    for(PlatformWmsDetail d : detailList){
                        if(!isNotExistIocode(d.getIocode(),data.getContractList())){
                        if(isExistIocode(d.getIocode(),data.getContractList())){
                                continue;
                        }
                        tt = new CarsContractVO();
@@ -804,7 +808,7 @@
        return list;
    }
    private boolean isNotExistIocode(String iocode, List<CarsContractVO> detailList) {
    private boolean isExistIocode(String iocode, List<CarsContractVO> detailList) {
        if(detailList!=null){
            for(CarsContractVO d :detailList){
                if(StringUtils.equals(d.getIoCode(),iocode)){
@@ -849,42 +853,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 +910,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,12 +941,12 @@
        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,1,1));//今日完成量
        data.setCurrentOutDoneNum(getSumTotalByList(currentDoneNum,0,1));//今日完成量
        //------------今日出入库效率----------------
        BigDecimal outHours = getTotalDoneTimes(currentNum,0);//
        BigDecimal inHours = getTotalDoneTimes(currentNum,1);//
        BigDecimal outHours = getTotalDoneTimes(currentDoneNum,0);//
        BigDecimal inHours = getTotalDoneTimes(currentDoneNum,1);//
        if(outHours.compareTo(new BigDecimal(0))>0){
            data.setTodayOutRate(data.getCurrentOutDoneNum().divide(outHours,2));//当前入库总任务成量
        }
@@ -933,15 +954,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 +1036,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 +1086,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/impl/thrid/WmsServiceImpl.java
@@ -11,7 +11,7 @@
import com.doumee.core.wms.model.request.*;
import com.doumee.core.wms.model.response.WmsBaseDataResponse;
import com.doumee.core.wms.model.response.WmsBaseResponse;
import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
import com.doumee.core.wms.model.response.WmsBaseDataResponse;
import com.doumee.core.wx.wxPlat.WxPlatConstants;
import com.doumee.core.wx.wxPlat.WxPlatNotice;
import com.doumee.dao.business.*;
@@ -145,10 +145,10 @@
     * @return
     */
    @Override
    public WmsBaseResponse<WmsInventoryDataResponse> getInventoryList(){
    public WmsBaseResponse<WmsBaseDataResponse> getInventoryList(){
         String url =  systemDictDataBiz.queryByCode(Constants.WMS_PARAM,Constants.WMS_GET_INVENTORYLIST_URL).getCode() ;
         String name = "【WMS】库存查询" ;
         WmsBaseResponse<WmsInventoryDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(new JSONObject()),new TypeReference< WmsBaseResponse<WmsInventoryDataResponse>>(){});
         WmsBaseResponse<WmsBaseDataResponse> response = sendHttpRequest(url,name,JSONObject.toJSONString(new JSONObject()),new TypeReference< WmsBaseResponse<WmsBaseDataResponse>>(){});
        if(response!=null
                && response.getData() !=null
                && response.getData().size()>0
@@ -214,6 +214,7 @@
                return  result;
            }catch (Exception e){
                success = 1;
                e.printStackTrace();
                log.error("【"+name+"】================失败===="+ JSONObject.toJSONString(param));
            }finally {
                saveInterfaceLog(url,name,param,success,res,Constants.ZERO);
@@ -344,8 +345,6 @@
                    }
                }
            }
        }
    }
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);
    /**
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/WmsService.java
@@ -5,7 +5,7 @@
import com.doumee.core.wms.model.request.WmsInboundNoticeRequest;
import com.doumee.core.wms.model.request.WmsOutboundNoticeRequest;
import com.doumee.core.wms.model.response.WmsBaseResponse;
import com.doumee.core.wms.model.response.WmsInventoryDataResponse;
import com.doumee.core.wms.model.response.WmsBaseDataResponse;
import com.doumee.dao.business.model.PlatformJob;
import java.util.List;
@@ -22,7 +22,7 @@
     * @return WmsBaseResponse
     */
    WmsBaseResponse orderPlatformBind(PlatformJob job);
    WmsBaseResponse<WmsInventoryDataResponse> getInventoryList();
    WmsBaseResponse<WmsBaseDataResponse> getInventoryList();
    void  saveInterfaceLog(String url,String name,String  param,Integer success,String respone,int type);
    /**
     * å…¥åº“单批量通知