瀏覽代碼

前后端增加充电逻辑

k 2 年之前
父節點
當前提交
f3e8ad54a2

+ 37 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/ams/WcsTaskController.java

@@ -1,8 +1,11 @@
 package com.ruoyi.web.controller.warewms.ams;
 
+import java.text.SimpleDateFormat;
 import java.util.Date;
 import java.util.List;
 import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
 
 import com.ruoyi.ams.task.domain.form.TaskDispositionForm;
 import com.ruoyi.ams.task.form.AddTaskForm;
@@ -11,6 +14,8 @@ import com.ruoyi.base.domain.BaseLocationInfo;
 import com.ruoyi.base.service.IBaseLocationInfoService;
 import com.ruoyi.base.utils.IdSequenceUtils;
 import com.ruoyi.common.core.domain.model.LoginUser;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
@@ -163,4 +168,36 @@ public class WcsTaskController extends BaseController {
         wcsTask.setPriority(10L);
         return toAjax(wcsTaskService.insertWcsTask(wcsTask));
     }
+
+    @PostMapping("/toCharge")
+    public AjaxResult toCharge(@RequestBody ToChargeForm toChargeForm) {
+
+        WcsTask wcsTask = new WcsTask();
+        wcsTask.setTaskNo(System.currentTimeMillis() + "");
+        wcsTask.setBusinessType(Constant.TASK_BUSINESS_TYPE.TASK_POWER.getValue());
+        wcsTask.setShopId(Constant.WAREHOUSE_ID.toString());
+        wcsTask.setLocationFrom("998");
+        wcsTask.setLocationTo("997");
+        wcsTask.setDeviceName(toChargeForm.getAgvNo().toString());
+        wcsTask.setState(Constant.TASK_STS.TASK9.getValue().longValue());
+        wcsTask.setPriority(1l);
+        wcsTask.setTaskType(Constant.TASK_BUSINESS_TYPE.TASK_POWER.getValue());
+        wcsTask.setAgvNo(toChargeForm.getAgvNo().toString());//车号
+        wcsTask.setRemark("充电任务");
+        wcsTaskService.insertWcsTask(wcsTask);
+        return AjaxResult.success("下发充电任务成功");
+    }
+
+
+    public static class ToChargeForm {
+        private Integer agvNo;
+
+        public Integer getAgvNo() {
+            return agvNo;
+        }
+
+        public void setAgvNo(Integer agvNo) {
+            this.agvNo = agvNo;
+        }
+    }
 }

+ 9 - 0
ruoyi-ui/src/api/ams/wcsTask.js

@@ -80,4 +80,13 @@ export function addTestTask(data) {
   })
 }
 
+//添加充电任务
+export function addChargeTask(data) {
+  return request({
+    url: '/ams/wcsTask/toCharge',
+    method: 'post',
+    data: data
+  })
+}
+
 

+ 79 - 13
ruoyi-ui/src/views/ams/task/index.vue

@@ -105,6 +105,15 @@
           v-hasPermi="['ams:wcsTask:add']"
         >新增</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleCharge"
+        >充电任务</el-button>
+      </el-col>
       <!--<el-col :span="1.5">
         <el-button
           type="success"
@@ -116,17 +125,17 @@
           v-hasPermi="['ams:wcsTask:edit']"
         >修改</el-button>
       </el-col>-->
-      <el-col :span="1.5">
-        <el-button
-          type="danger"
-          plain
-          icon="el-icon-delete"
-          size="mini"
-          :disabled="multiple"
-          @click="handleCancel"
-          v-hasPermi="['ams:wcsTask:remove']"
-        >删除</el-button>
-      </el-col>
+<!--      <el-col :span="1.5">-->
+<!--        <el-button-->
+<!--          type="danger"-->
+<!--          plain-->
+<!--          icon="el-icon-delete"-->
+<!--          size="mini"-->
+<!--          :disabled="multiple"-->
+<!--          @click="handleCancel()"-->
+<!--          v-hasPermi="['ams:wcsTask:remove']"-->
+<!--        >取消任务</el-button>-->
+<!--      </el-col>-->
       <!--<el-col :span="1.5">
         <el-button
           type="warning"
@@ -169,7 +178,7 @@
           <div v-if="scope.row.state === 14">卸货待确认</div>
         </template>
       </el-table-column>
-      <!--<el-table-column label="备注" align="center" prop="remark" />-->
+      <el-table-column label="备注" align="center" prop="remark" />
       <!--<el-table-column label="创建人" align="center" prop="createUser" />-->
       <el-table-column label="创建时间" align="center" prop="createDate" width="200"/>
       <!--<el-table-column label="任务类型" align="center" prop="taskType" />-->
@@ -368,11 +377,41 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
+    <!--充电-->
+    <el-dialog :title="title" :visible.sync="chaegeOpen" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="车号" prop="businessType">
+          <el-select v-model="form.agvNo" placeholder="请选择车辆" clearable size="small" style="width: 100%">
+            <el-option
+              v-for="dict in chargeCombo"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitChargeForm">确 定</el-button>
+      </div>
+    </el-dialog>
+
   </div>
 </template>
 
 <script>
-import { listWcsTask, getWcsTask, delWcsTask, addWcsTask, updateWcsTask, addTestTask , completeWcsTask, taskCancel, invDisposition } from "@/api/ams/wcsTask";
+import {
+  listWcsTask,
+  getWcsTask,
+  delWcsTask,
+  addWcsTask,
+  updateWcsTask,
+  addTestTask,
+  completeWcsTask,
+  taskCancel,
+  invDisposition,
+  addChargeTask
+} from "@/api/ams/wcsTask";
 import { queryLocationDict } from "@/api/base/locationInfo";
 import { queryLocationZoneDict } from "@/api/base/locationZone"
 
@@ -398,6 +437,8 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+      // 充电弹窗
+      chaegeOpen:false,
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -425,6 +466,11 @@ export default {
       businessTypeCombo: [
         {'label':'普通任务','value':'01'}
       ],
+      chargeCombo: [
+        {'label':'迷你堆垛A','value':'1'},
+        {'label':'迷你堆垛B','value':'2'},
+        {'label':'三向车','value':'3'}
+      ],
       taskTypeCombo: [
         {'label':'是','value':'Y'},
         {'label':'否','value':'N'}
@@ -523,6 +569,12 @@ export default {
       this.open = true;
       this.title = "添加AGV任务";
     },
+    /** 新增充电任务 */
+    handleCharge() {
+      this.reset();
+      this.chaegeOpen = true;
+      this.title = "添加充电任务";
+    },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
@@ -547,6 +599,20 @@ export default {
         }
       });
     },
+    /** 提交按钮 */
+    submitChargeForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          addChargeTask(this.form).then(
+            response => {
+              this.getList();
+              this.$modal.msgSuccess("添加成功");
+              this.open = false;
+            }
+          );
+        }
+      });
+    },
     /** 删除按钮操作 */
     handleDelete(row) {
       const taskNos = row.taskNo || this.ids;

+ 12 - 2
warewms-ams/src/main/java/com/ruoyi/ams/business/BusinessServiceImpl.java

@@ -593,8 +593,18 @@ public class BusinessServiceImpl implements IBusinessService {
         amsTask.setAciAccept(0);
         amsTask.setIkey((long) geniKey(amsTask.getTaskNo()));
         amsTask.setPriority(wcsTask.getPriority().intValue());
-        amsTask.setStFrom(locFrom.getAgvStation().intValue());
-        amsTask.setStTo(locTo.getAgvStation().intValue());
+        // 充电任务直接传参数
+        if (wcsTask.getBusinessType().equals(Constant.TASK_BUSINESS_TYPE.TASK_POWER.getValue())) {
+            amsTask.setStFrom(Integer.parseInt(wcsTask.getLocationFrom()));
+        } else {
+            amsTask.setStFrom(locFrom.getAgvStation().intValue());
+        }
+        if (wcsTask.getBusinessType().equals(Constant.TASK_BUSINESS_TYPE.TASK_POWER.getValue())) {
+            amsTask.setStTo(Integer.parseInt(wcsTask.getLocationTo()));
+
+        } else {
+            amsTask.setStTo(locTo.getAgvStation().intValue());
+        }
         amsTask.setExt1(wcsTask.getExt1());
         amsTask.setExt2(wcsTask.getExt2());
         amsTask.setExt3(wcsTask.getExt3());

+ 1 - 1
warewms-ams/src/main/resources/mapper/ams/WcsTaskMapper.xml

@@ -111,7 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 
     <select id="selectWcsTaskListVO" parameterType="WcsTask" resultMap="WcsTaskResult">
         select t.task_no, t.business_type,bf.location_no location_from,fz.zone_name area_from,bt.location_no location_to,tz.zone_name area_to,
-        t.state,t.create_date,t.task_type, t.start_time, t.end_time
+        t.state,t.create_date,t.task_type, t.start_time, t.end_time,t.remark
         from wcs_task t
         left join base_location_info bf on t.location_from = bf.id
         left join base_location_info bt on t.location_to = bt.id