jiangping
2025-01-23 14f37814a441d795ae7a15dfe4b7be05aa49f96f
最新版本541200007
已添加1个文件
已修改24个文件
248 ■■■■ 文件已修改
admin/.env.development 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/business/smsEmail.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/platform/LogisticsRecord/operation.vue 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/platform/LogisticsRecord/operationCity.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/statistics/platformStatic.vue 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/system/loginLog.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/vehicle/cars.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/java/com/doumee/config/GlobalFilterConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderDetailVOResponse.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderInfoResponse.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java 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/dao/business/model/HiddenDangerLog.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/.env.development
@@ -3,6 +3,6 @@
# VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
 # VUE_APP_API_URL  = 'http://localhost:10010'
# VUE_APP_API_URL  = 'http://192.168.0.173/gateway_interface'
VUE_APP_API_URL  = 'http://10.50.250.253:8088/gateway_interface'
VUE_APP_API_URL  = 'https://atwl.ahzyssl.com/zhyq_interface'
#  #VUE_APP_API_URL  = 'http://10.50.250.253:8088/gateway_interface'
admin/src/views/business/smsEmail.vue
@@ -5,13 +5,13 @@
      <el-form-item label="" prop="phone">
        <el-input v-model="searchForm.phone" placeholder="请输入手机号/邮箱地址" @keypress.enter.native="search"></el-input>
      </el-form-item>
      <el-form-item label="" prop="type">
<!--      <el-form-item label="" prop="type">
        <el-select v-model="searchForm.type" @keypress.enter.native="search" clearable placeholder="类型">
          <el-option label="短信" value="0"></el-option>
          <el-option label="邮箱" value="1"></el-option>
          <el-option label="微信公众号通知" value="2"></el-option>
        </el-select>
      </el-form-item>
      </el-form-item>-->
      <el-form-item label="" prop="objType">
        <el-select v-model="searchForm.objType" @keypress.enter.native="search" clearable placeholder="业务类型">
          <el-option label="验证码" value="0"></el-option>
admin/src/views/platform/LogisticsRecord/operation.vue
@@ -32,6 +32,7 @@
      <el-table-column prop="doneDate" label="作业完成时间" min-width="150" show-overflow-tooltip />
      <el-table-column prop="workTime" label="作业时长" min-width="100" show-overflow-tooltip />
      <el-table-column prop="platformNames" label="叫号月台" min-width="100" show-overflow-tooltip />
      <el-table-column prop="createDate" label="创建时间" min-width="150" show-overflow-tooltip />
      <el-table-column label="作业情况" fixed="right" min-width="100" show-overflow-tooltip>
        <template v-slot="scope">
          <span>{{ statusMap[scope.row.status] }}</span>
@@ -84,7 +85,7 @@
      queryFormConfig: {
        formItems: [
        {
            filed: 'code',
            filed: 'billCode',
            type: 'input',
            label: '运单号'
          },
@@ -107,7 +108,7 @@
          {
            type: 'slot',
            filed: 'fastdate',
            label: ''
            label: '作业时间'
          }
        ],
        online: true
@@ -137,9 +138,10 @@
        model: {
          ...filters,
          jobType: '0',
          beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
          beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
          createDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
          createDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
        },
        sorts: [{ direction: 'DESC', property: 'create_date' }],
        capacity: pagination.pageSize,
        page: page || pagination.page,
      }).then(res => {
admin/src/views/platform/LogisticsRecord/operationCity.vue
@@ -31,6 +31,7 @@
      <el-table-column prop="doneDate" label="作业完成时间" min-width="150" show-overflow-tooltip />
      <el-table-column prop="workTime" label="作业时长" min-width="100" show-overflow-tooltip />
      <el-table-column prop="platformName" label="叫号月台" min-width="100" show-overflow-tooltip />
      <el-table-column prop="createDate" label="创建时间" min-width="150" show-overflow-tooltip />
      <el-table-column label="作业情况" fixed="right" min-width="100" show-overflow-tooltip>
        <template v-slot="scope">
          <span>{{ statusMap[scope.row.status] }}</span>
@@ -139,6 +140,7 @@
          beginWorkDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null,
          beginWorkDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null,
        },
        sorts: [{ direction: 'DESC', property: 'create_date' }],
        capacity: pagination.pageSize,
        page: page || pagination.page,
      }).then(res => {
admin/src/views/statistics/platformStatic.vue
@@ -16,6 +16,12 @@
      <el-table-column prop="workCountTime" label="工作时长" min-width="100" show-overflow-tooltip />
      <el-table-column prop="useRata" label="月台使用率" min-width="100" show-overflow-tooltip />
    </el-table>
    <div v-if="this.list" style="width: 100%;display: flex;height: 50px;padding-top: 20px;font-size: 18px;color: red">
      <div style="flex: 1;min-width: 100px"></div>
      <div style="flex: 1;min-width: 100px;">合计:</div>
      <div style="flex: 1;min-width: 100px;"> <span style="font-weight: bold; ">{{totalStopCount}}</span>次 </div>
      <div style="flex: 2;min-width: 100px;"> <span style="font-weight: bold;">{{totalWorkTime.toFixed(2)}}</span>时</div>
    </div>
    <!-- <pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> -->
  </div>
</template>
@@ -42,6 +48,8 @@
        fastdate: 0,
        selDate: []
      },
      totalStopCount:0,
      totalWorkTime:0,
      list: [],
      total: 0,
      queryFormConfig: {
@@ -79,6 +87,30 @@
    this.getGroupList()
  },
  methods: {
    getSummaries(param) {
      const { columns, data } = param;
      const sums = [];
      columns.forEach((column, index) => {
        if (index === 0) {
          sums[index] = '合计';
        } else {
          const values = data.map(item => parseInt(item[column.property]));
          if (!values.every(value => isNaN(value))) {
            sums[index] = values.reduce((prev, curr) => {
              const value = parseInt(curr);
              if (!isNaN(value)) {
                return prev + curr;
              } else {
                return prev;
              }
            }, 0);
          } else {
            sums[index] = '0';
          }
        }
      });
      return sums;
    },
    changeRadio(day) {
      const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')]
      this.$set(this.filters, 'selDate', arr)
@@ -103,6 +135,8 @@
      })
    },
    getList(page) {
      this.totalStopCount = 0
      this.totalWorkTime = 0
      const { pagination, filters } = this
      this.loading = true
      platformWorkReportPage({
@@ -113,6 +147,8 @@
        this.loading = false
        this.list = res || []
        this.list.forEach(item => {
          this.totalStopCount = this.totalStopCount + (item.stopCount || 0)
          this.totalWorkTime = this.totalWorkTime + (item.workCountTime || 0)
          item.useRata = item.useRata + '%'
          item.workCountTime = item.workCountTime + '时'
          // item.workTime = dayjs.duration(item.workTime, 'seconds').format('H时m分s秒')
admin/src/views/system/loginLog.vue
@@ -95,11 +95,11 @@
  filters: {
    // ç™»å½•状态
    statusText (value) {
      if (value) {
        return '登录成功'
      }
      if (value != null && !value) {
      return '登录失败'
    }
      return '登录成功'
    }
  },
  methods: {
    // æ—¶é—´æœç´¢èŒƒå›´å˜åŒ–
admin/src/views/vehicle/cars.vue
@@ -54,7 +54,7 @@
      </ul>
      <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
        <el-table-column type="selection" width="55"></el-table-column>
        <el-table-column prop="code" label="车牌号" min-width="100px"></el-table-column>
        <el-table-column prop="code" label="车牌号"  fixed="left" min-width="100px"></el-table-column>
        <el-table-column prop="memberName" label="车主姓名" min-width="100px"></el-table-column>
        <el-table-column prop="memberPhone" label="车主手机号" min-width="100px"></el-table-column>
        <el-table-column prop="catePName" label="一级分类" min-width="120px"></el-table-column>
@@ -104,7 +104,7 @@
        <el-table-column prop="editDate" label="操作时间" min-width="140px"></el-table-column>
        <el-table-column
          v-if="containPermissions(['business:member:update', 'business:member:delete', 'business:empower:create'])"
          label="操作" min-width="200" align="center" fixed="right">
          label="操作" min-width="200" align="center">
          <template slot-scope="{row}">
            <el-button type="text" icon="el-icon-edit" @click="handleEdit(row)"
              v-permissions="['business:cars:update']">编辑</el-button>
server/system_gateway/src/main/java/com/doumee/config/CustomWebFilterConfig.java
@@ -1,6 +1,7 @@
package com.doumee.config;
import com.doumee.config.GatewayFilterProperties;
import com.doumee.config.jwt.JwtTokenUtil;
import com.doumee.core.utils.Constants;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -25,7 +26,8 @@
    private RedisTemplate<String,Object> stringRedisTemplate;
    @Resource
    private GatewayFilterProperties notAuthUrlProperties;
    @Resource
    private JwtTokenUtil jwtTokenUtil;
    @Bean
    public WebFilter webFilter() {
        return (exchange, chain) -> {
@@ -40,6 +42,7 @@
                if (StringUtils.isBlank(userInfo)) {
                    return unAuthorize(exchange);
                }
                jwtTokenUtil.refreshTokenTime(token,userInfo);
                //把新的 exchange放回到过滤链
                ServerHttpRequest request = exchange.getRequest().mutate().header(Constants.HEADER_USER_TOKEN, token).build();
                ServerWebExchange newExchange = exchange.mutate().request(request).build();
server/system_gateway/src/main/java/com/doumee/config/GlobalFilterConfig.java
@@ -1,5 +1,6 @@
package com.doumee.config;
import com.doumee.config.jwt.JwtTokenUtil;
import com.doumee.core.utils.Constants;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -70,7 +71,6 @@
        }
        return false;
    }
    // è¿”回未登录的自定义错误
    private Mono<Void> unAuthorize(ServerWebExchange exchange) {
        // è®¾ç½®é”™è¯¯çŠ¶æ€ç ä¸º401
server/system_gateway/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: self
    active: pro
  application:
    name: system_gateway
  # å®‰å…¨é…ç½®
server/system_service/src/main/java/com/doumee/config/jwt/JwtTokenUtil.java
@@ -234,4 +234,13 @@
        }
        return claims;
    }
    /**
     * å‘后延伸有效期保持会话继续
     * @param token
     */
    public void refreshTokenTime(String token,String usrerInfo) {
        redisTemplate.opsForValue().set(Constants.REDIS_TOKEN_KEY+token,usrerInfo,jwtProperties.getExpiration(), TimeUnit.MILLISECONDS);
    }
}
server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderDetailVOResponse.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,21 @@
package com.doumee.service.business.third.model.response;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author æ±Ÿè¹„蹄
 * @date 2023/11/23 14:03
 */
@Data
@ApiModel("tms合同详情品规明细返回参数")
public class TmsOrderDetailVOResponse {
    @ApiModelProperty(value = "品规名称" )
    private String     productName;//    å­—符串    å“è§„名称
    @ApiModelProperty(value = "数量(万支)" )
    private BigDecimal pnumber;//    æ•°å­—    æ•°é‡
}
server/system_service/src/main/java/com/doumee/service/business/third/model/response/TmsOrderInfoResponse.java
@@ -52,6 +52,8 @@
    private Integer overStock    ;
    @ApiModelProperty(value = "gis轨迹经纬度集合" )
    private List<TmsGisListResponse> gisList;
    @ApiModelProperty(value = "规格商品明细" )
    private List<TmsOrderDetailVOResponse> orderDetailVOList;
    @ApiModelProperty(value = "生命周期集合" )
    private List<TmsCircleStatusResultListResponse> cicleStatusList;
}
server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -155,9 +155,20 @@
                throw e;
            }
        }
        try {
        LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,dto.getOpenid(),request);
        systemLoginLogService.create(loginLog);
        return  user;
        }catch (BusinessException e){
            loginLog.setSuccess(Boolean.FALSE);
            systemLoginLogService.create(loginLog);
            throw e;
        }catch (Exception e){
            loginLog.setSuccess(Boolean.FALSE);
            systemLoginLogService.create(loginLog);
            throw e;
        }
    }
    @Override
    public LoginUserInfo loginH5 (LoginH5DTO dto, ServerHttpRequest request) {
@@ -191,6 +202,7 @@
            loginLog.setPlatform(Utils.User_Client.getPlatform(request));
            loginLog.setClientInfo(Utils.User_Client.getBrowser(request));
            loginLog.setOsInfo(Utils.User_Client.getOS(request));
            loginLog.setSuccess(Boolean.TRUE);
        }
        loginLog.setServerIp(Utils.Server.getIP());
        return  loginLog;
@@ -200,9 +212,20 @@
    public LoginUserInfo loginH5ByPhone(LoginPhoneDTO dto, ServerHttpRequest request) {
        isCaptcheValide(dto.getPhone(),dto.getCode());//检查验证码
        SystemLoginLog loginLog = getInitLoginlog(dto.getPhone(),request);
        try{
        LoginUserInfo userInfo = dealLoginByPwdNewBiz(null,null,dto.getPhone(),dto.getOpenid(), request );
        systemLoginLogService.create(loginLog);
        return userInfo;
        }catch (BusinessException e){
            loginLog.setSuccess(Boolean.FALSE);
            systemLoginLogService.create(loginLog);
            throw e;
        }catch (Exception e){
            loginLog.setSuccess(Boolean.FALSE);
            systemLoginLogService.create(loginLog);
            throw e;
        }
    }
    private LoginUserInfo dealLoginByPwdNewBiz(String username,String pwd, String phone, String openid, ServerHttpRequest request) {
        // æ ¹æ®ç”¨æˆ·åæŸ¥è¯¢ç”¨æˆ·å¯¹è±¡
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HiddenDangerCloudController.java
@@ -51,7 +51,7 @@
    @GetMapping("/delete/{id}")
    @CloudRequiredPermission("business:hiddendanger:delete")
    public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        hiddenDangerService.deleteById(id);
        hiddenDangerService.deleteById(id,this.getLoginUser(token));
        return ApiResponse.success(null);
    }
server/visits/dmvisit_service/src/main/java/com/doumee/core/haikang/service/HKCarOpenService.java
@@ -156,7 +156,7 @@
            }
        }
        Collections.sort(list, (o1, o2) -> {
            return (int) (o1.getTimeStamp() - o2.getTimeStamp()); //按数量从大到小排序
            return (int) (o2.getTimeStamp() - o1.getTimeStamp()); //按时间倒序
        });
        return list;
    }
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/HiddenDangerLog.java
@@ -63,8 +63,8 @@
    @ExcelColumn(name="简介")
    private String content;
    @ApiModelProperty(value = "操作类型 0发起申请 1转交 2退回 3取消 4整改处理", example = "1")
    @ExcelColumn(name="操作类型 0发起申请 1转交 2退回 3取消 4整改处理")
    @ApiModelProperty(value = "操作类型 0发起申请 1转交 2退回 3取消 4整改处理 5删除记录", example = "1")
    @ExcelColumn(name="操作类型 0发起申请 1转交 2退回 3取消 4整改处理5删除记录")
    private Integer objType;
    @ApiModelProperty(value = "关联对象编码")
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/Platform.java
@@ -145,6 +145,7 @@
    @ApiModelProperty(value = "角度", example = "1")
    @ExcelColumn(name="角度")
    private BigDecimal angle;
    @ApiModelProperty(value = "月台作业效率(万支/小时)", example = "1")
    @ExcelColumn(name="月台作业效率(万支/小时)")
    private BigDecimal workRate;
server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/PlatformJob.java
@@ -346,6 +346,14 @@
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(exist = false)
    private Date beginWorkDateStart;
    @ApiModelProperty(value = "开始时间起")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(exist = false)
    private Date createDateStart;
    @ApiModelProperty(value = "开始时间止")
    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date createDateEnd;
    @ApiModelProperty(value = "开始作业时间止")
    @JsonFormat(pattern = "yyyy-MM-dd")
@@ -362,14 +370,6 @@
    @TableField(exist = false)
    private Date beginDoneDateEnd;
    @ApiModelProperty(value = "创建时间起")
    @TableField(exist = false)
    private Date createDateStart;
    @ApiModelProperty(value = "创建时间止")
    @TableField(exist = false)
    private Date createDateEnd;
    @ApiModelProperty(value = "月台组名称")
    @TableField(exist = false)
@@ -415,17 +415,20 @@
    public void dealTime(){
        if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WAIT_CONFIRM.getKey())
                || Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey())
         ){
                || Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WART_SIGN_IN.getKey()) ){
            return;
        }
        if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){
            if(this.getSignDate()!=null)
            this.setOptTime(this.getSignDate().getTime());
        }else if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.IN_WAIT.getKey())){
            if(this.getInwaitDate()!=null)
            this.setOptTime(this.getInwaitDate().getTime());
        }else if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.CALLED.getKey())){
            if(this.getCallDate()!=null)
            this.setOptTime(this.getCallDate().getTime());
        }else if(Constants.equalsInteger(this.getStatus(),Constants.PlatformJobStatus.WORKING.getKey())){
            if(this.getStartDate()!=null)
            this.setOptTime(this.getStartDate().getTime());
        }
    }
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/HiddenDangerService.java
@@ -1,5 +1,6 @@
package com.doumee.service.business;
import com.doumee.service.business.third.model.LoginUserInfo;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
import com.doumee.dao.business.model.HiddenDanger;
@@ -26,6 +27,7 @@
     * @param id ä¸»é”®
     */
    void deleteById(Integer id);
    void deleteById(Integer id, LoginUserInfo user);
    /**
     * åˆ é™¤
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -239,6 +239,43 @@
    public void deleteById(Integer id) {
        hiddenDangerMapper.deleteById(id);
    }
    @Override
    public void deleteById(Integer id,LoginUserInfo user) {
        if( Objects.isNull(id)   ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST);
        }
        HiddenDanger model = hiddenDangerMapper.selectJoinOne(HiddenDanger.class,new MPJLambdaWrapper<HiddenDanger>()
                .selectAll(HiddenDanger.class)
                .selectAs(Member::getName,HiddenDanger::getCheckorName)
                .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
                .eq(HiddenDanger::getId,id)
                .eq(HiddenDanger::getIsdeleted,Constants.ZERO)
        );
        if(Objects.isNull(model)){
            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"未查询到隐患数据");
        }
        if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) {
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"数据状态已流转,请刷新查看!");
        }
        HiddenDanger hiddenDanger  = new HiddenDanger();
        hiddenDanger.setIsdeleted(Constants.ONE);
        hiddenDanger.setId(id);
        hiddenDanger.setEditor(user.getId());
        hiddenDanger.setEditDate(new Date());
        hiddenDangerMapper.updateById(hiddenDanger);
        //存储 æ“ä½œæ—¥å¿—
        HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
        hiddenDangerLog.setIsdeleted(Constants.ZERO);
        hiddenDangerLog.setCreateDate(new Date());
        hiddenDangerLog.setCreator(hiddenDanger.getEditor());
        hiddenDangerLog.setEditDate(hiddenDangerLog.getCreateDate());
        hiddenDangerLog.setEditor(hiddenDanger.getCreator());
        hiddenDangerLog.setTitle("由【"+user.getRealname()+"】删除记录");
        hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId());
        hiddenDangerLog.setObjType(Constants.FIVE);
        hiddenDangerLogMapper.insert(hiddenDangerLog);
    }
    @Override
    public void delete(HiddenDanger hiddenDanger) {
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -297,13 +297,13 @@
                .apply(pageWrap.getModel().getQueryStatus() != null, " find_in_set(t.`STATUS`,'"+pageWrap.getModel().getQueryStatus()+"')")
                .apply(pageWrap.getModel().getQueryStatusForPower() != null, " find_in_set(t.`STATUS`,'"+pageWrap.getModel().getQueryStatusForPower()+"')")
                .apply(pageWrap.getModel().getQueryType() != null, " find_in_set(t.TYPE,'"+pageWrap.getModel().getQueryType()+"')")
                .ge(pageWrap.getModel().getCreateDateStart() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart()))
                .le(pageWrap.getModel().getCreateDateEnd() != null, PlatformJob::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDateEnd()))
                .ge(pageWrap.getModel().getBeginWorkDateStart() != null, PlatformJob::getStartDate, Utils.Date.getStart(pageWrap.getModel().getBeginWorkDateStart()))
                .le(pageWrap.getModel().getBeginWorkDateEnd() != null, PlatformJob::getStartDate, Utils.Date.getEnd(pageWrap.getModel().getBeginWorkDateEnd()))
                .ge(pageWrap.getModel().getBeginDoneDateStart() != null, PlatformJob::getDoneDate, Utils.Date.getStart(pageWrap.getModel().getBeginDoneDateStart()))
                .le(pageWrap.getModel().getBeginDoneDateEnd() != null, PlatformJob::getDoneDate, Utils.Date.getEnd(pageWrap.getModel().getBeginDoneDateEnd()))
                .ge(pageWrap.getModel().getCreateDateStart() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getStart(pageWrap.getModel().getCreateDateStart()))
                .le(pageWrap.getModel().getCreateDateEnd() != null, PlatformWmsJob::getIoCreatedate, Utils.Date.getEnd(pageWrap.getModel().getCreateDateEnd()))
                .isNotNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
                .isNull(pageWrap.getModel().getJobType() != null && Constants.equalsInteger(Constants.ZERO,pageWrap.getModel().getJobType()), PlatformJob::getContractNum)
                .exists(StringUtils.isNotBlank(pageWrap.getModel().getWmsContractNum()),
@@ -346,15 +346,12 @@
                .apply("(  t1.isdeleted = 0 or t.PLATFORM_ID is null  )")
                .eq(pageWrap.getModel().getPlatformGroupId() != null, PlatformJob::getPlatformGroupId, pageWrap.getModel().getPlatformGroupId())
                .like(pageWrap.getModel().getCarCodeFront() != null, PlatformJob::getCarCodeFront, pageWrap.getModel().getCarCodeFront())
                .apply(Objects.nonNull(pageWrap.getModel().getCallType())
                                &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.ONE),
                        " ( " +
                                " ( t.`STATUS` = "+Constants.PlatformJobStatus.WAIT_CALL.getKey()+" and t.PLATFORM_GROUP_ID = ( SELECT p.group_id FROM platform p WHERE p.id = "+pageWrap.getModel().getPlatformId()+" LIMIT 1 )  )" +
                                ") "
                )
                .apply(Objects.nonNull(pageWrap.getModel().getCallType())
                                &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.TWO),
                                 " ( " +
@@ -365,8 +362,6 @@
                                         "  (t.`STATUS` = "+Constants.PlatformJobStatus.TRANSFERING.getKey()+" and t.PLATFORM_ID = "+pageWrap.getModel().getPlatformId()+" )  " +
                                         ") "
                )
                .and(Objects.nonNull(pageWrap.getModel().getCallType())
                                &&Constants.equalsInteger(pageWrap.getModel().getCallType(),Constants.THREE),
                        i->i.eq(PlatformJob::getStatus,Constants.PlatformJobStatus.WAIT_CALL.getKey()).or()
@@ -428,8 +423,6 @@
            }
        } 
    }
    public void queryWaitNum(PlatformJob platformJob){
        if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){
            //查询当前所有排队数量
@@ -442,11 +435,10 @@
                    .eq(PlatformJob::getPlatformGroupId,platformJob.getPlatformGroupId())
//                    .like(PlatformJob::getArriveDate,DateUtil.dateTypeToString(platformJob.getArriveDate(),"yyyy-MM-dd"))
            );
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(lineUpAllList)){
            for (PlatformJob linePlatformJob:lineUpAllList) {
                this.getWmsJobData(linePlatformJob);
            }
            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(lineUpAllList)){
                //查询排队在我前面的数据
                List<PlatformJob> lineUpNum = lineUpAllList.stream().filter(i->Objects.nonNull(i.getSignDate())&&i.getSignDate().getTime()<platformJob.getSignDate().getTime()).collect(Collectors.toList());
                platformJob.setLineUpNum(lineUpNum.size());
@@ -457,7 +449,10 @@
                //计算预计等待时间
                List<Platform> platformList = platformJoinMapper.selectList(new QueryWrapper<Platform>().lambda()
                        .eq(Platform::getIsdeleted,Constants.ZERO).eq(Platform::getGroupId,platformJob.getPlatformGroupId()));
                BigDecimal workRate = platformList.stream().map(m->m.getWorkRate()).reduce(BigDecimal.ZERO,BigDecimal::add);
                BigDecimal workRate = new BigDecimal(0);
                if(platformList!=null){
                      workRate = platformList.stream().map(m->Constants.formatBigdecimal(m.getWorkRate())).reduce(BigDecimal.ZERO,BigDecimal::add);
                }
                if(sumWorkRate.compareTo(BigDecimal.ZERO) > Constants.ZERO && workRate.compareTo(BigDecimal.ZERO)  > Constants.ZERO ){
                    BigDecimal sumMinute = sumWorkRate.divide(workRate,1, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(60L));
                    Integer sumMinuteInteger = sumMinute.intValue();
@@ -484,7 +479,7 @@
                    .orderByDesc(PlatformLog::getCreateDate)
                    .last(" limit 1")
            );
            if(Objects.nonNull(platformLog)){
            if(Objects.nonNull(platformLog) && platformJob.getWorkRate()!=null && platformJob.getWorkRate().compareTo(new BigDecimal(0))>0){
                BigDecimal sumMinute = platformJob.getTotalNum().divide(platformJob.getWorkRate(),1, RoundingMode.HALF_DOWN).multiply(BigDecimal.valueOf(60L));
                platformJob.setFinishTimeStr(DateUtil.DateToStr(DateUtil.afterMinutesDate(platformLog.getCreateDate(),sumMinute.intValue()),"HH:mm"));
            }
@@ -494,7 +489,9 @@
                    .isNotNull(PlatformLog::getParam3)
                    .ne(PlatformLog::getParam3,Constants.ZERO+"")
                    .orderByDesc(PlatformLog::getCreateDate));
            platformJob.setWorkTime(platformLogList.stream().map(m->Long.valueOf(m.getParam3())).reduce(Long.valueOf(0),Long::sum));
            if(platformLogList!=null){
                platformJob.setWorkTime(platformLogList.stream().map(m->Long.valueOf(StringUtils.defaultString(m.getParam3(),"0"))).reduce(Long.valueOf(0),Long::sum));
            }
        }
    }
@@ -534,7 +531,6 @@
            //查询前方排队数量
            this.queryWaitNum(platformJob);
        }
        driverHomeVO.setPlatformJobList(platformJobList);
        // å›­åŒºå¯¼è§ˆå›¾  å›¾ç‰‡
        driverHomeVO.setReservationMap(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.PLATFORM_GUIDEMAP).getCode());
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/RetentionServiceImpl.java
@@ -55,8 +55,9 @@
    @Override
    public void deleteById(Integer id) {
        retentionMapper.update(null,new UpdateWrapper<Retention>().lambda().set(Retention::getIsdeleted,Constants.ONE).eq(Retention::getId,id));
//        retentionMapper.deleteById(id);
//        retentionMapper.update(null,new UpdateWrapper<Retention>().lambda().set(Retention::getIsdeleted,Constants.ONE)
//                .eq(Retention::getId,id));
        retentionMapper.deleteById(id);
    }
    @Override
@@ -231,8 +232,8 @@
                .selectAs(Member::getPhone,Retention::getPhone)
                .selectAs(Member::getVisitCompanyName,Retention::getVisitCompanyName)
                .and(StringUtils.isNotBlank(pageWrap.getModel().getKeyWords()),w->{
                    w.like( Retention::getPhone,pageWrap.getModel().getKeyWords())
                            .or().like( Retention::getName,pageWrap.getModel().getKeyWords()); })
                    w.like( Member::getPhone,pageWrap.getModel().getKeyWords())
                            .or().like( Member::getName,pageWrap.getModel().getKeyWords()); })
                .eq(Retention::getType,3)
                .eq(Retention::getIsdeleted,Constants.ZERO)
                .and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/VisitsServiceImpl.java
@@ -1601,6 +1601,7 @@
                            .selectAll(Retention.class)
                            .selectAs(Company::getType,Retention::getCompanyType)
                            .leftJoin(Company.class,Company::getId,Retention::getCompanyId)
                            .eq(Retention::getIsdeleted,Constants.ZERO)
            );
            InoutDayCount inoutDayCount = inoutDayCountMapper.selectOne(new QueryWrapper<InoutDayCount>()
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -1776,6 +1776,7 @@
                        .selectAll(Retention.class)
                        .selectAs(Company::getType,Retention::getCompanyType)
                        .leftJoin(Company.class,Company::getId,Retention::getCompanyId)
                        .eq(Retention::getIsdeleted,Constants.ZERO)
        );
        //今日在园人数
@@ -1888,9 +1889,13 @@
                    }else{
                        platformDurationVO.setWorkType(Constants.ZERO);//如果是卸货
                    }
                    Integer workMinute = Constants.formatBigdecimal(job.getWorkNum()).multiply(new BigDecimal(60)).divide(model.getWorkRate(),0,BigDecimal.ROUND_HALF_UP).intValue();
                    Date overDate = DateUtil.getXMinuteAfterDate(job.getNewStartDate(),workMinute + model.getWorkTimeoutAlarmTime());//预计完成时间
                    Integer workMinute = 0;
                    Date overDate =null;
                    if(model.getWorkRate()!=null && model.getWorkRate().compareTo(new BigDecimal(0)) !=0){
                        workMinute   = Constants.formatBigdecimal(job.getWorkNum()).multiply(new BigDecimal(60)).divide(model.getWorkRate(),0,BigDecimal.ROUND_HALF_UP).intValue();
                        overDate = DateUtil.getXMinuteAfterDate(job.getNewStartDate(),workMinute + model.getWorkTimeoutAlarmTime());//预计完成时间
                    platformDurationVO.setFinishTimeStr(DateUtil.DateToStr(overDate,"HH:mm"));
                    }
                    platformDurationVO.setWorkNum(Constants.formatBigdecimal(job.getWorkNum()).intValue());
                    platformDurationVO.setCarNo(job.getCarCodeFront());//车牌号
@@ -1899,7 +1904,7 @@
                    }else{
                        platformDurationVO.setStatus(Constants.ZERO); //作业中
                        platformDurationVO.setWorkTime(PlatformJobServiceImpl.getWorkTime(job,platformLogMapper));//已工作时间
                        if(overDate.getTime() < System.currentTimeMillis() ){
                        if(overDate!=null && overDate.getTime() < System.currentTimeMillis() ){
                            model.setStatus(Constants.TWO); //作业已超时
                        }
                    }