Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
| | |
| | | |
| | | # 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' |
| | | |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | queryFormConfig: { |
| | | formItems: [ |
| | | { |
| | | filed: 'code', |
| | | filed: 'billCode', |
| | | type: 'input', |
| | | label: 'è¿åå·' |
| | | }, |
| | |
| | | { |
| | | type: 'slot', |
| | | filed: 'fastdate', |
| | | label: '' |
| | | label: 'ä½ä¸æ¶é´' |
| | | } |
| | | ], |
| | | online: true |
| | |
| | | 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 => { |
| | |
| | | <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> |
| | |
| | | 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 => { |
| | |
| | | <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> |
| | |
| | | fastdate: 0, |
| | | selDate: [] |
| | | }, |
| | | totalStopCount:0, |
| | | totalWorkTime:0, |
| | | list: [], |
| | | total: 0, |
| | | queryFormConfig: { |
| | |
| | | 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) |
| | |
| | | }) |
| | | }, |
| | | getList(page) { |
| | | this.totalStopCount = 0 |
| | | this.totalWorkTime = 0 |
| | | const { pagination, filters } = this |
| | | this.loading = true |
| | | platformWorkReportPage({ |
| | |
| | | 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ç§') |
| | |
| | | filters: { |
| | | // ç»å½ç¶æ |
| | | statusText (value) { |
| | | if (value) { |
| | | return 'ç»å½æå' |
| | | } |
| | | if (value != null && !value) { |
| | | return 'ç»å½å¤±è´¥' |
| | | } |
| | | return 'ç»å½æå' |
| | | } |
| | | }, |
| | | methods: { |
| | | // æ¶é´æç´¢èå´åå |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | 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; |
| | |
| | | private RedisTemplate<String,Object> stringRedisTemplate; |
| | | @Resource |
| | | private GatewayFilterProperties notAuthUrlProperties; |
| | | |
| | | @Resource |
| | | private JwtTokenUtil jwtTokenUtil; |
| | | @Bean |
| | | public WebFilter webFilter() { |
| | | return (exchange, chain) -> { |
| | |
| | | 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(); |
| | |
| | | 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; |
| | |
| | | } |
| | | return false; |
| | | } |
| | | |
| | | // è¿åæªç»å½çèªå®ä¹é误 |
| | | private Mono<Void> unAuthorize(ServerWebExchange exchange) { |
| | | // 设置éè¯¯ç¶æç 为401 |
| | |
| | | spring: |
| | | profiles: |
| | | active: self |
| | | active: pro |
| | | application: |
| | | name: system_gateway |
| | | # å®å
¨é
ç½® |
| | |
| | | } |
| | | return claims; |
| | | } |
| | | |
| | | /** |
| | | * ååå»¶ä¼¸æææä¿æä¼è¯ç»§ç» |
| | | * @param token |
| | | */ |
| | | |
| | | public void refreshTokenTime(String token,String usrerInfo) { |
| | | redisTemplate.opsForValue().set(Constants.REDIS_TOKEN_KEY+token,usrerInfo,jwtProperties.getExpiration(), TimeUnit.MILLISECONDS); |
| | | } |
| | | } |
¶Ô±ÈÐÂÎļþ |
| | |
| | | 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;// æ°å æ°é |
| | | |
| | | } |
| | |
| | | private Integer overStock ; |
| | | @ApiModelProperty(value = "gis轨迹ç»çº¬åº¦éå" ) |
| | | private List<TmsGisListResponse> gisList; |
| | | @ApiModelProperty(value = "è§æ ¼ååæç»" ) |
| | | private List<TmsOrderDetailVOResponse> orderDetailVOList; |
| | | @ApiModelProperty(value = "çå½å¨æéå" ) |
| | | private List<TmsCircleStatusResultListResponse> cicleStatusList; |
| | | } |
| | |
| | | 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) { |
| | |
| | | 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; |
| | |
| | | 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) { |
| | | // æ ¹æ®ç¨æ·åæ¥è¯¢ç¨æ·å¯¹è±¡ |
| | |
| | | @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); |
| | | } |
| | | |
| | |
| | | } |
| | | } |
| | | Collections.sort(list, (o1, o2) -> { |
| | | return (int) (o1.getTimeStamp() - o2.getTimeStamp()); //ææ°éä»å¤§å°å°æåº |
| | | return (int) (o2.getTimeStamp() - o1.getTimeStamp()); //ææ¶é´ååº |
| | | }); |
| | | return list; |
| | | } |
| | |
| | | @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 = "å
³è对象ç¼ç ") |
| | |
| | | @ApiModelProperty(value = "è§åº¦", example = "1") |
| | | @ExcelColumn(name="è§åº¦") |
| | | private BigDecimal angle; |
| | | |
| | | @ApiModelProperty(value = "æå°ä½ä¸æçï¼ä¸æ¯/å°æ¶ï¼", example = "1") |
| | | @ExcelColumn(name="æå°ä½ä¸æçï¼ä¸æ¯/å°æ¶ï¼") |
| | | private BigDecimal workRate; |
| | |
| | | @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") |
| | |
| | | @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) |
| | |
| | | |
| | | 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()); |
| | | } |
| | | } |
| | |
| | | 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; |
| | |
| | | * @param id ä¸»é® |
| | | */ |
| | | void deleteById(Integer id); |
| | | void deleteById(Integer id, LoginUserInfo user); |
| | | |
| | | /** |
| | | * å é¤ |
| | |
| | | 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) { |
| | |
| | | .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()), |
| | |
| | | .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), |
| | | " ( " + |
| | |
| | | " (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() |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | public void queryWaitNum(PlatformJob platformJob){ |
| | | if(Constants.equalsInteger(platformJob.getStatus(),Constants.PlatformJobStatus.WAIT_CALL.getKey())){ |
| | | //æ¥è¯¢å½åæææéæ°é |
| | |
| | | .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()); |
| | |
| | | //计ç®é¢è®¡çå¾
æ¶é´ |
| | | 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(); |
| | |
| | | .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")); |
| | | } |
| | |
| | | .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)); |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | //æ¥è¯¢åæ¹æéæ°é |
| | | this.queryWaitNum(platformJob); |
| | | } |
| | | |
| | | driverHomeVO.setPlatformJobList(platformJobList); |
| | | // ååºå¯¼è§å¾ å¾ç |
| | | driverHomeVO.setReservationMap(systemDictDataBiz.queryByCode(Constants.PLATFORM,Constants.PLATFORM_GUIDEMAP).getCode()); |
| | |
| | | |
| | | @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 |
| | |
| | | .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()), |
| | |
| | | .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>() |
| | |
| | | .selectAll(Retention.class) |
| | | .selectAs(Company::getType,Retention::getCompanyType) |
| | | .leftJoin(Company.class,Company::getId,Retention::getCompanyId) |
| | | .eq(Retention::getIsdeleted,Constants.ZERO) |
| | | ); |
| | | |
| | | //仿¥å¨åäººæ° |
| | |
| | | }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());//车çå· |
| | |
| | | }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); //ä½ä¸å·²è¶
æ¶ |
| | | } |
| | | } |