Merge remote-tracking branch 'origin/master'
¶Ô±ÈÐÂÎļþ |
| | |
| | | import request from '@/utils/request' |
| | | |
| | | // çä¿¡éç¥ å页å表 |
| | | export function getSmsList (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/smsConfig/page', data) |
| | | } |
| | | // çä¿¡éç¥ ç¶ææ´æ° |
| | | export function SmsStatusUpdate (data) { |
| | | return request.post('/visitsAdmin/cloudService/business/smsConfig/updateById', data) |
| | | } |
| | |
| | | label: 'name', |
| | | value: 'id', |
| | | children: 'childCategoryList', |
| | | checkStrictly: true |
| | | }"></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="éæ©ç»ç»ï¼" prop="groupId"> |
| | |
| | | <el-input v-model="form.title" placeholder="请è¾å
¥LED屿¾ç¤ºå
容" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="ææ¾é度" prop="speed"> |
| | | <el-input type="number" v-model="form.speed" placeholder="请è¾å
¥ææ¾é度(大äº0æ°åï¼" v-trim/> |
| | | <el-input type="number" v-model="form.speed" placeholder="请è¾å
¥ææ¾éåº¦ï¼æ°åè¶å°ææ¾è¶å¿«ï¼å»ºè®®é度8" v-trim/> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | |
| | | <template> |
| | | <GlobalWindow |
| | | :title="title" |
| | | width="100%" |
| | | :visible.sync="visible" |
| | | :confirm-working="isWorking" |
| | | @confirm="confirm" |
| | | > |
| | | <GlobalWindow :title="title" width="100%" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm"> |
| | | <TableLayout> |
| | | <template v-slot:table-wrap> |
| | | <div class="config"> |
| | |
| | | <img src="@/assets/images/peizhi_ar@2x.png" alt="" /> |
| | | </div> |
| | | <div v-for="(item, index) in apprList" :key="index"> |
| | | <div |
| | | class="item yellow" |
| | | :class="{ |
| | | <div class="item yellow" :class="{ |
| | | active: activeIndex == index, |
| | | blue: item.type == '1', |
| | | }" |
| | | @click="flowClick(index)" |
| | | > |
| | | }" @click="flowClick(index)"> |
| | | <div class="head">{{ item.remark }}</div> |
| | | <div class="content"> |
| | | <!-- å®¡æ¹ --> |
| | |
| | | </template> |
| | | <template v-if="item.memberType == '1'"> |
| | | <div v-if="item.objIds && item.objIds.length === 1"> |
| | | <span |
| | | >{{ item.objIds[0].name }} |
| | | {{ item.objIds[0].companyName }}</span |
| | | > |
| | | <span>{{ item.objIds[0].name }} |
| | | {{ item.objIds[0].companyName }}</span> |
| | | <span v-if="item.approveType == 0 && item.type == '0'"> |
| | | æç¾</span |
| | | > |
| | | æç¾</span> |
| | | <span v-if="item.approveType == 1 && item.type == '0'"> |
| | | ä¼ç¾</span |
| | | > |
| | | ä¼ç¾</span> |
| | | </div> |
| | | <div v-else-if="item.objIds && item.objIds.length > 1"> |
| | | <span>{{ item.objIds[0].name }} ç</span> |
| | | <span v-if="item.approveType == 0 && item.type == '0'"> |
| | | æç¾</span |
| | | > |
| | | æç¾</span> |
| | | <span v-if="item.approveType == 1 && item.type == '0'"> |
| | | ä¼ç¾</span |
| | | > |
| | | ä¼ç¾</span> |
| | | </div> |
| | | <div v-else>è¯·éæ©</div> |
| | | <i class="el-icon-arrow-right"></i> |
| | |
| | | <!-- æé --> |
| | | <template v-if="item.type == 1"> |
| | | <div v-if="item.objIds && item.objIds.length === 1"> |
| | | <span |
| | | >{{ item.objIds[0].name }} |
| | | {{ item.objIds[0].companyName }}</span |
| | | > |
| | | <span>{{ item.objIds[0].name }} |
| | | {{ item.objIds[0].companyName }}</span> |
| | | </div> |
| | | <div v-else-if="item.objIds && item.objIds.length > 1"> |
| | | <span>{{ item.objIds[0].name }} ç</span> |
| | | </div> |
| | | <div v-else>è¯·éæ©</div> |
| | | <i |
| | | v-if="item.memberType == '1'" |
| | | class="el-icon-arrow-right" |
| | | ></i> |
| | | <i v-if="item.memberType == '1'" class="el-icon-arrow-right"></i> |
| | | </template> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="line"></div> |
| | | <img src="@/assets/images/peizhi_ar@2x.png" alt="" /> |
| | | </template> |
| | | <i |
| | | v-if="apprList.length - 2 === index" |
| | | @click="handleAddAppr()" |
| | | class="el-icon-circle-plus add" |
| | | ></i> |
| | | <i v-if="apprList.length - 2 === index" @click="handleAddAppr()" class="el-icon-circle-plus add"></i> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="config_data_item_label">éæ©è¯¥èç¹ç审æ¹äºº</div> |
| | | <div class="df_ac mb10"> |
| | | <div>审æ¹èç¹åç§°</div> |
| | | <el-input |
| | | class="w200 ml10" |
| | | v-model="apprList[activeIndex].remark" |
| | | ></el-input> |
| | | <el-input class="w200 ml10" v-model="apprList[activeIndex].remark"></el-input> |
| | | </div> |
| | | <!-- æé人 --> |
| | | <template v-if="apprList[activeIndex].type == '1'"> |
| | | <div class="config_data_item_reviewed_content"> |
| | | <div |
| | | v-for="mem in apprList[activeIndex].objIds" |
| | | :key="mem.id" |
| | | class="config_data_item_reviewed_content_item" |
| | | > |
| | | <div v-for="mem in apprList[activeIndex].objIds" :key="mem.id" |
| | | class="config_data_item_reviewed_content_item"> |
| | | <span>{{ mem.name }}</span> |
| | | <i class="el-icon-close"></i> |
| | | </div> |
| | | <span class="add" @click="selStaff">+æ·»å </span> |
| | | </div> |
| | | </template> |
| | | <el-radio-group |
| | | v-if="apprList[activeIndex].type == '0'" |
| | | v-model="apprList[activeIndex].memberType" |
| | | > |
| | | <el-radio-group v-if="apprList[activeIndex].type == '0'" v-model="apprList[activeIndex].memberType"> |
| | | <!-- <el-radio :label="0">ç³è¯·äºº</el-radio>--> |
| | | <el-radio :label="1">æå®äººå</el-radio> |
| | | <el-radio :label="2">é¨é¨ä¸»ç®¡</el-radio> |
| | | </el-radio-group> |
| | | <div |
| | | class="config_data_item_reviewed" |
| | | v-if="apprList[activeIndex].memberType == 1" |
| | | > |
| | | <div class="config_data_item_reviewed" v-if="apprList[activeIndex].memberType == 1"> |
| | | <div class="config_data_item_reviewed_label"> |
| | | <span>æå®å®¡æ ¸äºº</span> |
| | | <span>ä¸è¶
è¿20人</span> |
| | | </div> |
| | | <div class="config_data_item_reviewed_content"> |
| | | <div |
| | | v-for="(mem, memIndex) in apprList[activeIndex].objIds" |
| | | :key="mem.id" |
| | | class="config_data_item_reviewed_content_item" |
| | | > |
| | | <div v-for="(mem, memIndex) in apprList[activeIndex].objIds" :key="mem.id" |
| | | class="config_data_item_reviewed_content_item"> |
| | | <span>{{ mem.name }}</span> |
| | | <i class="el-icon-close" @click="memDel(memIndex)"></i> |
| | | </div> |
| | | <span class="add" @click="selStaff">+æ·»å </span> |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="config_data_item_reviewed" |
| | | v-if="apprList[activeIndex].memberType == 2" |
| | | > |
| | | <div class="config_data_item_reviewed" v-if="apprList[activeIndex].memberType == 2"> |
| | | <div class="config_data_item_reviewed_label"> |
| | | <span>é¨é¨ä¸»ç®¡</span> |
| | | </div> |
| | | <div class="config_data_item_reviewed_r"> |
| | | <span>ç³è¯·äººç</span> |
| | | <el-select |
| | | v-model="apprList[activeIndex].objLevel" |
| | | placeholder="è¯·éæ©" |
| | | style="margin: 0 20px 0 10px" |
| | | > |
| | | <el-select v-model="apprList[activeIndex].objLevel" placeholder="è¯·éæ©" style="margin: 0 20px 0 10px"> |
| | | <el-option label="ç´æ¥ä¸»ç®¡" :value="0" /> |
| | | <el-option label="äºçº§ä¸»ç®¡" :value="1" /> |
| | | <el-option label="ä¸çº§ä¸»ç®¡" :value="2" /> |
| | | <el-option label="å级主管" :value="4" /> |
| | | </el-select> |
| | | <el-checkbox |
| | | v-model="apprList[activeIndex].noleaderOpt" |
| | | :true-label="1" |
| | | :false-label="0" |
| | | >æ¾ä¸å°ä¸»ç®¡æ¶ï¼ç±ä¸çº§ä¸»ç®¡ä»£å®¡æ ¸</el-checkbox> |
| | | <el-checkbox v-model="apprList[activeIndex].noleaderOpt" :true-label="1" |
| | | :false-label="0">æ¾ä¸å°ä¸»ç®¡æ¶ï¼ç±ä¸çº§ä¸»ç®¡ä»£å®¡æ ¸</el-checkbox> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div |
| | | class="config_data_item" |
| | | v-if=" |
| | | <div class="config_data_item" v-if=" |
| | | (apprList[activeIndex].memberType == 1 || |
| | | apprList[activeIndex].memberType == 2) && |
| | | apprList[activeIndex].type == '0' |
| | | " |
| | | > |
| | | "> |
| | | <div class="config_data_item_label"> |
| | | å®¡æ¹æ¹å¼ |
| | | <span>审æ¹äººä¸ºå¤ä¸ªæ¶ï¼éç¨çå®¡æ¹æ¹å¼</span> |
| | | </div> |
| | | <el-radio-group |
| | | v-model="apprList[activeIndex].approveType" |
| | | style="display: flex; flex-direction: column" |
| | | > |
| | | <el-radio :label="0" style="margin-bottom: 20px" |
| | | >æç¾ï¼å
¶ä¸ä¸å审æ¹äººåæææç»å³å¯ï¼</el-radio |
| | | > |
| | | <el-radio-group v-model="apprList[activeIndex].approveType" style="display: flex; flex-direction: column"> |
| | | <el-radio :label="0" style="margin-bottom: 20px">æç¾ï¼å
¶ä¸ä¸å审æ¹äººåæææç»å³å¯ï¼</el-radio> |
| | | <el-radio :label="1">ä¼ç¾ï¼ææå®¡æ¹äººé½åææå¯éè¿ï¼</el-radio> |
| | | </el-radio-group> |
| | | </div> |
| | | <div class="config_data_submit"> |
| | | <el-button |
| | | @click="onSubmit" |
| | | :loading="subLoading" |
| | | style="background: #435ebe" |
| | | type="primary" |
| | | >ä¿åé
置项</el-button |
| | | > |
| | | <el-button |
| | | v-if="activeIndex !== 0 && activeIndex !== apprList.length - 1" |
| | | type="danger" |
| | | plain |
| | | @click="handleDel" |
| | | >å é¤èç¹</el-button |
| | | > |
| | | <el-button @click="onSubmit" :loading="subLoading" style="background: #435ebe" |
| | | type="primary">ä¿åé
置项</el-button> |
| | | <el-button v-if="activeIndex !== 0 && activeIndex !== apprList.length - 1" type="danger" plain |
| | | @click="handleDel">å é¤èç¹</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <!-- --> |
| | | <el-dialog title="éæ©åå·¥" :visible.sync="isShowTransfer" width="1000px" style="z-index: 99999" append-to-body> |
| | | <el-dialog title="éæ©åå·¥" :visible.sync="isShowTransfer" width="900px" style="z-index: 99999" append-to-body> |
| | | <div class="staff_modal"> |
| | | <div class="left"> |
| | | <div |
| | | style=" |
| | | <div style=" |
| | | width: 100%; |
| | | height: 50px; |
| | | background: rgba(242, 242, 242, 1); |
| | | line-height: 50px; |
| | | text-align: center; |
| | | font-size: 14px; |
| | | " |
| | | > |
| | | "> |
| | | ä¼ä¸ç»ç»æ¶æ |
| | | </div> |
| | | <div style="width: 100%; height: 100%; overflow-y: scroll"> |
| | | <Tree |
| | | :list="companyTree" |
| | | :defaultProps="{ |
| | | <Tree :list="companyTree" :defaultProps="{ |
| | | name: 'name', |
| | | status: 'fsStatus', |
| | | children: 'childList', |
| | | id: 'id', |
| | | }" |
| | | @callback="callback" |
| | | /> |
| | | }" @callback="callback" /> |
| | | </div> |
| | | </div> |
| | | <el-transfer |
| | | filterable |
| | | :title="['æªé', 'å·²é']" |
| | | openAll |
| | | :props="{ label: 'name', key: 'keyTemp' }" |
| | | filter-placeholder="æç´¢åå·¥" |
| | | v-model="searchForm.objIds" |
| | | :data="memberList" |
| | | class="transfer" |
| | | > |
| | | <el-transfer filterable :titles="['æªé', 'å·²é']" openAll :props="{ label: 'name', key: 'keyTemp' }" |
| | | filter-placeholder="æç´¢åå·¥" v-model="searchForm.objIds" :data="memberList" class="transfer"> |
| | | </el-transfer> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | |
| | | font-size: 12px; |
| | | color: #666666; |
| | | } |
| | | |
| | | .config { |
| | | width: 100%; |
| | | padding-bottom: 20px; |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | .config_list { |
| | | width: 543px; |
| | | height: 100%; |
| | |
| | | box-sizing: border-box; |
| | | border: 1px solid #eeeeee; |
| | | background: #f7f7f7; |
| | | |
| | | .config_list_head { |
| | | width: 100%; |
| | | height: 40px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | |
| | | span { |
| | | font-size: 18px; |
| | | font-weight: 500; |
| | | color: #222222; |
| | | } |
| | | } |
| | | |
| | | .config_content { |
| | | width: 100%; |
| | | height: calc(100% - 40px); |
| | |
| | | display: flex; |
| | | align-items: center; |
| | | flex-direction: column; |
| | | |
| | | &::-webkit-scrollbar { |
| | | width: 0; |
| | | } |
| | | |
| | | .active { |
| | | border: 2px solid #4456ac !important; |
| | | } |
| | | |
| | | .yellow { |
| | | background: #e89e42 !important; |
| | | } |
| | | |
| | | .blue { |
| | | background: #5094f3 !important; |
| | | } |
| | | |
| | | .arrows { |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | position: relative; |
| | | |
| | | .line { |
| | | width: 1px; |
| | | height: 60px; |
| | | background-color: #ccc; |
| | | } |
| | | |
| | | .add { |
| | | font-size: 40px; |
| | | color: #2080f7; |
| | |
| | | z-index: 999; |
| | | top: 10px; |
| | | } |
| | | |
| | | img { |
| | | width: 12px; |
| | | } |
| | | } |
| | | |
| | | .item { |
| | | width: 200px; |
| | | cursor: pointer; |
| | |
| | | position: relative; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .head { |
| | | height: 32px; |
| | | line-height: 32px; |
| | | padding: 2px 12px; |
| | | color: #fff; |
| | | } |
| | | |
| | | .content { |
| | | flex: 1; |
| | | background-color: #fff; |
| | |
| | | padding: 0 12px; |
| | | justify-content: space-between; |
| | | } |
| | | |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .config_data { |
| | | flex: 1; |
| | | height: 100%; |
| | | margin-left: 20px; |
| | | |
| | | .config_data_submit { |
| | | margin-top: 50px; |
| | | } |
| | | |
| | | .config_data_item { |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | margin-bottom: 30px; |
| | | |
| | | &:last-child { |
| | | margin: 0 !important; |
| | | } |
| | | |
| | | .config_data_item_label { |
| | | font-size: 16px; |
| | | font-weight: 500; |
| | | color: #222222; |
| | | margin-bottom: 20px; |
| | | |
| | | span { |
| | | font-size: 12px; |
| | | font-weight: 400; |
| | |
| | | margin-left: 10px; |
| | | } |
| | | } |
| | | |
| | | .config_data_item_reviewed { |
| | | width: 100%; |
| | | margin-top: 20px; |
| | | |
| | | .config_data_item_reviewed_r { |
| | | margin-top: 10px; |
| | | width: 100%; |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | span { |
| | | flex-shrink: 0; |
| | | font-size: 14px; |
| | |
| | | color: #666666; |
| | | } |
| | | } |
| | | |
| | | .config_data_item_reviewed_label { |
| | | display: flex; |
| | | align-items: center; |
| | | |
| | | span { |
| | | &:nth-child(1) { |
| | | font-size: 14px; |
| | | font-weight: 400; |
| | | color: #222222; |
| | | } |
| | | |
| | | &:nth-child(2) { |
| | | font-size: 12px; |
| | | font-weight: 400; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .config_data_item_reviewed_content { |
| | | width: 400px; |
| | | margin-top: 10px; |
| | |
| | | display: flex; |
| | | align-items: flex-start; |
| | | flex-wrap: wrap; |
| | | |
| | | .add { |
| | | font-size: 12px; |
| | | font-weight: 400; |
| | |
| | | cursor: pointer; |
| | | margin-top: 3px; |
| | | } |
| | | |
| | | .config_data_item_reviewed_content_item { |
| | | padding: 3px 5px; |
| | | background: #f4f7fc; |
| | |
| | | box-sizing: border-box; |
| | | margin-right: 10px; |
| | | margin-bottom: 10px; |
| | | |
| | | span { |
| | | font-size: 12px; |
| | | font-weight: 400; |
| | | color: #333333; |
| | | } |
| | | |
| | | i { |
| | | color: #949ba2; |
| | | margin-left: 10px; |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .staff_modal { |
| | | display: flex; |
| | | |
| | | .left { |
| | | width: 300px; |
| | | width: 240px; |
| | | margin-right: 20px; |
| | | } |
| | | |
| | | .transfer { |
| | | height: 600px; |
| | | width: 100%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | ::v-deep .el-transfer-panel{ |
| | | flex: 1; |
| | | height: 100%; |
| | | } |
| | | ::v-deep .el-transfer-panel__body { |
| | | height: 500px; |
| | | } |
| | | |
| | | ::v-deep .el-transfer-panel__list.is-filterable { |
| | | height: 480px; |
| | | } |
| | |
| | | </div>--> |
| | | <Profile :roles="roles" :permissions="permissions"> |
| | | <div style="width: 100%; height: 100%; padding: 0 16px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between;"> |
| | | <div style="width: 300px; height: 100%; flex-shrink: 0; background: #ffffff;"> |
| | | <div style="width: 240px; height: 100%; flex-shrink: 0; background: #ffffff;"> |
| | | <slot name="menu"></slot> |
| | | </div> |
| | | <div style="width: calc(100% - 310px); height: 100%"> |
| | | <div style="width: calc(100% - 250px); height: 100%"> |
| | | <!-- æç´¢è¡¨åé¨å --> |
| | | <div class="table-search-form" style="padding: 0 !important;"> |
| | | <div class="form-wrap"> |
| | |
| | | { |
| | | filed: 'selDate', |
| | | type: 'datetimerange', |
| | | label: 'æä½æ¶é´', |
| | | label: 'ä½ä¸å®ææ¶é´æç´¢', |
| | | pickerOptions: {} |
| | | }, |
| | | { |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <QueryForm v-model="filters" :query-form-config="queryFormConfig" @changeForm='changeForm' @handleQuery="getList(1)" |
| | | @clear="clear"> |
| | | </QueryForm> |
| | | <div class="pt16"> |
| | | <el-button :loading="exLoading" @click="handleEx" |
| | | v-permissions="['business:platformjob:exportExcel']">导åº</el-button> |
| | | </div> |
| | | <el-table class="mb20" v-loading="loading" :data="list" stripe> |
| | | <el-table-column prop="billCode" label="å§å" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="carCodeFront" label="ææºå·" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="taskOrigin" label="è¥éåºå" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="carrierName" label="夿³¨" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="driverName" label="æåæ´æ°æ¶é´" min-width="100" show-overflow-tooltip /> |
| | | <el-table-column prop="name" label="æä½" min-width="120" align="center" fixed="right" show-overflow-tooltip> |
| | | <template v-slot="scope"> |
| | | <el-button v-if="scope.row.status == '12'" type="text" class="red" v-permissions="['business:platformjob:delete']" |
| | | @click="handleDel(scope.row)">å é¤</el-button> |
| | | <el-button v-if="scope.row != 12" type="text" v-permissions="['business:platformjob:query']" |
| | | @click="handleDetail(scope.row)">ç¼è¾</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> |
| | | <!-- --> |
| | | <!-- --> |
| | | <WaybillDetailRef v-if="isShowDetail" ref="WaybillDetailRef" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Pagination from '@/components/common/Pagination' |
| | | import QueryForm from '@/components/common/QueryForm' |
| | | import { platformJobPage, platformJobExport, platformJobDel } from '@/api' |
| | | import { statusMap } from '../config' |
| | | import WaybillDetailRef from "../components/WaybillDetail.vue" |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import UploadFaceImg from '@/components/common/UploadFaceImg' |
| | | import { Message } from 'element-ui' |
| | | import dayjs from 'dayjs' |
| | | export default { |
| | | components: { |
| | | Pagination, |
| | | QueryForm, |
| | | WaybillDetailRef, |
| | | GlobalWindow, |
| | | UploadFaceImg |
| | | }, |
| | | data() { |
| | | return { |
| | | statusMap, |
| | | isShowDetail: false, |
| | | exLoading: false, |
| | | loading: false, |
| | | pagination: { |
| | | pageSize: 10, |
| | | page: 1, |
| | | total: 0 |
| | | }, |
| | | filters: { |
| | | selDate: [], |
| | | fastdate: 0 |
| | | }, |
| | | list: [], |
| | | queryFormConfig: { |
| | | formItems: [ |
| | | { |
| | | filed: 'name', |
| | | type: 'input', |
| | | label: 'å§å' |
| | | }, |
| | | { |
| | | filed: 'phone', |
| | | type: 'input', |
| | | label: 'ææºå·' |
| | | } |
| | | ], |
| | | online: true |
| | | }, |
| | | } |
| | | }, |
| | | created() { |
| | | this.changeRadio('0') |
| | | this.getList() |
| | | }, |
| | | methods: { |
| | | changeRadio(day) { |
| | | const arr = [dayjs().subtract(day, 'day').format('YYYY-MM-DD') + ' 00:00:00', dayjs().format('YYYY-MM-DD') + ' 23:59:59'] |
| | | this.$set(this.filters, 'selDate', arr) |
| | | this.getList() |
| | | }, |
| | | changeForm(str) { |
| | | if (str === 'selDate') { |
| | | this.$set(this.filters, 'fastdate', null) |
| | | this.getList() |
| | | } |
| | | }, |
| | | getList(page) { |
| | | const { pagination, filters } = this |
| | | this.loading = true |
| | | platformJobPage({ |
| | | model: { |
| | | ...filters, |
| | | jobType: '0', |
| | | createDateStart: filters.selDate && filters.selDate.length > 0 ? filters.selDate[0] : null, |
| | | createDateEnd: filters.selDate && filters.selDate.length > 0 ? filters.selDate[1] : null, |
| | | }, |
| | | capacity: pagination.pageSize, |
| | | page: page || pagination.page, |
| | | }).then(res => { |
| | | this.loading = false |
| | | this.list = res.records || [] |
| | | this.list.forEach(item => { |
| | | item.inTypeTemp = item.inType == 0 ? 'æ´æç' : 'ä»¶ç' |
| | | item.taskOrigin = 'WMSè·å' |
| | | }) |
| | | this.pagination.total = res.total || 0 |
| | | }, () => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | handleDel(row) { |
| | | this.$dialog.exportConfirm('确认å é¤åï¼').then(() => { |
| | | platformJobDel(row.id).then(res => { |
| | | Message.success('å 餿å') |
| | | this.getList() |
| | | }) |
| | | }) |
| | | }, |
| | | handleEx() { |
| | | this.$dialog.exportConfirm('确认导åºåï¼') |
| | | .then(() => { |
| | | this.exLoading = true |
| | | platformJobExport({ |
| | | page: this.pagination.page, |
| | | capacity: 1000000, |
| | | jobType: '0', |
| | | model: this.filters |
| | | }) |
| | | .then(response => { |
| | | this.download(response) |
| | | }) |
| | | .catch(e => { |
| | | this.$tip.apiFailed(e) |
| | | }) |
| | | .finally(() => { |
| | | this.exLoading = false |
| | | }) |
| | | }) |
| | | }, |
| | | clear() { |
| | | this.pagination.page = 1 |
| | | this.filters = { |
| | | selDate: [], |
| | | fastdate: 0 |
| | | } |
| | | this.getList() |
| | | }, |
| | | handleDetail(row) { |
| | | this.isShowDetail = true |
| | | this.$nextTick(() => { |
| | | this.$refs.WaybillDetailRef.isShowModal = true |
| | | this.$refs.WaybillDetailRef.id = row.id |
| | | this.$refs.WaybillDetailRef.getDetail() |
| | | }) |
| | | }, |
| | | handleSizeChange(capacity) { |
| | | this.pagination.pageSize = capacity |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .param_title { |
| | | font-size: 18px; |
| | | font-weight: 600; |
| | | color: #000000; |
| | | margin-bottom: 15px; |
| | | } |
| | | </style> |
| | |
| | | <div class="title">ååå表</div> |
| | | <div class="content"> |
| | | <div class="item" v-for="item in info.wmsJobContractVOList"> |
| | | <div class="contract">ååå·ï¼{{ item.contractCode }}</div> |
| | | <div class="contract"> |
| | | <span>ååå·ï¼{{ item.contractCode }}</span> |
| | | <div> |
| | | <span class="scs" v-if="item.platformWmsDetailList[0].status == 1">WMSä½ä¸å·²å®æ</span> |
| | | <span class="pad" v-if="item.platformWmsDetailList[0].status == 0">WMSä½ä¸æªå®æ</span> |
| | | <span class="err" v-if="item.platformWmsDetailList[0].status == 2">WMSä½ä¸å·²åæ¶</span> |
| | | <span class="scs" v-if="item.platformWmsDetailList[0].lockStatus == 1">çµåéå·²ä¸é</span> |
| | | <span class="pad" v-if="item.platformWmsDetailList[0].lockStatus == 0">çµåéæªä¸é</span> |
| | | </div> |
| | | </div> |
| | | <div class="placeholder6">æ¶è´§å°ï¼{{ item.address }}</div> |
| | | <div class="list"> |
| | | <div class="line" v-for="line in item.platformWmsDetailList"> |
| | |
| | | font-size: 15px; |
| | | color: #279baa; |
| | | margin-bottom: 4px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | .scs{ |
| | | color: #00ba67; |
| | | } |
| | | .pad{ |
| | | color: #f19c3f; |
| | | } |
| | | .err{ |
| | | color: red; |
| | | } |
| | | } |
| | | |
| | | .line { |
| | |
| | | <span v-if="row.type == 2">å¸å
¬å¸å¸è´§</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="waitCallTime" label="å«å·çå¾
æ¶é´ï¼åéï¼" min-width="100px" align="center"></el-table-column> |
| | | <el-table-column prop="editDate" label="æè¿æ´æ°æ¶é´" min-width="140px" align="center"></el-table-column> |
| | | <el-table-column prop="waitCallTime" label="å«å·çå¾
æ¶é´ï¼åéï¼" min-width="140px" align="center"></el-table-column> |
| | | <el-table-column prop="editDate" label="æè¿æ´æ°æ¶é´" min-width="150px" align="center"></el-table-column> |
| | | <el-table-column |
| | | v-if="containPermissions(['business:platformgroup:update', 'business:platformgroup:delete'])" |
| | | label="æä½" |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div class="main_app"> |
| | | <QueryForm v-model="filters" :query-form-config="queryFormConfig" @handleQuery="getList(1)" |
| | | @clear="clear"> |
| | | </QueryForm> |
| | | <!-- <div class="pt16"> |
| | | <el-button :loading="exLoading" @click="handleEx" |
| | | v-permissions="['business:platformjob:exportExcel']">导åº</el-button> |
| | | </div> --> |
| | | <el-table class="mb20" v-loading="loading" :data="list" stripe> |
| | | <el-table-column prop="name" label="æ¶æ¯æ é¢" min-width="160" show-overflow-tooltip /> |
| | | <el-table-column prop="code" label="æ¶æ¯ç¼ç " min-width="150" show-overflow-tooltip /> |
| | | <el-table-column prop="content" label="æ¶æ¯æ¨¡æ¿" min-width="300" show-overflow-tooltip /> |
| | | <el-table-column label="ç¶æ" width="120" align="center" fixed="right"> |
| | | <template v-slot="scope"> |
| | | <el-switch v-model="scope.row.status" @change="changeStatus(scope.row)" :active-value="0" :inactive-value="1"> |
| | | </el-switch> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <Pagination @size-change="handleSizeChange" @current-change="getList" :pagination="pagination" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import Pagination from '@/components/common/Pagination' |
| | | import QueryForm from '@/components/common/QueryForm' |
| | | import { getSmsList, SmsStatusUpdate } from '@/api/system/sms' |
| | | |
| | | import GlobalWindow from '@/components/common/GlobalWindow' |
| | | import { Message } from 'element-ui' |
| | | import dayjs from 'dayjs' |
| | | export default { |
| | | components: { |
| | | Pagination, |
| | | QueryForm, |
| | | GlobalWindow, |
| | | }, |
| | | data() { |
| | | return { |
| | | isShowDetail: false, |
| | | exLoading: false, |
| | | loading: false, |
| | | pagination: { |
| | | pageSize: 10, |
| | | page: 1, |
| | | total: 0 |
| | | }, |
| | | filters: {}, |
| | | list: [], |
| | | queryFormConfig: { |
| | | formItems: [ |
| | | { |
| | | filed: 'name', |
| | | type: 'input', |
| | | label: 'æ¶æ¯æ é¢' |
| | | }, |
| | | { |
| | | filed: 'status', |
| | | type: 'select', |
| | | label: 'å¯ç¨ç¶æ', |
| | | options: [ |
| | | { value: 0, label: 'å¯ç¨' }, |
| | | { value: 1, label: 'ç¦ç¨' }, |
| | | ] |
| | | }, |
| | | { |
| | | filed: 'code', |
| | | type: 'input', |
| | | label: 'æ¶æ¯ç¼ç ' |
| | | } |
| | | ], |
| | | online: true |
| | | }, |
| | | } |
| | | }, |
| | | created() { |
| | | this.getList() |
| | | }, |
| | | methods: { |
| | | changeStatus(row) { |
| | | console.log('row', row); |
| | | SmsStatusUpdate({ |
| | | ...row |
| | | }).then(res => { |
| | | Message.success('ç¶ææ´æ°æå') |
| | | }, () => { |
| | | this.getList() |
| | | }) |
| | | }, |
| | | getList(page) { |
| | | const { pagination, filters } = this |
| | | this.loading = true |
| | | getSmsList({ |
| | | model: { |
| | | ...filters, |
| | | }, |
| | | capacity: pagination.pageSize, |
| | | page: page || pagination.page, |
| | | }).then(res => { |
| | | this.loading = false |
| | | this.list = res.records || [] |
| | | this.list.forEach(item => { |
| | | item.inTypeTemp = item.inType == 0 ? 'æ´æç' : 'ä»¶ç' |
| | | item.taskOrigin = 'WMSè·å' |
| | | }) |
| | | this.pagination.total = res.total || 0 |
| | | }, () => { |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | |
| | | |
| | | clear() { |
| | | this.pagination.page = 1 |
| | | this.filters = {} |
| | | this.getList() |
| | | }, |
| | | handleSizeChange(capacity) { |
| | | this.pagination.pageSize = capacity |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | <style lang="scss" scoped> |
| | | .param_title { |
| | | font-size: 18px; |
| | | font-weight: 600; |
| | | color: #000000; |
| | | margin-bottom: 15px; |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" width="600px" @close="close" @confirm="confirm"> |
| | | <el-form :model="form" ref="form" :rules="rules"> |
| | | <el-form-item label="ä¸çº§åç±»" prop="parentId"> |
| | | <el-form-item label="æå±åç±»" prop="parentId"> |
| | | <el-select v-model="form.parentId" placeholder="ä¸å¡«ä¸ºåä¸çº§åç±»"> |
| | | <el-option v-for="op in dataList" :key="op.id" :label="op.name" :value="op.id"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="äºçº§åç±»" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥äºçº§åç±»" v-trim /> |
| | | <el-form-item label="åç±»åç§°" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请è¾å
¥åç±»åç§°" v-trim /> |
| | | </el-form-item> |
| | | <!-- <el-form-item label="ç¶æ" prop="status"> |
| | | <el-select v-model="form.status" placeholder="è¯·éæ©"> |
| | |
| | | <script setup> |
| | | import { ref, onMounted } from 'vue' |
| | | import { ref, onMounted, nextTick } from 'vue' |
| | | import dayjs from 'dayjs' |
| | | import UQRCode from 'uqrcodejs' |
| | | import { getLargeScreenData } from '@/utils/request' |
| | |
| | | if (res.data && res.data.allList) { |
| | | contentList.value = res.data.allList.map(item => { |
| | | if (item.optTime) { |
| | | item.optTimeTemp = dayjs.duration(item.optTime).format('HHå°æ¶mmå') |
| | | item.optTimeTemp = dayjs(item.optTime).format('HH:mm') |
| | | // item.optTimeTemp = dayjs.duration(Math.abs(new Date().getTime() - item.optTime)).format('HH:mm') |
| | | } |
| | | return item |
| | | }) |
| | |
| | | var qr = new UQRCode() |
| | | // 设置äºç»´ç å
容 |
| | | qr.data = qrcode.value |
| | | qr.size = 220 |
| | | qr.size = 210 |
| | | // è°ç¨å¶ä½äºç»´ç æ¹æ³ |
| | | qr.make() |
| | | var canvas = document.getElementById("qrcode") |
| | |
| | | newDate.value = dayjs().format('YYYY-MM-DD') |
| | | newTime.value = dayjs().format('HH:mm') |
| | | }, 1000) |
| | | |
| | | const isFullscreen = ref(false); |
| | | const handleFull = () => { |
| | | if(!isFullscreen.value){ |
| | | handleFullScreen() |
| | | }else{ |
| | | cancelFullscreen() |
| | | } |
| | | } |
| | | setTimeout(() => { |
| | | handleFull() |
| | | }, 1000) |
| | | const handler = () => { |
| | | isFullscreen.value = document.fullscreenElement !== null; |
| | | if (!isFullscreen) { |
| | | // éåºå
¨å±æ¶åè§£é¤çå¬ï¼ä¸ç¶æ¯æ¬¡çå¬é½ä¼æ·»å 䏿¬¡ç»å® |
| | | document.removeEventListener("fullscreenchange", handler); |
| | | } |
| | | }; |
| | | document.addEventListener("fullscreenchange", handler); |
| | | const handleFullScreen = () => { |
| | | let elem = document.documentElement |
| | | // å°è¯å¯ç¨å
¨å±æ¨¡å¼ |
| | | if (elem.requestFullscreen) { |
| | | elem.requestFullscreen() |
| | | } else if (elem.mozRequestFullScreen) { // å
¼å®¹ Firefox |
| | | elem.mozRequestFullScreen() |
| | | } else if (elem.webkitRequestFullscreen) { // å
¼å®¹ Chrome, Safari å Opera |
| | | elem.webkitRequestFullscreen() |
| | | } else if (elem.msRequestFullscreen) { // å
¼å®¹ IE/Edge |
| | | elem.msRequestFullscreen() |
| | | } |
| | | } |
| | | function cancelFullscreen() { |
| | | if (document.exitFullscreen) { |
| | | document.exitFullscreen(); |
| | | } else if (document.msExitFullscreen) { |
| | | document.msExitFullscreen(); |
| | | } else if (document.mozCancelFullScreen) { |
| | | document.mozCancelFullScreen(); |
| | | } else if (document.webkitExitFullscreen) { |
| | | document.webkitExitFullscreen(); |
| | | } |
| | | } |
| | | |
| | | </script> |
| | | <template> |
| | | <div class="main_app"> |
| | |
| | | </div> |
| | | <div class="qrcode_wrap"> |
| | | <div class="qrcode"> |
| | | <canvas id="qrcode" width="220" height="220"></canvas> |
| | | <canvas id="qrcode" width="210" height="210"></canvas> |
| | | </div> |
| | | <div class="title">请æ«ç ç¾å°</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="main_footer"> |
| | | <img src="@/assets/images/call/ic_news@2x.png" class="icon" alt=""> |
| | | <img @click="handleFull" src="@/assets/images/call/ic_news@2x.png" class="icon" alt=""> |
| | | <div class="title">è¯·æ ¹æ®éåæç¤ºä¿¡æ¯ï¼ä¾æ¬¡çåè¿åº</div> |
| | | <div class="icon"></div> |
| | | </div> |
| | |
| | | div{ |
| | | box-sizing: border-box; |
| | | } |
| | | |
| | | .main_app { |
| | | color: #fff; |
| | | position: fixed; |
| | |
| | | overflow: hidden; |
| | | background-color: #092030; |
| | | position: relative; |
| | | z-index: -2; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: space-between; |
| | | |
| | | .main_header { |
| | | width: 100%; |
| | | height: 112px; |
| | |
| | | align-items: center; |
| | | justify-content: space-between; |
| | | padding: 0 50px; |
| | | |
| | | z-index: 11; |
| | | .title { |
| | | font-weight: 800; |
| | | font-size: 48px; |
| | |
| | | display: flex; |
| | | padding: 30px 20px; |
| | | position: relative; |
| | | |
| | | .list { |
| | | flex: 5; |
| | | margin-right: 20px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .line { |
| | | display: flex; |
| | | align-items: center; |
| | | flex: 1; |
| | | height: 11.1%; |
| | | |
| | | &:nth-of-type(2n) { |
| | | background: rgba(255, 255, 255, 0); |
| | | } |
| | |
| | | align-items: center; |
| | | flex-direction: column; |
| | | font-weight: 500; |
| | | font-size: 36px; |
| | | font-size: 30px; |
| | | flex: 10; |
| | | height: 100%; |
| | | |
| | | .time_place{ |
| | | font-weight: 500; |
| | | font-size: 24px; |
| | | font-size: 22px; |
| | | } |
| | | |
| | | .status { |
| | | /* padding: 0 28px; */ |
| | | width: 170px; |
| | |
| | | } |
| | | |
| | | .header { |
| | | .item { |
| | | font-size: bold; |
| | | font-size: 40px; |
| | | font-size: 36px; |
| | | } |
| | | background: linear-gradient(180deg, #00B5D1 0%, #003C57 100%) !important; |
| | | } |
| | | } |
| | |
| | | flex: 2; |
| | | display: flex; |
| | | flex-direction: column; |
| | | border: 1px solid red; |
| | | |
| | | .tip_wrap { |
| | | margin-bottom: 20px; |
| | | width: 100%; |
| | | position: relative; |
| | | /* flex-shrink: 0; */ |
| | | flex: 1; |
| | | |
| | | .current_plat { |
| | | display: flex; |
| | | flex-direction: column; |
| | |
| | | justify-content: center; |
| | | padding: 30px 40px; |
| | | color: #FFA000; |
| | | |
| | | height: 100%; |
| | | .id_card { |
| | | font-weight: bold; |
| | | font-weight: 500; |
| | | font-size: 68px; |
| | | } |
| | | |
| | | .no { |
| | | margin: 10px 0; |
| | | margin: 8px 0; |
| | | font-weight: 500; |
| | | font-size: 52px; |
| | | } |
| | |
| | | |
| | | .plat { |
| | | color: #fff; |
| | | margin: 0 10px; |
| | | margin: 0 6px; |
| | | } |
| | | } |
| | | |
| | | .empty { |
| | | padding: 30px 40px; |
| | | display: flex; |
| | | flex-direction: column; |
| | | justify-content: center; |
| | | font-weight: 500; |
| | | font-size: 30px; |
| | | |
| | | font-size: 26px; |
| | | height: 100%; |
| | | .title { |
| | | text-align: center; |
| | | font-weight: bold; |
| | | font-size: 36px; |
| | | margin-bottom: 20px; |
| | | font-size: 32px; |
| | | margin-bottom: 16px; |
| | | } |
| | | |
| | | .line { |
| | | margin-bottom: 10px; |
| | | margin-bottom: 8px; |
| | | padding-left: 32px; |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .title { |
| | | margin-top: 20px; |
| | | margin-top: 16px; |
| | | font-weight: bold; |
| | | font-size: 34px; |
| | | font-size: 28px; |
| | | color: #111111; |
| | | } |
| | | } |
| | |
| | | '@': fileURLToPath(new URL('./src', import.meta.url)) |
| | | } |
| | | }, |
| | | build: { |
| | | outDir: 'platform_screen' |
| | | }, |
| | | server: { |
| | | proxy: { |
| | | "/gateway_interface": { |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·åXæä»½ä¹åçæä»½æ° |
| | | * @param currentDate |
| | | * @param month |
| | | * @return |
| | | */ |
| | | public static List<String> getBeforMonth(Date currentDate , Integer month) { |
| | | SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy"); |
| | | SimpleDateFormat sdfMonth = new SimpleDateFormat("MM"); |
| | | int currentYear = Integer.parseInt(sdfYear.format(currentDate)); |
| | | int currentMonth = Integer.parseInt(sdfMonth.format(currentDate)); |
| | | List<String> list = new ArrayList<>(); |
| | | |
| | | System.out.println("è¿12个æä»½ï¼"); |
| | | for (int i = 0; i < month; i++) { |
| | | int tempYear = currentYear; |
| | | int tempMonth = currentMonth - i; |
| | | |
| | | if (tempMonth <= 0) { |
| | | tempYear--; |
| | | tempMonth += 12; |
| | | } |
| | | list.add(tempYear +"-" + StringUtils.leftPad(Integer.toString(tempMonth),2,"0")); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * Descrption:åå¾å½åæ¥ææ¶é´,æ ¼å¼ä¸º:YYYYMMDDHHMISS |
| | | * |
| | |
| | | // System.out.println(DateUtil.afterMinutesDate(-5)); |
| | | |
| | | |
| | | Date startTime = DateUtil.StringToDate("2024-05-01 08:00:00" ,"yyyy-MM-dd HH:mm:ss"); |
| | | Date endTime = DateUtil.StringToDate("2024-05-01 17:00:00" ,"yyyy-MM-dd HH:mm:ss"); |
| | | Long intervalTime = 35L; |
| | | DateUtil.getBeforMonth(new Date(),12); |
| | | |
| | | |
| | | DateUtil.checkDateInterval( startTime.toInstant() |
| | | .atZone(ZoneId.systemDefault()) |
| | | .toLocalDateTime(), endTime.toInstant() |
| | | .atZone(ZoneId.systemDefault()) |
| | | .toLocalDateTime(),intervalTime); |
| | | // Date startTime = DateUtil.StringToDate("2024-05-01 08:00:00" ,"yyyy-MM-dd HH:mm:ss"); |
| | | // Date endTime = DateUtil.StringToDate("2024-05-01 17:00:00" ,"yyyy-MM-dd HH:mm:ss"); |
| | | // Long intervalTime = 35L; |
| | | // |
| | | // |
| | | // DateUtil.checkDateInterval( startTime.toInstant() |
| | | // .atZone(ZoneId.systemDefault()) |
| | | // .toLocalDateTime(), endTime.toInstant() |
| | | // .atZone(ZoneId.systemDefault()) |
| | | // .toLocalDateTime(),intervalTime); |
| | | |
| | | } catch (Exception ex) { |
| | | ex.printStackTrace(); |
| | |
| | | |
| | | public class SmsConstants { |
| | | |
| | | public interface SmsObjectType{ |
| | | String inventCode = "0"; //éªè¯ç |
| | | String visit= "1"; //访客ç³è¯· |
| | | String visitReport = "2"; //访客æ¥å¤ |
| | | String hiddenDanger ="3";//鿣鿿 |
| | | String carUse ="4";//ç¨è½¦ç³è¯· |
| | | String meeting ="5";//ä¼è®®é¢çº¦ |
| | | String platformBook ="6";//ç©æµè½¦é¢çº¦ |
| | | String platformJob ="7";//æå°ä½ä¸ |
| | | } |
| | | |
| | | |
| | | public static final String inventCode ="inventCode" ; |
| | | public static final String visit ="visit" ; |
| | | public static final String visitReport ="visitReport" ; |
| | | public static final String hiddenDanger ="hiddenDanger" ; |
| | | public static final String carUse ="carUse" ; |
| | | public static final String meeting ="meeting" ; |
| | | public static final String platformBook ="platformBook" ; |
| | | public static final String platformJob ="platformJob" ; |
| | | |
| | | |
| | | /** |
| | | * 访客ç³è¯· |
| | | */ |
| | | public interface visitContent{ |
| | | //访客ç³è¯·-éç¥ï¼ç»å®¡æ¹äººï¼ |
| | | String visitNotice = "æ¨æä¸æ¡ã{访客ç³è¯·}ãéè¦å¤çï¼è¯¦ç»ä¿¡æ¯è¯·åå¾å¾®ä¿¡å
¬ä¼å·æ¥çã"; |
| | | String visitNotice = "visitNotice"; |
| | | //访客ç³è¯·-审æ¹éè¿éç¥ï¼ç»ç³è¯·äººï¼ï¼ã |
| | | String visitAuditSuccess = "æ¨çã{访客ç³è¯·}ãå·²ç»å®¡æ¹éè¿ï¼è¯·äº{é¢çº¦å
¥åå¼å§æ¶é´}åå¾é¨å«å®¤è®¿å®¢æºç¾å°å
¥åï¼å¦æçé®ï¼è¯·è系被访人"; |
| | | String visitAuditSuccess = "visitAuditSuccess"; |
| | | //访客ç³è¯·-审æ¹é©³åéç¥ï¼ç»ç³è¯·äººï¼ï¼ã |
| | | String visitAuditFail = "æ¨çã{访客ç³è¯·}ã已被驳åï¼é©³ååå 为ï¼{驳ååå }ã妿çé®ï¼è¯·è系被访人ã"; |
| | | String visitAuditFail = "visitAuditFail"; |
| | | //访客ç³è¯·-è¶
æ¶æªç¾ç¦»-éç¥ï¼ç»ç³è¯·äººï¼ï¼ |
| | | String visitTimeOutSignOut = "æ¨çã访客ç³è¯·ãå·²äº{å°ææ¶é´}å°æï¼è¯·åæ¶ç¦»åºå¹¶åå¾é¨å«å®¤è®¿å®¢æºç¾ç¦»ï¼å¦æçé®ï¼è¯·è系被访人"; |
| | | String visitTimeOutSignOut = "visitTimeOutSignOut"; |
| | | //访客ç³è¯·-è¶
æ¶æªç¾ç¦»-éç¥ï¼ç»æå®æ¥æ¶äººï¼ |
| | | String visitTimeOutSignOutNum = "仿¥è¿æ{æªç¾ç¦»æ°é}个访客æªç¾ç¦»ï¼è¯·åå¾PC端æ¥ç详ç»ä¿¡æ¯ã"; |
| | | String visitTimeOutSignOutNum = "visitTimeOutSignOutNum"; |
| | | |
| | | } |
| | | |
| | |
| | | */ |
| | | public interface visitReportingContent{ |
| | | //访客æ¥å¤-éç¥ï¼ç»å®¡æ¹äººï¼ |
| | | String visitReportingNotice = "æ¨æä¸æ¡ã{访客æ¥å¤}ãéè¦å¤çï¼è¯¦ç»ä¿¡æ¯è¯·åå¾å¾®ä¿¡å
¬ä¼å·æ¥çã"; |
| | | String visitReportingNotice = "visitReportingNotice"; |
| | | //访客æ¥å¤-审æ¹éè¿éç¥ï¼ç»ç³è¯·äººï¼ï¼ã |
| | | String visitReportingAuditSuccess = "æ¨çã{访客æ¥å¤}ãå·²ç»å®¡æ¹éè¿ï¼è¯·éç¥è®¿å®¢äº{é¢çº¦å
¥åå¼å§æ¶é´}åä¹å{车çå·}å
¥åï¼å¦æçé®ï¼è¯·è系被访人ã"; |
| | | String visitReportingAuditSuccess = "visitReportingAuditSuccess"; |
| | | //访客æ¥å¤-审æ¹é©³åéç¥ï¼ç»ç³è¯·äººï¼ï¼ã |
| | | String visitReportingAuditFail = "æ¨çã{访客æ¥å¤}ã已被驳åï¼é©³ååå 为ï¼{驳ååå }ã妿çé®ï¼è¯·è系审æ¹äººã"; |
| | | String visitReportingAuditFail = "visitReportingAuditFail"; |
| | | //访客æ¥å¤-è¶
æ¶æªç¦»åº-éç¥ï¼ç»ç³è¯·äººï¼ï¼ |
| | | String visitReportingTimeOutSignOut = "æ¨çã访客æ¥å¤ãå·²äº{é¢çº¦å
¥åç»ææ¶é´}å°æï¼è¯·åæ¶ç¦»åºï¼å¦æçé®ï¼è¯·è系被访人"; |
| | | String visitReportingTimeOutSignOut = "visitReportingTimeOutSignOut"; |
| | | //访客æ¥å¤-è¶
æ¶æªç¦»åº-éç¥ï¼ç»æå®æ¥æ¶äººï¼ |
| | | String visitReporting_time_out_sign_out_num = "仿¥è¿æ{æªç¾ç¦»æ°é}个访客æ¥å¤è½¦è¾æªç¦»åºï¼è¯·åå¾PC端æ¥ç详ç»ä¿¡æ¯ã"; |
| | | String visitReportingTimeOutSignOutNum = "visitReportingTimeOutSignOutNum"; |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | public interface hiddenDangerContent{ |
| | | //鿣鿿-éç¥ï¼ç»å¤çäººï¼ |
| | | String hiddenDanger_deal_user = "æ¨æä¸æ¡ã{鿣鿿-æ¶é²éæ£}ãéè¦å¤çï¼è¯¦ç»ä¿¡æ¯è¯·åå¾å¾®ä¿¡å
¬ä¼å·æ¥ç"; |
| | | String hiddenDangerDealUser = "hiddenDangerDealUser"; |
| | | //鿣鿿-å¤ç宿ï¼ç»ç³è¯·äººï¼ï¼ã |
| | | String hiddenDanger_deal_over = "æ¨æäº¤çã{鿣鿿-æ¶é²éæ£}ãå·²ç»å¤ç宿¯ï¼è¯¦ç»ä¿¡æ¯è¯·åå¾å¾®ä¿¡å
¬ä¼å·æ¥çã"; |
| | | String hiddenDangerDealOver = "hiddenDangerDealOver"; |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | public interface carUseBookContent{ |
| | | //çä¿¡éç¥æ¨¡æ¿ï¼ç»å¤çäººï¼ |
| | | String carUseBook_wait_audit = "æ¨æä¸æ¡ã{ç¨è½¦ç³è¯·}ãéè¦å¤çï¼è¯¦ç»ä¿¡æ¯è¯·åå¾å¾®ä¿¡å
¬ä¼å·æ¥çã"; |
| | | String carUseBookWaitAudit = "carUseBookWaitAudit"; |
| | | //ç¨è½¦ç³è¯·-审æ¹éè¿éç¥ï¼ç»ç³è¯·äººï¼ï¼ã |
| | | String carUseBook_audit_success = "æ¨çã{ç¨è½¦ç³è¯·}ãå·²ç»å®¡æ¹éè¿ï¼åºåæ¶é´ä¸º{æäº¤çåºåæ¶é´}ï¼è¯·ææ¶ç¨è½¦ãå¦ç¨è½¦è®¡åæåï¼è¯·åæ¶è系派车åã"; |
| | | String carUseBookAuditSuccess = "carUseBookAuditSuccess"; |
| | | //ç¨è½¦ç³è¯·-审æ¹é©³åéç¥ï¼ç»ç³è¯·äººï¼ï¼ã |
| | | String carUseBook_audit_fail = "æ¨çã{ç¨è½¦ç³è¯·}ã已被驳åï¼é©³ååå 为ï¼{驳ååå }ã妿çé®ï¼è¯·è系派车åã"; |
| | | String carUseBookAuditFail = "carUseBookAuditFail"; |
| | | //ç¨è½¦ç³è¯·-审æ¹é©³åéç¥ï¼ç»ç³è¯·äººï¼ï¼ã |
| | | String carUseBook_cancel = "æ¨çã{ç¨è½¦ç³è¯·}ãå·²è¢«åæ¶ï¼åæ¶åå 为ï¼{åæ¶åå }ã妿çé®ï¼è¯·è系派车åã"; |
| | | String carUseBookCancel = "carUseBookCancel"; |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | public interface platformBookContent{ |
| | | //çä¿¡éç¥æ¨¡æ¿ï¼ç»å¤çäººï¼ |
| | | String platformBook_wait_audit = "æ¨æä¸æ¡ã车è¾å
¥åç³è¯·ãéè¦å¤çï¼è¯¦ç»ä¿¡æ¯è¯·åå¾å¾®ä¿¡å
¬ä¼å·æ¥çã"; |
| | | String platformBookWaitAudit = "platformBookContent"; |
| | | //ç©æµè½¦é¢çº¦-审æ¹éè¿éç¥ï¼ç»ç³è¯·äººï¼ï¼ã |
| | | String platformBook_audit_success = "æ¨çã车è¾å
¥åç³è¯·ãå·²ç»å®¡æ¹éè¿ï¼å
¥åæ¶é´ä¸º2024-7-19 09:00ï¼è¯·æå30åéåå¾ç°åºç¾å°ãå¦è®¡åæåï¼è¯·åæ¶èç³»å®¡æ ¸äººåã"; |
| | | String platformBookAuditSuccess = "platformBookAuditSuccess"; |
| | | //ç©æµè½¦é¢çº¦-审æ¹é©³åçä¿¡éç¥æ¨¡æ¿ï¼ç»ç³è¯·äººï¼ |
| | | String platformBook_audit_fail = "æ¨çã车è¾å
¥åç³è¯·ã已被驳åï¼é©³ååå 为ï¼{驳ååå }ã妿çé®ï¼è¯·èç³»å®¡æ ¸äººåã"; |
| | | String platformBookAuditFail = "platformBookAuditFail"; |
| | | //ç©æµè½¦é¢çº¦-å
¥åé¢çº¦åæ¶çä¿¡éç¥æ¨¡æ¿ï¼ç»ç³è¯·äººï¼ |
| | | String carUseBook_cancel = "æ¨çã车è¾å
¥åç³è¯·ãå·²è¢«åæ¶ï¼åæ¶åå 为ï¼{åæ¶åå }ã妿çé®ï¼è¯·èç³»å®¡æ ¸äººåã"; |
| | | String carUseBookCancel = "carUseBookCancel"; |
| | | } |
| | | |
| | | |
| | |
| | | */ |
| | | public interface platformJobContent{ |
| | | // è¿è¾ä»»å¡ä¸è¾¾ ï¼ç»å¸æºï¼ |
| | | String platformJob_new_job = "ã车çå·ã车主æ¨å¥½ï¼æ¨æä¸ä¸ªæ°çè¿è¾ä»»å¡ï¼è¯¦ç»ä¿¡æ¯è¯·åå¾å¾®ä¿¡å
¬ä¼å·æ¥çã"; |
| | | String platformJobNewJob = "platformJobNewJob"; |
| | | //ç©æµè½¦ä½ä¸-è¿è¾ä»»å¡ä¸æ¢æéï¼ç»å¸æºï¼ï¼ã |
| | | String platformJob_stop_job = "ã车çå·ã车主æ¨å¥½ï¼æ¨çè¿è¾ä»»å¡å·²è¢«åæ¶ï¼è¯¦ç»ä¿¡æ¯è¯·åå¾å¾®ä¿¡å
¬ä¼å·æ¥çã"; |
| | | String platformJobStopJob = "platformJobStopJob"; |
| | | //ç©æµè½¦é¢çº¦-å«å·å
¥åçå¾
ï¼ç»å¸æºï¼ |
| | | String platformBook_call_in = "ã车çå·ã车主æ¨å¥½ï¼è¯·å¨10åéå
ï¼åå¾ååºçå¾
åºçå¾
å«å·ä½ä¸ã"; |
| | | String platformBookCallIn = "platformBookCallIn"; |
| | | //ç©æµè½¦é¢çº¦-æå°å«å·ï¼ç»å¸æºï¼ |
| | | String platformBook_sing_in = "ã车çå·ã车主æ¨å¥½ï¼è¯·å¨10åéå
ï¼åå¾{æå°åç§°}è¿è¡ä½ä¸ã"; |
| | | String platformBookSingIn = "platformBookSingIn"; |
| | | //ç©æµè½¦é¢çº¦-æå°å«å·è¿å·ï¼ç»å¸æºï¼ |
| | | String platformBook_over_num = "ã车çå·ã车主æ¨å¥½ï¼æ¨çä»»å¡å·²è¿å·ï¼è¯·éæ°ç¾å°æéçå¾
ã"; |
| | | String platformBookOverNum = "platformBookOverNum"; |
| | | //ç©æµè½¦é¢çº¦-ä½ä¸å¼å§ï¼ç»å¸æºï¼ |
| | | String platformBook_working = "ã车çå·ã车主æ¨å¥½ï¼æ¨ç车è¾å·²å¨{æå°åç§°}å¼å§ä½ä¸ï¼è¯·éæ¶å
³æ³¨ä½ä¸æ
åµã"; |
| | | String platformBookWorking = "platformBookWorking"; |
| | | //ç©æµè½¦é¢çº¦-ä½ä¸å®æï¼ç»å¸æºï¼ |
| | | String platformBook_finish = "ã车çå·ã车主æ¨å¥½ï¼æ¨ç车è¾å·²å¨{æå°åç§°}宿ä½ä¸ï¼è¯·åæ¶é©¶ç¦»æå°ã"; |
| | | String platformBookFinish = "platformBookFinish"; |
| | | //ç©æµè½¦é¢çº¦-ä½ä¸å¼å¸¸æèµ·ï¼ç»å¸æºï¼ |
| | | String platformBook_error = "ã车çå·ã车主æ¨å¥½ï¼æ¨å¨{æå°åç§°}çä½ä¸ä»»å¡å·²ç»è¢«å¼å¸¸æèµ·ï¼è¯·åæ¶å
³æ³¨å
·ä½æ
åµ"; |
| | | String platformBookError = "platformBookError"; |
| | | //ç©æµè½¦é¢çº¦-æå°è½¬ç§»ï¼ç»å¸æºï¼ |
| | | String platformBook_move = "ã车çå·ã车主æ¨å¥½ï¼æ¨å¨{æå°åç§°}çä½ä¸ä»»å¡å·²ç»å·²è¢«è½¬ç§»è³{转移åæå°åç§°}ï¼è¯·åæ¶å
³æ³¨å«å·æ
åµã"; |
| | | String platformBookMove = "platformBookMove"; |
| | | //ç©æµè½¦é¢çº¦-æå°åé è¶
æ¶ï¼ç»å¸æºï¼ |
| | | String platformBook_time_out = "ã车çå·ã车主æ¨å¥½ï¼æ¨å¨{æå°åç§°}å·²åé è¶
æ¶ï¼è¯·å°½å¿«é©¶ç¦»ä»¥å
å½±ååç»ä½ä¸ã"; |
| | | String platformBookTimeOut = "platformBookTimeOut"; |
| | | |
| | | } |
| | | |
| | |
| | | |
| | | @LoginNoRequired |
| | | @PreventRepeat |
| | | @ApiOperation("ãç¨æ°´éãè¿12个æç¨æ°´éä¿¡æ¯å表") |
| | | @PostMapping("/water/lastMonthsDataList") |
| | | public ApiResponse<List<PlatformLastMonthListResponse>> lastMonthsWaterList() { |
| | | return ApiResponse.success(platformWaterGasService.getPlatformLastMonthListResponse(Constants.ZERO)); |
| | | } |
| | | |
| | | @LoginNoRequired |
| | | @PreventRepeat |
| | | @ApiOperation("ãç¨æ°éãæ¬æã䏿åå»å¹´åæ") |
| | | @PostMapping("/gas/dataByMonth") |
| | | public ApiResponse<GasByMonthResponse> gasDataByMonth(@RequestBody GasByMonthRequest param) { |
| | | return ApiResponse.success(platformWaterGasService.gasDataByMonth(param)); |
| | | } |
| | | |
| | | |
| | | @LoginNoRequired |
| | | @PreventRepeat |
| | | @ApiOperation("ãç¨æ°éãè¿12个æç¨æ°éä¿¡æ¯å表") |
| | | @PostMapping("/gas/lastMonthsDataList") |
| | | public ApiResponse<List<PlatformLastMonthListResponse>> lastMonthsGasList () { |
| | | return ApiResponse.success(platformWaterGasService.getPlatformLastMonthListResponse(Constants.ONE)); |
| | | } |
| | | |
| | | @LoginNoRequired |
| | |
| | | @PreventRepeat |
| | | @ApiOperation("ãæå°ãæå°å½åä½ä¸ä¿¡æ¯å表") |
| | | @PostMapping("/platform/workingDataList") |
| | | public ApiResponse<List<PlatformDataListResponse>> platformWorkingDataList(@RequestBody PlatformDataListRequest param) { |
| | | public ApiResponse<List<PlatformDataListResponse>> workingDataList(@RequestBody PlatformDataListRequest param) { |
| | | return ApiResponse.success(platformJobService.platformWorkingDataList(param)); |
| | | } |
| | | |
| | |
| | | @PreventRepeat |
| | | @ApiOperation("ãæå°ãæå°ä½ä¸è¯¦æ
ä¿¡æ¯") |
| | | @PostMapping("/platform/workDataInfo") |
| | | public ApiResponse<PlatformDataInfoResponse> platformWorkingDataList(@RequestBody PlatformDataInfoRequest param) { |
| | | public ApiResponse<PlatformDataInfoResponse> workDataInfo(@RequestBody PlatformDataInfoRequest param) { |
| | | return ApiResponse.success(platformJobService.platformWorkingDataList(param)); |
| | | } |
| | | |
| | |
| | | private String title; |
| | | @ApiModelProperty(value = "æ¶é´") |
| | | private Date createDate; |
| | | @ApiModelProperty(value = "车çå·") |
| | | private String carCode; |
| | | @ApiModelProperty(value = "äºä»¶å
容说æ") |
| | | private String content; |
| | | @ApiModelProperty(value = "æå°åç§°") |
| | |
| | | import com.doumee.dao.openapi.request.GasByMonthRequest; |
| | | import com.doumee.dao.openapi.request.WaterByMonthRequest; |
| | | import com.doumee.dao.openapi.response.GasByMonthResponse; |
| | | import com.doumee.dao.openapi.response.PlatformLastMonthListResponse; |
| | | import com.doumee.dao.openapi.response.WaterByMonthResponse; |
| | | |
| | | import java.util.List; |
| | |
| | | WaterByMonthResponse waterDataByMonth(WaterByMonthRequest param); |
| | | |
| | | GasByMonthResponse gasDataByMonth(GasByMonthRequest param); |
| | | |
| | | List<PlatformLastMonthListResponse> getPlatformLastMonthListResponse(Integer type); |
| | | } |
| | |
| | | private PlatformLogMapper platformLogMapper; |
| | | @Autowired |
| | | private PlatformReasonMapper platformReasonMapper; |
| | | @Autowired |
| | | private PlatformGroupMapper platformGroupMapper; |
| | | |
| | | |
| | | @Autowired |
| | |
| | | platformBooks.setEditDate(new Date()); |
| | | platformBooks.setEditor(approveDTO.getLoginUserInfo().getMemberId()); |
| | | PlatformReason platformReason = platformReasonMapper.selectById(platformBooks.getReasonId()); |
| | | if(Objects.isNull(platformReason)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°å
¥ååå æ°æ®"); |
| | | } |
| | | PlatformGroup platformGroup = platformGroupMapper.selectById(platformReason.getGroupId()); |
| | | if(Objects.isNull(platformGroup)){ |
| | | throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"æªæ¥è¯¢å°å
¥ååå é
ç½®æå°ç»æ°æ®"); |
| | | } |
| | | |
| | | //çæä»»å¡è®°å½ |
| | | PlatformJob platformJob = platformBooks.toPlatformJob(); |
| | | platformJob.setId(null); |
| | | platformJob.setPlatformGroupId(platformReason.getGroupId().intValue()); |
| | | if(Constants.equalsInteger(platformGroup.getType(),Constants.ZERO)){ |
| | | platformJob.setType(Constants.platformJobType.wxcxh); |
| | | }else if(Constants.equalsInteger(platformGroup.getType(),Constants.ONE)){ |
| | | platformJob.setType(Constants.platformJobType.wxczh); |
| | | }else{ |
| | | platformJob.setType(Constants.platformJobType.sgscxh); |
| | | } |
| | | platformJob.setStatus(Constants.PlatformJobStatus.WART_SIGN_IN.getKey()); |
| | | platformJobMapper.insert(platformJob); |
| | | platformBooks.setJobId(platformJob.getId()); |
| | |
| | | ); |
| | | platformDataListResponse.setWorkStatus(Constants.ONE); |
| | | //æ¥è¯¢ä½ä¸æ¶é¿ |
| | | // Long workTime = this.getWorkTime(platformJob); |
| | | Long min = (System.currentTimeMillis() - platformJob.getNewStartDate().getTime())/1000/60; |
| | | platformDataListResponse.setWorkTime( |
| | | this.getWorkTime(platformJob) |
| | | min |
| | | ); |
| | | |
| | | //计ç®å·²ä½ä¸æ¶é¿ æ ¹æ®æå°å·¥ä½æç 计ç®ä»»å¡ééè¦æ¶é´ |
| | | if (Objects.isNull(platformJob.getWorkNum()) || Objects.isNull(platformJob.getWorkRate())) { |
| | | platformDataListResponse.setFinishTime(null); |
| | |
| | | platformWarnEventListResponse.setContent(event.getEventContent()); |
| | | platformWarnEventListResponse.setTitle(event.getTitle()); |
| | | platformWarnEventListResponse.setPlatfromHkId(event.getPlatfromHkId()); |
| | | platformWarnEventListResponse.setCarCode(event.getCarCode()); |
| | | list.add(platformWarnEventListResponse); |
| | | } |
| | | } |
| | |
| | | platformWarnEvent.setCreateDate(new Date()); |
| | | platformWarnEvent.setIsdeleted(Constants.ZERO); |
| | | platformWarnEvent.setPlatformId(savePlatformWarnEventDTO.getPlatformId()); |
| | | platformWarnEvent.setCarCode(savePlatformWarnEventDTO.getCarCode()); |
| | | Constants.PlatformWarnEvent cPl = Constants.PlatformWarnEvent.STOP_TIMEOUT; |
| | | if(Constants.equalsInteger(savePlatformWarnEventDTO.getEventType(),Constants.ZERO)){ |
| | | if(Objects.isNull(savePlatformWarnEventDTO.getPlatformJobId())){ |
| | |
| | | import com.doumee.dao.openapi.request.GasByMonthRequest; |
| | | import com.doumee.dao.openapi.request.WaterByMonthRequest; |
| | | import com.doumee.dao.openapi.response.GasByMonthResponse; |
| | | import com.doumee.dao.openapi.response.PlatformLastMonthListResponse; |
| | | import com.doumee.dao.openapi.response.WaterByMonthResponse; |
| | | import com.doumee.service.business.PlatformWaterGasService; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * æå°_ç¨æ°´ç¨æ°ä¿¡æ¯è®°å½è¡¨Serviceå®ç° |
| | |
| | | list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() |
| | | .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWaterGas::getType,Constants.ZERO) |
| | | .like(PlatformWaterGas::getTimeInfo,beforMonth) |
| | | .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(beforMonth,"yyyy-MM")) |
| | | ); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ |
| | | waterByMonthResponse.setLastMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | |
| | | list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() |
| | | .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWaterGas::getType,Constants.ZERO) |
| | | .like(PlatformWaterGas::getTimeInfo,beforYearMonth) |
| | | .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(beforYearMonth,"yyyy-MM")) |
| | | ); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ |
| | | waterByMonthResponse.setLastYearMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | |
| | | list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() |
| | | .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWaterGas::getType,Constants.ONE) |
| | | .like(PlatformWaterGas::getTimeInfo,beforMonth) |
| | | .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(beforMonth,"yyyy-MM")) |
| | | ); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ |
| | | response.setLastMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | |
| | | list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() |
| | | .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWaterGas::getType,Constants.ONE) |
| | | .like(PlatformWaterGas::getTimeInfo,beforYearMonth) |
| | | .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(beforYearMonth,"yyyy-MM")) |
| | | ); |
| | | if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){ |
| | | response.setLastYearMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | |
| | | return response; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * |
| | | * @param type 0ç¨æ°´ 1ç¨æ° |
| | | * @return |
| | | */ |
| | | @Override |
| | | public List<PlatformLastMonthListResponse> getPlatformLastMonthListResponse(Integer type){ |
| | | List<PlatformLastMonthListResponse> lastMonthListResponses = new ArrayList<>(); |
| | | |
| | | List<PlatformWaterGas> platformWaterGasList = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda() |
| | | .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO) |
| | | .eq(PlatformWaterGas::getType,type) |
| | | ); |
| | | List<String> monthList = DateUtil.getBeforMonth(new Date(),12); |
| | | for (String str:monthList) { |
| | | PlatformLastMonthListResponse platformLastMonthListResponse = new PlatformLastMonthListResponse(); |
| | | platformLastMonthListResponse.setNum(platformWaterGasList.stream().filter(i->DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM").equals(str)).map(i->i.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add)); |
| | | platformLastMonthListResponse.setTimeInfo(str); |
| | | lastMonthListResponses.add(platformLastMonthListResponse); |
| | | } |
| | | return lastMonthListResponses; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | public static void sendBusiness(EmayService emayService ,SmsEmailMapper smsEmailMapper ,List<String> phoneList,String objType,String content,Integer objId){ |
| | | //TODO æ¯å¦åéçä¿¡ |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | public static void sendBusiness(EmayService emayService ,SmsEmailMapper smsEmailMapper ,List<String> phoneList,String objType,String content,Integer objId){ |
| | | for (String phone:phoneList) { |
| | | boolean result= emayService.sendSingleSms(phone,content); |
| | | if(!result){ |