出库异常测试修改

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(); Optional<OutExceptionRecord> first = outExceptionRecords.stream().filter(x -> x.getTrayCode().equals(job.getTrayCode()) && x.getProductId().equals(mydoJobDetail.getProductId())).findFirst();
if (first.isPresent()){ if (first.isPresent()){
//生成异常库存 //生成异常库存
BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, job, "2"); BasStock stockByInStockinDetail = getStockByInStockinDetail(mydoJobDetail, job, "3");
list.add(stockByInStockinDetail); list.add(stockByInStockinDetail);
//修改异常记录中的库存id //修改异常记录中的库存id
OutExceptionRecord outExceptionRecord = first.get(); OutExceptionRecord outExceptionRecord = first.get();
@@ -248,9 +248,12 @@ public class MydoJobServiceImpl implements IMydoJobService {
} }
} }
//删除异常库存记录 //删除异常库存记录
Long[] outExceptionIds = (Long[]) outExceptionRecords.stream().map(OutExceptionRecord::getOutGuid).toArray(); List<Long> collect = outExceptionRecords.stream().map(OutExceptionRecord::getOutGuid).collect(Collectors.toList());
if (outExceptionIds.length>0){ if (CollUtil.isNotEmpty( collect)){
outExceptionRecordService.deleteOutExceptionRecordByOutGuids(outExceptionIds); 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.mapper.PdaMapper;
import com.ruoyi.pda.trayMsg.domain.TrayMsg; import com.ruoyi.pda.trayMsg.domain.TrayMsg;
import com.ruoyi.pda.trayMsg.service.ITrayMsgService; 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 com.ruoyi.system.service.ISysRoleService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -67,6 +69,8 @@ public class PdaServiceImp implements PdaService {
private IOutStockoutService outStockoutService; private IOutStockoutService outStockoutService;
@Autowired @Autowired
private IOutStockoutDetailService outStockoutDetailService; private IOutStockoutDetailService outStockoutDetailService;
@Autowired
private IBasStockService basStockService;
/** /**
* 空托盘入库 * 空托盘入库
@@ -396,6 +400,12 @@ public class PdaServiceImp implements PdaService {
outStockoutDetail.setAllotQuantity(pickQuantity); outStockoutDetail.setAllotQuantity(pickQuantity);
stockOutId = outStockoutDetail.getStockoutId(); stockOutId = outStockoutDetail.getStockoutId();
outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail); outStockoutDetailService.updateOutStockoutDetail(outStockoutDetail);
//修改库存的实际出库数量
BasStock basStock = basStockService.selectBasStockByStockId(mydoJobDetail.getStockId());
basStock.setOutQuantity(String.valueOf(pickQuantity));
basStockService.updateBasStock(basStock);
} }
//生成回流任务,标记productStatus为异常状态 //生成回流任务,标记productStatus为异常状态
HashMap<String, Object> map = new HashMap<>(); HashMap<String, Object> map = new HashMap<>();

View File

@@ -76,8 +76,9 @@
)} )}
</select> </select>
<select id="outMakeSureException" parameterType="java.util.Map" statementType="CALLABLE"> <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_tray_code,mode=IN,jdbcType=VARCHAR},
#{v_type,mode=IN,jdbcType=VARCHAR},
#{v_result,mode=OUT,jdbcType=INTEGER}, #{v_result,mode=OUT,jdbcType=INTEGER},
#{v_resultmsg,mode=OUT,jdbcType=VARCHAR} #{v_resultmsg,mode=OUT,jdbcType=VARCHAR}
)} )}

View File

@@ -161,63 +161,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</insert> </insert>
<insert id="insertBasStockList"> <insert id="insertBasStockList">
INSERT INTO bas_stock INSERT INTO bas_stock
<trim prefix="(" suffix=")" suffixOverrides=","> (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)
<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>
VALUES VALUES
<foreach collection="list" item="item" separator=","> <foreach collection="list" item="item" separator=",">
<trim prefix="(" suffix=")" suffixOverrides=","> (#{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})
<if test="item.stockId != null and item.stockId != ''">#{item.stockId},</if> </foreach>
<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>
</insert> </insert>
<update id="updateBasStock" parameterType="BasStock"> <update id="updateBasStock" parameterType="BasStock">

View File

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