paramMap = new HashMap<>();
+ paramMap.put("reqCode", UUID.randomUUID().toString());//请求码
+ paramMap.put("jobId", mydoJob.getJobId());//容器编号
+ paramMap.put("trayCode", mydoJob.getTrayCode().trim());//容器编号
+ paramMap.put("cargoSpaceId", mydoJob.getCargoSpaceId());//货位
+ paramMap.put("inOrOut", mydoJob.getInOrOut());//任务类型
+
+ ajaxResult = apiWcsService.sendOutMydoJob(paramMap);
+ if (ajaxResult.isSuccess()){
+
+ //生成托盘主作业
+ mydoJobService.insertMydoJob(mydoJob);
+
+ //生成主任务后子任务明细重新计数
+ num = 1;
+
+ log.info("【推送出库】生成并推送wcs作业成功,作业号:{},托盘条码:{},分配货位:{}", mydoJob.getJobId(), mydoJob.getTrayCode(), mydoJob.getCargoSpaceId());
+
+ //todo 更新库存明细
+ stock.setStockStatus(StockStatusEnum.OCCUPIED.getCode());
+ basStockService.updateBasStock(stock);
+
+ //todo 更新货位
+ cargoCurrent.setStatus(CargoSpaceCode.CARGOSPACE_STATUS_PRE_STOCKOUT);
+ basCargoSpaceService.updateBasCargoSpace(cargoCurrent);
+ }
+
+
+ }
+
+ //若主任务已经存在,则补充一条子作业
+ mydoJobDetailService.insertMydoJobDetail(
+ new MydoJobDetail().builder()
+ .jobId(mydoJob.getJobId())
+ .jobDetailId(mydoJob.getJobId() + num)
+ .inOrOutId(detail.getStockoutId())
+ .inOrOutDId(detail.getStockoutDetailId())
+ .stockinId(stock.getStockinId())
+ .stockinDetailId(detail.getStockoutDetailId())
+ .productId(detail.getProductId())
+ .lotNo(detail.getLotNo())
+ .stockQuantity(Convert.toInt(stock.getQuantity()))
+ .outQuantity(Convert.toInt(detail.getQuantity()))
+ .status("0")
+ .inDate(stock.getInDate().toString())
+ .rollerNumber(stock.getRollerNumber())
+ .build()
+ );
+
+ num++;
+
+
+ }
+
+ return AjaxResult.success();
+ }
+
/**
* 手动分配出库单据
*/
@@ -201,7 +431,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService
{
// 1. 生成主单ID
if (saveDTO.getStockoutId() == null || saveDTO.getStockoutId().isEmpty()) {
- saveDTO.setStockoutId(jobIdService.getId("CKD"));
+ saveDTO.setStockoutId(IBasJobIdService.getId("CKD"));
}
// 2. 保存主单
saveDTO.setCreateDate(new Date());
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/domain/OutStockoutDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/domain/OutStockoutDetail.java
index adc1d7b..bfaaade 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/domain/OutStockoutDetail.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/domain/OutStockoutDetail.java
@@ -1,5 +1,9 @@
package com.ruoyi.out.stockoutdetail.domain;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
@@ -13,6 +17,10 @@ import java.math.BigDecimal;
* @author ruoyi
* @date 2026-05-12
*/
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
public class OutStockoutDetail extends BaseEntity
{
private static final long serialVersionUID = 1L;
@@ -36,6 +44,10 @@ public class OutStockoutDetail extends BaseEntity
@Excel(name = "物料名称546")
private String productName;
+ /** 辊号 */
+ @Excel(name = "辊号")
+ private String rollerNumber;
+
/** 计划数量 */
@Excel(name = "计划数量")
private BigDecimal quantity;
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/mapper/OutStockoutDetailMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/mapper/OutStockoutDetailMapper.java
index 96b3d3a..b30d124 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/mapper/OutStockoutDetailMapper.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/mapper/OutStockoutDetailMapper.java
@@ -19,6 +19,14 @@ public interface OutStockoutDetailMapper
*/
public OutStockoutDetail selectOutStockoutDetailByStockoutDetailId(String stockoutDetailId);
+ /**
+ * 查询出库单据子信息
+ *
+ * @param rollerNumber 辊号
+ * @return 出库单据子信息
+ */
+ public OutStockoutDetail selectOutStockoutDetailByRollerNumber(String rollerNumber);
+
/**
* 查询出库单据子信息列表
*
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/service/IOutStockoutDetailService.java b/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/service/IOutStockoutDetailService.java
index bbb9c96..63cad3f 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/service/IOutStockoutDetailService.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/service/IOutStockoutDetailService.java
@@ -19,6 +19,14 @@ public interface IOutStockoutDetailService
*/
public OutStockoutDetail selectOutStockoutDetailByStockoutDetailId(String stockoutDetailId);
+ /**
+ * 查询出库单据子信息
+ *
+ * @param rollerNumber 辊号
+ * @return 出库单据子信息
+ */
+ public OutStockoutDetail selectOutStockoutDetailByRollerNumber(String rollerNumber);
+
/**
* 查询出库单据子信息列表
*
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/service/impl/OutStockoutDetailServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/service/impl/OutStockoutDetailServiceImpl.java
index 4f11f9d..1004bb9 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/service/impl/OutStockoutDetailServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/out/stockoutdetail/service/impl/OutStockoutDetailServiceImpl.java
@@ -31,6 +31,11 @@ public class OutStockoutDetailServiceImpl implements IOutStockoutDetailService
return outStockoutDetailMapper.selectOutStockoutDetailByStockoutDetailId(stockoutDetailId);
}
+ @Override
+ public OutStockoutDetail selectOutStockoutDetailByRollerNumber(String rollerNumber){
+ return outStockoutDetailMapper.selectOutStockoutDetailByRollerNumber(rollerNumber);
+ }
+
/**
* 查询出库单据子信息列表
*
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pd/job/controller/PdInMydoJobController.java b/ruoyi-admin/src/main/java/com/ruoyi/pd/job/controller/PdInMydoJobController.java
index e8a95dd..e69cc18 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/pd/job/controller/PdInMydoJobController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/pd/job/controller/PdInMydoJobController.java
@@ -96,7 +96,8 @@ public class PdInMydoJobController extends BaseController
@PutMapping("/cancel/{jobId}")
public AjaxResult cancel(@PathVariable("jobId") String jobId)
{
- return mydoJobService.cancelJob(jobId,"2");
+// return mydoJobService.cancelJob(jobId,"2");
+ return mydoJobService.cancelJob(jobId);
}
/**
@@ -107,6 +108,6 @@ public class PdInMydoJobController extends BaseController
@PutMapping("/complete/{jobId}")
public AjaxResult complete(@PathVariable("jobId") String jobId)
{
- return mydoJobService.completeJob(jobId,"2");
+ return mydoJobService.manualCompleteJob(jobId,"2");
}
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pd/job/controller/PdOutMydoJobController.java b/ruoyi-admin/src/main/java/com/ruoyi/pd/job/controller/PdOutMydoJobController.java
index 1831511..375d996 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/pd/job/controller/PdOutMydoJobController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/pd/job/controller/PdOutMydoJobController.java
@@ -103,7 +103,8 @@ public class PdOutMydoJobController extends BaseController
@PutMapping("/cancel/{jobId}")
public AjaxResult cancel(@PathVariable("jobId") String jobId)
{
- return mydoJobService.cancelJob(jobId,"2");
+// return mydoJobService.cancelJob(jobId,"2");
+ return mydoJobService.cancelJob(jobId);
}
/**
@@ -114,6 +115,6 @@ public class PdOutMydoJobController extends BaseController
@PutMapping("/complete/{jobId}")
public AjaxResult complete(@PathVariable("jobId") String jobId)
{
- return mydoJobService.completeJob(jobId,"2");
+ return mydoJobService.manualCompleteJob(jobId,"2");
}
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pd/stockpd/service/impl/PdStockpdServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/pd/stockpd/service/impl/PdStockpdServiceImpl.java
index 729b1a9..34aa9ac 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/pd/stockpd/service/impl/PdStockpdServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/pd/stockpd/service/impl/PdStockpdServiceImpl.java
@@ -6,7 +6,7 @@ import java.util.Date;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
-import com.ruoyi.bas.id.job.service.JobIdService;
+import com.ruoyi.bas.id.job.service.IBasJobIdService;
import com.ruoyi.common.PdStockpdStatusEnum;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.text.Convert;
@@ -38,7 +38,7 @@ public class PdStockpdServiceImpl implements IPdStockpdService
private SysDeptMapper sysDeptMapper;
@Autowired
- private JobIdService jobIdService;
+ private IBasJobIdService IBasJobIdService;
/**
* 查询盘点单据主信息
@@ -216,7 +216,7 @@ public class PdStockpdServiceImpl implements IPdStockpdService
{
// 1. 生成主单ID
if (saveDTO.getStockpdId() == null || saveDTO.getStockpdId().isEmpty()) {
- saveDTO.setStockpdId(jobIdService.getId("PDD"));
+ saveDTO.setStockpdId(IBasJobIdService.getId("PDD"));
}
// 2. 保存主单
saveDTO.setCreateDate(new Date());
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java
index a6b2fe8..44cf0f8 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java
@@ -4,11 +4,11 @@ import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.utils.StringUtils;
-import com.ruoyi.in.sotckindetail.domain.InStockinDetail;
+import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.pda.domain.AddInJobRequest;
+import com.ruoyi.pda.domain.TrayMsgBinding;
import com.ruoyi.pda.domain.BindTrayRequest;
-import com.ruoyi.pda.service.PdaService;
-import io.netty.util.internal.ObjectUtil;
+import com.ruoyi.pda.service.IPdaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
@@ -26,7 +26,8 @@ import java.util.List;
public class PdaController extends BaseController {
@Autowired
- private PdaService pdaService;
+ private IPdaService pdaService;
+
/**
* 入库待处理任务列表
@@ -39,6 +40,7 @@ public class PdaController extends BaseController {
return getDataTable(list);
}
+
/**
* 入库绑盘(支持一托多料)
*
@@ -67,6 +69,27 @@ public class PdaController extends BaseController {
}
}
+
+ /**
+ * 入库绑盘
+ */
+ @PostMapping("/bindTrayMsg")
+ @PreAuthorize("@ss.hasPermi('in:bound:msg:add')")
+ public AjaxResult bindTray(@RequestBody TrayMsgBinding bindTray) {
+ try {
+ if (bindTray == null) {
+ return AjaxResult.error();
+ }
+
+ return pdaService.bindingTrayMsg(bindTray);
+
+ } catch (RuntimeException e) {
+ return AjaxResult.error(e.getMessage());
+ }
+ }
+
+
+
/**
* 生成入库作业
* @param request
@@ -83,14 +106,16 @@ public class PdaController extends BaseController {
}
}
+
+
/**
* 入库绑盘-查询物料信息
- * @param detailId
+ * @param detailId 子单号
* @return
*/
@GetMapping("/getProductInfoByInDetailId")
@PreAuthorize("@ss.hasPermi('in:bound:task:info')")
- public AjaxResult getProductInfoByInDetailId(String detailId) {
+ public AjaxResult getProductInfoByInDetailId(String detailId) {
try {
InStockinDetail info = pdaService.getProductInfoByInDetailId(detailId);
return AjaxResult.success(info);
@@ -99,4 +124,33 @@ public class PdaController extends BaseController {
}
}
+
+ /**
+ * 入库绑盘-查询物料信息
+ * @param rollerNumber 辊号
+ * @return
+ */
+ @GetMapping("/getProductInfoByRollerNumber")
+ @PreAuthorize("@ss.hasPermi('in:bound:task:info')")
+ public AjaxResult getProductInfoByRollerNumber(String rollerNumber) {
+ try {
+ InStockinDetail info = pdaService.getProductInfoByRollerNumber(rollerNumber);
+ return AjaxResult.success(info);
+ } catch (RuntimeException e) {
+ return AjaxResult.error(e.getMessage());
+ }
+ }
+
+
+ /**
+ * 呼叫空托出库
+ * @param palletType 托盘类型
+ * @return
+ */
+ @GetMapping("/callStockOutForEmptyPallet")
+ @PreAuthorize("@ss.hasPermi('out:bound:task:info')")
+ public AjaxResult callStockOutForEmptyPallet(int palletType) {
+ return pdaService.callContainerStockOut(palletType);
+ }
+
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/BindTrayRequest.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/BindTrayRequest.java
index 85dc00d..4f516f3 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/BindTrayRequest.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/BindTrayRequest.java
@@ -2,6 +2,8 @@ package com.ruoyi.pda.domain;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotNull;
+import lombok.Builder;
+import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@@ -13,6 +15,8 @@ import java.util.List;
* @author ruoyi
* @date 2026-05-14
*/
+@Data
+@Builder
public class BindTrayRequest {
/** 托盘号 */
@@ -21,35 +25,17 @@ public class BindTrayRequest {
@NotNull
private String warehouseId;
-
- /** 绑定物料明细列表(一托多料) */
+ /**
+ * 绑定物料明细列表(一托多料)
+ */
@Valid
private List items;
- public String getTrayCode() {
- return trayCode;
- }
- public void setTrayCode(String trayCode) {
- this.trayCode = trayCode;
- }
- public String getWarehouseId() {
- return warehouseId;
- }
-
- public void setWarehouseId(String warehouseId) {
- this.warehouseId = warehouseId;
- }
-
- public List getItems() {
- return items;
- }
-
- public void setItems(List items) {
- this.items = items;
- }
+ @Data
+ @Builder
/**
* 单条物料绑定信息
*/
@@ -67,28 +53,8 @@ public class BindTrayRequest {
@NotNull
private BigDecimal quantity;
- public String getStockinDetailId() {
- return stockinDetailId;
- }
+ private String rollerNumber;
- public void setStockinDetailId(String stockinDetailId) {
- this.stockinDetailId = stockinDetailId;
- }
- public String getProductId() {
- return productId;
- }
-
- public void setProductId(String productId) {
- this.productId = productId;
- }
-
- public BigDecimal getQuantity() {
- return quantity;
- }
-
- public void setQuantity(BigDecimal quantity) {
- this.quantity = quantity;
- }
}
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayMsgBinding.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayMsgBinding.java
new file mode 100644
index 0000000..59ed281
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayMsgBinding.java
@@ -0,0 +1,48 @@
+package com.ruoyi.pda.domain;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.math.BigDecimal;
+
+@Data
+@Builder
+@AllArgsConstructor
+@NoArgsConstructor
+public class TrayMsgBinding {
+
+ /**
+ * 托盘号
+ */
+ private String trayCode;
+
+ /**
+ * 物料号
+ */
+ private String productId;
+
+ /**
+ * 辊号
+ */
+ private String rollerNumber;
+
+ /**
+ * 数量
+ */
+ private BigDecimal quantity;
+
+ /**
+ * 主单id
+ */
+ private String stockinId;
+
+ /**
+ * 子单id
+ */
+ private String stockinDetailId;
+
+
+
+}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/IPdaService.java
similarity index 51%
rename from ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java
rename to ruoyi-admin/src/main/java/com/ruoyi/pda/service/IPdaService.java
index 9843b38..38b04b3 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/IPdaService.java
@@ -1,12 +1,15 @@
package com.ruoyi.pda.service;
-import com.ruoyi.in.sotckindetail.domain.InStockinDetail;
+import com.ruoyi.apiService.domain.wcs.WcsStockinReceive;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.pda.domain.AddInJobRequest;
+import com.ruoyi.pda.domain.TrayMsgBinding;
import com.ruoyi.pda.domain.BindTrayRequest;
import java.util.List;
-public interface PdaService {
+public interface IPdaService {
/**
* 入库待处理任务列表
@@ -20,6 +23,15 @@ public interface PdaService {
* @return 成功插入条数
*/
String bindTray(BindTrayRequest request);
+
+ /**
+ * 入库绑盘
+ *
+ * @param bindTray 绑盘请求体,包含托盘号和物料明细列表
+ * @return 成功插入条数
+ */
+ AjaxResult bindingTrayMsg(TrayMsgBinding bindTray);
+
/**
* 入库绑盘-查询物料信息
* @param detailId 入库子单号
@@ -27,10 +39,26 @@ public interface PdaService {
*/
InStockinDetail getProductInfoByInDetailId(String detailId);
+ /**
+ * 入库绑盘-查询物料信息
+ * @param rollerNumber 辊号
+ * @return
+ */
+ InStockinDetail getProductInfoByRollerNumber(String rollerNumber);
+
/**
* 生成入库任务
* @param request 生成任务请求体 包含托盘号
* @return
*/
String addInJob(AddInJobRequest request);
+
+
+ /**
+ * 呼叫空托盘出库
+ * @param palletType 托盘类型
+ * @return
+ */
+ AjaxResult callContainerStockOut(int palletType);
+
}
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java
index c972598..5ff50e1 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/impl/PdaServiceImpl.java
@@ -1,45 +1,70 @@
package com.ruoyi.pda.service.impl;
+import cn.hutool.core.util.ObjUtil;
+import com.ruoyi.api.service.ApiWcsService;
+import com.ruoyi.bas.id.job.service.IBasJobIdService;
+import com.ruoyi.bas.id.taskno.service.IBasTaskNoService;
+import com.ruoyi.bas.stock.domain.BasStock;
+import com.ruoyi.bas.stock.domain.BasStockInfo;
+import com.ruoyi.bas.stock.service.IBasStockInfoService;
+import com.ruoyi.bas.stock.service.IBasStockService;
+import com.ruoyi.common.*;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.in.bind.domain.InTrayMsg;
-import com.ruoyi.in.bind.mapper.InTrayMsgMapper;
-import com.ruoyi.in.sotckindetail.domain.InStockinDetail;
-import com.ruoyi.in.sotckindetail.mapper.InStockinDetailMapper;
-import com.ruoyi.in.stockin.domain.InStockin;
-import com.ruoyi.in.stockin.mapper.InStockinMapper;
+import com.ruoyi.in.bind.service.IInTrayMsgService;
+import com.ruoyi.in.job.service.IMydoJobService;
+import com.ruoyi.in.jobdetail.service.IMydoJobDetailService;
+import com.ruoyi.in.stockindetail.domain.InStockinDetail;
+import com.ruoyi.in.stockindetail.mapper.InStockinDetailMapper;
+import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import com.ruoyi.pda.domain.AddInJobRequest;
+import com.ruoyi.pda.domain.TrayMsgBinding;
import com.ruoyi.pda.domain.BindTrayRequest;
import com.ruoyi.pda.mapper.PdaMapper;
-import com.ruoyi.pda.service.PdaService;
+import com.ruoyi.pda.service.IPdaService;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
import java.math.BigDecimal;
-import java.util.Date;
import java.util.HashMap;
import java.util.List;
-import static com.ruoyi.common.InStockInStatusEnum.RUNNING;
-
/**
* 手持机 Service 实现
*
* @author ruoyi
* @date 2026-05-14
*/
+@Slf4j
@Service
-public class PdaServiceImpl implements PdaService {
+public class PdaServiceImpl implements IPdaService {
@Autowired
- private PdaMapper pdaMapper;
-
+ PdaMapper pdaMapper;
@Autowired
- private InStockinDetailMapper inStockinDetailMapper;
+ InStockinDetailMapper inStockinDetailMapper;
+ @Autowired
+ IInStockinDetailService inStockinDetailService;
+ @Autowired
+ ApiWcsService apiWcsService;
+ @Autowired
+ IInTrayMsgService inTrayMsgService;
+ @Autowired
+ IMydoJobService mydoJobService;
+ @Autowired
+ IMydoJobDetailService mydoJobDetailService;
+ @Autowired
+ IBasJobIdService basJobIdService;
+ @Autowired
+ IBasTaskNoService basTaskNoService;
+ @Autowired
+ IBasStockInfoService basStockInfoService;
+ @Autowired
+ IBasStockService basStockService;
+
// ─────────────────────────────────────────────
@@ -50,9 +75,10 @@ public class PdaServiceImpl implements PdaService {
return inStockinDetailMapper.inboundTaskList(inStockinDetail);
}
- // ─────────────────────────────────────────────
- // 入库绑盘(一托多料)
- // ─────────────────────────────────────────────
+
+ /**
+ * 入库绑盘(一托多料)
+ */
@Override
public String bindTray(BindTrayRequest request) {
StringBuilder str = new StringBuilder();
@@ -70,11 +96,150 @@ public class PdaServiceImpl implements PdaService {
return str.toString();
}
+
+ /**
+ * 绑定托盘信息
+ * @param bindTrayMsg 绑盘请求体,包含托盘号和物料明细列表
+ * @return
+ */
+ @Override
+ public AjaxResult bindingTrayMsg(TrayMsgBinding bindTrayMsg){
+
+ //todo 需要确认扫描辊号或物料号时能获取到哪些信息?确认后移除不必要的字段
+
+
+
+ //======================生成绑定信息======================
+ String trayCode = bindTrayMsg.getTrayCode();
+ int trayType = mydoJobService.getTrayTypeByTrayCode(trayCode);
+ String trayMsgStatus =
+ ObjUtil.isNull(basStockInfoService.selectBasStockInfoByTrayCode(trayCode)) ? InTrayMsgCode.STATUS_NEW :InTrayMsgCode.STATUS_EXIST;
+
+
+//>>>校验1:托盘号是否已经执行过绑定操作
+ int trayCodeCount = inTrayMsgService.selectInTrayMsgList(
+ new InTrayMsg().builder().trayCode(trayCode).build()
+ ).size();
+ if (trayCodeCount != 0){
+ log.warn("【空托入库绑定】已存在该托盘条码的入库绑定信息,请勿重复绑定,条码:{}", trayCode);
+ return AjaxResult.error("【空托入库绑定】已存在该托盘条码的入库绑定信息,请勿重复绑定,条码:" + trayCode);
+ }
+
+//>>>校验2:辊号是否已经执行过绑定操作
+ int rollerNumberCount = inTrayMsgService.selectInTrayMsgList(
+ new InTrayMsg().builder().rollerNumber(bindTrayMsg.getRollerNumber()).build()
+ ).size();
+ if (rollerNumberCount != 0){
+ log.warn("【空托入库绑定】已存在该辊号的入库绑定信息,请勿重复绑定,条码:{}", trayCode);
+ return AjaxResult.error("【空托入库绑定】已存在该辊号的入库绑定信息,请勿重复绑定,条码:" + trayCode);
+ }
+
+//>>>校验3:物料编号不能为空(不包括空托盘)
+ if((bindTrayMsg.getProductId().equals("") || bindTrayMsg.getProductId() == null) && !bindTrayMsg.getProductId().equals(ProductType.EMPTY_TRAY)){
+ log.warn("【提示】入库绑定信息物料不能为空,请扫码获取物料信息,物料号:{}", bindTrayMsg.getProductId());
+ return AjaxResult.error("【提示】入库绑定信息物料不能为空");
+ }
+
+
+ //todo 此处处理回流继续绑定的托盘
+
+
+
+//----------【空容器入库绑定】----------
+ if (bindTrayMsg.getProductId().equals(ProductType.EMPTY_TRAY)){
+
+//>>>校验:库存和货位已经有该托盘信息
+ BasStockInfo info = basStockInfoService.selectBasStockInfoByTrayCode(trayCode);
+ if (ObjUtil.isNotNull(info)){
+ log.warn("【提示】已有该托盘的库存信息,请确认货位:{},托盘号:{}", info.getCargoSpaceId(), trayCode);
+ return AjaxResult.error("【提示】已有该托盘的库存信息,请核对货位状态");
+ }
+
+ inTrayMsgService.insertInTrayMsg(
+ new InTrayMsg().builder()
+ .trayCode(trayCode)
+ .productId(bindTrayMsg.getProductId())
+ .quantity(bindTrayMsg.getQuantity())
+ .warehouseId("01")
+ .rollerNumber(bindTrayMsg.getRollerNumber())
+ .trayType(4)//todo 获取托盘类型
+ .status(trayMsgStatus)
+ .build()
+ );
+
+ log.info("【绑定信息】<空容器入库>绑定信息,托盘号:{},物料编号:{}", trayCode, bindTrayMsg.getProductId());
+ return AjaxResult.success("绑定成功");
+
+ }else{
+//----------【常规物料入库托盘绑定】----------
+
+//>>>校验1:入库子单是否有当前辊号信息
+ int rollerCount = inStockinDetailService.selectInStockinDetailList(
+ new InStockinDetail().builder().rollerNumber(bindTrayMsg.getRollerNumber()).build()
+ ).size();
+ if (rollerCount == 0){
+ log.warn("【扫码异常】找不到当前版辊信息对应的单据明细,辊号:{}", bindTrayMsg.getRollerNumber());
+ return AjaxResult.error("【扫码异常】找不到当前版辊信息对应的单据明细,辊号:" + bindTrayMsg.getRollerNumber());
+ }
+
+//>>>校验2:容器可用位置和绑定物料数量判断
+ //已经进行过绑定容器的物料数量 @@@ FT577 托盘上的每个位置仅能放数量1的物料
+ int bindingSpaces = inTrayMsgService.selectInTrayMsgList(
+ new InTrayMsg().builder().trayCode(trayCode).build()
+ ).size();
+ //指定托盘号对应的库存表的记录条数(表示数量) 由于辊号唯一,所以固定托盘号的库存条数也可以表示库存数量
+ int stockSum = basStockService.getQuantityByTrayCode(trayCode);
+ //如果【绑定数量】超过【托盘余位 = 托盘容量 - 托盘库存】则不能继续绑定
+ if(bindingSpaces >= trayType - stockSum){
+ log.warn("【提示】该托盘绑定物料数量已达上限,无法继续绑定,托盘号:{}", trayCode);
+ return AjaxResult.error("【提示】该托盘绑定物料数量已达上限,无法继续绑定");
+ }
+
+//>>>生成绑定信息
+ inTrayMsgService.insertInTrayMsg(
+ new InTrayMsg().builder()
+ .trayCode(trayCode)
+ .productId(bindTrayMsg.getProductId())
+ .quantity(bindTrayMsg.getQuantity())
+ .stockinId(bindTrayMsg.getStockinId())
+ .stockinDetailId(bindTrayMsg.getStockinDetailId())
+ .warehouseId("01")
+ .rollerNumber(bindTrayMsg.getRollerNumber())
+ .trayType(4)
+ .status(trayMsgStatus)
+ .build()
+ );
+
+//>>>扣减子单的【扫码数量】
+ InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByProductId(bindTrayMsg.getProductId());
+ inStockinDetail.setScanNum(inStockinDetail.getScanNum().subtract(BigDecimal.valueOf(1)));
+ inStockinDetailService.updateInStockinDetail(inStockinDetail);
+
+ log.info("【绑定信息】<常规入库>绑定信息,辊号:{},托盘号:{}",bindTrayMsg.getRollerNumber(), bindTrayMsg.getTrayCode());
+ return AjaxResult.success("绑定成功");
+ }
+
+
+ }
+
+
@Override
public InStockinDetail getProductInfoByInDetailId(String detailId) {
return inStockinDetailMapper.selectInStockinDetailByStockinDetailId(detailId);
}
+
+ /**
+ * 可能需要确定扫描辊号时是否带有其他字段信息,可以通过辊号(唯一)获取子单明细信息
+ * @param rollerNumber 辊号
+ * @return
+ */
+ @Override
+ public InStockinDetail getProductInfoByRollerNumber(String rollerNumber) {
+ return inStockinDetailMapper.selectInStockinDetailByRollerNumber(rollerNumber);
+ }
+
+
@Override
public String addInJob(AddInJobRequest request) {
HashMap map = new HashMap<>();
@@ -84,4 +249,13 @@ public class PdaServiceImpl implements PdaService {
pdaMapper.addInJob(map);
return Convert.toStr(map.get("v_resultmsg"));
}
+
+ @Override
+ public AjaxResult callContainerStockOut(int palletType){
+ return apiWcsService.callContainerOut(palletType);
+ }
+
+
+
+
}
diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml
index fdc9669..4e7604a 100644
--- a/ruoyi-admin/src/main/resources/application-druid.yml
+++ b/ruoyi-admin/src/main/resources/application-druid.yml
@@ -6,9 +6,12 @@ spring:
druid:
# 主库数据源
master:
- url: jdbc:sqlserver://172.16.4.12:1433;databaseName=flrd-wms;encrypt=false;sendStringParametersAsUnicode=true
+# url: jdbc:sqlserver://172.16.4.12:1433;databaseName=flrd-wms;encrypt=false;sendStringParametersAsUnicode=true
+# username: sa
+# password: Flrd0914.
+ url: jdbc:sqlserver://127.0.0.1:1433;databaseName=FT577-wms;encrypt=false;sendStringParametersAsUnicode=true
username: sa
- password: Flrd0914.
+ password: 123456
# 从库数据源
slave:
# 从数据源开关/默认关闭
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 2d5f209..11a4442 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -72,13 +72,13 @@ spring:
# redis 配置
redis:
# 地址
- host: 172.16.4.12
+ host: 127.0.0.1
# 端口,默认为6379
port: 6379
# 数据库索引
database: 0
# 密码
- password: 123456
+ password:
# 连接超时时间
timeout: 10s
lettuce:
@@ -99,7 +99,7 @@ token:
# 令牌密钥
secret: abcdefghijklmnopqrstuvwxyz
# 令牌有效期(默认30分钟)
- expireTime: 30
+ expireTime: 30000
# MyBatis配置
mybatis:
@@ -166,7 +166,7 @@ external:
reportMaterialConsume: /material/consume
reportQualityCheck: /quality/check
WCS:
- base-url: http://10.0.3.100:9000
+ base-url: http://127.0.0.1:8084
token: wcs-token
apis:
sendPutawayTask: /task/dispatch
diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml
index a360583..c5294ce 100644
--- a/ruoyi-admin/src/main/resources/logback.xml
+++ b/ruoyi-admin/src/main/resources/logback.xml
@@ -20,7 +20,7 @@
${log.path}/sys-info.%d{yyyy-MM-dd}.log
- 60
+ 30
${log.pattern}
@@ -34,6 +34,28 @@
DENY
+
+
+ ${log.path}/sys-warn.log
+
+
+
+ ${log.path}/sys-warn.%d{yyyy-MM-dd}.log
+
+ 30
+
+
+ ${log.pattern}
+
+
+
+ WARN
+
+ ACCEPT
+
+ DENY
+
+
${log.path}/sys-error.log
@@ -42,7 +64,7 @@
${log.path}/sys-error.%d{yyyy-MM-dd}.log
- 60
+ 30
${log.pattern}
@@ -83,6 +105,7 @@
+
diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasCargoSpaceMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasCargoSpaceMapper.xml
index 4af841b..cb0d75c 100644
--- a/ruoyi-admin/src/main/resources/mapper/bas/BasCargoSpaceMapper.xml
+++ b/ruoyi-admin/src/main/resources/mapper/bas/BasCargoSpaceMapper.xml
@@ -33,6 +33,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select cargo_space_id, warehouse_id, roadway_id, cargo_area_id, the_type, the_type_name, cargo_space_name, the_platoon, the_column, the_floor, status, locked, tray_code, iss_double, group_coding_no, group_coding, cargo_space_logo, this_cargo_area, dept_id, dept_name, the_weight, the_height from bas_cargo_space
+
+ select top 1 cargo_space_id, warehouse_id, roadway_id, cargo_area_id, the_type, the_type_name, cargo_space_name, the_platoon, the_column, the_floor, status, locked, tray_code, iss_double, group_coding_no, group_coding, cargo_space_logo, this_cargo_area, dept_id, dept_name, the_weight, the_height from bas_cargo_space
+
+
+
+
+
+
+
insert into bas_cargo_space
diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasStockInfoMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasStockInfoMapper.xml
new file mode 100644
index 0000000..0116702
--- /dev/null
+++ b/ruoyi-admin/src/main/resources/mapper/bas/BasStockInfoMapper.xml
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ select stock_id, cargo_space_id, tray_code, warehouse_id, user_id, user_name, dept_id, dept_name, supplier_id, supplier_name, tray_type, empty_status from bas_stock
+
+
+
+
+
+
+
+
+
+ insert into bas_stock
+
+ stock_id,
+ cargo_space_id,
+ tray_code,
+ warehouse_id,
+ user_id,
+ user_name,
+ dept_id,
+ dept_name,
+ supplier_id,
+ supplier_name,
+ tray_type,
+ empty_status,
+
+
+ #{stockId},
+ #{cargoSpaceId},
+ #{trayCode},
+ #{warehouseId},
+ #{userId},
+ #{userName},
+ #{deptId},
+ #{deptName},
+ #{supplierId},
+ #{supplierName},
+ #{trayType},
+ #{emptyStatus},
+
+
+
+
+ update bas_stock
+
+ and cargo_space_id = #{cargoSpaceId}
+ and stock_id = #{stockId}
+ and tray_code = #{trayCode}
+ and warehouse_id like concat('%', #{warehouseId}, '%')
+ and user_name like concat('%', #{userName}, '%')
+ and dept_name like concat('%', #{deptName}, '%')
+ and supplier_name like concat('%', #{supplierName}, '%')
+ and tray_type = #{trayType}
+ and empty_status = #{emptyStatus}
+
+ where stock_id = #{stockId}
+
+
+
+ delete from bas_stock where stock_id = #{stockId}
+
+
+
+ delete from bas_stock where tray_code = #{trayCode}
+
+
+
+ delete from bas_stock where stock_id in
+
+ #{stockId}
+
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasStockMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasStockMapper.xml
index 184b492..a98e06d 100644
--- a/ruoyi-admin/src/main/resources/mapper/bas/BasStockMapper.xml
+++ b/ruoyi-admin/src/main/resources/mapper/bas/BasStockMapper.xml
@@ -14,6 +14,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -28,21 +29,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-
-
+
+
+
+
- select stock_id, cargo_space_id, stock_status, product_status, lot_no, in_date, back_date, product_id, product_name, quantity, job_id, job_detail_id, tray_code, out_quantity, stockin_detail_id, stockin_id, in_type, warehouse_id, warehouse_name, user_id, user_name, dept_id, dept_name, suplier_id, suplier_name from bas_stock
+ select stock_id, cargo_space_id, stock_status, product_status, lot_no, in_date, back_date, product_id, product_name, roller_number,
+ quantity, job_id, job_detail_id, tray_code, out_quantity, stockin_detail_id, stockin_id, in_type, warehouse_id, warehouse_name,
+ user_id, user_name, dept_id, dept_name, supplier_id, supplier_name, tray_type, availablePlace
+ from bas_stock
@@ -74,8 +83,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where stock_id = #{stockId}
+
+
+
+
+
+
- insert into bas_stock
+ insert into bas_stock_detail
stock_id,
cargo_space_id,
@@ -86,6 +110,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
back_date,
product_id,
product_name,
+ roller_number,
quantity,
job_id,
job_detail_id,
@@ -100,8 +125,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
user_name,
dept_id,
dept_name,
- suplier_id,
- suplier_name,
+ supplier_id,
+ supplier_name,
+ tray_type,
+ available_place,
#{stockId},
@@ -113,6 +140,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{backDate},
#{productId},
#{productName},
+ #{rollerNumber},
#{quantity},
#{jobId},
#{jobDetailId},
@@ -127,13 +155,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{userName},
#{deptId},
#{deptName},
- #{suplierId},
- #{suplierName},
+ #{supplierId},
+ #{supplierName},
+ #{tray_type},
+ #{available_place},
- update bas_stock
+ update bas_stock_detail
cargo_space_id = #{cargoSpaceId},
stock_status = #{stockStatus},
@@ -143,6 +173,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
back_date = #{backDate},
product_id = #{productId},
product_name = #{productName},
+ roller_number = #{rollerNumber},
quantity = #{quantity},
job_id = #{jobId},
job_detail_id = #{jobDetailId},
@@ -157,18 +188,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
user_name = #{userName},
dept_id = #{deptId},
dept_name = #{deptName},
- suplier_id = #{suplierId},
- suplier_name = #{suplierName},
+ supplier_id = #{supplierId},
+ supplier_name = #{supplierName},
+ tray_type = #{trayType},
+ available_place = #{availablePlace},
where stock_id = #{stockId}
- delete from bas_stock where stock_id = #{stockId}
+ delete from bas_stock_detail where stock_id = #{stockId}
+
+
+
+ delete from bas_stock_detail where roller_number = #{rollerNumber}
- delete from bas_stock where stock_id in
+ delete from bas_stock_detail where stock_id in
#{stockId}
diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml
index 6997f1f..1704853 100644
--- a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml
+++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml
@@ -14,13 +14,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
+
- select stockin_detail_id, stockin_id, lot_no, product_id, product_name, quantity, scan_num, assign_num, remark from in_stockin_detail
+ select stockin_detail_id, stockin_id, lot_no, product_id, product_name, quantity, scan_num, assign_num, remark, roller_number, status from in_stockin_detail
- select stockin_detail_id, stockin_id, lot_no, product_id, product_name, quantity, scan_num, assign_num, remark from in_stockin_detail_finish
+ select stockin_detail_id, stockin_id, lot_no, product_id, product_name, quantity, scan_num, assign_num, remark, roller_number, status from in_stockin_detail_finish
@@ -40,10 +44,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where stockin_detail_id = #{stockinDetailId}
+
+
+
+
+
+
+
+
+
+
@@ -68,7 +96,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
quantity,
scan_num,
assign_num,
+ and roller_number = #{rollerNumber}
remark,
+ and status = #{status}
#{stockinDetailId},
@@ -79,10 +109,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{quantity},
#{scanNum},
#{assignNum},
+ and roller_number = #{rollerNumber}
#{remark},
+ and status = #{status}
+
+ insert into in_stockin_detail_finish
+
+ stockin_detail_id,
+ stockin_id,
+ lot_no,
+ product_id,
+ product_name,
+ quantity,
+ scan_num,
+ assign_num,
+ and roller_number = #{rollerNumber}
+ remark,
+ and status = #{status}
+
+
+ #{stockinDetailId},
+ #{stockinId},
+ #{lotNo},
+ #{productId},
+ #{productName},
+ #{quantity},
+ #{scanNum},
+ #{assignNum},
+ and roller_number = #{rollerNumber}
+ #{remark},
+ and status = #{status}
+
+
+
update in_stockin_detail
@@ -93,7 +155,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
quantity = #{quantity},
scan_num = #{scanNum},
assign_num = #{assignNum},
+ and roller_number = #{rollerNumber}
remark = #{remark},
+ and status = #{status}
where stockin_detail_id = #{stockinDetailId}
@@ -108,4 +172,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{stockinDetailId}
+
+
+ delete from in_stockin_detail where stockin_id = #{stockinId}
+
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml
index 9e51643..c2a8455 100644
--- a/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml
+++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinMapper.xml
@@ -112,6 +112,46 @@
+
+ insert into in_stockin_finish
+
+ stockin_id,
+ in_type,
+ stock_source,
+ status,
+ create_date,
+ start_date,
+ finish_date,
+ erp_bill,
+ warehouse_id,
+ warehouse_name,
+ user_id,
+ user_name,
+ dept_id,
+ dept_name,
+ supplier_id,
+ supplier_name,
+
+
+ #{stockinId},
+ #{inType},
+ #{stockSource},
+ #{status},
+ #{createDate},
+ #{startDate},
+ #{finishDate},
+ #{erpBill},
+ #{warehouseId},
+ #{warehouseName},
+ #{userId},
+ #{userName},
+ #{deptId},
+ #{deptName},
+ #{supplierId},
+ #{supplierName},
+
+
+
update in_stockin
@@ -134,7 +174,7 @@
where stockin_id = #{stockinId}
- {call proc_update_inbill_status(
+ {call proc_in_update_bill_status(
#{v_stockin_id,mode=IN,jdbcType=VARCHAR},
#{v_status,mode=IN,jdbcType=INTEGER},
#{v_result,mode=OUT,jdbcType=INTEGER},
diff --git a/ruoyi-admin/src/main/resources/mapper/in/InTrayMsgMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InTrayMsgMapper.xml
index ba591e1..3e0369b 100644
--- a/ruoyi-admin/src/main/resources/mapper/in/InTrayMsgMapper.xml
+++ b/ruoyi-admin/src/main/resources/mapper/in/InTrayMsgMapper.xml
@@ -7,6 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -14,22 +15,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
+
+
- select id, tray_code, stockin_detail_id, product_Id, quantity, warehouse_id, user_id, dept_id, create_time from in_tray_msg
+ select id, tray_code, stockin_detail_id, product_Id, quantity, warehouse_id, user_id, dept_id, create_time, trayType, rollerNumber, status from in_tray_msg
@@ -47,6 +55,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
insert into in_tray_msg
tray_code,
+ and stockin_id = #{stockinId}
stockin_detail_id,
product_Id,
quantity,
@@ -54,9 +63,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
user_id,
dept_id,
create_time,
+ tray_type,
+ roller_number,
+ status,
#{trayCode},
+ and stockin_id = #{stockinId}
#{stockinDetailId},
#{productId},
#{quantity},
@@ -64,6 +77,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{userId},
#{deptId},
#{createTime},
+ #{trayType},
+ #{rollerNumber},
+ #{status},
@@ -71,6 +87,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update in_tray_msg
tray_code = #{trayCode},
+ and stockin_id = #{stockinId}
stockin_detail_id = #{stockinDetailId},
product_Id = #{productId},
quantity = #{quantity},
@@ -78,6 +95,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
user_id = #{userId},
dept_id = #{deptId},
create_time = #{createTime},
+ and tray_type = #{trayType},
+ and roller_number = #{rollerNumber},
+ and status = #{status},
where id = #{id}
@@ -92,4 +112,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{id}
+
+
+ delete from in_tray_msg where tray_code = #{trayCode}
+
\ No newline at end of file
diff --git a/ruoyi-admin/src/main/resources/mapper/in/MydoJobDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/MydoJobDetailMapper.xml
index 67229e3..914871e 100644
--- a/ruoyi-admin/src/main/resources/mapper/in/MydoJobDetailMapper.xml
+++ b/ruoyi-admin/src/main/resources/mapper/in/MydoJobDetailMapper.xml
@@ -23,13 +23,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
- select job_detail_id, job_id, stock_id, lot_no, in_date, in_or_out_id, in_or_out_d_id, product_id, product_name, in_quantity, stock_quantity, out_quantity, stockin_id, stockin_detail_id, customer_id, customer_name, supplier_id, supplier_name from mydo_job_detail
+ select job_detail_id, job_id, stock_id, lot_no, in_date, in_or_out_id, in_or_out_d_id, product_id, product_name, in_quantity, stock_quantity, out_quantity, stockin_id, stockin_detail_id, customer_id, customer_name, supplier_id, supplier_name,tray_type from mydo_job_detail
- select job_detail_id, job_id, stock_id, lot_no, in_date, in_or_out_id, in_or_out_d_id, product_id, product_name, in_quantity, stock_quantity, out_quantity, stockin_id, stockin_detail_id, customer_id, customer_name, supplier_id, supplier_name from mydo_job_detail_finish
+ select job_detail_id, job_id, stock_id, lot_no, in_date, in_or_out_id, in_or_out_d_id, product_id, product_name, in_quantity, stock_quantity, out_quantity, stockin_id, stockin_detail_id, customer_id, customer_name, supplier_id, supplier_name,tray_type from mydo_job_detail_finish
@@ -56,10 +58,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where job_detail_id = #{jobDetailId}
+
+
+
+
insert into mydo_job_detail
@@ -81,6 +90,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
customer_name,
supplier_id,
supplier_name,
+ tray_type
#{jobDetailId},
@@ -101,6 +111,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{customerName},
#{supplierId},
#{supplierName},
+ #{trayType}
@@ -124,6 +135,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
customer_name = #{customerName},
supplier_id = #{supplierId},
supplier_name = #{supplierName},
+ and tray_type = #{trayType}
where job_detail_id = #{jobDetailId}
@@ -132,6 +144,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
delete from mydo_job_detail where job_detail_id = #{jobDetailId}
+
+ delete from mydo_job_detail where job_id = #{jobId}
+
+
delete from mydo_job_detail where job_detail_id in
diff --git a/ruoyi-admin/src/main/resources/mapper/in/MydoJobMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/MydoJobMapper.xml
index 0eee11d..6d4c8c4 100644
--- a/ruoyi-admin/src/main/resources/mapper/in/MydoJobMapper.xml
+++ b/ruoyi-admin/src/main/resources/mapper/in/MydoJobMapper.xml
@@ -28,21 +28,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
- select job_id, status, task_no, in_or_out, execution_phase, tray_code, warehouse_id, warehouse_name, roadway_id, cargo_space_id, cargo_space_name, target_roadway_id, target_cargo_space_id, target_cargo_space_name, line_type, priority, height, weight, create_time, start_time, finish_time, entrance_id, exit_id, dept_id, dept_name, user_id, user_name, supplier_id, supplier_name, customer_id, customer_name from mydo_job
+ select job_id, status, task_no, in_or_out, execution_phase, tray_code, warehouse_id, warehouse_name, roadway_id, cargo_space_id, cargo_space_name, target_roadway_id, target_cargo_space_id, target_cargo_space_name, line_type, priority, height, weight, create_time, start_time, finish_time, entrance_id, exit_id, tray_type from mydo_job
- select job_id, status, task_no, in_or_out, execution_phase, tray_code, warehouse_id, warehouse_name, roadway_id, cargo_space_id, cargo_space_name, target_roadway_id, target_cargo_space_id, target_cargo_space_name, line_type, priority, height, weight, create_time, start_time, finish_time, entrance_id, exit_id, dept_id, dept_name, user_id, user_name, supplier_id, supplier_name, customer_id, customer_name from mydo_job_finish
+ select job_id, status, task_no, in_or_out, execution_phase, tray_code, warehouse_id, warehouse_name, roadway_id, cargo_space_id, cargo_space_name, target_roadway_id, target_cargo_space_id, target_cargo_space_name, line_type, priority, height, weight, create_time, start_time, finish_time, entrance_id, exit_id, tray_type from mydo_job_finish
+
+
+
+
+
+
+
+
-
-
+
@@ -325,10 +344,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and create_time between #{params.beginCreateTime} and #{params.endCreateTime}
and entrance_id = #{entranceId}
and exit_id = #{exitId}
- and dept_name like concat('%', #{deptName}, '%')
- and user_name like concat('%', #{userName}, '%')
- and supplier_name like concat('%', #{supplierName}, '%')
- and customer_name like concat('%', #{customerName}, '%')
+
+
+
+
+ and tray_type = #{trayType}
${params.warehouseScope}
diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailMapper.xml
index 1d00e89..4294f6e 100644
--- a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailMapper.xml
+++ b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailMapper.xml
@@ -10,6 +10,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+
@@ -31,6 +32,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and lot_no = #{lotNo}
and product_id = #{productId}
and product_name like concat('%', #{productName}, '%')
+ and roller_number like concat('%', #{rollerNumber}, '%')
+ and quantity = #{quantity}
and quantity = #{quantity}
and allot_num = #{allotNum}
and assign_num = #{assignNum}
@@ -41,10 +44,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
where stockout_detail_id = #{stockoutDetailId}
+
+
+
+
+