手持机部分

This commit is contained in:
张怡蓉
2025-07-16 08:50:33 +08:00
parent 9011cdd938
commit 1c444e5282
16 changed files with 730 additions and 20 deletions

View File

@@ -70,5 +70,13 @@ public class OutMydoJobController extends BaseController {
return mydoJobService.OuthandInvalidation(jobIds);
}
@PreAuthorize("@ss.hasPermi('job:outmydoJob:pointOut')")
@Log(title = "指定货位出库", businessType = BusinessType.INSERT)
@RequestMapping("/pointOut")
public AjaxResult pointOut(@RequestParam("stockIds")String[] stockIds)
{
return mydoJobService.pointOut(stockIds);
}
}

View File

@@ -1,6 +1,9 @@
package com.ruoyi.job.mydojob.mapper;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.ruoyi.job.mydojob.domain.MydoJob;
/**
@@ -66,4 +69,6 @@ public interface MydoJobMapper
public int deleteMydoJobByJobIds(String[] jobIds);
void insertHistory(String jobId);
void pointOut(HashMap<String, Object> map);
}

View File

@@ -83,4 +83,6 @@ public interface IMydoJobService
* 出库手动作废
*/
AjaxResult OuthandInvalidation(String [] jobIds);
AjaxResult pointOut(String [] stockIds);
}

View File

@@ -1,6 +1,7 @@
package com.ruoyi.job.mydojob.service.impl;
import java.math.BigDecimal;
import java.util.*;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -353,4 +354,24 @@ public class MydoJobServiceImpl implements IMydoJobService {
return AjaxResult.error("任务处理异常");
}
}
@Override
public AjaxResult pointOut(String[] stockIds) {
HashMap<String, Object> map = new HashMap<>();
String msg = "";
String Stringbuilder = "";
for(String stockId:stockIds){
map.put("stockId",stockId);
mydoJobMapper.pointOut(map);
String result = map.get("result").toString();
if("10".equals(result)){
msg="操作成功!";
}else{
msg=map.get("v_resultmsg").toString();
}
Stringbuilder+=stockId+msg+"<br/>";
}
return AjaxResult.success(Stringbuilder.toString());
}
}

View File

@@ -4,10 +4,7 @@ import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.kpi.service.KpiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* KPI 统计分析
@@ -128,4 +125,5 @@ public class KpiController extends BaseController {
@RequestParam("thePlatoon") String thePlatoon){
return success(kpiService.getChartMag(warehouseId,theColumn,theFloor,thePlatoon));
}
}

View File

@@ -42,4 +42,6 @@ public interface KpiService {
Map<String,Object> getChartData(String warehouseId, String roadwayId, String thePlatoon);
Map<String,Object> getChartMag(String warehouseId, String theColumn, String theFloor, String thePlatoon);
}

View File

@@ -1,6 +1,6 @@
package com.ruoyi.kpi.service.impl;
import java.util.List;
import java.util.*;
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
import com.ruoyi.bas.cargoSpace.mapper.BasCargoSpaceMapper;
@@ -9,13 +9,6 @@ import com.ruoyi.job.mydojobfinish.mapper.MydoJobFinishMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
import com.ruoyi.kpi.service.KpiService;
/**
@@ -448,7 +441,6 @@ public class KpiServiceImpl implements KpiService
return response;
}
}

View File

@@ -405,6 +405,14 @@ public class PdaController extends BaseController {
return pdaService.agvRequest(basContainer);
}
/**
* 手持机获取货位分析数据
*/
@RequestMapping("/cargoSpaceAnalysis")
@ResponseBody
public AjaxResult cargoSpaceAnalysis(@RequestParam("warehouseId") String warehouseId){
return success(pdaService.cargoSpaceAnalysis(warehouseId));
}
/**
@@ -417,5 +425,13 @@ public class PdaController extends BaseController {
public AjaxResult bindContainer(@RequestBody TrayCodeMakeSure trayCodeMakeSure) {
return pdaService.bindContainer(trayCodeMakeSure);
}
/**
* 手持机获取入出库作业数量
*/
@RequestMapping("/getAisleStatisticsData")
@ResponseBody
public AjaxResult getAisleStatisticsData(@RequestParam("warehouseId") String warehouseId){
return success(pdaService.getAisleStatisticsData(warehouseId));
}
}

View File

@@ -8,6 +8,7 @@ import org.apache.poi.ss.formula.functions.T;
import org.aspectj.weaver.loadtime.Aj;
import java.util.List;
import java.util.Map;
public interface PdaService {
@@ -36,5 +37,9 @@ public interface PdaService {
AjaxResult agvRequest(BasContainer basContainer);
Map<String,Object> cargoSpaceAnalysis(String warehouseId);
Map<String,Object> getAisleStatisticsData(String warehouseId);
AjaxResult bindContainer(TrayCodeMakeSure trayCodeMakeSure);
}

View File

@@ -22,6 +22,8 @@ import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.in.stockin.service.IInStockinService;
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import com.ruoyi.job.mydojobfinish.domain.MydoJobFinish;
import com.ruoyi.job.mydojobfinish.mapper.MydoJobFinishMapper;
import com.ruoyi.out.outStockout.domain.OutStockout;
import com.ruoyi.out.outStockout.service.IOutStockoutService;
import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail;
@@ -43,10 +45,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
@Service
@@ -81,6 +80,8 @@ public class PdaServiceImp implements PdaService {
@Autowired
private IBasStockService basStockService;
@Autowired
private MydoJobFinishMapper mydoJobFinishMapper;
@Autowired
private IOutPickSubmitService outPickSubmitService;
@Autowired
private ITagTaskService tagTaskService;
@@ -533,6 +534,71 @@ public class PdaServiceImp implements PdaService {
return null;
}
@Override
public Map<String, Object> cargoSpaceAnalysis(String warehouseId) {
BasCargoSpace queryParams = new BasCargoSpace();
queryParams.setWarehouseId(warehouseId);
List<BasCargoSpace> list = basCargoSpaceService.selectBasCargoSpaceList(queryParams);
// 初始化所有可能的状态,默认值为0
Map<String, Integer> statusCount = new LinkedHashMap<>();
statusCount.put("空货位", 0);
statusCount.put("满货位", 0);
statusCount.put("入库分配", 0);
statusCount.put("出库分配", 0);
statusCount.put("入库需盘点", 0);
statusCount.put("出库需盘点", 0);
// 统计实际存在的状态数量
for (BasCargoSpace space : list) {
if (space.getStatus() != null) {
String statusName;
switch (Integer.parseInt(space.getStatus())) {
case 1: statusName = "空货位"; break;
case 2: statusName = "满货位"; break;
case 3: statusName = "入库分配"; break;
case 4: statusName = "出库分配"; break;
case 5: statusName = "入库需盘点"; break;
case 6: statusName = "出库需盘点"; break;
default: continue;
}
statusCount.put(statusName, statusCount.getOrDefault(statusName, 0) + 1);
}
}
// 转换为要求的格式
List<Map<String, Object>> result = new ArrayList<>();
for (Map.Entry<String, Integer> entry : statusCount.entrySet()) {
Map<String, Object> item = new HashMap<>();
item.put("name", entry.getKey());
item.put("value", entry.getValue());
result.add(item);
}
Map<String, Object> response = new HashMap<>();
response.put("data", result);
return response;
}
@Override
public Map<String, Object> getAisleStatisticsData(String warehouseId) {
Map<String, Object> map = new HashMap<>();
MydoJob mydoJob = new MydoJob();
mydoJob.setWarehouseId(warehouseId);
mydoJob.setInOut("1");
List<MydoJob> mydoJobs = mydoJobFinishMapper.selectMydoJobFinishListByMydoJob(mydoJob);
MydoJob mydoJob1 = new MydoJob();
mydoJob1.setWarehouseId(warehouseId);
mydoJob1.setInOut("2");
List<MydoJob> mydoJobs1 = mydoJobFinishMapper.selectMydoJobFinishListByMydoJob(mydoJob1);
map.put("in",mydoJobs.size());
map.put("out",mydoJobs1.size());
return map;
}
@Override
public AjaxResult bindContainer(TrayCodeMakeSure trayCodeMakeSure) {
if (CollUtil.isEmpty(trayCodeMakeSure.getMydoJobDetailList())){