admin/src/views/Inspection/plan.vue
@@ -20,8 +20,8 @@ <ul class="toolbar" v-permissions="['business:ywpatrolscheme:create', 'business:ywpatrolscheme:delete']"> <li><el-button type="primary" @click="editClick()" icon="el-icon-plus" v-permissions="['business:ywpatrolscheme:create']">新建</el-button></li> <el-button type="primary" plain :loading="isWorking.export" v-permissions="['business:ywpatrolscheme:exportExcel']" @click="exportExcel">导出</el-button> <el-button type="primary" plain :loading="isWorking.export" v-permissions="['business:ywpatrolscheme:exportExcel']" @click="exportExcel">导出</el-button> <!-- <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:ywpatrolscheme:delete']">删除</el-button></li> --> </ul> @@ -29,7 +29,7 @@ <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="title" label="计划名称" min-width="100px"></el-table-column> <el-table-column prop="lineId" label="计划编号" min-width="100px"></el-table-column> <el-table-column prop="code" label="计划编号" min-width="100px"></el-table-column> <el-table-column prop="userName" label="负责人员" min-width="100px"></el-table-column> <el-table-column prop="startDate" label="计划日期" min-width="150px"> admin/src/views/workorder/components/OperaYwWorkorderWindow.vue
@@ -1,5 +1,6 @@ <template> <GlobalWindow width="800px" :title="title" :visible.sync="visible" @close="close" :confirm-working="isWorking" @confirm="confirm"> <GlobalWindow width="800px" :title="title" :visible.sync="visible" @close="close" :confirm-working="isWorking" @confirm="confirm"> <el-form :model="form" ref="form" :rules="rules"> <el-form-item label="位置类型" prop="areaType"> <el-select v-model="form.areaType"> @@ -86,12 +87,8 @@ // 表单数据 form: { id: null, creator: '', createDate: '', editor: '', editDate: '', floor: '', isdeleted: '', title: '', remark: '', status: '', @@ -103,7 +100,6 @@ floorId: '', roomId: '', userId: '', phone: '', submitDate: '', cateId: '', areaType: '0', @@ -147,6 +143,37 @@ // 新建 if (target == null) { this.$nextTick(() => { this.$refs.form = { id: null, editDate: '', floor: '', title: '', remark: '', status: '', sortnum: '', content: '', getDate: '', projectId: '', buildingId: '', floorId: '', roomId: '', userId: '', submitDate: '', cateId: '', areaType: '0', code: '', dealStatus: '', dispatchUserId: '', dispatchDate: '', dispatchInfo: '', dealUserId: '', dealDate: '', dealInfo: '', dealType: '' } this.buildList = [] this.roomList = [] this.levelList = [] this.$refs.form.resetFields() this.form[this.configData['field.id']] = null }) admin/src/views/workorder/components/detail.vue
@@ -1,12 +1,12 @@ <template> <GlobalWindow width="920px" title="工单详情" :visible.sync="visible" :confirm-working="isWorking" @close="close" <GlobalWindow width="960px" title="工单详情" :visible.sync="visible" :confirm-working="isWorking" @close="close" @confirm="confirm"> <div class="main"> <div class="title"> <span>工单详情</span> <div> <div class="status primaryColor" v-if="info.dealStatus == 0 || info.dealStatus == null">待指派</div> <div class="status" v-if="info.dealStatus == 1">已指派</div> <div class="status green" v-if="info.dealStatus == 1">已指派</div> <div class="status gray" v-if="info.dealStatus == 2">已处理</div> </div> </div> @@ -161,6 +161,7 @@ import { detailById, dispatchOrder, dealOrder } from '@/api/workorder/ywWorkorder' import { getUserList } from '@/api/system/user' import { Message, Loading } from 'element-ui' import dayjs from 'dayjs' export default { components: { GlobalWindow @@ -222,6 +223,9 @@ const { id } = this detailById(id).then(res => { this.info = res if(this.info.dealStatus == 1){ this.$set(this.param, 'getDate',dayjs().format('YYYY-MM-DD HH:mm:ss') ) } }) }, getStaff() { @@ -300,9 +304,9 @@ align-items: center; .status { padding: 0 6px; height: 22px; line-height: 22px; padding: 0 12px; height: 24px; line-height: 24px; border-radius: 2px; border: 1px solid #00BA92; color: #00BA92; @@ -312,12 +316,17 @@ } .primaryColor { border: 1px solid $primary-color; border: 1px solid rgba(63, 126, 239,.2); background-color: rgba(63, 126, 239,.2); } .green{ background-color: rgba(83, 183, 148, .2); border: 1px solid rgba(83, 183, 148, .2); } .gray { color: gray; border: 1px solid gray; color: #333333; background-color: rgba(128, 128, 128, .2); border: 1px solid rgba(128, 128, 128, .2); } } @@ -343,6 +352,10 @@ width: 100%; display: flex; align-items: center; .la{ margin-bottom: 0; width: 72px; } } .max { admin/src/views/workorder/workorderCate.vue
@@ -4,8 +4,8 @@ <ul class="toolbar" v-permissions="['business:category:create', 'business:category:delete']"> <li><el-button type="primary" @click="handleEdit()" icon="el-icon-plus" v-permissions="['business:category:create']">新建</el-button></li> <li v-permissions="['business:category:exportExcel']"><el-button type="primary" @click="exportExcel">导出</el-button></li> <!-- <li v-permissions="['business:category:exportExcel']"><el-button type="primary" @click="exportExcel">导出</el-button></li> --> </ul> <el-table row-key="id" :tree-props="{ children: 'childCategoryList' }" v-loading="isWorking.search" :data="dataList" stripe @selection-change="handleSelectionChange"> admin/src/views/workorder/workorderList.vue
@@ -19,14 +19,14 @@ </el-select> </el-form-item> <el-form-item prop="cateId" label="工单分类"> <el-cascader v-model="searchForm.areaIds" @change="changeSel" placeholder="请选择巡检区域" clearable <el-cascader v-model="searchForm.areaIds" @change="changeSel" placeholder="请选择工单分类" clearable :options="cateList" :props="{ label: 'name', value: 'id', children: 'childCategoryList' }"></el-cascader> </el-form-item> <el-form-item label="提交日期"> <el-form-item label="上报时间"> <el-date-picker v-model="searchForm.selDate" @change="changeSelDate" format="yyyy-MM-dd" value-format="yyyy-MM-dd" type="daterange"></el-date-picker> </el-form-item> @@ -168,6 +168,7 @@ buildingId: '', cateId: '', } this.buildList = [] this.search() }, changeSelDate(e) { h5/pages/operation/device.vue
@@ -5,10 +5,12 @@ <view class="la"><text class="red">*</text>选择设备</view> <view class="line"> <view class="sel_wrap" @click="showModal = true"> <view class="left" :class="param.deviceName ? '' : 'placeholder9'">{{ param.deviceName ? param.deviceName : '请选择设备' }}</view> <view class="left" :class="param.deviceName ? '' : 'placeholder9'"> {{ param.deviceName ? param.deviceName : '请选择设备' }} </view> <u-icon name="arrow-right" color="#999999" size="17"></u-icon> </view> <image class="icon" src="@/static/side/scan.png" mode=""></image> <image @click="openQrcode" class="icon" src="@/static/side/scan.png" mode=""></image> </view> </view> <view class="item"> @@ -52,12 +54,14 @@ </view> </u-popup> <!-- --> <u-popup :show="showModal" @close="showModal = false" :safeAreaInsetBottom="true" :round="10" closeable closeOnClickOverlay> <u-popup :show="showModal" @close="showModal = false" :safeAreaInsetBottom="true" :round="10" closeable closeOnClickOverlay> <view class="appr_modal"> <view class="title">请选择设备</view> <view class="search_wrap"> <image class="mr12 search" src="@/static/home/ic_search@2x.png" mode="widthFix"></image> <input v-model="searchValue" @confirm="getDevice()" type="text" placeholder="搜索设备名称/编号" placeholder-class="placeholder9" /> <input v-model="searchValue" @confirm="getDevice()" type="text" placeholder="搜索设备名称/编号" placeholder-class="placeholder9" /> </view> <view class="modal_list"> <view class="item" v-for="item,i in deviceList" @click="deviceClick(item)"> @@ -68,6 +72,10 @@ <view class="sub_btn" @click="handleDevice">确定选择</view> </view> </u-popup> <!-- --> <view class="reader-box" @click="stopScan" v-if="isScaning"> <view class="reader" id="reader"></view> </view> </view> </template> @@ -78,17 +86,25 @@ ywDeviceCreate } from '@/api' import dayjs from 'dayjs'; import { Html5Qrcode } from 'html5-qrcode'; export default { data() { return { param: {status: 0}, param: { status: 0 }, showUpload: false, showModal: false, fileList: [], searchValue: '', deviceList: [], activeDevice: {} activeDevice: {}, html5Qrcode: null, isScaning: false, }; }, onLoad() { @@ -96,7 +112,10 @@ }, methods: { onSubmit() { const { param, fileList } = this const { param, fileList } = this if(!param.deviceId) return this.showToast('请先选择要维护的设备') ywDeviceCreate({ @@ -121,7 +140,9 @@ }) }, handleDevice() { const { activeDevice } = this const { activeDevice } = this if(!activeDevice.id) return this.showToast('请先选择设备') this.$set(this.param, 'deviceId', activeDevice.id) this.$set(this.param, 'deviceName', activeDevice.name) @@ -224,6 +245,40 @@ }); } }); }, openQrcode() { this.isScaning = true; Html5Qrcode.getCameras().then((devices) => { if (devices && devices.length) { this.html5Qrcode = new Html5Qrcode('reader'); this.html5Qrcode.start({ facingMode: 'environment' }, { focusMode: 'continuous', //设置连续聚焦模式 fps: 5, //设置扫码识别速度 qrbox: 280 //设置二维码扫描框大小 }, (decodeText, decodeResult) => { if (decodeText) { //这里decodeText就是通过扫描二维码得到的内容 this.action(decodeText) //对二维码逻辑处理 this.stopScan(); //关闭扫码功能 } }, (err) => { // console.log(err); //错误信息 } ); } }); }, stopScan() { console.log('停止扫码') this.isScaning = false; if (this.html5Qrcode) { this.html5Qrcode.stop(); } } } } @@ -240,11 +295,13 @@ .line { display: flex; align-items: center; .icon{ width: 52rpx; height: 52rpx; margin-left: 40rpx; } textarea { box-sizing: border-box; width: 690rpx; @@ -267,11 +324,13 @@ align-items: center; border-bottom: 1rpx solid #E5E5E5; } .radio_wrap{ margin-top: 20rpx; width: 100%; display: flex; justify-content: space-between; .ite{ width: 216rpx; height: 68rpx; @@ -282,12 +341,14 @@ align-items: center; justify-content: center; } .active{ color: $primaryColor; border-color: $primaryColor; background: rgba(0,104,255,0.1); } } .upload_wrap { display: flex; flex-wrap: wrap; @@ -333,6 +394,7 @@ } } .sel_upload_wrap { width: 100%; border-top: 1px solid #333333; @@ -344,6 +406,7 @@ text-align: center; } } .sub_btn { position: fixed; bottom: 68rpx; @@ -360,9 +423,11 @@ font-size: 32rpx; color: #FFFFFF; } .appr_modal { padding: 36rpx 30rpx 0; height: calc( 100vh - 120rpx ); .title { font-weight: 600; font-size: 32rpx; @@ -379,16 +444,20 @@ background: #f2f2f2; border-radius: 38rpx; padding-left: 30rpx; input{ flex: 1; } .search { width: 28rpx; height: 28rpx; } } .modal_list{ height: calc( 100% - 360rpx ); .item{ display: flex; align-items: center; @@ -396,15 +465,36 @@ height: 100rpx; font-size: 30rpx; border-bottom: 1px solid #E5E5E5; image{ width: 40rpx; height: 40rpx; } } .active{ color: $primaryColor; } } } .reader-box { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0, 0, 0, 0.5); } .reader { width: 100%; // width: 540rpx; // height: 540rpx; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } </style> h5/pages/workOrder/list.vue
@@ -126,7 +126,7 @@ model: { ...param, queryStatus: activeTab, dispatchUserId: selectAll ? '' : uni.getStorageSync('userInfo').id, dealUserId: selectAll ? '' : uni.getStorageSync('userInfo').id, } }).then(res => { this.list = [...this.list, ...res.data.records] server/system_gateway/src/main/resources/application.yml
@@ -82,7 +82,7 @@ compression: enabled: true mime-types: application/json port: 8080 port: 10010 tomcat: max-swallow-size: -1 server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/YwContractCloudController.java
@@ -103,7 +103,7 @@ public ApiResponse<List<YwContract>> list (@RequestBody YwContract model,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(ywContractService.findList(model)); } @ApiOperation("列表") @ApiOperation("根据退租日期查询账单数据") @PostMapping("/findForBills") @CloudRequiredPermission("business:ywcontract:query") public ApiResponse<YwContract> findForBills (@RequestBody YwContract model,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwContractRevenue.java
@@ -92,6 +92,9 @@ @ExcelColumn(name="合同编号",index = 1,width = 10) @TableField(exist = false) private String contractCode; @ApiModelProperty(value = "合同狀態", example = "1") @TableField(exist = false) private String contractStatus; @ApiModelProperty(value = "客户名称(付款方)", example = "1") server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwPatrolScheme.java
@@ -56,7 +56,7 @@ private String remark; @ApiModelProperty(value = "状态 0启用 1禁用", example = "1") @ExcelColumn(name="状态",index = 9,width = 6,valueMapping = "0=启用;1=停用;") @ExcelColumn(name="状态",index = 8,width = 6,valueMapping = "0=启用;1=停用;") private Integer status; @ApiModelProperty(value = "排序码", example = "1") @@ -121,6 +121,5 @@ @ApiModelProperty(value = "超期任务数") @TableField(exist = false) @ExcelColumn(name="超期任务数",index = 8,width = 6) private Integer timeOutTaskNum; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/YwWorkorder.java
@@ -26,129 +26,103 @@ @TableId(type = IdType.AUTO) @ApiModelProperty(value = "主键", example = "1") @ExcelColumn(name="主键") private Integer id; @ApiModelProperty(value = "创建人编码", example = "1") @ExcelColumn(name="创建人编码") private Integer creator; @ApiModelProperty(value = "创建时间") @ExcelColumn(name="创建时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createDate; @ApiModelProperty(value = "更新人编码", example = "1") @ExcelColumn(name="更新人编码") private Integer editor; @ApiModelProperty(value = "更新时间") @ExcelColumn(name="更新时间") @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; @ApiModelProperty(value = "是否删除0否 1是", example = "1") @ExcelColumn(name="是否删除0否 1是") private Integer isdeleted; @ApiModelProperty(value = "标题") @ExcelColumn(name="标题") private String title; @ApiModelProperty(value = "备注") @ExcelColumn(name="备注") private String remark; @ApiModelProperty(value = "状态 0启用 1禁用", example = "1") @ExcelColumn(name="状态 0启用 1禁用") private Integer status; @ApiModelProperty(value = "排序码", example = "1") @ExcelColumn(name="排序码") private Integer sortnum; @ApiModelProperty(value = "情况说明") @ExcelColumn(name="情况说明") private String content; @ApiModelProperty(value = "上门时间") @ExcelColumn(name="上门时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date getDate; @ApiModelProperty(value = "所属项目编码(关联yw_project)", example = "1") @ExcelColumn(name="所属项目编码(关联yw_project)") private Integer projectId; @ApiModelProperty(value = "所属楼宇编码(关联yw_building)", example = "1") @ExcelColumn(name="所属楼宇编码(关联yw_building)") private Integer buildingId; @ApiModelProperty(value = "所属房间编码(关联yw_room)", example = "1") @ExcelColumn(name="所属房间编码(关联yw_room)") private Integer roomId; @ApiModelProperty(value = "所属楼层编码(关联yw_floor)", example = "1") @ExcelColumn(name="所属楼层编码(关联yw_floor)") private Integer floorId; @ApiModelProperty(value = "提报人编码", example = "1") @ExcelColumn(name="提报人编码") private Integer userId; @ApiModelProperty(value = "联系电话") @ExcelColumn(name="联系电话") private String phone; @ApiModelProperty(value = "提报时间") @ExcelColumn(name="提报时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ExcelColumn(name="上报时间",index = 5,width = 16,dateFormat = "yyyy-MM-dd HH:mm:ss") private Date submitDate; @ApiModelProperty(value = "工单分类编码(关联category)", example = "1") @ExcelColumn(name="工单分类编码(关联category)") private Integer cateId; @ApiModelProperty(value = "保修区域类型 0室内维修 1公共区域", example = "1") @ExcelColumn(name="保修区域类型 0室内维修 1公共区域") @ExcelColumn(name="位置区域",valueMapping = "0=室内维修;1=公共区域;",index = 0,width = 10) private Integer areaType; @ApiModelProperty(value = "工单编号") @ExcelColumn(name="工单编号") private String code; @ApiModelProperty(value = "处理状态 0待处理 1已分派 2已处理", example = "1") @ExcelColumn(name="处理状态 0待处理 1已分派 2已处理") @ExcelColumn(name="工单状态",index = 7,width = 10,valueMapping = "0=待处理;1=已分派;1=已处理;") private Integer dealStatus; @ApiModelProperty(value = "分派人编码(关联system_user)", example = "1") @ExcelColumn(name="分派人编码(关联system_user)") private Integer dispatchUserId; @ApiModelProperty(value = "分派时间") @ExcelColumn(name="分派时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date dispatchDate; @ApiModelProperty(value = "分派处理说明") @ExcelColumn(name="分派处理说明") private String dispatchInfo; @ApiModelProperty(value = "处理人编码(关联system_user)", example = "1") @ExcelColumn(name="处理人编码(关联system_user)") private Integer dealUserId; @ApiModelProperty(value = "处理时间") @ExcelColumn(name="处理时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date dealDate; @ApiModelProperty(value = "处理备注") @ExcelColumn(name="处理备注") private String dealInfo; @ApiModelProperty(value = "处理方式 0指派后处理 1直接回复", example = "1") @ExcelColumn(name="处理方式 0指派后处理 1直接回复") private Integer dealType; @ApiModelProperty(value = "项目名称") @TableField(exist = false) private String projectName; @@ -158,9 +132,11 @@ private String queryStatus; @ApiModelProperty(value = "楼宇名称") @ExcelColumn(name="楼宇",index = 1,width = 10) @TableField(exist = false) private String buildingName; @ApiModelProperty(value = "房源名称") @ExcelColumn(name="房源",index = 2,width = 10) @TableField(exist = false) private String roomName; @ApiModelProperty(value = "楼层名称") @@ -170,6 +146,7 @@ @TableField(exist = false) private String roomNum; @ApiModelProperty(value = "提报人姓名") @ExcelColumn(name="上报人",index = 4,width = 10) @TableField(exist = false) private String creatorName; @ApiModelProperty(value = "提报人电话") @@ -177,11 +154,13 @@ private String creatorMobile; @ApiModelProperty(value = "处理人姓名") @TableField(exist = false) @ExcelColumn(name="处理人",index = 6,width = 10) private String dealUserName; @ApiModelProperty(value = "处理人组织") @TableField(exist = false) private String dealUserCompany; @ApiModelProperty(value = "类别名称") @ExcelColumn(name="工单分类",index = 3,width = 10) @TableField(exist = false) private String categoryName; @ApiModelProperty(value = "分配人姓名") server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CompanyServiceImpl.java
@@ -25,10 +25,12 @@ import com.doumee.dao.admin.request.UpdateCompanySortDTO; import com.doumee.dao.admin.response.CompanyDTO; import com.doumee.dao.business.MemberMapper; import com.doumee.dao.business.YwContractMapper; import com.doumee.dao.business.dao.CompanyMapper; import com.doumee.dao.business.dao.join.CompanyJoinMapper; import com.doumee.dao.business.model.Company; import com.doumee.dao.business.model.Member; import com.doumee.dao.business.model.YwContract; import com.doumee.dao.business.vo.CompanyTree; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.CompanyService; @@ -63,6 +65,9 @@ @Autowired private CompanyJoinMapper companyJoinMapper; @Autowired private YwContractMapper ywContractMapper; /** * 创建财务公司 @@ -77,6 +82,13 @@ .eq(Company::getType,company.getType()) .eq(Company::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,名称不能重复~"); } if(StringUtils.isNotBlank(company.getCode())){ if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() .eq(Company::getCode,company.getCode()) .eq(Company::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,纳税识别号不能重复~"); } } company.setCreateDate(new Date()); company.setCreator(company.getLoginUserInfo().getId()); @@ -105,6 +117,13 @@ .eq(Company::getName,company.getName()) .eq(Company::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,组织名称不能重复~"); } if(StringUtils.isNotBlank(company.getCode())){ if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() .eq(Company::getCode,company.getCode()) .eq(Company::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,纳税识别号不能重复~"); } } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(user ==null){ @@ -260,6 +279,9 @@ .eq(Member::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "对不起,该部门下存在人员信息,不能进行删除操作!"); } if(ywContractMapper.selectCount(new QueryWrapper<YwContract>().lambda().eq(YwContract::getCompanyId,id))>Constants.ZERO){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(), "当前公司已关联业务,不可删除"); } Company company = new Company(); company.setId(id); @@ -308,6 +330,15 @@ .eq(Company::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,组织名称不能重复~"); } if(StringUtils.isNotBlank(company.getCode())){ if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() .eq(Company::getCode,company.getCode()) .ne(Company::getId,company.getId()) .eq(Company::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,纳税识别号不能重复~"); } } LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); if(user == null){ user = company.getLoginUserInfo(); @@ -367,6 +398,14 @@ .eq(Company::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,名称不能重复~"); } if(StringUtils.isNotBlank(company.getCode())){ if(companyMapper.selectCount(new QueryWrapper<Company>().lambda() .eq(Company::getCode,company.getCode()) .ne(Company::getId,company.getId()) .eq(Company::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,纳税识别号不能重复~"); } } companyMapper.updateById(company); return company.getId(); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwAccountServiceImpl.java
@@ -8,9 +8,11 @@ import com.doumee.core.utils.Constants; import com.doumee.core.utils.Utils; import com.doumee.dao.business.YwAccountMapper; import com.doumee.dao.business.YwContractRevenueMapper; import com.doumee.dao.business.dao.CompanyMapper; import com.doumee.dao.business.model.Company; import com.doumee.dao.business.model.YwAccount; import com.doumee.dao.business.model.YwContractRevenue; import com.doumee.dao.business.model.YwProject; import com.doumee.service.business.YwAccountService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -18,6 +20,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -37,6 +40,8 @@ private YwAccountMapper ywAccountMapper; @Autowired private CompanyMapper companyMapper; @Autowired private YwContractRevenueMapper ywContractRevenueMapper; @Override public Integer create(YwAccount model) { @@ -49,6 +54,15 @@ || !Constants.equalsInteger(ywProject.getType(),Constants.TWO)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的公司信息!"); } if(StringUtils.isNotBlank(model.getTitle())){ if(ywAccountMapper.selectCount(new QueryWrapper<YwAccount>().lambda() .eq(YwAccount::getTitle,model.getTitle()) .eq(YwAccount::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,收支条目不能重复~"); } } model.setCreator(model.getLoginUserInfo().getId()); model.setIsdeleted(Constants.ZERO); model.setCreateDate(new Date()); @@ -61,6 +75,9 @@ @Override public void deleteById(Integer id, LoginUserInfo user) { if(ywContractRevenueMapper.selectCount(new QueryWrapper<YwContractRevenue>().lambda().eq(YwContractRevenue::getAccountId,id))>Constants.ZERO){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"当前收支账户已关联业务,不可删除"); } YwAccount model = new YwAccount(); model.setId(id); model.setIsdeleted(Constants.ONE); @@ -95,6 +112,15 @@ || !Constants.equalsInteger(ywProject.getType(),Constants.TWO)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"对不起,请选择正确的公司信息!"); } if(StringUtils.isNotBlank(model.getTitle())){ if(ywAccountMapper.selectCount(new QueryWrapper<YwAccount>().lambda() .eq(YwAccount::getTitle,model.getTitle()) .ne(YwAccount::getId,model.getId()) .eq(YwAccount::getIsdeleted,Constants.ZERO)) >0){ throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "对不起,收支条目不能重复~"); } } model.setEditDate(model.getCreateDate()); model.setEditor(model.getCreator()); ywAccountMapper.updateById(model); server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractRevenueServiceImpl.java
@@ -268,6 +268,7 @@ new MPJLambdaWrapper<YwContractRevenue>().selectAll(YwContractRevenue.class) .selectAs(YwContractBill::getCode,YwContractRevenue::getBillCode) .selectAs(YwContract::getCode,YwContractRevenue::getContractCode) .selectAs(YwContract::getStatus,YwContractRevenue::getContractStatus) .selectAs(YwCustomer::getName,YwContractRevenue::getCustomerName) .selectAs(SystemUser::getRealname,YwContractRevenue::getRealname) .selectAs(YwAccount::getTitle,YwContractRevenue::getAccountTitle) @@ -427,6 +428,7 @@ .selectAs(YwContractBill::getCode,YwContractRevenue::getBillCode) .selectAs(YwContractBill::getType,YwContractRevenue::getBillType) .selectAs(YwContract::getCode,YwContractRevenue::getContractCode) .selectAs(YwContract::getStatus,YwContractRevenue::getContractStatus) .selectAs(YwCustomer::getName,YwContractRevenue::getCustomerName) .selectAs(SystemUser::getRealname,YwContractRevenue::getRealname) .leftJoin(YwContractBill.class,YwContractBill::getId,YwContractRevenue::getBillId) server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java
@@ -31,6 +31,7 @@ import org.springframework.util.CollectionUtils; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.temporal.ChronoUnit; import java.util.*; import java.util.stream.Collectors; @@ -74,12 +75,20 @@ @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer create(YwContract model) { isParamValidCreated(model); model.setCreator(model.getLoginUserInfo().getId()); model.setIsdeleted(Constants.ZERO); model.setCreateDate(new Date()); model.setStatus(Constants.ZERO); model.setEditDate(model.getCreateDate()); model.setEditor(model.getCreator()); if(model.getStartDate().getTime() > System.currentTimeMillis()){ model.setStatus(Constants.ZERO); }else if(model.getStartDate().getTime() <= System.currentTimeMillis() && model.getEndDate().getTime() > System.currentTimeMillis()){ model.setStatus(Constants.ONE); }else{ model.setStatus(Constants.TWO); } model.setStatus(Constants.ZERO);//待执行 model.setRemark(getRemarlByParam(model)); ywContractMapper.insert(model); @@ -268,7 +277,7 @@ } model.setTotalArea(new BigDecimal(0)); for(YwRoom r : rooms){ model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getArea()))); model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getRentArea()))); } model.setRoomList(rooms); } @@ -303,11 +312,12 @@ BigDecimal fee = Constants.formatBigdecimal(model.getBtFee()); String str = "退租摘要:剩余未结清账单{param1}份,关闭账单{param2}份【退租日{param3},退租费用合计需{param4}{param5}元。】"; str = str.replace("{param1}",model.getBtWaitBill()+"") .replace("{param2}",DateUtil.getDateLongSlash(model.getBtDate())) .replace("{param3}",fee.compareTo(new BigDecimal(0)) >=0?"收":"付") .replace("{param4}",(fee.compareTo(new BigDecimal(0)) >=0? Constants.formatBigdecimal(model.getBtFee()).intValue() :(Constants.formatBigdecimal(model.getBtFee()).intValue() * -1))+"" ); .replace("{param2}",model.getBtCLoseBill()+"") .replace("{param3}",DateUtil.getDateLongSlash(model.getBtDate())) .replace("{param4}",fee.compareTo(new BigDecimal(0)) >=0?"收":"付") .replace("{param5}",(fee.compareTo(new BigDecimal(0)) >=0? Constants.formatBigdecimal2Float(model.getBtFee()).intValue() :(Constants.formatBigdecimal2Float(model.getBtFee()).intValue() * -1))+"" ); return str; } private String getbackRentLogByParam(YwContract model) { @@ -352,9 +362,6 @@ update.setBtFee(param.getBtFee()); update.setBtRemark(getbackRentRemarkByParam(param)); ywContractMapper.updateById(update); // if(1==1){ // throw new BusinessException(ResponseStatus.NOT_ALLOWED); // } dealLogBiz(param,Constants.YwLogType.CONTRACT_BACK, param.getLoginUserInfo().getRealname(),getbackRentLogByParam(param)); return param.getId(); } @@ -409,23 +416,15 @@ } if(Constants.equalsInteger(bill.getPayStatus(),Constants.ZERO) ||Constants.equalsInteger(bill.getPayStatus(),Constants.THREE)){ if(bill.getStartDate().getTime()<param.getBtDate().getTime()){ if(bill.getStartDate().getTime()<=param.getBtDate().getTime()){ canBills.add(bill); }else{ //如果还没开始,账单直接关闭 closeBills.add(bill); noBills.add(bill); } // if(bill.getStartDate().getTime()>param.getEditDate().getTime()){ // //如果还没开始,账单直接关闭 // closeBills.add(bill); // noBills.add(bill); // }else{ // canBills.add(bill); // } }else if(Constants.equalsInteger(bill.getPayStatus(),Constants.ONE) ){ if(bill.getStartDate().getTime()>param.getBtDate().getTime()){ // if(bill.getEndDate().getTime()<param.getEditDate().getTime()){ //如果已结清,账单直接关闭 noBills.add(bill); }else{ @@ -449,14 +448,14 @@ BigDecimal totalBackFee = new BigDecimal(0); if(canBills.size()>0){ //直接关闭关闭账单 // for(YwContractBill b : canBills){ BigDecimal fee = new BigDecimal(0); YwContractBill editBill = getEditBillFromListByParam(b,param.getCanBackRentBills()); if(editBill != null){ //付款状态:0=待收款;1=已结清;2=部分结清;3=待付款;4=待退款;5=已关闭 //如果账单信息做了编辑,金额计算 实收金额 和 修改后应收金额作对比,判断是否应该退款 fee = Constants.formatBigdecimal(b.getActReceivableFee()).subtract(editBill.getReceivableFee()); fee = editBill.getReceivableFee().subtract(Constants.formatBigdecimal(b.getActReceivableFee())); if(fee.compareTo(new BigDecimal(0))== 0){ //如果费用正好,则修改账单信息为已结清 b.setPayStatus(Constants.ONE); @@ -488,19 +487,20 @@ addBill.setContractId(param.getId()); addBill.setType(Constants.ONE); addBill.setStatus(Constants.ZERO); addBill.setTotleFee(addBill.getReceivableFee()); if(Constants.equalsInteger(addBill.getFeeType(),Constants.ONE)){ addBill.setStartDate(addBill.getPlanPayDate()); addBill.setEndDate(addBill.getPlanPayDate()); } if(Constants.equalsInteger(addBill.getBillType(),Constants.ZERO)){ //如果是收款 totalBackFee = totalBackFee.add(Constants.formatBigdecimal(addBill.getActReceivableFee())); // totalBackFee = totalBackFee.add(Constants.formatBigdecimal(addBill.getActReceivableFee())); addBill.setPayStatus(Constants.ZERO); addBill.setBtFee(Constants.formatBigdecimal(addBill.getActReceivableFee())); addBill.setBtFee(Constants.formatBigdecimal(addBill.getReceivableFee())); }else{ //如果是付款 addBill.setPayStatus(Constants.THREE); addBill.setBtFee(Constants.formatBigdecimal(addBill.getActReceivableFee()).multiply(new BigDecimal(-1))); addBill.setBtFee(Constants.formatBigdecimal(addBill.getReceivableFee()).multiply(new BigDecimal(-1))); } totalBackFee = totalBackFee.add(Constants.formatBigdecimal(addBill.getBtFee())); addBill.setEditDate(param.getEditDate()); @@ -529,12 +529,20 @@ yjBill.setEditDate(param.getEditDate()); yjBill.setEditor(param.getEditor()); yjBill.setReceivableFee(BigDecimal.ZERO); if(Constants.formatBigdecimal(canBill.getActReceivableFee()).compareTo(new BigDecimal(0)) == 0){ //未支付的押金,直接关闭 yjBill.setStatus(Constants.ONE); closeBills.add(yjBill); }else{ yjBill.setBtFee(Constants.formatBigdecimal(canBill.getActReceivableFee()).multiply(new BigDecimal(-1))); yjBill.setPayStatus(Constants.FOUR); yjBill.setPlanPayDate(canBill.getPlanPayDate()); totalBackFee = totalBackFee.add(Constants.formatBigdecimal(yjBill.getBtFee())); yjNoBills ++; } ywContractBillMapper.updateById(yjBill); } } yjNoBills ++; } } param.setBtWaitBill(canBills.size() + newBills.size()+yjNoBills);//未清算的账单数量 @@ -689,12 +697,16 @@ } int num =1; for(int i=0;i<billList1.size();i++){ if(Constants.equalsInteger(billList1.get(i).getCostType(),Constants.ZERO)){ billList1.get(i).setSortnum(num); num++; } } for(int i=0;i<billList2.size();i++){ if(Constants.equalsInteger(billList1.get(i).getCostType(),Constants.ONE)) { billList2.get(i).setSortnum(num); num++; } } if(model.getId()!=null){ ywContractBillMapper.insert(billList1); @@ -840,34 +852,37 @@ BigDecimal totalFee = new BigDecimal(0); DateCompare dateCompare = DateCompare.dayCompare(bill.getStartDate(),bill.getEndDate(),freeStart, freeEnd); if(Constants.equalsInteger(d.getCircleType(),Constants.ZERO)){ //0=元每平米天 //0=元每平米天 账单金额=账单周期的天数*租赁面积*单价; int days = dateCompare.getDay() ; BigDecimal areas = getAreasNumBYRooms(model.getRoomList()); totalFee = new BigDecimal(days).multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//总价格 }else if(Constants.equalsInteger(d.getCircleType(),Constants.ONE)){ //1=元每平米月 //1=元每平米月 账单金额=账单周期的月数(开始日期计算自然月)*租赁面积*单价+不满一个月的天数*租赁面积*单价*12/365; BigDecimal areas = getAreasNumBYRooms(model.getRoomList()); BigDecimal month =dateCompare.getMonthFloat(); totalFee = month.multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//总价格 }else if(Constants.equalsInteger(d.getCircleType(),Constants.TWO)){ //2=元每平米年 //2=元每平米年 账单金额=账单周期的月数(开始日期计算自然月)*单价*面积/12+不满一个月的天数*租赁面积*单价/365; BigDecimal areas = getAreasNumBYRooms(model.getRoomList()); BigDecimal year = dateCompare.getYearFloat(); totalFee = year.multiply(areas).multiply(Constants.formatBigdecimal(d.getPrice()));//总价格 BigDecimal month = new BigDecimal(dateCompare.getMonth()); totalFee = ((month.multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(12),2, RoundingMode.HALF_UP)) .add(new BigDecimal(dateCompare.getMonthDays()).multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(365),2, RoundingMode.HALF_UP))) .multiply(areas);//总价格 }else if(Constants.equalsInteger(d.getCircleType(),Constants.THREE)){ //3=元每天 //3=元每天 账单金额=账单周期的天数*单价; int days = dateCompare.getDay() ; totalFee = new BigDecimal(days).multiply(Constants.formatBigdecimal(d.getPrice()));//总价格 }else if(Constants.equalsInteger(d.getCircleType(),Constants.FOUR)){ //4=元每月 //4=元每月 账单金额=账单周期的月数(开始日期计算自然月)*单价+不满一个月的天数*单价*12/365 BigDecimal month = dateCompare.getMonthFloat(); totalFee = month.multiply(Constants.formatBigdecimal(d.getPrice()));//总价格 }else if(Constants.equalsInteger(d.getCircleType(),Constants.FIVE)){ //5=元每年 BigDecimal year = dateCompare.getYearFloat(); totalFee = year.multiply(Constants.formatBigdecimal(d.getPrice()));//总价格 //5=元每年 账单金额=账单周期的月数(开始日期计算自然月)*单价*面积/12+不满一个月的天数*租赁面积*单价/365; BigDecimal month = new BigDecimal(dateCompare.getMonth()); totalFee =( month.multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(12),2, RoundingMode.HALF_UP)) .add(new BigDecimal(dateCompare.getMonthDays()).multiply(Constants.formatBigdecimal(d.getPrice())).divide(new BigDecimal(365),2, RoundingMode.HALF_UP));//总价格 }else if(Constants.equalsInteger(d.getCircleType(),Constants.SIX)){ //6=元每场 //6=元每场 账单金额=单价;只有选择一次性付款时,才能选择该单价维度; totalFee =Constants.formatBigdecimal(d.getPrice()); } if(Constants.equalsInteger(model.getRoundedUp(),Constants.ONE)){ @@ -938,7 +953,7 @@ BigDecimal data= new BigDecimal(0); if(roomList!=null){ for(YwRoom r :roomList){ data = data.add(Constants.formatBigdecimal(r.getArea())); data = data.add(Constants.formatBigdecimal(r.getRentArea())); } } @@ -1132,7 +1147,7 @@ } model.setTotalArea(new BigDecimal(0)); for(YwRoom r : rooms){ model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getArea()))); model.setTotalArea(model.getTotalArea().add(Constants.formatBigdecimal(r.getRentArea()))); } model.setRoomList(rooms); YwCustomer customer = customerMapper.selectById(model.getRenterId()); @@ -1209,6 +1224,24 @@ } @Override public YwContract findById(Integer id) { YwContract model =queryDetailInfoById(id); //查询操作日志记录 YwWorkorderLog log = new YwWorkorderLog(); log.setJobId(model.getId()); log.setIsdeleted(Constants.ZERO); model.setLogList(ywWorkorderLogMapper.selectList(new QueryWrapper<YwWorkorderLog>(log) .lambda() .in(YwWorkorderLog::getObjType,Constants.YwLogType.CONTRACT_BACK.getKey() ,Constants.YwLogType.CONTRACT_CREATE.getKey() ,Constants.YwLogType.CONTRACT_UPDATE.getKey()) .orderByAsc(YwWorkorderLog::getCreateDate))); //查询账单集合 queryBillListByModel(model,new Date()); return model; } private YwContract queryDetailInfoById(Integer id) { MPJLambdaWrapper<YwContract> queryWrapper = new MPJLambdaWrapper<>(); queryWrapper.selectAll(YwContract.class ) .selectAs(Company::getName,YwContract::getCompanyName ) @@ -1224,7 +1257,9 @@ .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId) .eq( YwContract::getId,id); YwContract model = ywContractMapper.selectJoinOne(YwContract.class,queryWrapper); if(model != null){ if (model == null) { throw new BusinessException(ResponseStatus.DATA_EMPTY); } //合同附件 initFiles(model); //查询房源信息数据 @@ -1258,30 +1293,20 @@ .orderByAsc(YwContractDetail::getSortnum); model.setWyDetailList(ywContractDetailMapper.selectJoinList(YwContractDetail.class,dw)); //查询操作日志记录 YwWorkorderLog log = new YwWorkorderLog(); log.setJobId(model.getId()); log.setIsdeleted(Constants.ZERO); model.setLogList(ywWorkorderLogMapper.selectList(new QueryWrapper<YwWorkorderLog>(log) .lambda() .in(YwWorkorderLog::getObjType,Constants.YwLogType.CONTRACT_BACK.getKey() ,Constants.YwLogType.CONTRACT_CREATE.getKey() ,Constants.YwLogType.CONTRACT_UPDATE.getKey()) .orderByAsc(YwWorkorderLog::getCreateDate))); //查询账单集合 queryBillListByModel(model,new Date()); } return model; } @Override public YwContract findForBills(YwContract model) { queryBillListByModel(model,model.getBtDate()); public YwContract findForBills(YwContract param) { YwContract model = queryDetailInfoById(param.getId()); queryBillListByModel(model,param.getBtDate()); return model; } private void queryBillListByModel(YwContract model,Date date) { if(date ==null){ date = new Date(); } //查询账单集合 model.setBillList(ywContractBillMapper.selectJoinList(YwContractBill.class,new MPJLambdaWrapper<YwContractBill>() .selectAll(YwContractBill.class ) @@ -1290,13 +1315,13 @@ .eq( YwContractBill::getContractId,model.getId()) .eq(YwContractBill::getIsdeleted,Constants.ZERO) .orderByAsc(YwContractBill::getSortnum,YwContractBill::getCreateDate))); for (YwContractBill ywContractBill:model.getBillList()) { ywContractBill.setNeedReceivableFee(ywContractBill.getReceivableFee().subtract(ywContractBill.getActReceivableFee())); ywContractBill.setNeedReceivableFee(ywContractBill.getReceivableFee()); // ywContractBill.setNeedReceivableFee(ywContractBill.getReceivableFee().subtract(ywContractBill.getActReceivableFee())); } model.setCanBackRentBills(new ArrayList<>()); long nowStart = Utils.Date.getStart(date).getTime(); long nowEnd = Utils.Date.getEnd(date).getTime(); long nowEnd = Utils.Date.getDayEnd(date).getTime(); if(model.getBillList()!=null && model.getBillList().size()>0){ for(YwContractBill bill: model.getBillList()){ //付款状态:0=待收款;1=已结清;2=部分结清;3=待付款;4=待退款;5=已关闭 @@ -1307,7 +1332,6 @@ continue; } model.getCanBackRentBills().add(bill); }else if(Constants.equalsInteger(bill.getPayStatus(),Constants.ONE) ){ if(bill.getEndDate().getTime()<nowStart){ //如果已结清,账单直接关闭 @@ -1318,7 +1342,42 @@ model.getCanBackRentBills().add(bill); } } for(YwContractBill bill : model.getCanBackRentBills()){ YwContractDetail detail = null; if(Constants.equalsInteger(bill.getCostType(),Constants.ZERO)){ detail = getDetailByIdFromList(bill.getDetailId(),model.getZlDetailList()); if(detail!=null&& bill.getStartDate()!=null && bill.getEndDate()!=null &&(date.getTime() <= bill.getStartDate().getTime() || (date.getTime() >= bill.getStartDate().getTime() && date.getTime()<= bill.getEndDate().getTime()))){ Date odate = bill.getEndDate(); bill.setEndDate(date); BigDecimal actFee = getTotalFeeByStartEnd(model,detail,bill,model.getZlFreeStartDate(),model.getZlFreeEndDate()); bill.setEndDate(odate); bill.setNeedReceivableFee(actFee); } }else if(Constants.equalsInteger(bill.getCostType(),Constants.ONE)){ detail = getDetailByIdFromList(bill.getDetailId(),model.getWyDetailList()); if(detail!=null&& bill.getStartDate()!=null && bill.getEndDate()!=null &&(date.getTime() <= bill.getStartDate().getTime() || (date.getTime() >= bill.getStartDate().getTime() && date.getTime()<= bill.getEndDate().getTime()))){ Date odate = bill.getEndDate(); bill.setEndDate(date); BigDecimal actFee = getTotalFeeByStartEnd(model,detail,bill,model.getWyFreeStartDate(),model.getWyFreeEndDate()); bill.setEndDate(odate); bill.setNeedReceivableFee(actFee); } } } } } private YwContractDetail getDetailByIdFromList(Integer detailId, List<YwContractDetail> list) { if(list!=null){ for(YwContractDetail d : list){ if(Constants.equalsInteger(detailId,d.getId())){ return d; } } } return null; } @Override @@ -1445,6 +1504,11 @@ queryWrapper.ge(YwContract::getWyFreeEndDate, Utils.Date.getStart(pageWrap.getModel().getWyFreeEndDate())); queryWrapper.le(YwContract::getWyFreeEndDate, Utils.Date.getEnd(pageWrap.getModel().getWyFreeEndDate())); } if (pageWrap.getModel().getZlTotalFee() != null) { queryWrapper.eq(YwContract::getZlTotalFee, pageWrap.getModel().getZlTotalFee()); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwPatrolSchemeServiceImpl.java
@@ -287,7 +287,7 @@ .like(StringUtils.isNotBlank(model.getTitle()),YwPatrolScheme::getTitle,model.getTitle()) //查询有时段交集的数据 .apply(Objects.nonNull(model.getStartDate())&&Objects.nonNull(model.getEndDate()), " t.START_DATE <= '"+Utils.Date.getStart(pageWrap.getModel().getEndDate())+"' and t.END_DATE >= '"+Utils.Date.getStart(pageWrap.getModel().getStartDate())+"' " " t.START_DATE <= '"+pageWrap.getModel().getEndDate()+"' and t.END_DATE >= '"+pageWrap.getModel().getStartDate()+"' " ) // .ge(Objects.nonNull(model.getStartDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate())) // .le(Objects.nonNull(model.getEndDate()),YwDeviceRecord::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getEndDate())) server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwWorkorderServiceImpl.java
@@ -404,7 +404,6 @@ .like(YwRoom::getRoomNum,pageWrap.getModel().getRoomName()) ); } if (pageWrap.getModel().getCreator() != null) { queryWrapper.eq(YwWorkorder::getCreator, pageWrap.getModel().getCreator()); }