车间MES完善:
1、四楼装配工序增加对内成品出库功能
2、重新生成条码需要更新绑定条码
3、对内生产生产成品条码完整标识要为0
master
xs 3 months ago
parent 1a04f7d426
commit 07294c5b3a

@ -129,6 +129,9 @@ public class MesBaseBarcodeInfo extends BaseEntity
@Excel(name = "项目号")
private String projectNo;
private String completeFlag;//完整标识
/**
* 使使mes_product_plan_detailplan_detail_code*/
private String transferredPlanDetailCode;
@ -444,6 +447,14 @@ public class MesBaseBarcodeInfo extends BaseEntity
return projectNo;
}
public String getCompleteFlag() {
return completeFlag;
}
public void setCompleteFlag(String completeFlag) {
this.completeFlag = completeFlag;
}
public String getTransferredPlanDetailCode() {
return transferredPlanDetailCode;
}

@ -189,4 +189,11 @@ public class MesConstants {
*
*/
public static final String MES_FINAL_PROCESS_FLAG_YES = "1";//是
/**
*
*/
public static final String MES_BASE_BARCODE_COMPLETE_FLAG_YES = "1";
public static final String MES_BASE_BARCODE_COMPLETE_FLAG_NO = "0";
}

@ -52,8 +52,7 @@ public class MesApiController extends BaseController {
*
*/
@GetMapping("/getLoginStationInfo")
public AjaxResult getLoginStationInfo()
{
public AjaxResult getLoginStationInfo() {
MesBaseStationInfo loginStationInfo = mesBaseStationInfoService.getLoginStationInfo();
return success(loginStationInfo);
}
@ -231,6 +230,7 @@ public class MesApiController extends BaseController {
/**
*
*
* @param hashMap (installType=1,installType=2)
* @return
*/
@ -241,8 +241,6 @@ public class MesApiController extends BaseController {
}
/**
* plancodeplandetailcode
*/
@ -254,8 +252,7 @@ public class MesApiController extends BaseController {
@GetMapping("/listProductBarcode")
public TableDataInfo listProductBarcode(MesBaseBarcodeInfo mesBaseBarcodeInfo)
{
public TableDataInfo listProductBarcode(MesBaseBarcodeInfo mesBaseBarcodeInfo) {
startPage();
List<MesBaseBarcodeInfo> list = mesBaseBarcodeInfoService.selectMesBaseBarcodeInfoList(mesBaseBarcodeInfo);
return getDataTable(list);
@ -267,8 +264,7 @@ public class MesApiController extends BaseController {
*/
@Log(title = "条码信息", businessType = BusinessType.INSERT)
@PostMapping(value = "/addProductBarcode")
public AjaxResult addProductBarcode(@RequestBody MesBaseBarcodeInfo mesBaseBarcodeInfo)
{
public AjaxResult addProductBarcode(@RequestBody MesBaseBarcodeInfo mesBaseBarcodeInfo) {
return toAjax(mesBaseBarcodeInfoService.insertMesBaseBarcodeInfo(mesBaseBarcodeInfo));
}
@ -278,8 +274,7 @@ public class MesApiController extends BaseController {
*
*/
@GetMapping(value = "/selectProductBarcodeInfoByBarcodeInfo/{barcodeInfo}")
public AjaxResult selectProductBarcodeInfoByBarcodeInfo(@PathVariable("barcodeInfo") String barcodeInfo)
{
public AjaxResult selectProductBarcodeInfoByBarcodeInfo(@PathVariable("barcodeInfo") String barcodeInfo) {
return success(mesBaseBarcodeInfoService.selectProductBarcodeInfoByBarcodeInfo(barcodeInfo));
}
@ -288,32 +283,41 @@ public class MesApiController extends BaseController {
*/
@Log(title = "条码信息", businessType = BusinessType.INSERT)
@PostMapping(value = "/addInternalBarcode")
public AjaxResult addInternalBarcode(@RequestBody MesBaseBarcodeInfo mesBaseBarcodeInfo)
{
public AjaxResult addInternalBarcode(@RequestBody MesBaseBarcodeInfo mesBaseBarcodeInfo) {
return toAjax(mesBaseBarcodeInfoService.insertInternalMesBaseBarcode(mesBaseBarcodeInfo));
}
/**
* ()
*/
@Log(title = "条码信息", businessType = BusinessType.REGENERATE)
@PostMapping(value = "/regenerateBarcode")
public AjaxResult regenerateBarcode(@RequestBody MesBaseBarcodeInfo mesBaseBarcodeInfo)
{
public AjaxResult regenerateBarcode(@RequestBody MesBaseBarcodeInfo mesBaseBarcodeInfo) {
return toAjax(mesBaseBarcodeInfoService.regenerateBarcode(mesBaseBarcodeInfo));
}
/**
*
*
* @param barcodeIds
* @return
*/
@GetMapping(value = "/printProductBarcodes/{barcodeIds}")
public AjaxResult printProductBarcodes(@PathVariable Long[] barcodeIds)
{
public AjaxResult printProductBarcodes(@PathVariable Long[] barcodeIds) {
return success(mesBaseBarcodeInfoService.printBarcodes(barcodeIds, MesConstants.MES_BARCODE_TYPE_PRODUCT));
}
/**
*
*
* @param materialBarcode
* @return
*/
@GetMapping(value = "/check4thFloorProduceOutstock/{materialBarcode}")
public AjaxResult check4thFloorProduceOutstock(@PathVariable String materialBarcode) {
return success(mesBaseBarcodeInfoService.check4thFloorProduceOutstock(materialBarcode));
}
}

@ -167,4 +167,12 @@ public interface IMesBaseBarcodeInfoService
* @return
*/
public List<MesBaseBarcodeInfo> selectWarehouseBarCodeList(MesBaseBarcodeInfo mesBaseBarcodeInfo);
/**
*
* @param materialBarcode
* @return
*/
public int check4thFloorProduceOutstock(String materialBarcode);
}

@ -281,6 +281,8 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
String saleOrderCode;
Long materialId;
String barcode = Seq.getId(Seq.mesCompBarcodeSeqType, Seq.mesCompBarcodeCode);
//在五楼根据原材料条码单独生成成品条码
if (StringUtils.isNotEmpty(mesBaseBarcodeInfo.getSingleFlag()) &&
mesBaseBarcodeInfo.getSingleFlag().equals(MesConstants.MES_BARCODE_SINGLE_FLAG_YES)) {
String rawMaterialBarcode = mesBaseBarcodeInfo.getProductBarcode();
@ -357,6 +359,10 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
saleOrderId = productPlan.getSaleOrderId();
saleOrderCode = productPlan.getSaleorderCode();
materialId = productPlan.getMaterialId();
MesProductOrder mesProductOrder = mesProductOrderMapper.selectMesProductOrderByProductOrderId(productPlan.getProductOrderId());
mesBaseBarcodeInfo.setCompleteFlag(mesProductOrder.getSaleType().equals(MesConstants.MES_PRODUCT_ORDER_SALE)
? MesConstants.MES_BASE_BARCODE_COMPLETE_FLAG_YES : MesConstants.MES_BASE_BARCODE_COMPLETE_FLAG_NO);
}
@ -810,6 +816,13 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
throw new ServiceException("此成品条码已经打印过原材料条码,无需重复打印");
}
WmsProductStockVo queryProductStockVo = new WmsProductStockVo();
queryProductStockVo.setProductBatch(productBarcode);
R<Boolean> isExistProductStock = remoteWmsService.isExistProductStock(queryProductStockVo, SecurityConstants.INNER);
if (isExistProductStock.getData()) {
throw new ServiceException("此物料条码还未出库,不能生成原材料条码");
}
//先根据之前的成品条码信息获取托盘信息
MesBasePalletInfo queryPalletInfo = new MesBasePalletInfo();
queryPalletInfo.setMaterialBarcode(productBarcode);
@ -914,6 +927,17 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
mesBasePalletInfoMapper.updateMesBasePalletInfo(basePalletInfo);
}
MesBaseBarcodeInfo queryBindBarcode = new MesBaseBarcodeInfo();
queryBindBarcode.setBindBarcode(oldBarcode);
List<MesBaseBarcodeInfo> bindBarcodeInfos = mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoList(queryBindBarcode);
if (bindBarcodeInfos != null && !bindBarcodeInfos.isEmpty()) {
for (MesBaseBarcodeInfo bindBarcode : bindBarcodeInfos) {
bindBarcode.setBindBarcode(newBarcode);
bindBarcode.setUpdateBy(userName);
bindBarcode.setUpdateTime(currentDate);
mesBaseBarcodeInfoMapper.updateMesBaseBarcodeInfo(bindBarcode);
}
}
mesBaseBarcodeInfo.setBarcodeInfo(newBarcode);
mesBaseBarcodeInfo.setPrintFlag(MesConstants.MES_BARCODE_PRINT_FLAG_NO);
@ -946,4 +970,31 @@ public class MesBaseBarcodeInfoServiceImpl implements IMesBaseBarcodeInfoService
return mesBaseBarcodeInfoMapper.selectWarehouseBarCodeList(mesBaseBarcodeInfo);
}
/**
*
*
* @param materialBarcode
* @return
*/
@Override
public int check4thFloorProduceOutstock(String materialBarcode) {
MesBaseBarcodeInfo mesBaseBarcodeInfo = mesBaseBarcodeInfoMapper.selectMesBaseBarcodeInfoByBarcodeInfo(materialBarcode);
if (mesBaseBarcodeInfo == null) {
throw new ServiceException("物料条码有误");
}
String planCode = mesBaseBarcodeInfo.getPlanCode();
MesProductOrder mesProductOrder = mesProductOrderMapper.selectMesProductOrderByPlanCode(planCode);
if (mesProductOrder == null) {
throw new ServiceException("未找到生产任务");
}
if (!mesProductOrder.getSaleType().equals(MesConstants.MES_PRODUCT_ORDER_INTERNAL)) {
throw new ServiceException("此生产任务为外部销售,不能直接出库");
}
return 1;
}
}

@ -33,6 +33,7 @@
<result property="saleOrderId" column="sale_order_id"/>
<result property="saleorderCode" column="saleorder_code"/>
<result property="projectNo" column="project_no"/>
<result property="completeFlag" column="complete_flag"/>
<result property="transferredPlanDetailCode" column="transferred_plan_detail_code"/>
<result property="serialNumber" column="serial_number"/>
<result property="remark" column="remark"/>
@ -103,6 +104,8 @@
<if test="barcodeInfo != null and barcodeInfo != ''">and bbi.barcode_info = #{barcodeInfo}</if>
<if test="batchCode != null and batchCode != ''">and bbi.batch_code = #{batchCode}</if>
<if test="palletInfoCode != null and palletInfoCode != ''">and bbi.pallet_info_code = #{palletInfoCode}</if>
<if test="bindBarcode != null and bindBarcode != ''">and bbi.bind_barcode = #{bindBarcode}</if>
<if test="materialId != null ">and bbi.material_id = #{materialId}</if>
<if test="materialCode != null and materialCode != '' ">and bmi.material_code like concat('%', #{materialCode},
@ -174,6 +177,7 @@
<if test="saleOrderId != null">sale_order_id,</if>
<if test="saleorderCode != null">saleorder_code,</if>
<if test="projectNo != null">project_no,</if>
<if test="completeFlag != null">complete_flag,</if>
<if test="serialNumber != null">serial_number,</if>
<if test="remark != null">remark,</if>
<if test="bindStatus != null">bind_status,</if>
@ -210,6 +214,7 @@
<if test="saleOrderId != null">#{saleOrderId},</if>
<if test="saleorderCode != null">#{saleorderCode},</if>
<if test="projectNo != null">#{projectNo},</if>
<if test="completeFlag != null">#{completeFlag},</if>
<if test="serialNumber != null">#{serialNumber},</if>
<if test="remark != null">#{remark},</if>
<if test="bindStatus != null">#{bindStatus},</if>

@ -45,6 +45,9 @@ public class WmsApiController extends BaseController {
@Autowired
private IWmsProductInstockService wmsProductInstockService;
@Autowired
private IWmsProductOutstockService wmsProductOutstockService;
@Autowired
private IWmsErpScheduledTaskService wmsErpScheduledTaskService;
@ -146,6 +149,15 @@ public class WmsApiController extends BaseController {
return toAjax(wmsProductInstockService.fourthFloorProduceInstock(wmsProduceInstockVo));
}
/**
*
*/
@Log(title = "成品出库记录", businessType = BusinessType.INSERT)
@PostMapping(("/fourthFloorProduceOutstock"))
public AjaxResult fourthFloorProduceOutstock(@Validated @RequestBody WmsProduceInstockVo wmsProduceInstockVo) {
return toAjax(wmsProductOutstockService.fourthFloorProduceOutstock(wmsProduceInstockVo));
}
/**
* wcs
*/

@ -2,7 +2,9 @@ package com.hw.wms.service;
import java.util.List;
import com.hw.wms.domain.WmsProductOutstock;
import com.hw.wms.domain.vo.WmsProduceInstockVo;
import com.hw.wms.domain.vo.WmsProductOutstockConfirmVo;
import org.springframework.transaction.annotation.Transactional;
/**
* Service
@ -83,4 +85,13 @@ public interface IWmsProductOutstockService
* @return
*/
public int finalConfirmProductOutstock(WmsProductOutstockConfirmVo wmsProductOutstockConfirmVo);
/**
* (Web4)
*
* @param wmsProduceInstockVo
* @return
*/
public int fourthFloorProduceOutstock(WmsProduceInstockVo wmsProduceInstockVo);
}

@ -277,6 +277,7 @@ public class WmsProductInstockServiceImpl implements IWmsProductInstockService {
wmsProductStock.setPlanCode(baseBarcodeInfo.getPlanCode());
wmsProductStock.setPlanDetailCode(baseBarcodeInfo.getPlanDetailCode());
wmsProductStock.setWarehouseFloor(warehouseFloor);
wmsProductStock.setSaleOrderId(baseBarcodeInfo.getSaleOrderId());
wmsProductStock.setSaleorderCode(baseBarcodeInfo.getSaleorderCode());
// wmsProductStock.setQualityStatus(wmsRawInstockVo.getQualityStatus());
wmsProductStock.setTotalAmount(instockAmount);
@ -358,9 +359,9 @@ public class WmsProductInstockServiceImpl implements IWmsProductInstockService {
throw new ServiceException("物料条码有误");
}
// if (baseBarcodeInfo.getBarcodeType().equals(WmsConstants.RWA_STOCK_STOCK_TYPE_RAW)) {
// throw new ServiceException("此物料条码为原材料,非成品条码");
// }
if (baseBarcodeInfo.getBarcodeType().equals(WmsConstants.RWA_STOCK_STOCK_TYPE_RAW)) {
throw new ServiceException("此物料条码为原材料,非成品条码");
}
//按原材料入库的柜体原料码进行入库
if (baseBarcodeInfo.getPrintFlag().equals(MesConstants.MES_BARCODE_PRINT_FLAG_NO)) {
throw new ServiceException("此条码还未打印");
@ -405,8 +406,5 @@ public class WmsProductInstockServiceImpl implements IWmsProductInstockService {
return wmsProductInstockMapper.insertWmsProductInstock(wmsProductInstock);
}
public void syncToErp() {
//todo 根据质检状态是通过的同步给ERP
}
}

@ -93,11 +93,11 @@ public class WmsProductOutstockDetailServiceImpl implements IWmsProductOutstockD
R<MesBaseBarcodeInfo> baseBarcodeInfoR = remoteMesService.getBarcode(productBarcode, SecurityConstants.INNER);
if (baseBarcodeInfoR == null) {
throw new ServiceException("物料码有误");
throw new ServiceException("物料码有误");
}
MesBaseBarcodeInfo baseBarcodeInfo = baseBarcodeInfoR.getData();
if (baseBarcodeInfo == null) {
throw new ServiceException("物料码有误");
throw new ServiceException("物料码有误");
}
WmsProductOutstock productOutstock = wmsProductOutstockMapper.selectOnlyWmsProductOutstockByOutstockId(productOutstockId);
@ -106,7 +106,7 @@ public class WmsProductOutstockDetailServiceImpl implements IWmsProductOutstockD
}
if(!productOutstock.getProductId().equals(baseBarcodeInfo.getMaterialId())) {
throw new ServiceException("物料码有误");
throw new ServiceException("物料码有误");
}
if(StringUtils.isEmpty(locationCode) &&

@ -4,12 +4,18 @@ import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.hw.common.core.constant.SecurityConstants;
import com.hw.common.core.constant.WmsConstants;
import com.hw.common.core.domain.R;
import com.hw.common.core.exception.ServiceException;
import com.hw.common.core.utils.uuid.Seq;
import com.hw.common.security.utils.SecurityUtils;
import com.hw.mes.api.RemoteMesService;
import com.hw.mes.api.domain.MesBaseBarcodeInfo;
import com.hw.wms.config.WmsConfig;
import com.hw.wms.domain.WmsBaseWarehouse;
import com.hw.wms.domain.WmsProductStock;
import com.hw.wms.domain.vo.WmsProduceInstockVo;
import com.hw.wms.domain.vo.WmsProductOutstockConfirmVo;
import com.hw.wms.mapper.WmsBaseWarehouseMapper;
import com.hw.wms.mapper.WmsProductOutstockDetailMapper;
@ -26,6 +32,8 @@ import com.hw.wms.mapper.WmsProductOutstockMapper;
import com.hw.wms.domain.WmsProductOutstock;
import com.hw.wms.service.IWmsProductOutstockService;
import javax.annotation.Resource;
/**
* Service
*
@ -46,6 +54,12 @@ public class WmsProductOutstockServiceImpl implements IWmsProductOutstockService
@Autowired
private WmsBaseWarehouseMapper wmsBaseWarehouseMapper;
@Autowired
private WmsConfig wmsConfig;
@Resource
private RemoteMesService remoteMesService;
/**
*
*
@ -97,6 +111,8 @@ public class WmsProductOutstockServiceImpl implements IWmsProductOutstockService
queryProductStock.setSaleorderCode(saleorderCode);
queryProductStock.setProductId(productId);
queryProductStock.setSaleOrderId(wmsProductOutstock.getSaleOrderId());
//group by wps.warehouse_id,wps.sale_order_id,wps.product_id获取的以下库存信息
List<WmsProductStock> productStocks = wmsProductStockMapper.selectWmsProductStocksBySaleorder(queryProductStock);
if (productStocks == null || productStocks.isEmpty()) {
throw new ServiceException("没有库存");
@ -270,4 +286,57 @@ public class WmsProductOutstockServiceImpl implements IWmsProductOutstockService
return wmsProductOutstockDetailMapper.updateWmsProductOutstockDetail(productOutstockDetail);
}
/**
* (Web4)
*
* @param wmsProduceInstockVo
* @return
*/
@Override
@Transactional(rollbackFor = Exception.class)
public int fourthFloorProduceOutstock(WmsProduceInstockVo wmsProduceInstockVo) {
//对内生产可直接出库,外部销售需要申请后才能出库(外部销售在手机端操作出库)
Long warehouseId = wmsConfig.getFourthFloorProductWarehouseId();
String materialBarcode = wmsProduceInstockVo.getMaterialBarcode();
WmsProductStock productStock = wmsProductStockMapper.selectProductStockByBatch(materialBarcode);
BigDecimal availableAmount = getAvailableAmount(productStock); //可申请数量
if (availableAmount.compareTo(BigDecimal.ONE) < 0) {
throw new ServiceException("没有库存信息");
}
WmsProductOutstock wmsProductOutstock = new WmsProductOutstock();
String userName = SecurityUtils.getUsername();
Date currentDate = new Date();
wmsProductOutstock.setWarehouseId(warehouseId);
wmsProductOutstock.setProductType(WmsConstants.WMS_PRODUCT_OUTSTOCK_PRODUCT_TYPE_PRODUCT);
wmsProductOutstock.setOperationType(WmsConstants.WMS_OPERATION_TYPE_MANUAL);
wmsProductOutstock.setOutstockType(WmsConstants.WMS_PRODUCT_OUTSTOCK_TYPE_SALE);
wmsProductOutstock.setAuditStatus(WmsConstants.WMS_AUDIT_STATUS_PASS);
wmsProductOutstock.setExecuteStatus(WmsConstants.WMS_EXECUTE_STATUS_FINISH);
wmsProductOutstock.setApplyBy(userName);
wmsProductOutstock.setApplyDate(currentDate);
wmsProductOutstock.setTaskCode(Seq.getId(Seq.productOutstockSeqType, Seq.productOutstockCode));
wmsProductOutstockMapper.insertWmsProductOutstock(wmsProductOutstock);
return wmsProductStockMapper.deleteWmsProductStockByProductStockId(productStock.getProductStockId());
}
private static BigDecimal getAvailableAmount(WmsProductStock productStock) {
if (productStock == null) {
throw new ServiceException("没有库存信息");
}
/*获取仓库可用库存数量*/
BigDecimal totalAmount = productStock.getTotalAmount() == null ? BigDecimal.ZERO : productStock.getTotalAmount();
BigDecimal frozenAmount = productStock.getFrozenAmount() == null ? BigDecimal.ZERO : productStock.getFrozenAmount();//冻结数量暂时没用
BigDecimal occupyAmount = productStock.getOccupyAmount() == null ? BigDecimal.ZERO : productStock.getOccupyAmount();//
BigDecimal availableAmount = totalAmount.subtract(frozenAmount).subtract(occupyAmount);
return availableAmount;
}
}

@ -108,6 +108,7 @@
<if test="productId != null">product_id,</if>
<if test="planCode != null">plan_code,</if>
<if test="planDetailCode != null">plan_detail_code,</if>
<if test="saleOrderId != null">sale_order_id,</if>
<if test="saleorderCode != null">saleorder_code,</if>
<if test="totalAmount != null">total_amount,</if>
<if test="frozenAmount != null">frozen_amount,</if>
@ -130,6 +131,7 @@
<if test="productId != null">#{productId},</if>
<if test="planCode != null">#{planCode},</if>
<if test="planDetailCode != null">#{planDetailCode},</if>
<if test="saleOrderId != null">#{saleOrderId},</if>
<if test="saleorderCode != null">#{saleorderCode},</if>
<if test="totalAmount != null">#{totalAmount},</if>
<if test="frozenAmount != null">#{frozenAmount},</if>
@ -155,6 +157,7 @@
<if test="productId != null">product_id = #{productId},</if>
<if test="planCode != null">plan_code = #{planCode},</if>
<if test="planDetailCode != null">plan_detail_code = #{planDetailCode},</if>
<if test="saleOrderId != null">sale_order_id = #{saleOrderId},</if>
<if test="saleorderCode != null">saleorder_code = #{saleorderCode},</if>
<if test="totalAmount != null">total_amount = #{totalAmount},</if>
<if test="frozenAmount != null">frozen_amount = #{frozenAmount},</if>

@ -99,6 +99,25 @@ export function fourthFloorProduceInstock(data) {
})
}
// 校验四楼成品出库
export function check4thFloorProduceOutstock(materialBarcode) {
return request({
url: '/mes/api/check4thFloorProduceOutstock/'+materialBarcode,
method: 'get'
})
}
// 四楼成品出库
export function fourthFloorProduceOutstock(data) {
return request({
url: '/wms/api/fourthFloorProduceOutstock',
method: 'post',
data: data
})
}
//扫描物料条码确认使用
export function scanMaterial2Confirm(data) {
return request({

@ -221,7 +221,7 @@
<el-row>
<el-button type="primary">首页</el-button>
<el-button type="success" @click="handleProductInstock"></el-button>
<!--el-button type="warning" @click="connectSerialPort" ref="connectSerialBtn">连接条码枪</el-button-->
<el-button type="warning" @click="handleProductOutstock"></el-button>
<!--el-button type="info">最小化</el-button-->
<el-button type="danger" @click="logout">退</el-button>
</el-row>
@ -329,7 +329,7 @@
<el-dialog
:visible.sync="productInstockVisible"
title="成品入库"
:title="productInstockTitle"
width="40%">
<el-form ref="productInstockForm" :model="productInstockForm" :rules="productInstockRules" label-width="80px">
<el-form-item label="成品条码" prop="materialBarcode">
@ -378,7 +378,8 @@
<el-input v-model="returnModelForm.materialName" autocomplete="off" disabled></el-input>
</el-form-item-->
<el-form-item label="物料条码">
<el-input placeholder="请扫描或输入物料条码" v-model="returnModelForm.materialBarcode" suffix-icon="el-icon-full-screen">
<el-input placeholder="请扫描或输入物料条码" v-model="returnModelForm.materialBarcode"
suffix-icon="el-icon-full-screen">
</el-input>
</el-form-item>
<el-form-item label="仓库">
@ -388,7 +389,8 @@
</el-select>
</el-form-item>
<el-form-item label="数量" prop="planAmount">
<el-input-number v-model="returnModelForm.planAmount" controls-position="right" :min="1" style="width: 260px"></el-input-number>
<el-input-number v-model="returnModelForm.planAmount" controls-position="right" :min="1"
style="width: 260px"></el-input-number>
</el-form-item>
<el-form-item label="退库类型" prop="taskType">
<el-select v-model="returnModelForm.taskType" placeholder="请选择退库类型" style="width: 260px">
@ -421,6 +423,8 @@ import {
insertProductPlanDetails,
startProductPlanDetail,
fourthFloorProduceInstock,
check4thFloorProduceOutstock,
fourthFloorProduceOutstock,
scanMaterial2Confirm, applyRawReturn
} from "@/api/board";
import {monitorSerialData} from "@/utils/serial"
@ -461,7 +465,13 @@ export default {
tableData: [],
tableData1: [],
productInstockType: null,//
PRODUCT_INSTOCK_TYPE: {
INSTOCK: "1",//
OUTSTOCK: "2",//
},
productInstockVisible: false,
productInstockTitle:'',
productInstockForm: {
materialBarcode: null
},
@ -764,8 +774,6 @@ export default {
// },
async logout() {
this.$confirm('确定退出系统吗?', '提示', {
confirmButtonText: '确定',
@ -977,6 +985,19 @@ export default {
/** 成品入库按钮操作 */
handleProductInstock() {
this.productInstockTitle = "成品入库";
this.productInstockType = this.PRODUCT_INSTOCK_TYPE.INSTOCK;
this.handleProductStock();
},
/** 成品出库按钮操作 */
handleProductOutstock() {
this.productInstockTitle = "成品出库";
this.productInstockType = this.PRODUCT_INSTOCK_TYPE.OUTSTOCK;
this.handleProductStock();
},
handleProductStock() {
this.resetProductInstock();
this.productInstockVisible = true;
if (!this.checkSerialConnected()) {
@ -993,22 +1014,28 @@ export default {
showCancelButton: true,
type: 'warning'
}).then(() => {
console.log("dddd")
this.connectSerial(this.setSerialData);
}).catch(() => {
});
}
},
submitProductInstock() {
this.$refs["productInstockForm"].validate(valid => {
if (valid) {
if (this.productInstockType === this.PRODUCT_INSTOCK_TYPE.INSTOCK) {
fourthFloorProduceInstock(this.productInstockForm).then(response => {
this.$modal.msgSuccess("入库成功");
this.cancelProductInstock();
});
} else if (this.productInstockType === this.PRODUCT_INSTOCK_TYPE.OUTSTOCK) {
check4thFloorProduceOutstock(this.productInstockForm.materialBarcode).then(response => {
fourthFloorProduceOutstock(this.productInstockForm).then(response => {
this.$modal.msgSuccess("出库成功");
this.cancelProductInstock();
});
});
}
}
});
},

Loading…
Cancel
Save