jiangping
2025-01-16 f63d3a3be83fea258e7920efccd2567b6a511bb3
最新版本541200007
已添加1个文件
已删除4个文件
已修改36个文件
已重命名1个文件
739 ■■■■■ 文件已修改
admin/src/api/system/user.js 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/meeting/bookings.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_admin/src/main/java/com/doumee/api/business/MeetingController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_admin/src/main/resources/application.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_admin/src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/dao/web/request/MeetingPageRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingListResponse.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java 95 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/startsh/DBbackup.sh 补丁 | 查看 | 原始文档 | blame | 历史
server/startsh/admin_start.sh 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/startsh/erp_start.sh 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/startsh/logByDate.sh 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/startsh/timer_start.sh 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/startsh/web_start.sh 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/resources/bootstrap.yml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_gateway/src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/Constants.java 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/dao/business/model/Company.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/dao/business/model/Member.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/service/business/third/model/TMSContants.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/admin_timer/src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_admin/src/main/resources/logback-spring.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractByJobIdDTO.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java 66 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java 165 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/system/user.js
@@ -7,6 +7,9 @@
export function pageDriverList (data) {
  return request.post('/visitsAdmin/cloudService/system/user/pageDriver', data)
}
export function findAllList (data) {
  return request.post('/visitsAdmin/cloudService/system/user/findAllList', data)
}
// æ–°å»º
export function create (data) {
admin/src/views/meeting/bookings.vue
@@ -105,9 +105,9 @@
              <el-button v-if="row.meetingStatus == '1'" type="text"
                @click="$refs.operaBookingsWindow.open('编辑会议预约', row)"
                v-permissions="['business:bookings:update']">编辑</el-button>
              <el-button type="text" v-if="row.meetingStatus == '1'" @click="handleStart(row)">开始</el-button>
              <el-button type="text" v-if="row.meetingStatus == '1' || row.meetingStatus == '4'" @click="handleStart(row)">开始</el-button>
              <el-button type="text" v-if="row.meetingStatus == '2'" @click="handleEnd(row)">结束</el-button>
              <el-button v-if="row.meetingStatus == '1'" type="text" @click="cancelMeeting(row.id)"
              <el-button v-if="row.meetingStatus == '1' || row.meetingStatus == '4'" type="text" @click="cancelMeeting(row.id)"
                v-permissions="['business:bookings:update']">撤回</el-button>
            </template>
            <!-- <el-button v-else type="text" @click="deleteById(row)" v-permissions="['business:bookings:delete']">删除</el-button> -->
server/meeting/meeting_admin/src/main/java/com/doumee/api/business/MeetingController.java
@@ -44,13 +44,15 @@
    @ApiOperation(value = "当月会议表", notes = "当月会议表")
    @GetMapping("/monthMeeting")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "年月  yyyy-MM", required = true)
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "年月  yyyy-MM", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "queryType", value = "查询类别:1=我参与的;2=我预约的;3管理员查看全部 ", required = true)
    })
    public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth) {
    public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth
            ,@RequestParam(required = false) Integer queryType) {
        LoginUserInfo user = getLoginUser(null);
        List<String> dataList = DateUtil.getDayByMonth(yearMonth);
        List<MonthDataResponse> monthDataResponseList = new ArrayList<>();
        List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth);
        List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth,queryType);
        for (String str:dataList) {
            MonthDataResponse  monthDataResponse = new MonthDataResponse();
            monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName());
server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/MeetingCloudController.java
@@ -47,14 +47,16 @@
    @ApiOperation(value = "当月会议表", notes = "当月会议表")
    @GetMapping("/monthMeeting")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "年月  yyyy-MM", required = true)
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "年月  yyyy-MM", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "queryType", value = "查询类别:1=我参与的;2=我预约的;3管理员查看全部 ", required = true)
    })
    public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
    public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth
            ,@RequestParam(required = false) Integer queryType
            ,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        List<String> dataList = DateUtil.getDayByMonth(yearMonth);
        List<MonthDataResponse> monthDataResponseList = new ArrayList<>();
        List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth);
        List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth,queryType);
        for (String str:dataList) {
            MonthDataResponse  monthDataResponse = new MonthDataResponse();
            monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName());
server/meeting/meeting_admin/src/main/java/com/doumee/cloud/web/MeetingApi.java
@@ -58,14 +58,16 @@
    @ApiOperation(value = "当月会议表", notes = "当月会议表")
    @GetMapping("/monthMeeting")
    @ApiImplicitParams({
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "年月  yyyy-MM", required = true)
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "yearMonth", value = "年月  yyyy-MM", required = true),
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "queryType", value = "查询类别:1=我参与的;2=我预约的;3管理员查看全部 ", required = true)
    })
    public ApiResponse<List<MonthDataResponse>> monthDay(@RequestParam String yearMonth
            ,@RequestParam(required = false) Integer queryType
            ,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        LoginUserInfo user = getLoginUser(token);
        List<String> dataList = DateUtil.getDayByMonth(yearMonth);
        List<MonthDataResponse> monthDataResponseList = new ArrayList<>();
        List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth);
        List<Bookings> bookings = bookingsService.getMyBookings(user.getId(),yearMonth,queryType);
        for (String str:dataList) {
            MonthDataResponse  monthDataResponse = new MonthDataResponse();
            monthDataResponse.setWeekMsg(DateUtil.getWeek(DateUtil.StringToDate(str,"yyyy-MM-dd")).getChineseName());
server/meeting/meeting_admin/src/main/resources/application.yml
@@ -54,7 +54,7 @@
# dao层的日志设置为debug,方便查看sql
logging:
  level:
    doumeemes.dao: debug
    com.doumee.dao: debug
# WEB服务器配置
server/meeting/meeting_admin/src/main/resources/logback-spring.xml
@@ -5,7 +5,7 @@
            <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern>
        </layout>
    </appender>
    <property name="log.path" value="logs/meetingAdmin"></property>
    <property name="log.path" value="/usr/local/jars/logs/meetingAdmin"></property>
    <property name="log.fileSize" value="100MB"></property>
    <property name="log.historyDays" value="7"></property>
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/BookingsMapper.java
@@ -9,6 +9,7 @@
import com.doumee.dao.system.vo.UserStatisticsVo;
import com.doumee.dao.web.response.MeetingDetailResponse;
import com.doumee.dao.web.response.MeetingListResponse;
import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -18,7 +19,7 @@
 * @author æ±Ÿè¹„蹄
 * @date 2023/05/04 18:18
 */
public interface BookingsMapper extends BaseMapper<Bookings> {
public interface BookingsMapper extends MPJBaseMapper<Bookings> {
@@ -28,8 +29,9 @@
            " CASE WHEN a.START_TIME_REAL IS NULL AND a.`STATUS` = 0 THEN 1  WHEN (  a.`STATUS` = 2 ) THEN 3 WHEN a.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ," +
            " b.IMGURL as imgUrl ," +
            " a.remark  " +
            " from meeting_book a inner join meeting_rooms b  on a.ROOM_ID = b.ID  " +
            " inner join system_user c on a.CREATOR = c.id  " +
            " from meeting_book a" +
            " left join meeting_rooms b  on a.ROOM_ID = b.ID  " +
            " left join system_user c on a.CREATOR = c.id  " +
            " ${ew.customSqlSegment} ")
    IPage<MeetingListResponse> myMeetingPage(IPage<MeetingListResponse> page, @Param(Constants.WRAPPER) Wrapper wrapper);
server/meeting/meeting_service/src/main/java/com/doumee/dao/business/model/Bookings.java
@@ -182,4 +182,25 @@
    @ApiModelProperty(value = "会议状态: 1=未开始;2=进行中;3=已结束 ; 4=即将开始; 5=已撤销")
    @TableField(exist = false)
    private Integer meetingStatus;
    @ApiModelProperty(value = "查询日期 yyyy-MM-dd")
    @TableField(exist = false)
    private String queryDate;
    @ApiModelProperty(value = "查询类别:1=我参与的;2=我预约的;")
    @TableField(exist = false)
    private Integer queryType;
    @ApiModelProperty(value = "会议室名称")
    @TableField(exist = false)
    private String roomsName;
    @ApiModelProperty(value = "会议室主键")
    @TableField(exist = false)
    private Integer roomsId;
}
server/meeting/meeting_service/src/main/java/com/doumee/dao/web/request/MeetingPageRequest.java
@@ -20,7 +20,7 @@
    @ApiModelProperty(value = "用户主键")
    private Integer userId;
    @ApiModelProperty(value = "查询类别:1=我参与的;2=我预约的;")
    @ApiModelProperty(value = "查询类别:1=我参与的;2=我预约的;3管理员查看全部")
    private Integer queryType;
    @ApiModelProperty(value = "状态:未开始 1   å·²ç»“束 2")
server/meeting/meeting_service/src/main/java/com/doumee/dao/web/response/MeetingListResponse.java
@@ -18,7 +18,7 @@
 */
@Data
@ApiModel("会议列表返回类")
public class MeetingListResponse{
public class   MeetingListResponse{
    @ApiModelProperty(value = "主键")
    private Integer id;
server/meeting/meeting_service/src/main/java/com/doumee/service/business/BookingsService.java
@@ -125,7 +125,7 @@
     * @param dateMsg
     * @return
     */
    List<Bookings> getMyBookings(Integer userId,String dateMsg);
    List<Bookings> getMyBookings(Integer userId,String dateMsg,Integer queryType);
    /**
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -49,6 +49,7 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.awt.print.Book;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
@@ -853,15 +854,21 @@
     * @return
     */
    @Override
    public List<Bookings> getMyBookings(Integer userId, String dateMsg) {
        return bookingsMapper.selectList(new QueryWrapper<Bookings>()
                .apply(" id in ( select u.OBJ_ID from meeting_user_rel u where u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 1  ) ")
                .eq("ISDELETED",MeetConstants.ZERO)
    public List<Bookings> getMyBookings(Integer userId, String dateMsg,Integer queryType) {
        if(queryType==null ){
            queryType  =1;
        }
        return bookingsMapper.selectJoinList(Bookings.class,new MPJLambdaWrapper<Bookings>()
                .selectAll(Bookings.class)
                 .leftJoin(Rooms.class,Rooms::getId,Bookings::getRoomId)
                .exists(queryType!=3,"( select u.OBJ_ID from meeting_user_rel u where u.OBJ_ID =t.id and u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 1  ) ")
                .exists(queryType==3,"( select u.OBJ_ID from meeting_user_rel u where u.OBJ_ID =t1.id and  u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 0 ) ")
                .eq(Bookings::getIsdeleted,MeetConstants.ZERO)
                .eq(Rooms::getIsdeleted,MeetConstants.ZERO)
                .eq(Rooms::getStatus,MeetConstants.ZERO)
//                .eq("STATUS",MeetConstants.ZERO)
                .apply(" ROOM_ID in ( select r.id from meeting_rooms r where r.ISDELETED = 0 and r.STATUS = 0  )")
                .like(StringUtils.isNotBlank(dateMsg), "START_TIME", dateMsg));
                .like(StringUtils.isNotBlank(dateMsg), Bookings::getStartTime, dateMsg));
    }
    /**
     * æˆ‘的预约/我的会议
@@ -869,20 +876,81 @@
     * @param pageWrap
     * @return
     */
    public IPage<Bookings> getMyMeetingPageNew(PageWrap<Bookings> pageWrap) {
        IPage<Bookings> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
        MPJLambdaWrapper<Bookings> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap.getModel());
        queryWrapper.selectAll(Bookings.class);
        queryWrapper.selectAs(Rooms::getName, Bookings::getRoomName);
        queryWrapper.selectAs(SystemUser::getRealname, Bookings::getRealName);
        queryWrapper.selectAs(Company::getName, Bookings::getDepartmentName);
        queryWrapper.select(" CASE WHEN t.START_TIME_REAL IS NULL AND t.`STATUS` = 0 THEN 1  WHEN ( ( t.END_TIME < now()  AND t.`STATUS` = 0 ) or t.`STATUS` = 2 ) THEN 3 WHEN t.`STATUS` = 1 THEN 5 ELSE  2  END meetingStatus ");
        queryWrapper.leftJoin(Rooms.class, Rooms::getId, Bookings::getRoomId);
        queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Bookings::getCreator);
        queryWrapper.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId);
        queryWrapper.orderByDesc(Bookings::getCreateDate);
        queryWrapper.eq(Bookings::getIsdeleted, MeetConstants.ZERO);
        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getRoomsName()),
                j -> j.like(Bookings::getName,pageWrap.getModel().getRoomsName()).or().like(Rooms::getName, pageWrap.getModel().getRoomsName()))
                .exists(pageWrap.getModel().getQueryType().equals(MeetConstants.ONE) && !Objects.isNull(pageWrap.getModel().getUserId()),
                        " select u.id from meeting_user_rel u where t.id = u.OBJ_ID and  u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and u.OBJ_TYPE = 1  ")
                .eq(pageWrap.getModel().getQueryType().equals(MeetConstants.TWO)
                        && !Objects.isNull(pageWrap.getModel().getUserId()), Bookings::getCreator, pageWrap.getModel().getUserId())
                .like(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()),  Bookings::getStartTime, pageWrap.getModel().getQueryDate())
                .eq(!Objects.isNull(pageWrap.getModel().getRoomsId()), Bookings::getRoomId, pageWrap.getModel().getRoomsId())
                .apply(!Objects.isNull(pageWrap.getModel().getStatus()) && pageWrap.getModel().getStatus().equals(MeetConstants.ONE),
                        " now() < t.END_TIME and t.STATUS = 0   ")
                .and(!Objects.isNull(pageWrap.getModel().getStatus()) && pageWrap.getModel().getStatus().equals(MeetConstants.TWO),
                        j -> j.apply("now() >= t.END_TIME ").or()
                                .eq(" t.STATUS", MeetConstants.ONE))
                .eq(Rooms::getIsdeleted,MeetConstants.ZERO)
                .eq(Rooms::getStatus,MeetConstants.ZERO)
                .eq(Bookings::getIsdeleted,MeetConstants.ZERO)
                .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
                                &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.ONE),
                        " ( now() < t.START_TIME and t.status = 0 ) "
                )
                .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
                                &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.TWO),
                        " ( now() >= t.START_TIME and t.END_TIME >= now() and t.status = 0 ) "
                )
                .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
                                &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.THREE),
                        " ( ( now() >t.END_TIME  and  t.`STATUS` = 0  ) or  t.`STATUS` = 2  )  "
                )
                .apply(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
                                &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.FOUR),
                        " now() < t.START_TIME  AND SUBDATE( t.START_TIME, INTERVAL 120 MINUTE ) < NOW() "
                )
                .eq(Objects.nonNull(pageWrap.getModel().getMeetingStatus())
                                &&Constants.equalsInteger(pageWrap.getModel().getMeetingStatus(),Constants.FIVE),
                        Bookings::getStatus,MeetConstants.ONE
                )
                .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.TWO),Bookings::getCreateDate)
                .orderByAsc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.ONE),Bookings::getStartTime);
        IPage<Bookings> result = bookingsJoinMapper.selectJoinPage(page, Bookings.class, queryWrapper);
        return result;
    }
    @Override
    public IPage<MeetingListResponse> getMyMeetingPage(PageWrap<MeetingPageRequest> pageWrap) {
        QueryWrapper queryWrapper = new QueryWrapper<MeetingListResponse>()
                .and(StringUtils.isNotBlank(pageWrap.getModel().getRoomsName()),
                        j -> j.like("a.NAME",pageWrap.getModel().getRoomsName()).or()
                                .like(" b.NAME", pageWrap.getModel().getRoomsName()))
                        j -> j.like("a.NAME",pageWrap.getModel().getRoomsName()).or().like(" b.NAME", pageWrap.getModel().getRoomsName()))
                .exists(pageWrap.getModel().getQueryType().equals(MeetConstants.ONE) && !Objects.isNull(pageWrap.getModel().getUserId()),
                        " select 1 from meeting_user_rel u where a.id = u.OBJ_ID and  u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and OBJ_TYPE = 1  ")
                        " select 1 from meeting_user_rel u where a.id = u.OBJ_ID and  u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and OBJ_TYPE = 1 ")
                .exists(pageWrap.getModel().getQueryType().equals(MeetConstants.THREE) && !Objects.isNull(pageWrap.getModel().getUserId()),
                        " select 1 from meeting_user_rel u where b.id = u.OBJ_ID and  u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and OBJ_TYPE = 0 ")//管理员查看
                .eq(pageWrap.getModel().getQueryType().equals(MeetConstants.TWO) && !Objects.isNull(pageWrap.getModel().getUserId()), "a.CREATOR", pageWrap.getModel().getUserId())
                .like(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()), "a.START_TIME", pageWrap.getModel().getQueryDate())
                .eq(!Objects.isNull(pageWrap.getModel().getRoomsId()), "b.id", pageWrap.getModel().getRoomsId())
                .apply(!Objects.isNull(pageWrap.getModel().getStatus()) && pageWrap.getModel().getStatus().equals(MeetConstants.ONE), " now() < a.END_TIME and a.STATUS = 0   ")
                .and(!Objects.isNull(pageWrap.getModel().getStatus()) && pageWrap.getModel().getStatus().equals(MeetConstants.TWO),
                .apply(!Objects.isNull(pageWrap.getModel().getStatus())
                        && pageWrap.getModel().getStatus().equals(MeetConstants.ONE),
                        " now() < a.END_TIME and a.STATUS = 0   ")
                .and(!Objects.isNull(pageWrap.getModel().getStatus())
                                && pageWrap.getModel().getStatus().equals(MeetConstants.TWO),
                        j -> j.apply("now() >= a.END_TIME ").or()
                                .eq(" a.STATUS", MeetConstants.ONE))
                .eq("b.ISDELETED",MeetConstants.ZERO)
@@ -911,7 +979,8 @@
//                        .orderByDesc(!Objects.isNull(pageWrap.getModel().getStatus())&&pageWrap.getModel().getStatus().equals(MeetConstants.TWO),"a.START_TIME")
//                        .orderByAsc(Objects.isNull(pageWrap.getModel().getStatus())||pageWrap.getModel().getStatus().equals(MeetConstants.ONE),"a.START_TIME")
                .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.TWO),"a.CREATE_DATE")
                .orderByAsc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.ONE),"a.START_TIME");
                .orderByAsc(Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.ONE)
                        || Constants.equalsInteger(pageWrap.getModel().getQueryType(),MeetConstants.THREE),"a.START_TIME");
        IPage<MeetingListResponse> page = bookingsMapper.myMeetingPage(pageWrap.toPage(), queryWrapper);
        this.dealMeetingStatus(page.getRecords());
server/startsh/DBbackup.sh
server/startsh/admin_start.sh
@@ -1,9 +1,11 @@
#!/bin/bash
# èŽ·å–å½“å‰æ—¥æœŸï¼Œæ ¼å¼ä¸ºYYYYMMDD
current_date=$(date +%Y%m%d)
# å®šä¹‰æ—¥å¿—文件路径和名称,包含日期信息
log_file_path="/usr/local/jars/log/admin/info.log"
log_file_error_path="/usr/local/jars/log/admin/error.log"
killall java
nohup java -Xms2048m -Xmx2048m -Xmn2048m -XX:MetaspaceSize=1024m -XX:MaxMetaspaceSize=1024m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSInitiatingOccupancyFraction=10031 -jar /usr/local/jars/admin_interface.jar >"${log_file_path}" 2>"${log_file_error_path}" &
/usr/local/nacos/nacos/bin/startup.sh -m standalone
nohup java -jar /usr/local/jars/system_gateway.jar > /dev/null 2>&1 &
nohup java -jar /usr/local/jars/admin_timer.jar > /dev/null 2>&1 &
nohup java -jar /usr/local/jars/system_timer.jar > /dev/null 2>&1 &
nohup java -jar /usr/local/jars/admin_interface.jar > /dev/null 2>&1 &
nohup java -jar /usr/local/jars/meeting_admin.jar > /dev/null 2>&1 &
server/startsh/erp_start.sh
ÎļþÒÑɾ³ý
server/startsh/logByDate.sh
ÎļþÒÑɾ³ý
server/startsh/timer_start.sh
ÎļþÒÑɾ³ý
server/startsh/web_start.sh
ÎļþÒÑɾ³ý
server/system_gateway/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@
spring:
  profiles:
    active: pro
    active: self
  application:
    name: system_gateway
  # å®‰å…¨é…ç½®
server/system_gateway/src/main/resources/logback-spring.xml
@@ -5,7 +5,7 @@
            <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern>
        </layout>
    </appender>
    <property name="log.path" value="logs/system_gateway"></property>
    <property name="log.path" value="/usr/local/jars/logs/system_gateway"></property>
    <property name="log.fileSize" value="100MB"></property>
    <property name="log.historyDays" value="7"></property>
server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -5,15 +5,15 @@
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import net.sourceforge.pinyin4j.PinyinHelper;
import org.apache.commons.lang3.StringUtils;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.Collator;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import  java.util.Date;
import java.util.List;
import java.util.Random;
import java.util.*;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -676,8 +676,10 @@
    }
    public static void main(String[] args) {
        System.out.println(Constants.checkCarNo("皖A10991"));
        System.out.println(Constants.checkCarNo("皖AA10991"));
        getChinesePingyin("DDaa江萍的对对对");
//        System.out.println(DateUtil.getShortTime(new Date()));
//        System.out.println( "2025-01-14 10:50:56".substring(0,10));
//        System.out.println(Constants.checkCarNo("皖AA10991"));
//        System.out.println(Constants.getVehiclePlateNo("湘B140D17").getDescription());
//        System.out.println(Constants.getVehiclePlateNo("宿AP0637").getDescription());
@@ -984,6 +986,25 @@
            this.info = info;
        }
    }
    public static String getChinesePingyin(String chinese) {
        if(StringUtils.isBlank(chinese)){
            return null;
        }
        StringBuilder result = new StringBuilder();
        for (char ch : chinese.toCharArray()) {
            String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(ch);
            // å¦‚果字符是中文,则获取其拼音的首字母
            if (pinyinArray != null && pinyinArray.length > 0) {
                result.append(pinyinArray[0].charAt(0));
            } else {
                // éžä¸­æ–‡å­—符直接拼接
                result.append(ch);
            }
        }
        System.out.println(result.toString());
        return result.toString().toUpperCase();
    }
    /**
     * æœˆå°ä½œä¸š çŠ¶æ€
server/system_service/src/main/java/com/doumee/core/utils/DateUtil.java
@@ -2911,8 +2911,8 @@
//            System.out.println(DateUtil.afterMinutesDate(-5));
            System.out.println(DateUtil.getBeforMonthStr(new Date(),1));
            System.out.println(DateUtil.getBeforMonthStr(new Date(),12));
            System.out.println(getPlusTime2(DateUtil.addMonthToDate(new Date(),-1)));
//            System.out.println(DateUtil.getBeforMonthStr(new Date(),12));
//            List<Date> list =getThisMonthDateList();
//            for(Date d :list){
server/system_service/src/main/java/com/doumee/dao/business/model/Company.java
@@ -43,7 +43,8 @@
    @ApiModelProperty(value = "更新人编码")
    @ExcelColumn(name="更新人编码")
    private Integer editor;
    @ApiModelProperty(value = "姓名拼音首字母")
    private String pinyin;
    @ApiModelProperty(value = "更新时间")
    @ExcelColumn(name="更新时间")
    private Date editDate;
server/system_service/src/main/java/com/doumee/dao/business/model/Member.java
@@ -96,6 +96,8 @@
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ExcelColumn(name="入职日期",index =9,width = 10, dateFormat = "yyyy-MM-dd")
    private Date jobDate;
    @ApiModelProperty(value = "姓名拼音首字母")
    private String pinyin;
    @ApiModelProperty(value = "培训结束时间")
    @TableField(exist = false)
    @ExcelColumn(name="培训结束时间",index =10,width = 10, dateFormat = "yyyy-MM-dd")
server/system_service/src/main/java/com/doumee/dao/system/SystemUserMapper.java
@@ -8,6 +8,7 @@
import com.doumee.dao.system.model.SystemUser;
import com.doumee.dao.system.vo.SystemUserListVO;
import com.doumee.dao.system.vo.UserResponse;
import com.github.yulichang.base.MPJBaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
@@ -16,7 +17,7 @@
/**
 * @author T14
 */
public interface SystemUserMapper extends BaseMapper<SystemUser> {
public interface SystemUserMapper extends MPJBaseMapper<SystemUser> {
    /**
     * æŸ¥è¯¢ç”¨æˆ·åˆ—表
server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
@@ -34,7 +34,8 @@
    private Integer id;
    @ApiModelProperty(value = "用户编码(关联member)", example = "1")
    private Integer memberId;
    @ApiModelProperty(value = "姓名拼音首字母")
    private String pinyin;
    @ApiModelProperty(value = "用户名")
    @NotBlank(message = "用户名不能为空")
    private String username;
@@ -117,8 +118,28 @@
    @ApiModelProperty(value = "公司名称")
    @TableField(exist = false)
    private String companyName;
    @ApiModelProperty(value = "搜索关键词语")
    @TableField(exist = false)
    private String queryParam;
    @ApiModelProperty(value = "在职状态 0在职 1离职")
    @TableField(exist = false)
    private Integer workStatus;
    @ApiModelProperty(value = "公司类型")
    @TableField(exist = false)
    private Integer companyType;
    @ApiModelProperty(value = "是否查询固定人员组织主键" ,hidden = true)
    @TableField(exist = false)
    private String companySpecialId;
    @ApiModelProperty(value = "是否查询固定人员:0=否;1=是" )
    @TableField(exist = false)
    private Integer querySpecial;
    @ApiModelProperty(value = "数据权限内部门编码集合")
    @TableField(exist = false)
    private List<Integer> companyIdList;
    @ApiModelProperty(value = "人脸照片")
    @TableField(exist = false)
    private String faceImg;
}
server/system_service/src/main/java/com/doumee/service/business/third/model/TMSContants.java
@@ -40,15 +40,16 @@
         * å·²åˆ°è´§
         * å·²å…¥åº“
         */
        ddsc(0,"订单生成",new Integer[]{ChildStatusLevel.create.getOrderStatus()}),
        ydpzz (1,"运单配载中",new Integer[]{ChildStatusLevel.ysdxc.getOrderStatus()
        ddsc(0,"订单生成",new Integer[]{ChildStatusLevel.create.getOrderStatus()
                ,ChildStatusLevel.kcbz.getOrderStatus()}),
        ydpzz (1,"运输任务生成",new Integer[]{ChildStatusLevel.ysdxc.getOrderStatus()
                ,ChildStatusLevel.ysdcx.getOrderStatus()
                ,ChildStatusLevel.shtg.getOrderStatus()
                ,ChildStatusLevel.shwtg.getOrderStatus()}),
        ckckz (2,"仓库出库中",new Integer[]{ChildStatusLevel.ddzhddzs.getOrderStatus()
        ckckz (2,"仓库出库",new Integer[]{ChildStatusLevel.ddzhddzs.getOrderStatus()
                ,ChildStatusLevel.sqzyzwc.getOrderStatus()
                ,ChildStatusLevel.clqddzs.getOrderStatus()}),
        clysz(3, "车辆运输中",new Integer[]{ChildStatusLevel.clqdapp.getOrderStatus()}),
        clysz(3, "车辆运输",new Integer[]{ChildStatusLevel.clqdapp.getOrderStatus()}),
        ydh(4,"已到货",new Integer[]{ChildStatusLevel.ddzhd.getOrderStatus()}),
        yrk (5,"已入库",new Integer[]{ChildStatusLevel.ddxhd.getOrderStatus()});
@@ -138,6 +139,7 @@
        ddzhddzs(6,3,2,"到达装货地-电子锁汽运","车辆已到达装货地" ),
        clqddzs(7, 4,2,"车辆启运-电子锁汽运","车辆已启运" ),
        clqdapp(8, 7,3,"车辆启运-APP","车辆运输中" ),
        kcbz(11, 9,0,"待生产","当前订单库存不足,待生产" ),
        ddzhd(9, 8,4,"到达卸货地-APP","车辆已到达卸货地" ),
        ddxhd(10, 5,5,"到达卸货地-电子锁汽运","电子锁已解锁,运输任务已完成" ),
        ;
server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.dao.business.model.Member;
import com.doumee.service.business.third.model.PageData;
import com.doumee.service.business.third.model.PageWrap;
import com.doumee.core.utils.Constants;
@@ -120,8 +121,21 @@
    @Override
    public List<SystemUser> findList(SystemUser systemUser) {
        Wrapper<SystemUser> wrapper = new QueryWrapper<>(systemUser);
        return systemUserMapper.selectList(wrapper);
        MPJLambdaWrapper<SystemUser> wrapper = new MPJLambdaWrapper<>();
        wrapper.selectAll(SystemUser.class )
                .selectAs(Company::getName,SystemUser::getCompanyName)
                .eq(SystemUser::getDeleted,Constants.ZERO)
                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
                .eq( systemUser.getCompanyId() !=null,SystemUser::getCompanyId,systemUser.getCompanyId())
                .eq( systemUser.getCompanyType() !=null,Company::getType,systemUser.getCompanyType())
                .like(StringUtils.isNotBlank(systemUser.getRealname()),SystemUser::getRealname,systemUser.getRealname())
                .like(StringUtils.isNotBlank(systemUser.getMobile()),SystemUser::getMobile,systemUser.getMobile())
                .like(StringUtils.isNotBlank(systemUser.getUsername()),SystemUser::getUsername,systemUser.getUsername())
                .like(StringUtils.isNotBlank(systemUser.getCompanyName()),Company::getName,systemUser.getCompanyName())
                .orderByAsc( Company::getPinyin )
                .orderByAsc(SystemUser::getPinyin)
    ;
        return systemUserMapper.selectJoinList(SystemUser.class,wrapper);
    }
    @Override
@@ -229,17 +243,53 @@
    @Override
    public List<SystemUser> findAllList(SystemUser pageWrap) {
        MPJLambdaWrapper<SystemUser> queryWrapper = new MPJLambdaWrapper<>();
        Utils.MP.blankToNull(pageWrap);
        queryWrapper.selectAll(SystemUser.class);
        queryWrapper.eq(SystemUser::getDeleted, Constants.ZERO);
        queryWrapper.and(StringUtils.isNotBlank(pageWrap.getUsername()),ms->ms.like(SystemUser::getUsername,pageWrap.getUsername())
        .or().like(SystemUser::getMobile,pageWrap.getUsername())
                .or().like(SystemUser::getRealname,pageWrap.getUsername())
        );
        queryWrapper.orderByDesc(SystemUser::getCreateTime);
        List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, queryWrapper);
    public List<SystemUser> findAllList(SystemUser systemUser) {
        //查询特殊的42人配置
        if( Constants.equalsInteger(systemUser.getQuerySpecial(),Constants.ONE)){
            String companySpecialId = systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.SPECIAL_COMPANY_ID).getCode();
            if(StringUtils.isNotBlank(companySpecialId)){
                systemUser.setCompanySpecialId(companySpecialId);
            }
        }
        MPJLambdaWrapper<SystemUser> wrapper = new MPJLambdaWrapper<>();
        wrapper.selectAll(SystemUser.class )
                .selectAs(Company::getCompanyNamePath,SystemUser::getCompanyName)
                .selectAs(Member::getFaceImg,SystemUser::getFaceImg)
                .eq(SystemUser::getDeleted,Constants.ZERO)
                .leftJoin(Company.class,Company::getId,SystemUser::getCompanyId)
                .leftJoin(Member.class,Member::getId,SystemUser::getMemberId)
                .and(StringUtils.isNotBlank(systemUser.getUsername()),ms->ms.like(SystemUser::getUsername,systemUser.getUsername())
                        .or().like(SystemUser::getMobile,systemUser.getUsername())
                        .or().like(SystemUser::getRealname,systemUser.getUsername()))
                .and(StringUtils.isNotBlank(systemUser.getQueryParam()),ms->ms.like(SystemUser::getUsername,systemUser.getUsername())
                        .or().like(SystemUser::getMobile,systemUser.getQueryParam())
                        .or().like(Company::getName,systemUser.getQueryParam())
                        .or().like(SystemUser::getRealname,systemUser.getQueryParam()))
                .eq( systemUser.getCompanyId() !=null,SystemUser::getCompanyId,systemUser.getCompanyId())
                .eq( systemUser.getCompanyType() !=null,Company::getType,systemUser.getCompanyType())
                .eq( systemUser.getWorkStatus() !=null,Member::getWorkStatus,systemUser.getWorkStatus())
                .like(StringUtils.isNotBlank(systemUser.getRealname()),SystemUser::getRealname,systemUser.getRealname())
                .like(StringUtils.isNotBlank(systemUser.getMobile()),SystemUser::getMobile,systemUser.getMobile())
                .like(StringUtils.isNotBlank(systemUser.getUsername()),SystemUser::getUsername,systemUser.getUsername())
                .like(StringUtils.isNotBlank(systemUser.getCompanyName()),Company::getName,systemUser.getCompanyName())
                .apply(StringUtils.isNotBlank(systemUser.getCompanySpecialId())," find_in_set('"+systemUser.getCompanySpecialId()+"',REPLACE(t1.company_path,'/',','))")
                .orderByAsc( Company::getPinyin )
                .orderByAsc(SystemUser::getPinyin)
         ;
        List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, wrapper);
        if(result!=null){
            String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
                    systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
            for (SystemUser memberInfoDTO:result) {
                //拼接前缀
                if (StringUtils.isNotBlank(memberInfoDTO.getFaceImg())) {
                    memberInfoDTO.setFaceImg(prefixUrl + memberInfoDTO.getFaceImg());
                }
            }
        }
        return result;
    }
@@ -254,7 +304,7 @@
        queryWrapper.eq(SystemUser::getDeleted, Constants.ZERO);
        queryWrapper.leftJoin(Company.class,Company::getId,SystemUser::getCompanyId);
        queryWrapper.eq(Company::getType,Constants.ONE);
        queryWrapper.orderByDesc(SystemUser::getCreateTime);
        queryWrapper.orderByAsc(SystemUser::getPinyin);
        List<SystemUser> result = systemUserJoinMapper.selectJoinList( SystemUser.class, queryWrapper);
        return result;
    }
server/visits/admin_timer/src/main/resources/logback-spring.xml
@@ -5,7 +5,7 @@
            <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern>
        </layout>
    </appender>
    <property name="log.path" value="logs/visitsTimer"></property>
    <property name="log.path" value="/usr/local/jars/logs/visitsTimer"></property>
    <property name="log.fileSize" value="100MB"></property>
    <property name="log.historyDays" value="7"></property>
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkInterfaceTestCloudController.java
@@ -8,6 +8,7 @@
import com.doumee.core.haikang.model.param.request.*;
import com.doumee.core.haikang.model.param.respose.*;
import com.doumee.core.haikang.service.HKService;
import com.doumee.service.business.MemberService;
import com.doumee.service.business.third.model.ApiResponse;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.model.Device;
@@ -35,6 +36,8 @@
    @Autowired
    private SystemDictDataBiz systemDictDataBiz;
    @Autowired
    private MemberService memberService;
    @Autowired
    private HkSyncImgServiceImpl hkSyncImgService;
    @Autowired
@@ -70,6 +73,13 @@
        }
        return ApiResponse.success(dList);
    }
    @ApiOperation("【系统】重新初始化所有company、member和systemuser数据的pinyin字段")
    @GetMapping("/initPinyinTool")
    @LoginNoRequired
    public ApiResponse<List<Map<String,Object>> > initPinyinTool( HttpServletResponse response) {
        memberService.initPinyinTool();
        return ApiResponse.success(null);
    }
    @ApiOperation("【海康】测试LED显示屏")
    @PostMapping("/testLed")
    @LoginNoRequired
server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/board/PlatformJobRunActController.java
@@ -3,6 +3,7 @@
import com.doumee.api.BaseController;
import com.doumee.config.annotation.LoginNoRequired;
import com.doumee.core.haikang.model.cars.response.CarsAlarmResultListResponse;
import com.doumee.dao.web.reqeust.CarsJobAndContractByJobIdDTO;
import com.doumee.service.business.third.model.ApiResponse;
import com.doumee.core.utils.Constants;
import com.doumee.dao.business.join.PlatformJobJoinMapper;
@@ -87,6 +88,13 @@
        return ApiResponse.success(data);
    }
    @LoginNoRequired
    @ApiOperation("根据作业编码查询作业信息和合同信息集合")
    @PostMapping("/getJobDetailsById")
    public ApiResponse<CarsJobAndContractVO> getJobDetailsById(@RequestBody CarsJobAndContractByJobIdDTO param) {
        CarsJobAndContractVO data = boardService.getJobDetailsById(param);
        return ApiResponse.success(data);
    }
    @LoginNoRequired
    @ApiOperation("当日运输任务")
    @GetMapping("/platformJobList")
    public ApiResponse<List<PlatformJob>> platformJobList() {
server/visits/dmvisit_admin/src/main/resources/logback-spring.xml
@@ -5,7 +5,7 @@
            <pattern>%highlight(%date{yyyy-MM-dd HH:mm:ss}) | %highlight(%-5level) | %highlight(%thread) | %highlight(%logger) | %msg%n</pattern>
        </layout>
    </appender>
    <property name="log.path" value="logs/visitsAdmin"></property>
    <property name="log.path" value="/usr/local/jars/logs/visitsAdmin"></property>
    <property name="log.fileSize" value="100MB"></property>
    <property name="log.historyDays" value="7"></property>
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/reqeust/CarsJobAndContractByJobIdDTO.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,19 @@
package com.doumee.dao.web.reqeust;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * Created by IntelliJ IDEA.
 *
 * @Author : Rk
 * @create 2024/1/4 16:17
 */
@Data
public class CarsJobAndContractByJobIdDTO {
    @ApiModelProperty(value = "任务编码")
    private Integer id;
}
server/visits/dmvisit_service/src/main/java/com/doumee/dao/web/response/platformReport/WholeProvinceBoardVO.java
@@ -20,7 +20,11 @@
    @ApiModelProperty(value = "【出库能力】当日计划量")
    private BigDecimal currentPlanNum;
    @ApiModelProperty(value = "【出库能力】当日计划车次量")
    @ApiModelProperty(value = "【出库能力】无需配载的任务量")
    private BigDecimal noNeedTransportOrderNum;
    @ApiModelProperty(value = "【出库能力】需配载的任务量")
    private BigDecimal needTransportOrderNum;
    @ApiModelProperty(value = "【出库能力】当前任务车次")
    private int currentPlanCarNum;
    @ApiModelProperty(value = "【出库能力】今日出库量")
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/MemberService.java
@@ -206,4 +206,6 @@
    List<Member>  findDriveList(Member model);
    void initPinyinTool();
}
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -117,6 +117,7 @@
        company.setHkDate(company.getCreateDate());
        company.setEditDate(company.getCreateDate());
        company.setEditor(company.getCreator());
        company.setPinyin(Constants.getChinesePingyin(company.getName()));
        company.setHkId(UUID.randomUUID().toString().replace("-",""));
        companyMapper.insert(company);
        //下发海康安防平台
@@ -208,6 +209,7 @@
        insert.setCode(company.getCode());
        insert.setParentId(company.getParentId());
        insert.setLinkName(company.getLinkName());
        company.setPinyin(Constants.getChinesePingyin(company.getName()));
        insert.setLinkPhone(company.getLinkPhone());
        companyMapper.insert(insert);
        return insert.getId();
@@ -305,6 +307,7 @@
        company.setHkDate(company.getHkDate());
        company.setHkId(StringUtils.defaultString(model.getHkId(),UUID.randomUUID().toString().replace("-","")));
        company.setParentId(null);//不支持修改父级
        company.setPinyin(Constants.getChinesePingyin(company.getName()));
        companyMapper.updateById(company);
        //更新的companyPath
        String newName = model.getCompanyNamePath().replace(model.getName(),company.getName());
@@ -452,7 +455,7 @@
        if (company.getQueryHiddenDanger() != null && Constants.equalsInteger(company.getQueryHiddenDanger(),Constants.ONE)) {
            queryWrapper.apply(" t.id in ( select hdp.COMPANY_ID from hidden_danger_param hdp where hdp.ISDELETED = 0 and hdp.STATUS = 0 and hdp.TYPE = 0  ) ");
        }
        queryWrapper.orderByDesc(Company::getCreateDate);
        queryWrapper.orderByAsc(Company::getPinyin);
        queryWrapper.leftJoin(Company.class,Company::getId,Company::getParentId);
        queryWrapper.select(" t.* ")
                .select("(select count(m.id) from member m where m.COMPANY_ID=t.id and m.ISDELETED=0) as countNum") ;
@@ -564,10 +567,9 @@
            queryWrapper.ge(Company::getFsDate, Utils.Date.getStart(pageWrap.getModel().getFsDate()));
            queryWrapper.le(Company::getFsDate, Utils.Date.getEnd(pageWrap.getModel().getFsDate()));
        }
        queryWrapper.orderByDesc(Company::getCreateDate);
        queryWrapper.leftJoin(Company.class,Company::getId,Company::getParentId);
        /*        .leftJoin(Member.class, Member::getId,Company::getHeadId)*/
      /*  queryWrapper.leftJoin(" company c on c.id=t.parent_id");*/
        /*  queryWrapper.leftJoin(" company c on c.id=t.parent_id");*/
        queryWrapper.selectAll(Company.class)
                .select("(select count(m.id) from member m where m.COMPANY_ID=t.id and m.ISDELETED=0) as countNum") ;
        queryWrapper.select("t1.name",Company::getParentName);
@@ -575,6 +577,7 @@
        queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getStatus()),Company::getStatus,Constants.ZERO);
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Company::getName,pageWrap.getModel().getName());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getParentName()),"c.name",pageWrap.getModel().getParentName());
        queryWrapper.orderByAsc(Company::getPinyin);
        IPage<Company> companyIPage = companyJoinMapper.selectJoinPage(page, Company.class, queryWrapper);
        return PageData.from(companyIPage);
    }
@@ -603,7 +606,8 @@
        LambdaQueryWrapper<Company> wrapper = new LambdaQueryWrapper<>();
        wrapper.eq(Company::getIsdeleted,Constants.ZERO)
                .eq(Constants.equalsInteger(type,Constants.ONE),Company::getType,type);
                .eq(Constants.equalsInteger(type,Constants.ONE),Company::getType,type)
                .orderByAsc(Company::getPinyin);
        List<Company> companies = companyMapper.selectList(wrapper);
        return getCompanyTree( companies, null);
    }
@@ -655,6 +659,7 @@
        if (CollectionUtils.isEmpty(companies)){
            return;
        }
        company.setPinyin(Constants.getChinesePingyin(company.getName()));
        //新增的情况存在记录
        if (Objects.isNull(company.getId())){
            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(),"公司名称已存在");
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -525,6 +525,7 @@
                if(StringUtils.isBlank(multifile.getFileurl())){
                    continue;
                }
                multifile.setId(null);
                multifile.setCreateDate(new Date());
                multifile.setCreator(hiddenDanger.getEditor());
                multifile.setIsdeleted(Constants.ZERO);
@@ -538,6 +539,11 @@
            if(hiddenDanger.getStatus().equals(Constants.ONE) && !isTrue){
                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"对不起,请按要求填写处理数据");
            }
            multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda()
                    .set(Multifile::getIsdeleted,Constants.ONE )
                    .eq(Multifile::getObjType,Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey())
                    .set(Multifile::getObjId,hiddenDanger.getId())
            );
        }
        if(hiddenDanger.getStatus().equals(Constants.ONE)){
            boolean isTrue = false;
@@ -548,6 +554,7 @@
                    if(StringUtils.isBlank(multifile.getFileurl())){
                        continue;
                    }
                    multifile.setId(null);
                    multifile.setCreateDate(new Date());
                    multifile.setCreator(hiddenDanger.getEditor());
                    multifile.setIsdeleted(Constants.ZERO);
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -196,6 +196,7 @@
        user.setSource(Constants.ZERO);
        user.setDeleted(Boolean.FALSE);
        user.setFixed(Boolean.FALSE);
        user.setPinyin(Constants.getChinesePingyin(user.getRealname()));
        user.setStatus(Constants.ZERO);
        return user;
    }
@@ -224,6 +225,7 @@
        insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//根据身份证号获取性别
        insert.setJobDate(member.getJobDate());
        insert.setIsDangyuan(member.getIsDangyuan());
        insert.setPinyin(Constants.getChinesePingyin(member.getName()));
        insert.setPositionId(member.getPositionId());
        if(StringUtils.isNotBlank(member.getIdcardNo())){
            insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo())));
@@ -482,6 +484,7 @@
                            .set(SystemUser::getUpdateUser,member.getLoginUserInfo().getId())
                            .set(SystemUser::getUpdateTime,new Date())
                            .set(StringUtils.isNotBlank(member.getFaceImg()),SystemUser::getAvatar,member.getFaceImg())
                            .set(StringUtils.isNotBlank(member.getName()),SystemUser::getPinyin,Constants.getChinesePingyin(member.getName()))
                            .set(StringUtils.isNotBlank(member.getPhone()),SystemUser::getMobile,member.getPhone())
                            .set(StringUtils.isNotBlank(member.getPhone()),SystemUser::getUsername,member.getPhone())
                            .set(StringUtils.isNotBlank(member.getName()),SystemUser::getRealname,member.getName())
@@ -511,6 +514,8 @@
            //如果人脸没变化
            member.setFaceImg(null);
        }
        member.setPinyin(Constants.getChinesePingyin(member.getName()));
        return model;
    }
@@ -897,7 +902,7 @@
            loginUserInfo = updateMember.getLoginUserInfo();
        }
        //校验参数 å¹¶ä¸”æ›´æ–°systemuser æ‰‹æœºå·å’Œå·¥å·ä¿¡æ¯ï¼ˆå¦‚果需要修改的话)
         Member model =   isMemberUpdateParamValid(updateMember);
        Member model =   isMemberUpdateParamValid(updateMember);
        updateMember.setEditor(loginUserInfo.getId());
        updateMember.setEditDate(new Date());
        //海康人员新增业务
@@ -912,6 +917,7 @@
                    .set(StringUtils.isNotBlank(updateMember.getName()),Member::getName,updateMember.getName())
                    .set(Member::getEditDate,updateMember.getEditDate())
                    .set(Member::getEditor,updateMember.getEditor())
                    .set(StringUtils.isNotBlank(updateMember.getName()),Member::getPinyin,Constants.getChinesePingyin(updateMember.getName()))
                    .set(StringUtils.isNotBlank(updateMember.getIdcardNo()),Member::getIdcardNo,updateMember.getIdcardNo())
                    .set(StringUtils.isNotBlank(updateMember.getIdcardDecode()),Member::getIdcardDecode,updateMember.getIdcardDecode())
                    .set( Member::getAuthStatus,Constants.ZERO)
@@ -1162,6 +1168,7 @@
        }
        queryWrapper.eq(Member::getIsdeleted,Constants.ZERO);
        queryWrapper.eq(Member::getWorkStatus,Constants.ZERO);
        queryWrapper.orderByAsc(Member::getPinyin);
        List<Member> list =  memberJoinMapper.selectJoinList(Member.class,queryWrapper);
//        if(list!=null){
//            for(Member m : list){
@@ -1188,6 +1195,7 @@
            queryWrapper.eq(Member::getCompanyId,member.getCompanyId());
        }
        queryWrapper.eq(Member::getIsdeleted,Constants.ZERO);
        queryWrapper.orderByAsc(Member::getPinyin);
        List<Member> list =  memberJoinMapper.selectJoinList(Member.class,queryWrapper);
        if(list!=null){
            for(Member m : list){
@@ -1195,6 +1203,46 @@
            }
        }
        return  list;
    }
    @Override
    public  void initPinyinTool(){
        MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>();
        List<Member> list =  memberJoinMapper.selectList(queryWrapper);
        if(list!=null){
            for(Member m : list){
               if(m.getName()!=null){
                   Member u = new Member();
                   u.setId(m.getId());
                   u.setPinyin(Constants.getChinesePingyin(m.getName()));
                   memberMapper.updateById(u);
               }
            }
        }
        MPJLambdaWrapper<SystemUser> q1 = new MPJLambdaWrapper<>();
        List<SystemUser> list1 =  systemUserMapper.selectList(q1);
        if(list1!=null){
            for(SystemUser m : list1){
                if(m.getRealname()!=null){
                    SystemUser u = new SystemUser();
                    u.setId(m.getId());
                    u.setPinyin(Constants.getChinesePingyin(m.getRealname()));
                    systemUserMapper.updateById(u);
                }
            }
        }
        MPJLambdaWrapper<Company> q2 = new MPJLambdaWrapper<>();
        List<Company> list2 =  companyMapper.selectList(q2);
        if(list2!=null){
            for(Company m : list2){
                if(m.getName()!=null){
                    Company u = new Company();
                    u.setId(m.getId());
                    u.setPinyin(Constants.getChinesePingyin(m.getName()));
                    companyMapper.updateById(u);
                }
            }
        }
    }
    @Override
@@ -1432,7 +1480,7 @@
//                .eq(Member::getStatus,Constants.Status.ENABLE.getValue())
//                .eq(Member::getType,Constants.memberType.internal)
                .eq(pageWrap.getModel().getHkStatus()!=null,Member::getHkStatus,pageWrap.getModel().getHkStatus())
                .orderByDesc(!Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getCreateDate)
                .orderByAsc(!Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getPinyin)
                .orderByDesc(Constants.equalsInteger(pageWrap.getModel().getIsdeleted(),Constants.ONE),Member::getEditDate);
        if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin())==DataSyncConfig.origin.erp){
            queryWrapper.eq( StringUtils.isNotBlank(pageWrap.getModel().getErpOrgId()),Member::getErpOrgId,pageWrap.getModel().getErpOrgId());
@@ -1538,7 +1586,7 @@
                .eq(Objects.nonNull(pageWrap.getModel().getStatus()),Member::getStatus,pageWrap.getModel().getStatus())
                .eq(Member::getType,Constants.memberType.visitor)
                .eq(Member::getIsdeleted,Constants.ZERO)
                .orderByDesc(Member::getCreateDate);
                .orderByAsc(Member::getPinyin);
        if(Constants.formatIntegerNum(dataSyncConfig.getOrgUserDataOrigin())==DataSyncConfig.origin.erp){
            queryWrapper.eq( StringUtils.isNotBlank(pageWrap.getModel().getErpOrgId()),Member::getErpOrgId,pageWrap.getModel().getErpOrgId());
        }else{
@@ -1576,7 +1624,7 @@
        queryWrapper.selectAs(Position::getName,Member::getPositionName);
        queryWrapper.leftJoin(Position.class,Position::getId,Member::getPositionId);
        queryWrapper.orderByAsc(Member::getPinyin);
        IPage<Member> memberIPage = memberJoinMapper.selectJoinPage(page, Member.class,queryWrapper);
        return PageData.from(memberIPage);
@@ -1669,9 +1717,11 @@
                .leftJoin(Company.class,Company::getId,Member::getCompanyId)
                .eq(Member::getIsdeleted,Constants.ZERO)
                .eq(Company::getType,Constants.ZERO)
                .eq(Member::getStatus,Constants.ZERO)
                .eq(Member::getStatus,Constants.ZERO
                )
                .isNotNull(Member::getHkId)
                .apply("to_days(LAST_VISIT_DATE)+ "+days+" < to_days(now())" ));
                .apply("to_days(LAST_VISIT_DATE)+ "+days+" < to_days(now())" )
                .orderByAsc(Member::getPinyin));
        if(CollectionUtils.isEmpty(memberList)){
           return;
        }
@@ -1888,6 +1938,7 @@
                .eq(Member::getWorkStatus,Constants.ZERO)
                .eq(Member::getCanVisit,Constants.ONE)
                .eq(Company::getType,Constants.ONE)
                .orderByAsc(Member::getPinyin)
        );
        List<MemberVO> memberVOList = new ArrayList<>();
        if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)) {
@@ -1924,7 +1975,8 @@
            queryWrapper.and(StringUtils.isNotBlank(visitMemberDTO.getName()), ms->ms.like(Member::getPhone,visitMemberDTO.getName())
                    .or().like(Member::getPhone,visitMemberDTO.getName()));
        }
        queryWrapper.orderByDesc(Visits::getCreateDate);
        queryWrapper.orderByAsc(Member::getPinyin);
//      queryWrapper.orderByDesc(Visits::getCreateDate);
        IPage<MemberVO> result = memberJoinMapper.selectJoinPage(page, MemberVO.class,queryWrapper);
        String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformJobServiceImpl.java
@@ -1146,7 +1146,7 @@
        //广播 led通知
        platformJob.setPlatformName(platform.getName());
        this.broadcastAndLEed(platformJob,Constants.PlatformLedContent.CALLING.getInfo(),
                Constants.PlatformBroadcastContent.CALLING.getInfo()
                Constants.PlatformBroadcastContent.CALLING.getInfo()+ Constants.PlatformBroadcastContent.CALLING.getInfo() + Constants.PlatformBroadcastContent.CALLING.getInfo()
        );
        platformJob.setPlatformWmsCode(platform.getCode());
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/thrid/BoardServiceImpl.java
@@ -14,6 +14,7 @@
import com.doumee.core.haikang.model.param.respose.*;
import com.doumee.core.haikang.service.HKCarOpenService;
import com.doumee.core.haikang.service.HKService;
import com.doumee.dao.web.reqeust.CarsJobAndContractByJobIdDTO;
import com.doumee.service.business.third.model.request.TmsFacrotyCodeListRequest;
import com.doumee.service.business.third.model.request.TmsOrderNoFinishListRequest;
import com.doumee.service.business.third.model.request.TmsOutQtyAndVehicleQtyRequest;
@@ -806,6 +807,36 @@
                                Constants.PlatformJobStatus.AUTHED_LEAVE.getKey(),
                                Constants.PlatformJobStatus.CALLED.getKey())
                        .last("limit 1"));
        dealJobDetailAndContractBiz(job,data);
        return data;
    }
    /**
     * ã€å›­åŒºç‰©æ–™ä¸­å¿ƒè°ƒåº¦ã€‘看板-根据车牌号查询作业信息和合同信息集合
     *
     * @return
     *
     */
    @Override
    public  CarsJobAndContractVO  getJobDetailsById(CarsJobAndContractByJobIdDTO param) {
        CarsJobAndContractVO data = new CarsJobAndContractVO();
        if(param.getId() == null){
            return  data;
        }
        PlatformJob job = platformJobMapper.selectJoinOne(PlatformJob.class,
                new MPJLambdaWrapper<PlatformJob>()
                        .selectAll(PlatformJob.class)
                        .eq(PlatformJob::getId,param.getId())
                        .last("limit 1"));
        dealJobDetailAndContractBiz(job,data);
        return data;
    }
    private void dealJobDetailAndContractBiz(PlatformJob job, CarsJobAndContractVO data) {
        if(job!=null){
            List<PlatformLog>  logList = platformLogMapper.selectJoinList(PlatformLog.class,
                    new MPJLambdaWrapper<PlatformLog>()
@@ -845,7 +876,7 @@
                if(detailList!=null){
                    for(PlatformWmsDetail d : detailList){
                        if(isExistIocode(d.getIocode(),data.getContractList())){
                                continue;
                            continue;
                        }
                        tt = new CarsContractVO();
                        tt.setIoCode(d.getIocode());
@@ -858,10 +889,6 @@
            }
        }
        return data;
    }
    private List<PlatformWmsDetail> getDetailListByCode(String iocode, List<PlatformWmsDetail> detailList,CarsContractVO tt) {
@@ -911,11 +938,8 @@
    @Override
    public  PlatformJobRunBoardNewVO platformJobCenterData(){
        PlatformJobRunBoardNewVO data = new PlatformJobRunBoardNewVO();
        Random random = new Random();
        data.setMonthOutTimes(random.nextInt(1000));
        data.setYearOutTimes(random.nextInt(1000) * 11);
        data.setMonthOutTimes(0);
        data.setYearOutTimes(0);
        Date month  = Utils.Date.getStart(new Date());//本月
        Date lastMonth =  DateUtil.addMonthToDate(month,-1);//上月
        Date year = Utils.Date.getStart(new Date());//今年
@@ -978,7 +1002,7 @@
                        .selectAs(PlatformJob::getStatus,PlatformJob::getStatus)
                        .selectAs(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("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("   to_days(create_date) <to_days(now())"));
@@ -1037,7 +1061,6 @@
        }
        return data;
    }
    private BigDecimal getDoneHoursByData(String start ,String end) {
        List<PlatformLog> platformLogList = platformLogMapper.selectList(new QueryWrapper<PlatformLog>().lambda()
@@ -2208,6 +2231,9 @@
        data.setHoursAbility(new BigDecimal(0));
        data.setCurrentPlanNum(new BigDecimal(0));
        data.setCurrentOrderNum(new BigDecimal(0));
        data.setNoNeedTransportOrderNum(new BigDecimal(0));
        data.setNeedTransportOrderNum(new BigDecimal(0));
        data.setCurrentOrderNum(new BigDecimal(0));
        data.setCrrentRestNum(new BigDecimal(0));
        data.setCrrentOutNum(new BigDecimal(0));
        List<TmsFactoryParam> paramList = factoryList();
@@ -2255,73 +2281,26 @@
        }
        TmsOutboundCapabilityResponse result=  tmsService.getOutboundCapability(param);
        if(result !=null){
            String todayDate = DateUtil.getShortTime(new Date());
            List<String> planCodes = new ArrayList<>();
            List<String> todayCodes = new ArrayList<>();
            String todayDate = DateUtil.getShortTime(new Date());
            if(result.getCurrentDayOrderList()!=null && result.getCurrentDayOrderList().size()>0){
                for(TmsOutboundCapabilityInfoResponse model :result.getCurrentDayOrderList()){
                    data.setCurrentOrderNum(data.getCurrentOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//今日订单量
                    /**
                     * DISPATCH_TYPE in(1,2) ä¸” TRANSPORT_CODE不为空,sum(NC_TOTALITY)  +      DISPATCH_TYPE not in(1,2) sum(NC_TOTALITY)
                     *     ä»Šæ—¥å‡ºåº“下达的计划任务总量
                     */
                    if(StringUtils.isNotBlank(model.getTransportCode())
                            && (StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){
                        data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//今日订单量
                    }
                    if(!(StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){
                        data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//今日计划量
                    }
                    /**
                     * ä»Šæ—¥ä¸‹è¾¾å‡ºåº“的计划任务对应的运输车次数
                     * TRANSPORT_CODE不为空count(transport_code )
                     */
                    if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){
                        planCodes.add(model.getTransportCode());
                    }
                    /**
                     * ä»Šæ—¥ä¸‹è¾¾å‡ºåº“的计划任务对应的运输车次数
                     * TRANSPORT_CODE不为空count(transport_code )
                     */
                    if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){
                        planCodes.add(model.getTransportCode());
                    }
                    /**
                     *  out_date为当日,sum(NC_TOTALITY) ä»Šæ—¥å®Œæˆçš„出库作业任务总量
                     * TRANSPORT_CODE不为空 ä¸”out_date为当日 count(transport_code)      ä»Šæ—¥å®Œæˆçš„出库作业任务的运输车次数
                     */
                    if(StringUtils.isNotBlank(model.getOutDate()) && model.getOutDate().length()> 10){
                        String tDate = model.getOutDate().substring(0,10);
                        if(tDate.equals(todayDate)){
                            //如果是当日
                            data.setCrrentOutNum(data.getCrrentOutNum().add(Constants.formatBigdecimal(model.getNcTotality())));//今日订单量
                        }
                        if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),todayCodes)){
                            todayCodes.add(model.getTransportCode());
                        }
                    }
                    dealOutOrderBiz(data,model,planCodes,todayCodes,todayDate);
                }
            }
            if(result.getCurrentDayAgoOrderList()!=null && result.getCurrentDayAgoOrderList().size()>0){
                for(TmsOutboundCapabilityInfoResponse model :result.getCurrentDayAgoOrderList()){
                    /**
                     * out_date为空,sum(NC_TOTALITY)    æ˜¨å¤©æœªå®Œæˆå‡ºåº“计划任务
                     * out_date为空 ä¸”TRANSPORT_CODE不为空 * count(transport_code )    æ˜¨å¤©æœªå®Œæˆå‡ºåº“计划任务车次
                     */
                    if(StringUtils.isBlank(model.getOutDate())){
                        data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//今日计划量
                        if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),planCodes)){
                            planCodes.add(model.getTransportCode());
                        }
                    }
                    dealOutOrderBiz(data,model,planCodes,todayCodes,todayDate);
                }
            }
            data.setCurrentPlanCarNum(planCodes.size());//今日计划车次
            data.setCurrentPlanCarNum(planCodes.size());//今日任务车次
            data.setCrrentOutCarNum(todayCodes.size());//今日出库车次
        }
        data.setCrrentRestNum(data.getCurrentPlanNum().subtract(data.getCrrentOutNum()));
        data.setCrrentRestCarNum(data.getCurrentPlanCarNum() -data.getCrrentOutCarNum());
//        data.setCrrentRestNum(data.getCurrentPlanNum().subtract(data.getCrrentOutNum()));
//        data.setCrrentRestCarNum(data.getCurrentPlanCarNum() -data.getCrrentOutCarNum());
        data.setCrrentRestNum(data.getCurrentPlanNum());
        data.setCrrentRestCarNum(data.getCurrentPlanCarNum());
        if(data.getCrrentRestNum().compareTo(new BigDecimal(0)) <=0){
            data.setCrrentRestNum(new BigDecimal(0));
        }
@@ -2336,9 +2315,61 @@
            data.setCurrentPlanNum(Constants.formatBigdecimal(data.getCurrentPlanNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
            data.setCrrentOutNum(Constants.formatBigdecimal(data.getCrrentOutNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
            data.setCurrentOrderNum(Constants.formatBigdecimal(data.getCurrentOrderNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
            data.setNoNeedTransportOrderNum(Constants.formatBigdecimal(data.getNoNeedTransportOrderNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
            data.setNeedTransportOrderNum(Constants.formatBigdecimal(data.getNeedTransportOrderNum()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP));
        }
    }
    /**
     * 1、当前订单里:截止目前未配载订单量;
     * 2、当前任务量:截止目前已配载未出库订单量+无需配载的未出库任务量;
     * 3、当前任务量和剩余任务量统计逻辑一致;
     * @param data
     * @param model
     */
    private void dealOutOrderBiz(WholeProvinceBoardVO data, TmsOutboundCapabilityInfoResponse model,List<String> planCodes,List<String> todayCodes,  String todayDate ) {
        /**
         * å½“前订单量:截至目前未配载的数据
         */
        if(StringUtils.isBlank(model.getTransportCode())
                &&( StringUtils.equals("1",model.getDispatchType()) || StringUtils.equals("2",model.getDispatchType()))){
            data.setCurrentOrderNum(data.getCurrentOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//当前订单量
        }
        /**
         * å½“前任务量(和剩余任务里):截至目前已配载未出库的订单
         */
        if(StringUtils.isNotBlank(model.getTransportCode()) && StringUtils.isBlank(model.getOutDate())){
            data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//当前任务量(累计)
            data.setNeedTransportOrderNum(data.getNeedTransportOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//同城剩余任务量(累计)
            if(notInList(model.getTransportCode(),planCodes)){
                planCodes.add(model.getTransportCode());
            }
        }
        /**
         *   åŒåŸŽå•子(无需配载但是未完成)
         */
        if(StringUtils.isBlank(model.getOutDate())
                && !StringUtils.equals("1",model.getDispatchType()) && !StringUtils.equals("2",model.getDispatchType())){
            data.setNoNeedTransportOrderNum(data.getNoNeedTransportOrderNum().add(Constants.formatBigdecimal(model.getNcTotality())));//同城剩余任务量(累计)
            data.setCurrentPlanNum(data.getCurrentPlanNum().add(Constants.formatBigdecimal(model.getNcTotality())));//当前任务量(累计)
        }
        /**
         * ä»Šæ—¥å‡ºåº“量,出库时间为今天的
         */
        if(StringUtils.isNotBlank(model.getOutDate()) && model.getOutDate().length()> 10){
            String tDate = model.getOutDate().substring(0,10);
            if(tDate.equals(todayDate)){
                //如果是当日
                data.setCrrentOutNum(data.getCrrentOutNum().add(Constants.formatBigdecimal(model.getNcTotality())));//今日出库量
                if(StringUtils.isNotBlank(model.getTransportCode()) && notInList(model.getTransportCode(),todayCodes)){
                    todayCodes.add(model.getTransportCode());
                }
            }
        }
    }
    private boolean notInList(String transportCode, List<String> planCodes) {
        for(String s :planCodes){
            if(StringUtils.equals(transportCode,s)){
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/third/BoardService.java
@@ -2,6 +2,7 @@
import com.doumee.core.haikang.model.cars.response.CarsAlarmResultListResponse;
import com.doumee.core.haikang.model.param.respose.*;
import com.doumee.dao.web.reqeust.CarsJobAndContractByJobIdDTO;
import com.doumee.service.business.third.model.request.TmsOrderNoFinishListRequest;
import com.doumee.service.business.third.model.response.TmsBasePageResponse;
import com.doumee.service.business.third.model.response.TmsOrderNoFinishListResponse;
@@ -85,6 +86,7 @@
    PlatformJobRunBoardNewVO platformJobCenterData();
    CarsJobAndContractVO getCarsJobDetails(CarsJobAndContractDTO param);
    CarsJobAndContractVO getJobDetailsById(CarsJobAndContractByJobIdDTO param);
    List<TransportMeasureVO> transportMeasure(Integer queryType);