fanzherong_v 13 timmar sedan
förälder
incheckning
fec46598aa

+ 31 - 4
snowy-admin-web/src/views/biz/bizpipeappoint/form.vue

@@ -15,12 +15,21 @@
 			<a-form-item label="车牌号:" name="licenseNumber">
 				<a-input v-model:value="formData.licenseNumber" placeholder="请输入车牌号" allow-clear />
 			</a-form-item>
-			<a-form-item label="司机姓名:" name="driverName">
+			<a-form-item label="司机:" name="driverId">
+				<xn-user-selector
+					:org-tree-api="selectorApiFunction.orgTreeApi"
+					:user-page-api="selectorApiFunction.userPageApi"
+					:radio-model="true"
+					placeholder="请选择司机"
+					v-model:value="formData.driverId"
+				/>
+			</a-form-item>
+<!--			<a-form-item label="司机姓名:" name="driverName">
 				<a-input v-model:value="formData.driverName" placeholder="请输入司机姓名" allow-clear />
 			</a-form-item>
 			<a-form-item label="司机电话:" name="driverMobile">
 				<a-input v-model:value="formData.driverMobile" placeholder="请输入司机电话" allow-clear />
-			</a-form-item>
+			</a-form-item>-->
 		</a-form>
 		<template #footer>
 			<a-button style="margin-right: 8px" @click="onClose">关闭</a-button>
@@ -35,6 +44,7 @@
 	import bizPipeAppointApi from '@/api/biz/bizPipeAppointApi'
 	import bizPipePlanApi from "@/api/biz/bizPipePlanApi";
 	import bizAppointmentRecordApi from "@/api/biz/bizAppointmentRecordApi";
+	import userApi from '@/api/biz/bizUserApi'
 
 	// 抽屉状态
 	const open = ref(false)
@@ -75,8 +85,9 @@
 	const formRules = {
 		orderId:[required('请选择管桩计划')],
 		licenseNumber:[required('请输入车牌号')],
-		driverName:[required('请输入司机姓名')],
-		driverMobile:[required('请输入司机电话')],
+		/*driverName:[required('请输入司机姓名')],
+		driverMobile:[required('请输入司机电话')],*/
+		driverId:[required('请选择司机')],
 	}
 	// 验证并提交数据
 	const onSubmit = () => {
@@ -97,6 +108,22 @@
 			})
 			.catch(() => {})
 	}
+
+
+	// 传递设计器需要的API
+	const selectorApiFunction = {
+		orgTreeApi: (param) => {
+			return userApi.userOrgTreeSelector(param).then((data) => {
+				return Promise.resolve(data)
+			})
+		},
+		userPageApi: (param) => {
+			param.roleName = '司机'
+			return userApi.userSelectorByRole(param).then((data) => {
+				return Promise.resolve(data)
+			})
+		}
+	}
 	// 抛出函数
 	defineExpose({
 		onOpen

+ 7 - 1
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizaccessrecord/service/impl/BizAccessRecordServiceImpl.java

@@ -36,6 +36,7 @@ import vip.xiaonuo.biz.modular.bizaccessrecord.param.BizAccessRecordIdParam;
 import vip.xiaonuo.biz.modular.bizaccessrecord.param.BizAccessRecordPageParam;
 import vip.xiaonuo.biz.modular.bizaccessrecord.service.BizAccessRecordService;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -84,8 +85,9 @@ public class BizAccessRecordServiceImpl extends ServiceImpl<BizAccessRecordMappe
                     appointmentRecord.setStatus("9");
                 }
                 if(StringUtils.equals(appointmentRecord.getAppointmentType(),"5")){
-                    //临时预约
+                    //管桩预约
                     appointmentRecord.setStatus("5");
+                    appointmentRecord.setEnterTime(new Date());
                 }
                 if(StringUtils.equals(appointmentRecord.getAppointmentType(),"6")){
                     //其他预约
@@ -103,6 +105,10 @@ public class BizAccessRecordServiceImpl extends ServiceImpl<BizAccessRecordMappe
             }else{
                 //出场 待出场->已出场
                 appointmentRecord.setStatus("10");
+                if(StringUtils.equals(appointmentRecord.getAppointmentType(),"5")){
+                    //管桩预约
+                    appointmentRecord.setLeaveTime(new Date());
+                }
             }
         }
         bizAppointmentRecordService.updateById(appointmentRecord);

+ 8 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizappointmentrecord/entity/BizAppointmentRecord.java

@@ -256,4 +256,12 @@ public class BizAppointmentRecord extends CommonEntity {
     /**其他预约单号*/
     private String otherNumber;
 
+    /**管桩预约开始时间*/
+    @TableField(exist = false)
+    private Date planBeginTime;
+
+    /***管桩预约结束时间*/
+    @TableField(exist = false)
+    private Date planEndTime;
+
 }

+ 9 - 2
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizappointmentrecord/mapper/mapping/BizAppointmentRecordMapper.xml

@@ -51,7 +51,11 @@
             blt.available_number,
             blt.already_number,
             bs.supplier_name,
-            br.complete_send_time
+            br.complete_send_time,
+            bpp.plan_number,
+            bpp.begin_time planBeginTime,
+            bpp.end_time planEndTime,
+            bla.load_number
         from biz_appointment_record bar
          left join biz_order bo on bar.order_id = bo.id
          left join biz_supplier bs on bs.id = bo.supplier_id
@@ -62,6 +66,8 @@
          left join biz_record br on bar.id = br.appointment_id
          left join biz_load_point blp on blp.id = bar.load_point_id
          left join biz_load_time blt on blt.id = bar.load_time_id
+         left join biz_pipe_plan bpp on bpp.id = bar.order_id
+         left join biz_load_appoint bla on bla.id = bar.order_id
         ${ew.customSqlSegment}
     </select>
     <select id="getRecord"
@@ -238,7 +244,8 @@
             bpp.plan_number,
             bpp.plan_name,
             bar.enter_time,
-            bar.leave_time
+            bar.leave_time,
+            bar.driver_id
         FROM
             biz_appointment_record bar
                 LEFT JOIN biz_record br ON bar.id = br.appointment_id

+ 14 - 0
snowy-plugin/snowy-plugin-biz/src/main/java/vip/xiaonuo/biz/modular/bizappointmentrecord/service/impl/BizAppointmentRecordServiceImpl.java

@@ -1602,6 +1602,15 @@ public class BizAppointmentRecordServiceImpl extends ServiceImpl<BizAppointmentR
                 bizAppointmentRecord.setStatus("4");
             }
         }
+        if(ObjectUtil.isNotEmpty(bizAppointmentRecordAddParam.getDriverId())){
+            BizUser bizUser = bizUserService.getById(bizAppointmentRecordAddParam.getDriverId());
+            if(ObjectUtil.isEmpty(bizAppointmentRecord.getDriverName())){
+                bizAppointmentRecord.setDriverName(bizUser.getName());
+            }
+            if(ObjectUtil.isEmpty(bizAppointmentRecord.getDriverMobile())){
+                bizAppointmentRecord.setDriverMobile(bizUser.getPhone());
+            }
+        }
         bizAppointmentRecord.setAppointmentType("5");
         this.save(bizAppointmentRecord);
 
@@ -1687,6 +1696,11 @@ public class BizAppointmentRecordServiceImpl extends ServiceImpl<BizAppointmentR
                 }
             }
         }
+        if(!StringUtils.equals(bizAppointmentRecord.getDriverId(),bizAppointmentRecordEditParam.getDriverId())){
+            BizUser bizUser = bizUserService.getById(bizAppointmentRecordEditParam.getDriverId());
+            bizAppointmentRecordEditParam.setDriverName(bizUser.getName());
+            bizAppointmentRecordEditParam.setDriverMobile(bizUser.getPhone());
+        }
         BeanUtil.copyProperties(bizAppointmentRecordEditParam, bizAppointmentRecord);
         if (StringUtils.equals(bizAppointmentRecord.getStatus(), "2")) {
             //如果当前状态是审核不通过的状态,修改后重新提交审核