From b80ec1a6b92f8cb5115e76c5f7ee84f5b4497349 Mon Sep 17 00:00:00 2001 From: liuhanqing Date: Sun, 4 Jan 2026 11:00:18 +0800 Subject: [PATCH] =?UTF-8?q?=E7=8E=B0=E5=9C=BA=20wms=20=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- RuoYi-App-master/pages/in/bindMany.vue | 260 +++++++++ RuoYi-App-master/pages/in/bindManypk.vue | 288 ++++++++++ RuoYi-App-master/pages/ktp/menu.vue | 127 +++++ RuoYi-App-master/pages/stock/stock.vue | 0 .../api/service/impl/ToWmsServiceImpl.java | 42 +- .../CheckDifferenceRecordController.java | 94 ++-- .../service/impl/MydoJobServiceImpl.java | 4 +- .../kpi/service/impl/KpiServiceImpl.java | 22 +- .../java/com/ruoyi/pda/mapper/PdaMapper.java | 2 + .../com/ruoyi/pda/service/PdaService.java | 2 + .../com/ruoyi/pda/service/PdaServiceImp.java | 17 +- .../domain/ViewStockDetail.java | 1 + .../domain/ViewStockinHistory.java | 10 + .../bas/cargoSpace/BasCargoSpaceMapper.xml | 2 +- .../main/resources/mapper/pda/PdaMapper.xml | 12 + .../mapper/search/ViewStockDetailMapper.xml | 2 + .../search/ViewStockinHistoryMapper.xml | 14 +- .../resources/mapper/stock/BasStockMapper.xml | 4 +- ruoyi-ui/src/api/in/stockInDetail.js | 9 - ruoyi-ui/src/api/rf/rf.js | 86 +++ ruoyi-ui/src/views/bas/cargoSpace/index.vue | 21 +- ruoyi-ui/src/views/check/create/index.vue | 92 ++- ruoyi-ui/src/views/check/difference/index.vue | 4 +- ruoyi-ui/src/views/check/job/in/index.vue | 82 +-- ruoyi-ui/src/views/check/job/out/index.vue | 104 +--- ruoyi-ui/src/views/check/stockCheck/index.vue | 33 +- ruoyi-ui/src/views/in/job/index.vue | 94 +--- .../src/views/in/stockIn/add/index_new.vue | 76 +-- ruoyi-ui/src/views/in/stockIn/index.vue | 35 +- ruoyi-ui/src/views/job/outJobManagement.vue | 46 +- .../src/views/kpi/inAnalysis/indexByTime.vue | 2 +- ruoyi-ui/src/views/out/addOutStockout.vue | 146 +++-- ruoyi-ui/src/views/out/outStockoutManage.vue | 83 +-- ruoyi-ui/src/views/rf/bindTraycode.vue | 517 +++++++---------- ruoyi-ui/src/views/rf/emptyInTrayCode.vue | 416 +++----------- ruoyi-ui/src/views/rf/emptyOutTrayCode.vue | 411 +++----------- ruoyi-ui/src/views/rf/outMakeSure.vue | 442 ++++----------- ruoyi-ui/src/views/rf/pdMakeSure.vue | 531 +++++++----------- ruoyi-ui/src/views/rf/pkIn.vue | 232 ++++++++ .../src/views/search/ViewInJobFlow/index.vue | 92 +-- .../src/views/search/ViewOutJobFlow/index.vue | 87 +-- .../views/search/ViewStockDetail/index.vue | 221 ++++---- .../views/search/ViewStockinHistory/index.vue | 109 ++-- .../search/ViewStockoutHistory/index.vue | 119 ++-- ruoyi-ui/src/views/stock/management/index.vue | 201 +++---- ruoyi-ui/src/views/stock/pointOut.vue | 49 +- 46 files changed, 2511 insertions(+), 2732 deletions(-) create mode 100644 RuoYi-App-master/pages/in/bindMany.vue create mode 100644 RuoYi-App-master/pages/in/bindManypk.vue create mode 100644 RuoYi-App-master/pages/ktp/menu.vue create mode 100644 RuoYi-App-master/pages/stock/stock.vue create mode 100644 ruoyi-ui/src/api/rf/rf.js create mode 100644 ruoyi-ui/src/views/rf/pkIn.vue diff --git a/RuoYi-App-master/pages/in/bindMany.vue b/RuoYi-App-master/pages/in/bindMany.vue new file mode 100644 index 0000000..9db589e --- /dev/null +++ b/RuoYi-App-master/pages/in/bindMany.vue @@ -0,0 +1,260 @@ + + + + + diff --git a/RuoYi-App-master/pages/in/bindManypk.vue b/RuoYi-App-master/pages/in/bindManypk.vue new file mode 100644 index 0000000..01be419 --- /dev/null +++ b/RuoYi-App-master/pages/in/bindManypk.vue @@ -0,0 +1,288 @@ + + + + + diff --git a/RuoYi-App-master/pages/ktp/menu.vue b/RuoYi-App-master/pages/ktp/menu.vue new file mode 100644 index 0000000..ef2b339 --- /dev/null +++ b/RuoYi-App-master/pages/ktp/menu.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/RuoYi-App-master/pages/stock/stock.vue b/RuoYi-App-master/pages/stock/stock.vue new file mode 100644 index 0000000..e69de29 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java index 44409b1..1b4a1e1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java @@ -36,6 +36,8 @@ import com.ruoyi.job.mydojob.service.IMydoJobService; import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService; import com.ruoyi.out.outStockout.service.IOutStockoutService; +import com.ruoyi.pda.domain.TrayCodeMsg; +import com.ruoyi.pda.service.PdaService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -57,33 +59,11 @@ public class ToWmsServiceImpl implements IToWmsService { @Autowired private IMydoJobDetailService mydoJobDetailService; @Autowired - private IBasContainerService basContainerService; - - - @Autowired - private IBasTaskNoService basTaskNoService; - @Autowired - private IBasTagService iBasTagService; - @Autowired private IBasCargoSpaceService basCargoSpaceService; @Autowired private IOutStockoutService outStockoutService; @Autowired - private IAgvContainerTaskService agvContainerTaskService; - @Autowired - private IBasProductService basProductService; - @Autowired - private IBasJobIdService basJobIdService; - @Autowired - private IToErpService toErpService; - @Autowired - private ITransferBillCallbackService transferBillCallbackService; - @Autowired - private IInStockinService inStockinService; - @Autowired - private IInStockinDetailService inStockinDetailService; - @Autowired - private IBasRoadwayService basRoadwayService; + private PdaService pdaService; @Override @@ -144,6 +124,10 @@ public class ToWmsServiceImpl implements IToWmsService { MydoJob outJob = outMydoJobs.get(0); outJob.setExecutionPhase("2"); mydoJobService.updateMydoJob(outJob); + if (outJob.getInOrOut().equals("23")){ + String[] jobIds = new String[]{outJob.getJobId()}; + mydoJobService.OuthandFinish(jobIds); + } break; default: @@ -194,7 +178,7 @@ public class ToWmsServiceImpl implements IToWmsService { } @Override - @Transactional(rollbackFor = Exception.class) + //@Transactional(rollbackFor = Exception.class) public AjaxResult requestEnterByTrayCodeAndEntranceId(RequestEnter requestEnter) { HashMap result = new HashMap<>(); if (StrUtil.isEmpty(requestEnter.getTrayCode())) { @@ -215,7 +199,15 @@ public class ToWmsServiceImpl implements IToWmsService { param.setWarehouseId(requestEnter.getWarehouseId()); List mydoJobs = mydoJobService.selectMydoJobListApi(param); if (CollUtil.isEmpty(mydoJobs)){ - return AjaxResult.error("没有该托盘任务", requestEnter.getTrayCode()); + //生成杂料入库任务 + TrayCodeMsg trayCodeMsg = new TrayCodeMsg(); + trayCodeMsg.setTrayCode(requestEnter.getTrayCode()); + trayCodeMsg.setWarehouseId(requestEnter.getWarehouseId()); + pdaService.zlin(trayCodeMsg); + mydoJobs = mydoJobService.selectMydoJobListApi(param); + if (CollUtil.isEmpty(mydoJobs)){ + return AjaxResult.error("杂料入库任务生成失败", requestEnter.getTrayCode()); + } } MydoJob mydoJob = mydoJobs.get(0); if(StrUtil.isEmpty(mydoJob.getCargoSpaceId())){ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/difference/controller/CheckDifferenceRecordController.java b/ruoyi-admin/src/main/java/com/ruoyi/check/difference/controller/CheckDifferenceRecordController.java index 8804a42..cfd2f0d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/difference/controller/CheckDifferenceRecordController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/difference/controller/CheckDifferenceRecordController.java @@ -182,51 +182,55 @@ public class CheckDifferenceRecordController extends BaseController { return AjaxResult.error("没有找到该新增数据信息"); } CheckDifferenceRecordAddInfo checkDifferenceRecordAddInfo = checkDifferenceRecordAddInfos.get(0); - - //todo 创建新的库存记录 - BasStock newStock = new BasStock(); - // 先设置必要字段 - newStock.setTrayCode(record.getTrayCode()); - newStock.setQuantity(record.getNewQuantity()); - newStock.setProductStatus("1"); - newStock.setCargoSpaceId(record.getCargoSpaceId()); - newStock.setLotNo(record.getLotNo()); - newStock.setProductGuid(record.getProductGuid()); - newStock.setProductId(record.getProductId()); - newStock.setStockStatus("1"); // 设置库存状态为正常 - newStock.setWarehouseId(record.getWarehouseId()); - newStock.setInType(""); - newStock.setOutQuantity("0"); - newStock.setInDate(DateUtil.formatDateTime(DateUtil.date())); - //供应商 - newStock.setPhase(checkDifferenceRecordAddInfo.getSpare3()); - //来源地 - newStock.setSpare1(checkDifferenceRecordAddInfo.getSpare4()); - //周转 - newStock.setVoltage(checkDifferenceRecordAddInfo.getSpare5()); - //套账 - newStock.setSpare3(checkDifferenceRecordAddInfo.getSpare6()); - //用途 - newStock.setSpare4(checkDifferenceRecordAddInfo.getSpare7()); - //台次 - newStock.setSpare5(checkDifferenceRecordAddInfo.getSpare8()); - //合同 - newStock.setOrderId(checkDifferenceRecordAddInfo.getSpare9()); - //件次 - newStock.setPower(checkDifferenceRecordAddInfo.getSpare10()); - newStock.setLotNo(checkDifferenceRecordAddInfo.getSpare11()); - //入库价格 - newStock.setSpare6(checkDifferenceRecordAddInfo.getSpare12()); - //管理 - newStock.setDistribution(checkDifferenceRecordAddInfo.getSpare13()); - //质量等级 - newStock.setSpare8(checkDifferenceRecordAddInfo.getSpare14()); - // 最后设置库存ID - newStock.setStockId(basJobIdService.getJobId("KC")); - newStock.setSpare7("1"); - newStock.setStackingId(DateUtil.formatDateTime(DateUtil.date())); - basStockService.insertBasStock(newStock); - + BasStock queryStock = new BasStock(); + queryStock.setTrayCode(record.getTrayCode()); + queryStock.setWarehouseId(record.getWarehouseId()); + List stocks = basStockService.selectBasStockList(queryStock); + if (!stocks.isEmpty()){ + //todo 创建新的库存记录 + BasStock newStock = new BasStock(); + // 先设置必要字段 + newStock.setTrayCode(record.getTrayCode()); + newStock.setQuantity(record.getNewQuantity()); + newStock.setProductStatus("1"); + newStock.setCargoSpaceId(stocks.get(0).getCargoSpaceId()); + newStock.setLotNo(record.getLotNo()); + newStock.setProductGuid(record.getProductGuid()); + newStock.setProductId(record.getProductId()); + newStock.setStockStatus("1"); // 设置库存状态为正常 + newStock.setWarehouseId(record.getWarehouseId()); + newStock.setInType(""); + newStock.setOutQuantity("0"); + newStock.setInDate(DateUtil.formatDateTime(DateUtil.date())); + //供应商 + newStock.setPhase(checkDifferenceRecordAddInfo.getSpare3()); + //来源地 + newStock.setSpare1(checkDifferenceRecordAddInfo.getSpare4()); + //周转 + newStock.setVoltage(checkDifferenceRecordAddInfo.getSpare5()); + //套账 + newStock.setSpare3(checkDifferenceRecordAddInfo.getSpare6()); + //用途 + newStock.setSpare4(checkDifferenceRecordAddInfo.getSpare7()); + //台次 + newStock.setSpare5(checkDifferenceRecordAddInfo.getSpare8()); + //合同 + newStock.setOrderId(checkDifferenceRecordAddInfo.getSpare9()); + //件次 + newStock.setPower(checkDifferenceRecordAddInfo.getSpare10()); + newStock.setLotNo(checkDifferenceRecordAddInfo.getSpare11()); + //入库价格 + newStock.setSpare6(checkDifferenceRecordAddInfo.getSpare12()); + //管理 + newStock.setDistribution(checkDifferenceRecordAddInfo.getSpare13()); + //质量等级 + newStock.setSpare8(checkDifferenceRecordAddInfo.getSpare14()); + // 最后设置库存ID + newStock.setStockId(basJobIdService.getJobId("KC")); + newStock.setSpare7("1"); + newStock.setStackingId(DateUtil.formatDateTime(DateUtil.date())); + basStockService.insertBasStock(newStock); + } } else if ("3".equals(recordType)) { // 删除数据 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java index 67764c0..981d69c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java @@ -365,9 +365,8 @@ public class MydoJobServiceImpl implements IMydoJobService { } else { return AjaxResult.warn("不存在子作业"); } - }else if ("3".equals(mydoJob.getInOrOut())){ + }else if ("3".equals(mydoJob.getInOrOut()) || "6".equals(mydoJob.getInOrOut())){ //空托盘入库 - //正常入库任务 MydoJobDetail param = new MydoJobDetail(); param.setJobId(jobId); List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param); @@ -442,6 +441,7 @@ public class MydoJobServiceImpl implements IMydoJobService { MydoJob job = selectMydoJobByJobId(jobId); HashMap map = new HashMap<>(); map.put("v_tray_code", job.getTrayCode()); + map.put("v_warehouse_id", job.getWarehouseId()); pdaMapper.outMakeSure(map); String result=map.get("v_result").toString(); if(!"10".equals(result)){ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/kpi/service/impl/KpiServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/kpi/service/impl/KpiServiceImpl.java index 8653548..ad873be 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/kpi/service/impl/KpiServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/kpi/service/impl/KpiServiceImpl.java @@ -33,7 +33,7 @@ public class KpiServiceImpl implements KpiService @Autowired private BasCargoSpaceMapper basCargoSpaceMapper; - + @Autowired private BasStockMapper basStockMapper; /** @@ -469,7 +469,7 @@ public class KpiServiceImpl implements KpiService info.append("货位名称:").append(space.getCargoSpaceName()).append("
"); info.append("是否锁定:").append("Y".equals(space.getLocked()) ? "是" : "否").append("
"); info.append("托盘条码:").append(space.getTrayCode() != null ? space.getTrayCode() : "无").append("
"); - + // 根据cargoSpaceId查询BasStock表,获取productId和productName BasStock stockQuery = new BasStock(); stockQuery.setCargoSpaceId(space.getCargoSpaceId()); @@ -499,13 +499,13 @@ public class KpiServiceImpl implements KpiService mydoJobParam.setInOut(inOut); List datesBetween = DateUtil.rangeToList(DateUtil.parseDate(startTime), DateUtil.parseDate(endTime), DateField.DAY_OF_MONTH); List list = mydoJobFinishMapper.selectMydoJobFinishListByMydoJob(mydoJobParam); - + // 获取所有巷道ID(1和2) - List roadwayIds = Arrays.asList("1", "2"); - + List roadwayIds = Arrays.asList("1", "2" ,"3"); + List xAxis = new ArrayList<>(); List> series = new ArrayList<>(); - + // 为每个巷道创建一个系列 for (String roadwayId : roadwayIds) { Map seriesItem = new HashMap<>(); @@ -515,25 +515,25 @@ public class KpiServiceImpl implements KpiService seriesItem.put("data", data); series.add(seriesItem); } - + // 按日期统计每个巷道的数量 for (DateTime dateTime : datesBetween) { xAxis.add(DateUtil.format(dateTime, "yyyy-MM-dd")); - + // 统计每个巷道在当天的数量 for (int i = 0; i < roadwayIds.size(); i++) { String roadwayId = roadwayIds.get(i); long count = list.stream() - .filter(mydoJob -> roadwayId.equals(mydoJob.getRoadwayId()) + .filter(mydoJob -> roadwayId.equals(mydoJob.getRoadwayId()) && DateUtil.isIn(mydoJob.getCreateTime(), DateUtil.beginOfDay(dateTime), DateUtil.endOfDay(dateTime))) .count(); - + @SuppressWarnings("unchecked") List data = (List) series.get(i).get("data"); data.add(count); } } - + res.put("xAxis", xAxis); res.put("series", series); return AjaxResult.success(res); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java index 1ca6eb2..240b5e2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java @@ -33,4 +33,6 @@ public interface PdaMapper { void ktpout(HashMap map); void ktpin(HashMap map); + + void zlin(HashMap map); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java index 309f8cb..91a064b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java @@ -38,4 +38,6 @@ public interface PdaService { AjaxResult ktpin(TrayCodeMsg trayCodeMsg); + AjaxResult zlin(TrayCodeMsg trayCodeMsg); + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java index d480431..50e9029 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java @@ -112,6 +112,7 @@ public class PdaServiceImp implements PdaService { } HashMap map = new HashMap<>(); map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); + map.put("v_warehouse_id", trayCodeMakeSure.getWarehouseId()); pdaMapper.outMakeSure(map); String result = map.get("v_result").toString(); if ("10".equals(result)) { @@ -259,7 +260,7 @@ public class PdaServiceImp implements PdaService { public AjaxResult ktpin(TrayCodeMsg trayCodeMsg) { HashMap map = new HashMap<>(); map.put("v_tray_code", trayCodeMsg.getTrayCode()); -// map.put("v_warehouse_id", trayCodeMsg.getWarehouseId()); + map.put("v_warehouse_id", trayCodeMsg.getWarehouseId()); pdaMapper.ktpin(map); String result = map.get("v_result").toString(); if ("10".equals(result)){ @@ -268,4 +269,18 @@ public class PdaServiceImp implements PdaService { return AjaxResult.error(map.get("v_resultmsg").toString()); } } + + @Override + public AjaxResult zlin(TrayCodeMsg trayCodeMsg) { + HashMap map = new HashMap<>(); + map.put("v_tray_code", trayCodeMsg.getTrayCode()); + map.put("v_warehouse_id", trayCodeMsg.getWarehouseId()); + pdaMapper.zlin(map); + String result = map.get("v_result").toString(); + if ("10".equals(result)){ + return AjaxResult.success(map.get("v_resultmsg").toString()); + }else{ + return AjaxResult.error(map.get("v_resultmsg").toString()); + } + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/search/ViewStockDetail/domain/ViewStockDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/search/ViewStockDetail/domain/ViewStockDetail.java index 024e41d..2dd23c8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/search/ViewStockDetail/domain/ViewStockDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/search/ViewStockDetail/domain/ViewStockDetail.java @@ -135,6 +135,7 @@ public class ViewStockDetail extends BaseEntity private String productType; private String outside; private String spare4; + private String distribution; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/search/ViewStockinHistory/domain/ViewStockinHistory.java b/ruoyi-admin/src/main/java/com/ruoyi/search/ViewStockinHistory/domain/ViewStockinHistory.java index 12385f7..8477bee 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/search/ViewStockinHistory/domain/ViewStockinHistory.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/search/ViewStockinHistory/domain/ViewStockinHistory.java @@ -118,6 +118,16 @@ public class ViewStockinHistory extends BaseEntity /** 状态 */ @Excel(name = "状态",dictType = "turnover_type") private String spare2; + @Excel(name = "代号") + private String spare9; + + public String getSpare9() { + return spare9; + } + + public void setSpare9(String spare9) { + this.spare9 = spare9; + } public void setStockinId(String stockinId) { diff --git a/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml index a0ac275..3349a32 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml @@ -184,7 +184,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and locked = 'N' and warehouse_id = #{warehouseId} and roadway_id = #{roadwayId} - ORDER BY the_platoon, the_floor,the_column + ORDER BY the_floor,the_column,the_platoon {call proc_out_makesure( #{v_tray_code,mode=IN,jdbcType=VARCHAR}, + #{v_warehouse_id,mode=IN,jdbcType=VARCHAR}, #{v_result,mode=OUT,jdbcType=INTEGER}, #{v_resultmsg,mode=OUT,jdbcType=VARCHAR} )} @@ -131,6 +132,17 @@ + + + - + and stockin_id = #{stockinId} and stockin_detail_id = #{stockinDetailId} and product_id = #{productId} @@ -67,9 +68,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and spare1 = #{spare1} and spare4 = #{spare4} and spare2 = #{spare2} + and spare9 = #{spare9} - +