MES
原材料库存转库存和成品库存转库存bug修复
master
xs 8 months ago
parent 6c41a9d11f
commit b2e791a777

@ -103,7 +103,7 @@ public interface RemoteMesService {
public R<?> start5thFloorInstall(@RequestBody MesPdaProductPlanVo mesPdaProductPlanVo, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**
* 5
* 5
*
* @param mesPdaProductPlanVo
* @param source
@ -132,7 +132,7 @@ public interface RemoteMesService {
* @return
*/
@PostMapping("/saleOrder/transferSaleOrders")
public R<Boolean> transferSaleOrders(@RequestBody MesSaleOrderTransferVo mesSaleOrderTransferVo, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
public R<?> transferSaleOrders(@RequestBody MesSaleOrderTransferVo mesSaleOrderTransferVo,@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
/**

@ -0,0 +1,35 @@
package com.hw.mes.api.domain.vo;
import com.hw.mes.api.domain.MesBaseBarcodeInfo;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
/**
* @Description: VO
* @ClassName: MesSaleOrderTransferVo
* @Author : xins
* @Date :2024-09-04 14:21
* @Version :1.0
*/
@Data
public class MesBaseBarcodeInfoTransferVo {
//新的销售订单ID
@NotNull(message = "销售订单Id必须输入")
private Long saleOrderId;
//新的销售订单号
@NotEmpty(message = "销售订单号必须输入")
private String saleOrderCode;
//安全库存标识
@NotEmpty(message = "安全库存标识必须输入")
private String safeFlag;
//条码内容
@NotEmpty(message = "条码内容必须输入")
private String barcodeInfo;
}

@ -17,12 +17,12 @@ import java.util.List;
@Data
public class MesSaleOrderTransferVo {
//转换的条码信息
// 转换的条码信息
@NotNull(message = "条码信息不能为空")
private List<MesBaseBarcodeInfo> mesBaseBarcodeInfos;
private List<MesBaseBarcodeInfoTransferVo> mesBaseBarcodeInfoTransferVos;
//转换数量
@NotNull(message = "转换不能为空")
@NotNull(message = "转换数量不能为空")
private BigDecimal transferAmount;
//老的销售订单ID

@ -77,7 +77,7 @@ public class RemoteMesFallbackFactory implements FallbackFactory<RemoteMesServic
}
@Override
public R<Boolean> transferSaleOrders(MesSaleOrderTransferVo mesSaleOrderTransferVo, String source) {
public R<?> transferSaleOrders(MesSaleOrderTransferVo mesSaleOrderTransferVo,String source) {
return R.fail("销售订单信息转换失败:" + throwable.getMessage());
}

@ -5,6 +5,7 @@ import javax.servlet.http.HttpServletResponse;
import com.hw.common.core.domain.R;
import com.hw.common.security.annotation.InnerAuth;
import com.hw.mes.api.domain.MesBaseBarcodeInfo;
import com.hw.mes.api.domain.vo.MesSaleOrderTransferVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@ -27,14 +28,13 @@ import com.hw.common.core.web.page.TableDataInfo;
/**
* Controller
*
*
* @author Yinq
* @date 2024-02-19
*/
@RestController
@RequestMapping("/saleOrder")
public class MesSaleOrderController extends BaseController
{
public class MesSaleOrderController extends BaseController {
@Autowired
private IMesSaleOrderService mesSaleOrderService;
@ -44,8 +44,7 @@ public class MesSaleOrderController extends BaseController
*/
@RequiresPermissions("mes:saleOrder:list")
@GetMapping("/list")
public TableDataInfo list(MesSaleOrder mesSaleOrder)
{
public TableDataInfo list(MesSaleOrder mesSaleOrder) {
startPage();
List<MesSaleOrder> list = mesSaleOrderService.selectMesSaleOrderJoinMaterialList(mesSaleOrder);
return getDataTable(list);
@ -57,8 +56,7 @@ public class MesSaleOrderController extends BaseController
@RequiresPermissions("mes:saleOrder:export")
@Log(title = "销售订单信息", businessType = BusinessType.EXPORT)
@PostMapping("/export")
public void export(HttpServletResponse response, MesSaleOrder mesSaleOrder)
{
public void export(HttpServletResponse response, MesSaleOrder mesSaleOrder) {
List<MesSaleOrder> list = mesSaleOrderService.selectMesSaleOrderList(mesSaleOrder);
ExcelUtil<MesSaleOrder> util = new ExcelUtil<MesSaleOrder>(MesSaleOrder.class);
util.exportExcel(response, list, "销售订单信息数据");
@ -69,8 +67,7 @@ public class MesSaleOrderController extends BaseController
*/
@RequiresPermissions("mes:saleOrder:query")
@GetMapping(value = "/{saleOrderId}")
public AjaxResult getInfo(@PathVariable("saleOrderId") Long saleOrderId)
{
public AjaxResult getInfo(@PathVariable("saleOrderId") Long saleOrderId) {
return success(mesSaleOrderService.selectMesSaleOrderBySaleOrderId(saleOrderId));
}
@ -80,8 +77,7 @@ public class MesSaleOrderController extends BaseController
@RequiresPermissions("mes:saleOrder:add")
@Log(title = "销售订单信息", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody MesSaleOrder mesSaleOrder)
{
public AjaxResult add(@RequestBody MesSaleOrder mesSaleOrder) {
return toAjax(mesSaleOrderService.insertMesSaleOrder(mesSaleOrder));
}
@ -91,8 +87,7 @@ public class MesSaleOrderController extends BaseController
@RequiresPermissions("mes:saleOrder:edit")
@Log(title = "销售订单信息", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody MesSaleOrder mesSaleOrder)
{
public AjaxResult edit(@RequestBody MesSaleOrder mesSaleOrder) {
return toAjax(mesSaleOrderService.updateMesSaleOrder(mesSaleOrder));
}
@ -101,23 +96,24 @@ public class MesSaleOrderController extends BaseController
*/
@RequiresPermissions("mes:saleOrder:remove")
@Log(title = "销售订单信息", businessType = BusinessType.DELETE)
@DeleteMapping("/{saleOrderIds}")
public AjaxResult remove(@PathVariable Long[] saleOrderIds)
{
@DeleteMapping("/{saleOrderIds}")
public AjaxResult remove(@PathVariable Long[] saleOrderIds) {
return toAjax(mesSaleOrderService.deleteMesSaleOrderBySaleOrderIds(saleOrderIds));
}
/**
*
*/
@InnerAuth
@Log(title = "销售订单信息", businessType = BusinessType.TRANSFER)
@PostMapping(value="/transferSaleOrders")
public R<Boolean> transferSaleOrders(@RequestBody MesSaleOrderTransferVo mesSaleOrderTransferVo)
{
return R.ok(mesSaleOrderService.transferSaleOrders(mesSaleOrderTransferVo));
@PostMapping(value = "/transferSaleOrders")
public R<Boolean> transferSaleOrders(@RequestBody MesSaleOrderTransferVo mesSaleOrderTransferVo) {
try {
return R.ok(mesSaleOrderService.transferSaleOrders(mesSaleOrderTransferVo));
} catch (Exception e) {
return R.fail(e.getMessage());
}
}
}

@ -2,6 +2,7 @@ package com.hw.mes.service;
import java.util.List;
import com.hw.mes.api.domain.MesBaseBarcodeInfo;
import com.hw.mes.api.domain.vo.MesSaleOrderTransferVo;
import com.hw.mes.domain.MesSaleOrder;

@ -8,6 +8,7 @@ import com.hw.common.core.utils.DateUtils;
import com.hw.common.core.utils.StringUtils;
import com.hw.common.security.utils.SecurityUtils;
import com.hw.mes.api.domain.MesBaseBarcodeInfo;
import com.hw.mes.api.domain.vo.MesBaseBarcodeInfoTransferVo;
import com.hw.mes.api.domain.vo.MesSaleOrderTransferVo;
import com.hw.mes.mapper.MesBaseBarcodeInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
@ -144,14 +145,18 @@ public class MesSaleOrderServiceImpl implements IMesSaleOrderService {
mesSaleOrderMapper.updateMesSaleOrder(newSaleOrder);
}
List<MesBaseBarcodeInfo> mesBaseBarcodeInfos = mesSaleOrderTransferVo.getMesBaseBarcodeInfos();
List<MesBaseBarcodeInfoTransferVo> mesBaseBarcodeInfoTransferVos = mesSaleOrderTransferVo.getMesBaseBarcodeInfoTransferVos();
int updateSize = 0;
for (MesBaseBarcodeInfo mesBaseBarcodeInfo : mesBaseBarcodeInfos) {
MesBaseBarcodeInfo dbMesBaseBarcodeInfo = mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByBarcodeInfo(mesBaseBarcodeInfo.getBarcodeInfo());
for (MesBaseBarcodeInfoTransferVo mesBaseBarcodeInfoTransferVo : mesBaseBarcodeInfoTransferVos) {
MesBaseBarcodeInfo dbMesBaseBarcodeInfo = mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByBarcodeInfo(mesBaseBarcodeInfoTransferVo.getBarcodeInfo());
if (dbMesBaseBarcodeInfo == null) {
return false;
}
MesBaseBarcodeInfo mesBaseBarcodeInfo = new MesBaseBarcodeInfo();
mesBaseBarcodeInfo.setBarcodeId(dbMesBaseBarcodeInfo.getBarcodeId());
mesBaseBarcodeInfo.setSaleOrderId(mesBaseBarcodeInfoTransferVo.getSaleOrderId());
mesBaseBarcodeInfo.setSaleorderCode(mesBaseBarcodeInfoTransferVo.getSaleOrderCode());
mesBaseBarcodeInfo.setSafeFlag(mesBaseBarcodeInfoTransferVo.getSafeFlag());
mesBaseBarcodeInfo.setUpdateBy(SecurityUtils.getUsername());
mesBaseBarcodeInfo.setUpdateTime(DateUtils.getNowDate());
updateSize += mesBaseBarcodeInfoMapper.updateMesBaseBarcodeInfo(mesBaseBarcodeInfo);

@ -5,6 +5,7 @@ import java.util.*;
import java.util.stream.Collectors;
import com.alibaba.fastjson2.JSONObject;
import com.hw.common.core.constant.Constants;
import com.hw.common.core.constant.MesConstants;
import com.hw.common.core.constant.SecurityConstants;
import com.hw.common.core.constant.WmsConstants;
@ -16,6 +17,7 @@ import com.hw.mes.api.RemoteMesService;
import com.hw.mes.api.domain.MesBaseBarcodeInfo;
import com.hw.mes.api.domain.MesBaseMaterialInfo;
import com.hw.mes.api.domain.MesBaseStationInfo;
import com.hw.mes.api.domain.vo.MesBaseBarcodeInfoTransferVo;
import com.hw.mes.api.domain.vo.MesSaleOrderTransferVo;
import com.hw.wms.config.WmsConfig;
import com.hw.wms.domain.WmsBaseLocation;
@ -222,8 +224,8 @@ public class WmsStockTotalServiceImpl implements IWmsStockTotalService {
throw new ServiceException("没有销售订单成品库存信息");
}
for(WmsStockTotal stockTotal:stockTotalList){
if(stockTotal.getProductId().equals(0L)){
for (WmsStockTotal stockTotal : stockTotalList) {
if (stockTotal.getProductId().equals(0L)) {
stockTotal.setMaterialCode("1111|222");
}
}
@ -439,21 +441,21 @@ public class WmsStockTotalServiceImpl implements IWmsStockTotalService {
throw new ServiceException("没有可转库存明细");
}
if (wmsProductStocks.size() < transferAmount.intValue()) {
throw new ServiceException("可转库存明细数量为%s", wmsProductStocks.size());
throw new ServiceException("可转库存明细数量为" + wmsProductStocks.size());
}
List<MesBaseBarcodeInfo> mesBaseBarcodeInfos = new ArrayList<>();
List<MesBaseBarcodeInfoTransferVo> mesBaseBarcodeInfoTransferVos = new ArrayList<>();
for (WmsProductStock wmsProductStock : wmsProductStocks) {
MesBaseBarcodeInfo mesBaseBarcodeInfo = new MesBaseBarcodeInfo();
mesBaseBarcodeInfo.setSaleOrderId(saleOrderId);
mesBaseBarcodeInfo.setSaleorderCode(saleorderCode);
mesBaseBarcodeInfo.setSafeFlag(safeFlag);
mesBaseBarcodeInfo.setBarcodeInfo(wmsProductStock.getProductBatch());
mesBaseBarcodeInfos.add(mesBaseBarcodeInfo);
MesBaseBarcodeInfoTransferVo mesBaseBarcodeInfoTransferVo = new MesBaseBarcodeInfoTransferVo();
mesBaseBarcodeInfoTransferVo.setSaleOrderId(saleOrderId);
mesBaseBarcodeInfoTransferVo.setSaleOrderCode(saleorderCode);
mesBaseBarcodeInfoTransferVo.setSafeFlag(safeFlag);
mesBaseBarcodeInfoTransferVo.setBarcodeInfo(wmsProductStock.getProductBatch());
mesBaseBarcodeInfoTransferVos.add(mesBaseBarcodeInfoTransferVo);
wmsProductStock.setSafeFlag(safeFlag);
wmsProductStock.setSaleOrderId(saleOrderId);
wmsProductStock.setSaleorderCode(saleorderCode);
wmsProductStock.setSaleorderCode(saleorderCode == null ? "" : saleorderCode);
wmsProductStock.setUpdateDate(new Date());
wmsProductStock.setUpdateBy(SecurityUtils.getUsername());
wmsProductStockMapper.updateWmsProductStock(wmsProductStock);
@ -464,13 +466,19 @@ public class WmsStockTotalServiceImpl implements IWmsStockTotalService {
mesSaleOrderTransferVo.setOldSaleOrderId(wmsStockTotal.getSaleOrderId());
mesSaleOrderTransferVo.setNewSaleOrderId(saleOrderId);
mesSaleOrderTransferVo.setMaterialId(materialId);
mesSaleOrderTransferVo.setMesBaseBarcodeInfos(mesBaseBarcodeInfos);
mesSaleOrderTransferVo.setMesBaseBarcodeInfoTransferVos(mesBaseBarcodeInfoTransferVos);
R<Boolean> transferBaseBarcodeInfosResult = remoteMesService.transferSaleOrders(mesSaleOrderTransferVo, SecurityConstants.INNER);
if (!transferBaseBarcodeInfosResult.getData()) {
throw new RuntimeException("销售订单信息转换失败");
System.out.println(mesSaleOrderTransferVo.toString());
R<?> transferBaseBarcodeInfosResult = remoteMesService.transferSaleOrders(mesSaleOrderTransferVo, SecurityConstants.INNER);
if (transferBaseBarcodeInfosResult.getCode() != Constants.SUCCESS) {//抛出异常,回滚事务
throw new RuntimeException(transferBaseBarcodeInfosResult.getMsg());
}
// if (!transferBaseBarcodeInfosResult.getData()) {
// throw new RuntimeException("销售订单信息转换失败");
// }
return 1;
}

@ -65,8 +65,8 @@ export function addInternalBarcode(data) {
})
}
//根据原材料条码判断是否有半成品出库
export function checkSemiOutstock(query) {
//根据原材料条码判断是否有半成品出库
return request({
url: '/wms/api/checkSemiOutstock',
method: 'get',

@ -1235,9 +1235,21 @@ export default {
handleMaterialUsage(row) {
this.materialUsageOpen = true;
this.materialUsageList = [];
this.loading = true;
//bom
let warehouseFloor = 0;
if(row.dispatchId === 2){
warehouseFloor = 3;
}else if(row.dispatchId === 3){
warehouseFloor = 4;
}else if(row.dispatchId === 4){
warehouseFloor = 5;
}
getMaterialUsages(row).then(response => {
let materialUsageList = response.data;
getStockTotalWithRawOutstocks({saleOrderId: row.saleOrderId}).then(response => {
//ID
getStockTotalWithRawOutstocks({saleOrderId: row.saleOrderId,warehouseFloor:warehouseFloor}).then(response => {
let stockMapJson = response.data;
let totalAmountMap = stockMapJson.totalAmountMap;
let occupyAmountMap = stockMapJson.occupyAmountMap;
@ -1248,10 +1260,16 @@ export default {
objA.totalAmount = totalAmountMap[objA.materialId];
objA.outstockAmount = outstockAmountMap[objA.materialId];
objA.occupyAmount = occupyAmountMap[objA.materialId];
objA.totalAmount = objA.totalAmount ? objA.totalAmount : 0;
objA.outstockAmount = objA.outstockAmount ? objA.outstockAmount : 0;
objA.occupyAmount = objA.occupyAmount ? objA.occupyAmount : 0;
objA.availableAmount = objA.totalAmount -objA.occupyAmount;
// return returnObj; //
});
this.loading = false;
this.materialUsageList = materialUsageList;
// console.log(this.materialUsageList)
})

@ -181,21 +181,6 @@
<el-col :span="20" :offset="4" :xs="20">
<el-divider content-position="center">库位库存明细信息</el-divider>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-shopping-cart-1"
size="mini"
@click="handleTransfer"
v-hasPermi="['wms:stocktotal:transfer']"
v-if="type === STOCK_TYPE.RAW"
>转库存
</el-button>
</el-col>
</el-row>
<el-table v-loading="loadingTwo" :data="rawstockList" @selection-change="handleRawStockSelectionChange">
<!-- <el-table-column label="原材料库存ID" align="center" prop="rawStockId" />-->
@ -235,6 +220,23 @@
<dict-tag :options="dict.type.wms_stock_complete_flag" :value="scope.row.completeFlag"/>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-shopping-cart-1"
v-if="type === STOCK_TYPE.RAW && scope.row.instockBatch.indexOf(RAW_BARCODE_VIRTUAL.EXTERNAL_VIRTUAL) < 0 && scope.row.instockBatch.indexOf(RAW_BARCODE_VIRTUAL.INTERNAL_VIRTUAL)<0"
@click="handleTransfer(scope.row)"
v-hasPermi="['wms:stocktotal:transfer']"
>转库存
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="twoPTotal>0"
@ -269,7 +271,7 @@
</el-form-item>
<el-form-item label="待转数量" prop="transferAmount" v-if="this.transferType==='1'">
<el-input-number v-model="form.transferAmount" placeholder="请输入待转库存数量"/>
<el-input-number v-model="form.transferAmount" :min="1" step="1" placeholder="请输入待转库存数量"/>
</el-form-item>
@ -283,7 +285,7 @@
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button type="primary" :loading="submitLoading" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@ -298,14 +300,13 @@
</el-dialog>
<el-dialog title="物料明细" :visible.sync="materialListOpen" width="560px" append-to-body>
<el-table :data="materialList">
<el-table :data="materialList">
<el-table-column label="序号" type="index" align="center"/>
<el-table-column label="物料编码" align="center" prop="materialCode" />
<el-table-column label="物料名称" align="center" prop="materialName" />
<el-table-column label="物料规格" align="center" prop="materialSpec" />
<el-table-column label="物料编码" align="center" prop="materialCode"/>
<el-table-column label="物料名称" align="center" prop="materialName"/>
<el-table-column label="物料规格" align="center" prop="materialSpec"/>
</el-table>
@ -436,15 +437,15 @@ export default {
VIRTUAL: "2"
},
RAW_BARCODE_VIRTUAL:{
EXTERNAL_VIRTUAL:"VR",//
INTERNAL_VIRTUAL:"RN",//
RAW_BARCODE_VIRTUAL: {
EXTERNAL_VIRTUAL: "VR",//
INTERNAL_VIRTUAL: "RN",//
},
selectSaleOrderVisible: false,
materialListOpen : false,
materialList:[]
submitLoading:false,
materialListOpen: false,
materialList: []
};
},
watch: {
@ -637,10 +638,9 @@ export default {
//
handleRawStockSelectionChange(selection) {
return;
let index = 0;
selection.forEach(row => {
index = this.rawstockList.indexOf(row);
index = this.rawstockList.indexOf(row);
});
this.instockBatches = selection.map((item, index1) => index + "-" + item.instockBatch);
this.rawStockIds = selection.map((item, index1) => index + "-" + item.rawStockId);
@ -649,13 +649,25 @@ export default {
this.multiple = !selection.length
},
handleTransfer() {
handleTransfer(row) {
this.reset();
this.transferType = "2";
this.rawStockInfosStr = this.rawStockInfos.join("<br>");
let index = this.rawstockList.indexOf(row)
this.form.instockBatch = row.instockBatch
this.form.rawStockId = row.rawStockId
this.form.indexStockIds =[index + "-" + row.rawStockId];
this.form.index = index;
this.rawStockInfosStr = "序号:" + (index + 1) + ",物料编码:" + row.materialCode + " 物料名称:" + row.materialName + " 物料规格:" + row.materialSpec + " 数量:" + row.totalAmount + " 销售订单:" + (row.saleorderCode ? row.saleorderCode : "无");
this.open = true;
},
// handleTransfer() {
// this.reset();
// this.transferType = "2";
// this.rawStockInfosStr = this.rawStockInfos.join("<br>");
// this.open = true;
// },
handleSaleOrderSelect() {
this.selectSaleOrderVisible = true;
},
@ -663,7 +675,8 @@ export default {
/** 提交选择销售订单按钮 */
submitSelectSaleOrderForm() {
let selectedRow = this.$refs.selectSaleOrderRef.selectedRow;
if(selectedRow.materialId!==this.form.materialId){
//
if (this.type === this.STOCK_TYPE.PRODUCT && selectedRow.materialId !== this.form.materialId) {
this.$modal.msgWarning("请选择相同物料的销售订单");
return;
}
@ -675,36 +688,60 @@ export default {
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
this.submitLoading = true;
if (this.form.safeFlag === this.SAFE_FLAG.YES) {
this.form.saleOrderId = 0;
this.form.saleorderCode = null;
}
if (this.type === this.STOCK_TYPE.PRODUCT) {
if (this.type === this.STOCK_TYPE.PRODUCT) { //
if(this.form.transferAmount < 1){
this.$modal.msgWarning('请输入整数');
this.submitLoading = false;
return;
}else if (!Number.isInteger(this.form.transferAmount)) {
this.$modal.msgWarning('请输入整数');
// this.value = Math.floor(value); //
this.submitLoading = false;
return;
}
transferProductStockTotal(this.form).then(response => {
this.$modal.msgSuccess("转库存成功");
this.open = false;
this.getList();
this.getTwoList();
}).finally(e=>{
this.submitLoading = false;
});
} else if (this.type === this.STOCK_TYPE.RAW) {
if (this.transferType === '1') {
if (this.transferType === '1') {//
if(this.form.transferAmount < 1){
this.$modal.msgWarning('待转数量请输入整数');
this.submitLoading = false;
return;
}else if (!Number.isInteger(this.form.transferAmount)) {
this.$modal.msgWarning('待转数量请输入整数');
// this.value = Math.floor(value); //
this.submitLoading = false;
return;
}
transferRawStockTotal(this.form).then(response => {
this.$modal.msgSuccess("转库存成功");
this.open = false;
this.getList();
this.getTwoList();
}).finally(e=>{
this.submitLoading = false;
});
} else if (this.transferType === '2') {
this.form.indexStockIds = this.rawStockIds;
for(const instockBatchStr of this.instockBatches){
let instockBatchStrArr = instockBatchStr.split("-");
let instockBatchIndex = parseInt(instockBatchStrArr[0]);
let instockBatch = instockBatchStrArr[1];
if(instockBatch.indexOf(this.RAW_BARCODE_VIRTUAL.EXTERNAL_VIRTUAL) >=0 || instockBatch.indexOf(this.RAW_BARCODE_VIRTUAL.INTERNAL_VIRTUAL) >=0){
this.$modal.msgSuccess("序号:"+(instockBatchIndex+1)+",是虚拟合并的物料,不能转库存");
return;
}
if (this.form.instockBatch.indexOf(this.RAW_BARCODE_VIRTUAL.EXTERNAL_VIRTUAL) >= 0 || this.form.instockBatch.indexOf(this.RAW_BARCODE_VIRTUAL.INTERNAL_VIRTUAL) >= 0) {
this.$modal.msgWarning("序号:" + (parseInt(this.form.index) + 1) + ",是虚拟合并的物料,不能转库存");
this.submitLoading = false;
return;
}
transferRaw(this.form).then(response => {
@ -712,6 +749,8 @@ export default {
this.open = false;
this.getList();
this.getTwoList();
}).finally(e=>{
this.submitLoading = false;
});
}
}
@ -733,9 +772,9 @@ export default {
},
handleViewMaterialInfos(row){
handleViewMaterialInfos(row) {
this.materialListOpen = true;
selectMaterialInfosByVirtualMaterialId({materialId:row.materialId}).then(response => {
selectMaterialInfosByVirtualMaterialId({materialId: row.materialId}).then(response => {
this.materialList = response.rows;
});
}

Loading…
Cancel
Save