盘点管理

This commit is contained in:
liuhanqing
2025-06-04 10:27:36 +08:00
parent f56e0b9abf
commit 7e527b3c55
7 changed files with 41 additions and 34 deletions

View File

@@ -1,5 +1,6 @@
package com.ruoyi.check.stockcheckdetail.domain; package com.ruoyi.check.stockcheckdetail.domain;
import com.ruoyi.common.domain.ExtraField;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.annotation.Excel;
@@ -132,6 +133,15 @@ public class CheckStockinDetail extends BaseEntity
private String status; private String status;
private ExtraField extraField;
public ExtraField getExtraField() {
return extraField;
}
public void setExtraField(ExtraField extraField) {
this.extraField = extraField;
}
public String getStatus() { public String getStatus() {
return status; return status;
} }

View File

@@ -2,7 +2,10 @@ package com.ruoyi.check.stockcheckdetail.service.impl;
import java.util.List; import java.util.List;
import cn.hutool.json.JSONUtil;
import com.ruoyi.check.stockcheck.domain.CheckStockin; import com.ruoyi.check.stockcheck.domain.CheckStockin;
import com.ruoyi.common.domain.ExtraField;
import com.ruoyi.receive.stockindetail.domain.ReceiveStockinDetail;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.check.stockcheckdetail.mapper.CheckStockinDetailMapper; import com.ruoyi.check.stockcheckdetail.mapper.CheckStockinDetailMapper;
@@ -42,7 +45,11 @@ public class CheckStockinDetailServiceImpl implements ICheckStockinDetailService
@Override @Override
public List<CheckStockinDetail> selectCheckStockinDetailList(CheckStockinDetail checkStockinDetail) public List<CheckStockinDetail> selectCheckStockinDetailList(CheckStockinDetail checkStockinDetail)
{ {
return checkStockinDetailMapper.selectCheckStockinDetailList(checkStockinDetail); List<CheckStockinDetail> checkStockinDetails = checkStockinDetailMapper.selectCheckStockinDetailList(checkStockinDetail);
for (CheckStockinDetail stockinDetail : checkStockinDetails) {
stockinDetail.setExtraField(JSONUtil.toBean(stockinDetail.getSpare1(), ExtraField.class));
}
return checkStockinDetails;
} }
/** /**

View File

@@ -2,7 +2,9 @@ package com.ruoyi.check.stockcheckdetailfinish.service.impl;
import java.util.List; import java.util.List;
import cn.hutool.json.JSONUtil;
import com.ruoyi.check.stockcheckdetail.domain.CheckStockinDetail; import com.ruoyi.check.stockcheckdetail.domain.CheckStockinDetail;
import com.ruoyi.common.domain.ExtraField;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.ruoyi.check.stockcheckdetailfinish.mapper.CheckStockinDetailFinishMapper; import com.ruoyi.check.stockcheckdetailfinish.mapper.CheckStockinDetailFinishMapper;
@@ -95,7 +97,10 @@ public class CheckStockinDetailFinishServiceImpl implements ICheckStockinDetailF
@Override @Override
public List<CheckStockinDetail> selectCheckStockinDetailList(CheckStockinDetail checkStockinDetail) { public List<CheckStockinDetail> selectCheckStockinDetailList(CheckStockinDetail checkStockinDetail) {
return checkStockinDetailFinishMapper.selectCheckStockinDetailList(checkStockinDetail); List<CheckStockinDetail> checkStockinDetails = checkStockinDetailFinishMapper.selectCheckStockinDetailList(checkStockinDetail);
for (CheckStockinDetail stockinDetail : checkStockinDetails) {
stockinDetail.setExtraField(JSONUtil.toBean(stockinDetail.getSpare1(), ExtraField.class));
}
return checkStockinDetails;
} }
} }

View File

@@ -113,7 +113,7 @@ public class ReceiveStockinServiceImpl implements IReceiveStockinService
BasProduct basProduct = iBasProductService.selectBasProductByProductId(receiveProductVo.getProductId()); BasProduct basProduct = iBasProductService.selectBasProductByProductId(receiveProductVo.getProductId());
ReceiveStockinDetail receiveStockinDetail = new ReceiveStockinDetail(); ReceiveStockinDetail receiveStockinDetail = new ReceiveStockinDetail();
receiveStockinDetail.setQuantity(receiveProductVo.getQuantity()); receiveStockinDetail.setQuantity(receiveProductVo.getQuantity());
receiveStockinDetail.setProductGuid(receiveProductVo.getProductId()); receiveStockinDetail.setProductGuid(basProduct.getProductGuid());
receiveStockinDetail.setProductId(basProduct.getProductId()); receiveStockinDetail.setProductId(basProduct.getProductId());
receiveStockinDetail.setStockinId(receiveStockin.getStockinId()); receiveStockinDetail.setStockinId(receiveStockin.getStockinId());
receiveStockinDetail.setStockinDetailId(receiveStockin.getStockinId()+"-"+i++); receiveStockinDetail.setStockinDetailId(receiveStockin.getStockinId()+"-"+i++);
@@ -176,7 +176,7 @@ public class ReceiveStockinServiceImpl implements IReceiveStockinService
List<String> collect = list.stream().map(ReceiveProductVo::getProductId).collect(Collectors.toList()); List<String> collect = list.stream().map(ReceiveProductVo::getProductId).collect(Collectors.toList());
List<BasProduct> result = iBasProductService.selectBasProductListByProductIds(collect); List<BasProduct> result = iBasProductService.selectBasProductListByProductIds(collect);
for (BasProduct basProduct : result) { for (BasProduct basProduct : result) {
Optional<ReceiveProductVo> first = list.stream().filter(x -> x.getProductId().equals(basProduct.getProductGuid())).findFirst(); Optional<ReceiveProductVo> first = list.stream().filter(x -> x.getProductId().equals(basProduct.getProductId())).findFirst();
first.ifPresent(receiveProductVo -> basProduct.setQuantity(receiveProductVo.getQuantity())); first.ifPresent(receiveProductVo -> basProduct.setQuantity(receiveProductVo.getQuantity()));
first.ifPresent(receiveProductVo -> basProduct.setLotNo(receiveProductVo.getLotNo())); first.ifPresent(receiveProductVo -> basProduct.setLotNo(receiveProductVo.getLotNo()));
} }
@@ -259,6 +259,7 @@ public class ReceiveStockinServiceImpl implements IReceiveStockinService
inStockinDetail.setStockStatus("0"); inStockinDetail.setStockStatus("0");
inStockinDetail.setAssignNum("0"); inStockinDetail.setAssignNum("0");
inStockinDetail.setScanNum("0"); inStockinDetail.setScanNum("0");
inStockinDetail.setSpare2(receiveStockinDetail.getStockinDetailId());
inStockinDetailList.add(inStockinDetail); inStockinDetailList.add(inStockinDetail);
} }
return inStockinDetailList; return inStockinDetailList;
@@ -279,6 +280,7 @@ public class ReceiveStockinServiceImpl implements IReceiveStockinService
inStockin.setStockinId(iBasJobIdService.getJobId("RKD")); inStockin.setStockinId(iBasJobIdService.getJobId("RKD"));
// 设置状态等默认值 // 设置状态等默认值
inStockin.setStatus("1"); inStockin.setStatus("1");
inStockin.setSpare1(receiveStockin.getStockinId());
return inStockin; return inStockin;
} }

View File

@@ -149,7 +149,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</insert> </insert>
<insert id="insertCheckStockinDetailHistory"> <insert id="insertCheckStockinDetailHistory">
insert into check_stockin_detail_finish insert into check_stockin_detail_finish
select * from check_stockin_detail where stock_check_guid = #{stockCheckGuid} select * from check_stockin_detail where stock_check_id = #{stockCheckId}
</insert> </insert>
<update id="updateCheckStockinDetail" parameterType="CheckStockinDetail"> <update id="updateCheckStockinDetail" parameterType="CheckStockinDetail">

View File

@@ -223,33 +223,16 @@
<el-table-column label="子单ID" align="center" prop="stockCheckDetailId" /> <el-table-column label="子单ID" align="center" prop="stockCheckDetailId" />
<!-- <el-table-column label="主单GUID" align="center" prop="stockCheckGuid" /> --> <!-- <el-table-column label="主单GUID" align="center" prop="stockCheckGuid" /> -->
<el-table-column label="主单ID" align="center" prop="stockCheckId" /> <el-table-column label="主单ID" align="center" prop="stockCheckId" />
<el-table-column label="批次号" align="center" prop="lotNo" /> <el-table-column label="批次号" align="center" prop="lotNo"/>
<!-- <el-table-column label="物料ID" align="center" prop="productGuid" /> --> <!-- <el-table-column label="物料ID" align="center" prop="productGuid"/>-->
<el-table-column label="物料编码" align="center" prop="productId" /> <el-table-column label="物料编码" align="center" prop="productId"/>
<el-table-column label="计划数量" align="center" prop="quantity" /> <el-table-column label="物料描述" align="center" prop="extraField.materialDesc"/>
<!-- <el-table-column label="计划数量(箱)" align="center" prop="quantityX" />--> <el-table-column label="英文描述" align="center" prop="extraField.englishDesc"/>
<!-- <el-table-column label="计划数量(件)" align="center" prop="quantityJ" />--> <el-table-column label="箱号" align="center" prop="extraField.cartonNo"/>
<el-table-column label="参考单价" align="center" prop="price" /> <el-table-column label="包装方式" align="center" prop="extraField.packingMethod"/>
<el-table-column label="品牌" align="center" prop="cargoNo" /> <el-table-column label="计划数量" align="center" prop="quantity"/>
<el-table-column label="描述" align="center" prop="remark" /> <el-table-column label="扫码数量" align="center" prop="scanNum"/>
<el-table-column label="实际数量" align="center" prop="assignNum" /> <el-table-column label="实际数量" align="center" prop="assignNum"/>
<!-- <el-table-column label="实际数量(箱)" align="center" prop="assignNumX" />-->
<!-- <el-table-column label="实际数量(件)" align="center" prop="assignNumJ" />-->
<el-table-column label="入库日期" align="center" prop="printDate" />
<el-table-column label="单据状态" align="center" prop="stockStatus" />
<el-table-column label="供应商编码" align="center" prop="supplierId" />
<el-table-column label="客户编码" align="center" prop="customerId" />
<el-table-column label="单位" align="center" prop="unit" />
<el-table-column label="规格" align="center" prop="spec" />
<el-table-column label="扫码数量" align="center" prop="scanNum" />
<!-- <el-table-column label="扫码数量(箱)" align="center" prop="scanNumX" />-->
<!-- <el-table-column label="扫码数量(件)" align="center" prop="scanNumJ" />-->
<!-- <el-table-column label="备用字段1" align="center" prop="spare1" />
<el-table-column label="备用字段2" align="center" prop="spare2" />
<el-table-column label="备用字段3" align="center" prop="spare3" />
<el-table-column label="备用字段4" align="center" prop="spare4" />
<el-table-column label="备用字段5" align="center" prop="spare5" />
<el-table-column label="备用字段6" align="center" prop="spare6" /> -->
</el-table> </el-table>
<pagination <pagination

View File

@@ -300,7 +300,7 @@
<!-- <el-table-column label="主单GUID" align="center" prop="stockinGuid" />--> <!-- <el-table-column label="主单GUID" align="center" prop="stockinGuid" />-->
<el-table-column label="主单ID" align="center" prop="stockinId"/> <el-table-column label="主单ID" align="center" prop="stockinId"/>
<el-table-column label="批次号" align="center" prop="lotNo"/> <el-table-column label="批次号" align="center" prop="lotNo"/>
<el-table-column label="物料ID" align="center" prop="productGuid"/> <!-- <el-table-column label="物料ID" align="center" prop="productGuid"/>-->
<el-table-column label="物料编码" align="center" prop="productId"/> <el-table-column label="物料编码" align="center" prop="productId"/>
<el-table-column label="物料描述" align="center" prop="extraField.materialDesc"/> <el-table-column label="物料描述" align="center" prop="extraField.materialDesc"/>
<el-table-column label="英文描述" align="center" prop="extraField.englishDesc"/> <el-table-column label="英文描述" align="center" prop="extraField.englishDesc"/>