出库异常测试修改

This commit is contained in:
liuhanqing
2025-07-01 15:24:08 +08:00
parent 9a47afb341
commit be34a04045
5 changed files with 29 additions and 71 deletions

View File

@@ -236,7 +236,7 @@ public class MydoJobServiceImpl implements IMydoJobService {
Optional<OutExceptionRecord> first = outExceptionRecords.stream().filter(x -> x.getTrayCode().equals(job.getTrayCode()) && x.getProductId().equals(mydoJobDetail.getProductId())).findFirst();
if (first.isPresent()){
//生成异常库存
BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, job, "2");
BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, job, "3");
list.add(stockByInStockinDetail);
//修改异常记录中的库存id
OutExceptionRecord outExceptionRecord = first.get();
@@ -248,9 +248,12 @@ public class MydoJobServiceImpl implements IMydoJobService {
}
}
//删除异常库存记录
Long[] outExceptionIds = (Long[]) outExceptionRecords.stream().map(OutExceptionRecord::getOutGuid).toArray();
if (outExceptionIds.length>0){
outExceptionRecordService.deleteOutExceptionRecordByOutGuids(outExceptionIds);
List<Long> collect = outExceptionRecords.stream().map(OutExceptionRecord::getOutGuid).collect(Collectors.toList());
if (CollUtil.isNotEmpty( collect)){
for (Long id : collect) {
outExceptionRecordService.deleteOutExceptionRecordByOutGuid(id);
}
}
}

View File

@@ -28,6 +28,8 @@ import com.ruoyi.pda.domain.TrayCodeMsg;
import com.ruoyi.pda.mapper.PdaMapper;
import com.ruoyi.pda.trayMsg.domain.TrayMsg;
import com.ruoyi.pda.trayMsg.service.ITrayMsgService;
import com.ruoyi.stock.stock.domain.BasStock;
import com.ruoyi.stock.stock.service.IBasStockService;
import com.ruoyi.system.service.ISysRoleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -67,6 +69,8 @@ public class PdaServiceImp implements PdaService {
private IOutStockoutService outStockoutService;
@Autowired
private IOutStockoutDetailService outStockoutDetailService;
@Autowired
private IBasStockService basStockService;
/**
* 空托盘入库
@@ -396,6 +400,12 @@ public class PdaServiceImp implements PdaService {
outStockoutDetail.setAllotQuantity(pickQuantity);
stockOutId = outStockoutDetail.getStockoutId();
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
//修改库存的实际出库数量
BasStock basStock = basStockService.selectBasStockByStockId(mydoJobDetail.getStockId());
basStock.setOutQuantity(String.valueOf(pickQuantity));
basStockService.updateBasStock(basStock);
}
//生成回流任务,标记productStatus为异常状态
HashMap<String, Object> map = new HashMap<>();

View File

@@ -76,8 +76,9 @@
)}
</select>
<select id="outMakeSureException" parameterType="java.util.Map" statementType="CALLABLE">
{call proc_check_masksure_exception(
{call proc_out_masksure_exception(
#{v_tray_code,mode=IN,jdbcType=VARCHAR},
#{v_type,mode=IN,jdbcType=VARCHAR},
#{v_result,mode=OUT,jdbcType=INTEGER},
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
)}

View File

@@ -161,63 +161,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</insert>
<insert id="insertBasStockList">
INSERT INTO bas_stock
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="list[0].stockId != null and list[0].stockId != ''">stock_id,</if>
<if test="list[0].cargoSpaceId != null">cargo_space_id,</if>
<if test="list[0].stockStatus != null">stock_status,</if>
<if test="list[0].productStatus != null">product_status,</if>
<if test="list[0].lotNo != null">lot_no,</if>
<if test="list[0].inDate != null">in_date,</if>
<if test="list[0].backDate != null">back_date,</if>
<if test="list[0].productGuid != null">product_guid,</if>
<if test="list[0].quantity != null">quantity,</if>
<if test="list[0].jobId != null">job_id,</if>
<if test="list[0].trayCode != null">tray_code,</if>
<if test="list[0].outQuantity != null">out_quantity,</if>
<if test="list[0].stockinDetailId != null">stockin_detail_id,</if>
<if test="list[0].stockinId != null">stockin_id,</if>
<if test="list[0].inType != null">in_type,</if>
<if test="list[0].inClassId != null">in_class_id,</if>
<if test="list[0].warehouseId != null">warehouse_id,</if>
<if test="list[0].stackingId != null">stacking_id,</if>
<if test="list[0].spare1 != null">spare1,</if>
<if test="list[0].spare2 != null">spare2,</if>
<if test="list[0].spare3 != null">spare3,</if>
<if test="list[0].spare4 != null">spare4,</if>
<if test="list[0].spare5 != null">spare5,</if>
<if test="list[0].spare6 != null">spare6,</if>
<if test="list[0].productId != null">product_id,</if>
</trim>
(stock_id,cargo_space_id,stock_status,product_status,lot_no,in_date,back_date,product_guid,quantity,job_id,tray_code,out_quantity,stockin_detail_id,stockin_id,in_type,in_class_id,warehouse_id,stacking_id,spare1,spare2,spare3,spare4,spare5,spare6,product_id)
VALUES
<foreach collection="list" item="item" separator=",">
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="item.stockId != null and item.stockId != ''">#{item.stockId},</if>
<if test="item.cargoSpaceId != null">#{item.cargoSpaceId},</if>
<if test="item.stockStatus != null">#{item.stockStatus},</if>
<if test="item.productStatus != null">#{item.productStatus},</if>
<if test="item.lotNo != null">#{item.lotNo},</if>
<if test="item.inDate != null">#{item.inDate},</if>
<if test="item.backDate != null">#{item.backDate},</if>
<if test="item.productGuid != null">#{item.productGuid},</if>
<if test="item.quantity != null">#{item.quantity},</if>
<if test="item.jobId != null">#{item.jobId},</if>
<if test="item.trayCode != null">#{item.trayCode},</if>
<if test="item.outQuantity != null">#{item.outQuantity},</if>
<if test="item.stockinDetailId != null">#{item.stockinDetailId},</if>
<if test="item.stockinId != null">#{item.stockinId},</if>
<if test="item.inType != null">#{item.inType},</if>
<if test="item.inClassId != null">#{item.inClassId},</if>
<if test="item.warehouseId != null">#{item.warehouseId},</if>
<if test="item.stackingId != null">#{item.stackingId},</if>
<if test="item.spare1 != null">#{item.spare1},</if>
<if test="item.spare2 != null">#{item.spare2},</if>
<if test="item.spare3 != null">#{item.spare3},</if>
<if test="item.spare4 != null">#{item.spare4},</if>
<if test="item.spare5 != null">#{item.spare5},</if>
<if test="item.spare6 != null">#{item.spare6},</if>
<if test="item.productId != null">#{item.productId},</if>
</trim>
</foreach>
<foreach collection="list" item="item" separator=",">
(#{item.stockId},#{item.cargoSpaceId},#{item.stockStatus},#{item.productStatus},#{item.lotNo},#{item.inDate},#{item.backDate},#{item.productGuid},#{item.quantity},#{item.jobId},#{item.trayCode},#{item.outQuantity},#{item.stockinDetailId},#{item.stockinId},#{item.inType},#{item.inClassId},#{item.warehouseId},#{item.stackingId},#{item.spare1},#{item.spare2},#{item.spare3},#{item.spare4},#{item.spare5},#{item.spare6},#{item.productId})
</foreach>
</insert>
<update id="updateBasStock" parameterType="BasStock">

View File

@@ -133,16 +133,12 @@
<dict-tag :options="dict.type.execution_phase_type" :value="scope.row.executionPhase"/>
</template>
</el-table-column>
<el-table-column :label="$t('outJobManagement.startTime')" align="center" prop="startTime" width="180"> <!-- 开始时间 -->
<template slot-scope="scope">
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('outJobManagement.finishTime')" align="center" prop="finishTime" width="180"> <!-- 结束时间 -->
<template slot-scope="scope">
<span>{{ parseTime(scope.row.finishTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column :label="$t('outJobManagement.createTime')" align="center" prop="createTime" width="180"/> <!-- 开始时间 -->
<el-table-column :label="$t('outJobManagement.startTime')" align="center" prop="startTime" width="180"/> <!-- 开始时间 -->
<el-table-column :label="$t('outJobManagement.finishTime')" align="center" prop="finishTime" width="180"/> <!-- 结束时间 -->
<el-table-column :label="$t('outJobManagement.exitId')" align="center" prop="exitId" /> <!-- 出口ID -->
<el-table-column :label="$t('outJobManagement.warehouseId')" align="center" prop="warehouseId" /> <!-- 仓库ID -->
</el-table>