盘点管理页面字段显示

This commit is contained in:
liuhanqing
2025-09-16 10:57:13 +08:00
parent f3637408cb
commit 5049b8e79f
20 changed files with 266 additions and 156 deletions

View File

@@ -34,7 +34,7 @@ public class ToWmsApiController {
@PostMapping("/requestEnterByTrayCode")
public AjaxResult requestEnterByTrayCode(@RequestBody RequestEnter requestEnter) {
AjaxResult ajaxResult = toWmsService.requestEnterByTrayCode(requestEnter);
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "入库任务请求(托盘)",ajaxResult);
RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "入库任务请求",ajaxResult);
requestLogService.insertRequestLog(requestLog);
return ajaxResult;
}

View File

@@ -8,8 +8,6 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor
@NoArgsConstructor
public class RequestEnter {
private String entranceId;
private String trayCode;
private String taskNo;
private String wmsType;
private String spec;
}

View File

@@ -9,6 +9,10 @@ import com.ruoyi.api.domain.RequestEnter;
import com.ruoyi.api.domain.RequestEnterResponse;
import com.ruoyi.api.domain.WmsJobRequest;
import com.ruoyi.api.service.IToWmsService;
import com.ruoyi.bas.BasProduct.domain.BasProduct;
import com.ruoyi.bas.BasProduct.service.IBasProductService;
import com.ruoyi.bas.BasProductCode.util.ProcodeUtils;
import com.ruoyi.bas.basJobId.service.IBasJobIdService;
import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace;
import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService;
import com.ruoyi.bas.container.domain.BasContainer;
@@ -18,8 +22,13 @@ import com.ruoyi.bas.tag.service.IBasTagService;
import com.ruoyi.bas.taskNo.service.IBasTaskNoService;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.device.agv.domain.AgvContainerTask;
import com.ruoyi.device.agv.service.IAgvContainerTaskService;
import com.ruoyi.in.stockin.domain.InStockin;
import com.ruoyi.in.stockin.service.IInStockinService;
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojob.service.IMydoJobService;
import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail;
@@ -58,77 +67,110 @@ public class ToWmsServiceImpl implements IToWmsService {
@Autowired
private IBasCargoSpaceService basCargoSpaceService;
@Autowired
private IOutStockoutDetailService outStockoutDetailService;
@Autowired
private IOutStockoutService outStockoutService;
@Autowired
private IAgvContainerTaskService agvContainerTaskService;
@Autowired
private IBasProductService basProductService;
@Autowired
private IBasJobIdService basJobIdService;
@Override
public AjaxResult requestEnterByTrayCode(RequestEnter requestEnter) {
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setTrayCode(requestEnter.getTrayCode());
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
if(mydoJobs.isEmpty()){
return AjaxResult.warn(MessageUtils.message("warn.message"));
if (StrUtil.isEmpty(requestEnter.getTrayCode())) {
return AjaxResult.error("托盘条码不能为空");
}
MydoJob mydoJob = mydoJobs.get(0);
if ("1".equals(mydoJob.getExecutionPhase())){
mydoJob.setExecutionPhase("2");
mydoJob.setEntranceId(requestEnter.getEntranceId());
mydoJob.setStatus("2");
mydoJobService.updateMydoJob(mydoJob);
log.info("扫码内容{}", requestEnter.getTrayCode());
//解析扫码内容
String trayCode = requestEnter.getTrayCode();
String[] split = trayCode.split(" ");
String model = split[0].substring(6);
String color = split[1].substring(6);
String serial = split[2].substring(7);
String v = split[3].substring(2);
String hz = split[4].substring(3);
String ph = split[5].substring(3);
String nw = split[6].substring(5);
String gw = split[7].substring(5);
String bm = split[8].substring(2, split[8].length() - 1);
String[] decode = ProcodeUtils.decode(bm);
String erpBill = decode[0];
String xh = decode[1];
String jx = decode[2];
String fx = decode[3];
String xlh = decode[4];
log.info("二维码详情 model:{},color:{},serial:{},v:{},hz:{},ph:{},nw:{},gw:{},erpBill:{},xh:{},jx:{},fx:{},xlh:{}", model, color, serial, v, hz, ph, nw, gw,erpBill, xh, jx, fx, xlh);
BasProduct basProductParam = new BasProduct();
basProductParam.setSpare4(xlh);
List<BasProduct> basProducts = basProductService.selectBasProductList(basProductParam);
if (CollUtil.isEmpty(basProducts)) {
return AjaxResult.error("物料信息不存在");
}
return AjaxResult.success(new RequestEnterResponse(mydoJob.getCargoSpaceId(),mydoJob.getTrayCode(),mydoJob.getTaskNo()));
BasProduct basProduct = basProducts.get(0);
if (!basProduct.getSpec().equals(requestEnter.getSpec())){
return AjaxResult.error("规格不一致");
}
//生成作业
MydoJob mydoJob = new MydoJob();
mydoJob.setJobId(basJobIdService.getJobId("RK"));
mydoJob.setStatus("1");
mydoJob.setTaskNo(Convert.toStr(basTaskNoService.getTaskNo("1")));
mydoJob.setDepartmentId(Convert.toStr(SecurityUtils.getDeptId()));
mydoJob.setTrayCode(requestEnter.getTrayCode());
return AjaxResult.success();
}
@Override
public AjaxResult jobFinish(WmsJobRequest wmsJobRequest) {
MydoJob mydoJobParam = new MydoJob();
switch (wmsJobRequest.getWmsType()){
switch (wmsJobRequest.getWmsType()) {
case "1":
if (StrUtil.isEmpty(wmsJobRequest.getTrayCode())){
if (StrUtil.isEmpty(wmsJobRequest.getTrayCode())) {
return AjaxResult.error(MessageUtils.message("error.message1"));
}
if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())){
if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())) {
return AjaxResult.error(MessageUtils.message("error.message2"));
}
//入库
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
List<MydoJob> inMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
if (inMydoJobs.isEmpty()){
if (inMydoJobs.isEmpty()) {
return AjaxResult.error(MessageUtils.message("warn.message"));
}
MydoJob inMydoJob = inMydoJobs.get(0);
mydoJobService.manualCompleted(inMydoJob,1);
mydoJobService.manualCompleted(inMydoJob, 1);
break;
case "2":
if (StrUtil.isEmpty(wmsJobRequest.getPickSsj())){
if (StrUtil.isEmpty(wmsJobRequest.getPickSsj())) {
return AjaxResult.error(MessageUtils.message("error.message3"));
}
if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())){
if (StrUtil.isEmpty(wmsJobRequest.getTaskNo())) {
return AjaxResult.error(MessageUtils.message("error.message2"));
}
//出库
mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo());
//mydoJobParam.setTrayCode(wmsJobRequest.getTrayCode());
List<MydoJob> outMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
if (outMydoJobs.isEmpty()){
if (outMydoJobs.isEmpty()) {
return AjaxResult.error(MessageUtils.message("warn.message"));
}
MydoJob outJob = outMydoJobs.get(0);
//料箱出库 需同步电子标签
if("23".equals(outJob.getInOrOut())){
if ("23".equals(outJob.getInOrOut())) {
//查询拣选工位绑定的电子标签
BasTag tagParam = new BasTag();
tagParam.setPickAdd(wmsJobRequest.getPickSsj());
tagParam.setSpare3("1");
List<BasTag> tags = iBasTagService.selectBasTagList(tagParam);
if (tags.isEmpty()){
if (tags.isEmpty()) {
return AjaxResult.error(MessageUtils.message("error.message4"));
}
BasTag basTag = tags.get(0);
@@ -154,13 +196,13 @@ public class ToWmsServiceImpl implements IToWmsService {
}
break;
case "3":
if (StrUtil.isEmpty(wmsJobRequest.getContainerCode())){
if (StrUtil.isEmpty(wmsJobRequest.getContainerCode())) {
return AjaxResult.error(MessageUtils.message("error.message5"));
}
if (StrUtil.isEmpty(wmsJobRequest.getPositionCode1())){
if (StrUtil.isEmpty(wmsJobRequest.getPositionCode1())) {
return AjaxResult.error(MessageUtils.message("error.message6"));
}
if (StrUtil.isEmpty(wmsJobRequest.getPositionCode2())){
if (StrUtil.isEmpty(wmsJobRequest.getPositionCode2())) {
return AjaxResult.error(MessageUtils.message("error.message7"));
}
//agv搬运作业
@@ -169,7 +211,7 @@ public class ToWmsServiceImpl implements IToWmsService {
basContainerParam.setContainerId(wmsJobRequest.getContainerCode());
//basContainerParam.setPortName(wmsJobRequest.getPositionCode2());
List<BasContainer> basContainers = basContainerService.selectBasContainerList(basContainerParam);
if (basContainers.isEmpty()){
if (basContainers.isEmpty()) {
log.error("没有该料架 {}", wmsJobRequest.getContainerCode());
return AjaxResult.error(MessageUtils.message("error.message11"));
}
@@ -182,7 +224,7 @@ public class ToWmsServiceImpl implements IToWmsService {
AgvContainerTask agvContainerTaskParam = new AgvContainerTask();
agvContainerTaskParam.setContainer(basContainer.getContainerId());
List<AgvContainerTask> agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTaskParam);
if (CollUtil.isNotEmpty(agvContainerTasks)){
if (CollUtil.isNotEmpty(agvContainerTasks)) {
for (AgvContainerTask agvContainerTask : agvContainerTasks) {
agvContainerTask.setStatus("2");
agvContainerTask.setFinishTime(DateUtil.formatDateTime(new Date()));
@@ -205,10 +247,10 @@ public class ToWmsServiceImpl implements IToWmsService {
MydoJob mydoJob = mydoJobService.selectMydoJobByJobId(reMaterialParam.getJobId());
String warehouseId = mydoJob.getWarehouseId();
BasCargoSpace basCargoSpace = basCargoSpaceService.selectEmptyCargoSpaceByWarehouseId(warehouseId);
if (basCargoSpace == null){
if (basCargoSpace == null) {
log.error("没有空货位");
return AjaxResult.error(MessageUtils.message("error.message20"));
}else {
} else {
mydoJob.setCargoSpaceId(basCargoSpace.getCargoSpaceId());
mydoJob.setFaultFlag("1");
mydoJobService.updateMydoJob(mydoJob);
@@ -235,13 +277,13 @@ public class ToWmsServiceImpl implements IToWmsService {
*/
@Override
public AjaxResult startSignal(RequestEnter requestEnter) {
switch (requestEnter.getWmsType()){
/*switch (requestEnter.getWmsType()) {
case "1":
case "2":
MydoJob mydoJobParam = new MydoJob();
mydoJobParam.setTaskNo(requestEnter.getTaskNo());
List<MydoJob> mydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam);
if (mydoJobs.isEmpty()){
if (mydoJobs.isEmpty()) {
return AjaxResult.error();
}
for (MydoJob mydoJob1 : mydoJobs) {
@@ -254,7 +296,7 @@ public class ToWmsServiceImpl implements IToWmsService {
AgvContainerTask agvContainerTaskParam = new AgvContainerTask();
agvContainerTaskParam.setTaskNo(requestEnter.getTaskNo());
List<AgvContainerTask> agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTaskParam);
if (CollUtil.isEmpty(agvContainerTasks)){
if (CollUtil.isEmpty(agvContainerTasks)) {
return AjaxResult.error();
}
for (AgvContainerTask agvContainerTask : agvContainerTasks) {
@@ -265,22 +307,24 @@ public class ToWmsServiceImpl implements IToWmsService {
return AjaxResult.success();
default:
return AjaxResult.error();
}
}*/
return AjaxResult.success();
}
/**
* ctu取完箱子反馈
* @param map{
* "portCode"
* "wmsType"
* }
*
* @param map{ "portCode"
* "wmsType"
* }
* @return
*/
@Override
public AjaxResult takeCompleted(Map<String, Object> map) {
String wmsType = Convert.toStr(map.get("wmsType"));
switch (wmsType){
switch (wmsType) {
case "1":
//流利架入库
String lljCode = Convert.toStr(map.get("portCode"));
@@ -291,20 +335,20 @@ public class ToWmsServiceImpl implements IToWmsService {
basTag.setSpare2("2");
iBasTagService.updateBasTag(basTag);
}
case "2":
case "2":
break;
case "3":
//小车搬运料架
String startPoint = Convert.toStr(map.get("portCode"));
BasContainer basContainerParam = new BasContainer();
basContainerParam.setPortName(startPoint);
List<BasContainer> basContainers = basContainerService.selectBasContainerList(basContainerParam);
for (BasContainer basContainer : basContainers) {
basContainer.setPortName("");
basContainerService.updateBasContainer(basContainer);
}
break;
case "3":
//小车搬运料架
String startPoint = Convert.toStr(map.get("portCode"));
BasContainer basContainerParam = new BasContainer();
basContainerParam.setPortName(startPoint);
List<BasContainer> basContainers = basContainerService.selectBasContainerList(basContainerParam);
for (BasContainer basContainer : basContainers) {
basContainer.setPortName("");
basContainerService.updateBasContainer(basContainer);
}
break;
default:
throw new RuntimeException("wmsType错误");
}

View File

@@ -1,8 +1,11 @@
package com.ruoyi.bas.BasProductCode.util;
import lombok.extern.slf4j.Slf4j;
import java.util.ArrayList;
import java.util.List;
@Slf4j
public class ProcodeUtils {
// 定义密钥,与原始逻辑保持一致
private static final String KEY = "0";

View File

@@ -131,11 +131,30 @@ public class CheckStockinDetail extends BaseEntity
@Excel(name = "备用字段6")
private String spare6;
@Excel(name = "备用字段7")
private String spare7;
@Excel(name = "备用字段8")
private String spare8;
@Excel(name = "备用字段9")
private String spare9;
private String productName;
private String status;
private String cargoSpaceName;
private ExtraField extraField;
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getCargoSpaceName() {
return cargoSpaceName;
}
@@ -449,6 +468,30 @@ public class CheckStockinDetail extends BaseEntity
return spare6;
}
public String getSpare7() {
return spare7;
}
public void setSpare7(String spare7) {
this.spare7 = spare7;
}
public String getSpare8() {
return spare8;
}
public void setSpare8(String spare8) {
this.spare8 = spare8;
}
public String getSpare9() {
return spare9;
}
public void setSpare9(String spare9) {
this.spare9 = spare9;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

View File

@@ -43,7 +43,7 @@ public class InStockinController extends BaseController
{
startPage();
List<InStockin> list = new ArrayList<>();
if (Convert.toInt(inStockin.getStatus())<4){
if (inStockin.getStatus()==null || Convert.toInt(inStockin.getStatus())<4){
list = inStockinService.selectInStockinList(inStockin);
}else {
list = inStockinFinishService.selectInStockinFinishListByInStockin(inStockin);

View File

@@ -94,6 +94,7 @@ public class InStockinServiceImpl implements IInStockinService
inStockin.setInType(inStockinVo.getInType());
inStockin.setWarehouseId(inStockinVo.getWarehouseId());
inStockin.setStatus("1");
inStockin.setStockSource("1");
inStockinMapper.insertInStockin(inStockin);
for (int i = 1; i <= productVoList.size(); i++) {
BasProduct basProduct = productVoList.get(i-1);

View File

@@ -43,7 +43,7 @@ public class InStockinDetailController extends BaseController
{
startPage();
List<InStockinDetail> list = new ArrayList<>();
if (Convert.toInt(inStockinDetail.getStatus())<4){
if (inStockinDetail.getStatus()==null ||Convert.toInt(inStockinDetail.getStatus())<4){
list = inStockinDetailService.selectInStockinDetailList(inStockinDetail);
}else {
list = inStockinDetailFinishService.selectInStockinDetailList(inStockinDetail);

View File

@@ -57,6 +57,8 @@ public class MydoJobDetail extends BaseEntity
/** 物料编码 */
@Excel(name = "物料编码")
private String productId;
@Excel(name = "物料名称")
private String productName;
/** 库存状态 */
@Excel(name = "库存状态")
@@ -129,31 +131,24 @@ public class MydoJobDetail extends BaseEntity
private String status;
@Excel(name = "拣选数量")
private String pickQuantity;
//额外字段
private ExtraField extraField;
private String pickQuantityReal;
//绑定容器物品数量
private String pickBindQuantity;
/** 备用字段4 */
@Excel(name = "电压")
private String spare5;
/** 备用字段4 */
@Excel(name = "功率")
private String spare6;
/** 备用字段4 */
@Excel(name = "相位")
private String spare7;
/** 备用字段4 */
@Excel(name = "毛重")
private String spare8;
/** 备用字段4 */
@Excel(name = "分销")
private String spare9;
/** 备用字段4 */
@Excel(name = "规格")
private String spec;
@Excel(name = "机型")
private String unit;
}

View File

@@ -103,15 +103,6 @@ public class PdaController extends BaseController {
return pdaService.emptyTrayIn(trayCodeMsg);
}
// /**
// * 空料箱入库
// */
// @RequestMapping("/emptyBoxIn")
// @ResponseBody
// public AjaxResult emptyBoxIn(@RequestBody TrayCodeMsg trayCodeMsg) {
// AjaxResult ajaxResult = pdaService.emptyBoxIn(trayCodeMsg);
// return ajaxResult;
// }
/**
* 空托盘库存查询

View File

@@ -68,17 +68,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="spare5" column="spare5" />
<result property="spare6" column="spare6" />
<result property="cargoSpaceName" column="cargo_space_name" />
<result property="spare7" column="spare7" />
<result property="spare8" column="spare8" />
<result property="spare9" column="spare9" />
<result property="productName" column="product_name" />
<association property="extraField" javaType="ExtraField">
<result property="productId" column="product_id" />
<result property="materialDesc" column="product_name" />
<result property="englishDesc" column="englishDesc" />
<result property="length" column="length" />
<result property="width" column="width" />
<result property="height" column="height" />
<result property="volume" column="volume" />
<result property="netWeight" column="netWeight" />
</association>
</resultMap>
<sql id="selectCheckStockinDetailVo">
@@ -86,12 +80,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
csd.quantity, csd.quantity_x, csd.quantity_j, csd.price, csd.cargo_no, csd.remark, csd.assign_num, csd.assign_num_x,
csd.assign_num_j, csd.print_date, csd.stock_status, csd.supplier_id, csd.customer_id, csd.unit, csd.spec,
csd.scan_num, csd.scan_num_x, csd.scan_num_j, csd.spare1, csd.spare2, csd.spare3, csd.spare4,csd.spare5, csd.spare6,
bp.product_name,bp.spare1 as englishDesc,
bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume,
bcs.cargo_space_name
bp.product_name,
bcs.cargo_space_name,
csd.spare7,
csd.spare8,
csd.spare9
from check_stockin_detail_finish csd
left join bas_product bp on csd.product_id = bp.product_id
left join bas_cargo_space bcs on csd.spare1 = bcs.cargo_space_id
left join bas_cargo_space bcs on csd.cargo_space_id = bcs.cargo_space_id
</sql>

View File

@@ -36,16 +36,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="spare5" column="spare5" />
<result property="spare6" column="spare6" />
<result property="cargoSpaceName" column="cargo_space_name" />
<association property="extraField" javaType="ExtraField">
<result property="productId" column="product_id" />
<result property="materialDesc" column="product_name" />
<result property="englishDesc" column="englishDesc" />
<result property="length" column="length" />
<result property="width" column="width" />
<result property="height" column="height" />
<result property="volume" column="volume" />
<result property="netWeight" column="netWeight" />
</association>
<result property="spare7" column="spare7" />
<result property="spare8" column="spare8" />
<result property="spare9" column="spare9" />
<result property="productName" column="product_name" />
</resultMap>
<sql id="selectCheckStockinDetailVo">
@@ -53,12 +48,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
csd.quantity, csd.quantity_x, csd.quantity_j, csd.price, csd.cargo_no, csd.remark, csd.assign_num, csd.assign_num_x,
csd.assign_num_j, csd.print_date, csd.stock_status, csd.supplier_id, csd.customer_id, csd.unit, csd.spec,
csd.scan_num, csd.scan_num_x, csd.scan_num_j, csd.spare1, csd.spare2, csd.spare3, csd.spare4,csd.spare5, csd.spare6,
bp.product_name,bp.spare1 as englishDesc,
bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume,
bcs.cargo_space_name
bp.product_name,
bcs.cargo_space_name,
csd.spare7,
csd.spare8,
csd.spare9
from check_stockin_detail csd
left join bas_product bp on csd.product_id = bp.product_id
left join bas_cargo_space bcs on csd.spare1 = bcs.cargo_space_id
left join bas_cargo_space bcs on csd.cargo_space_id = bcs.cargo_space_id
</sql>
<select id="selectCheckStockinDetailList" parameterType="CheckStockinDetail" resultMap="CheckStockinDetailResult">

View File

@@ -40,6 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="spare9" column="spare9" />
<result property="spec" column="spec" />
<result property="unit" column="unit" />
<result property="productName" column="product_name" />
</resultMap>
<select id="selectMydoJobDetailList" parameterType="MydoJobDetail" resultMap="MydoJobDetailResult">

View File

@@ -89,11 +89,11 @@
<div class="preview-row">
<div class="preview-col">
<span class="preview-label">N.W.:</span>
<span class="preview-value">{{ previewData.nW }}kg</span>
<span class="preview-value">{{ previewData.nW }}</span>
</div>
<div class="preview-col">
<span class="preview-label">G.W.:</span>
<span class="preview-value">{{ previewData.gW }}kg</span>
<span class="preview-value">{{ previewData.gW }}</span>
</div>
</div>
</div>
@@ -235,13 +235,7 @@
<script>
import VueQr from 'vue-qr'
import VueEasyPrint from 'vue-easy-print'
import {
listBasProductCode,
getBasProductCode,
delBasProductCode,
addBasProductCode,
updateBasProductCode
} from "@/api/bas/BasProductCode"
import {addBasProductCode, delBasProductCode, listBasProductCode, updateBasProductCode} from "@/api/bas/BasProductCode"
// 常量配置
const FORM_FIELDS = [
@@ -347,7 +341,12 @@ export default {
qrCodeValue() {
console.log(this.previewData)
const text = `${this.previewData.spare1}@${this.previewData.model}@${this.previewData.spare2}@${this.previewData.spare3}@${this.previewData.serial}`
return this.procode(text)
var bm = this.procode(text)
return "MODEL:" + this.previewData.model + " COLOR:" + this.previewData.color
+ " SERIAL:" + this.previewData.serial + " V:" + this.previewData.v
+ " Hz:" + this.previewData.hz + " PH:" + this.previewData.ph
+ " N.W.:" + this.previewData.nW + " G.W.:" + this.previewData.gW
+ " @:" + bm + "@"
},
// 是否有选中项
hasSelection() {

View File

@@ -146,6 +146,7 @@
<el-table-column label="相位" align="center" prop="spare7" />
<el-table-column label="净重" align="center" prop="spare2" />
<el-table-column label="毛重" align="center" prop="spare8" />
<el-table-column label="规格" align="center" prop="spec" />
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
@@ -208,6 +209,9 @@
<el-form-item label="毛重" prop="spare8">
<el-input v-model="form.spare8" placeholder="请输入毛重" />
</el-form-item>
<el-form-item label="规格" prop="spec">
<el-input v-model="form.spec" placeholder="请输入规格" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
</el-form-item>

View File

@@ -189,15 +189,19 @@
<el-table-column label="单据ID" align="left" prop="inOrOutId" />
<el-table-column label="子单据ID" align="left" prop="inOrOutDId" />
<el-table-column label="物料编码" align="left" prop="productId" />
<el-table-column label="物料描述" align="left" prop="extraField.materialDesc" />
<el-table-column label="英文描述" align="left" prop="extraField.englishDesc" />
<el-table-column label="净重" align="right" prop="extraField.netWeight" />
<el-table-column label="物料名称" align="left" prop="productName" />
<el-table-column label="机型" align="left" prop="unit"/><!--机型-->
<el-table-column label="分销" align="left" prop="spare9"/><!--分销-->
<el-table-column label="规格" align="left" prop="spec"/><!--规格-->
<el-table-column label="型号" align="left" prop="spare1"/><!--型号-->
<el-table-column label="净重" align="left" prop="spare2"/><!--净重-->
<el-table-column label="颜色" align="left" prop="spare3"/><!--颜色-->
<el-table-column label="序列号" align="left" prop="spare4"/><!--序列号-->
<el-table-column label="电压" align="left" prop="spare5"/><!--电压-->
<el-table-column label="功率" align="left" prop="spare6"/><!--功率-->
<el-table-column label="相位" align="left" prop="spare7"/><!--相位-->
<el-table-column label="毛重" align="left" prop="spare8"/><!--毛重-->
<el-table-column label="入库数量" align="right" prop="inQuantity" />
<el-table-column label="入库时间" align="left" prop="inDate" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.inDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
</el-table>
<pagination

View File

@@ -176,16 +176,23 @@
/>
<el-table v-loading="loading" :data="mydoJobDetailList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="子任务ID" align="left" prop="jobDetailId" /> <!-- 子任务ID -->
<el-table-column label="任务ID" align="left" prop="jobId" /> <!-- 任务ID -->
<el-table-column label="库存ID" align="left" prop="stockId" /> <!-- 库存ID -->
<el-table-column label="单据ID" align="left" prop="inOrOutId" /> <!-- 单据ID -->
<el-table-column label="单据ID" align="left" prop="inOrOutDId" /> <!-- 单据ID -->
<el-table-column label="物料id" align="left" prop="productId" /> <!-- 物料id -->
<el-table-column label="物料编码" align="left" prop="extraField.materialDesc" /> <!-- 物料编码 -->
<el-table-column label="英文描述" align="left" prop="extraField.englishDesc" /> <!-- 英文描述 -->
<el-table-column label="净重" align="right" prop="extraField.netWeight" /> <!-- 净重 -->
<el-table-column label="子任务ID" align="left" prop="jobDetailId" />
<el-table-column label="任务ID" align="left" prop="jobId" />
<el-table-column label="单据ID" align="left" prop="inOrOutId" />
<el-table-column label="子单据ID" align="left" prop="inOrOutDId" />
<el-table-column label="物料编码" align="left" prop="productId" />
<el-table-column label="物料名称" align="left" prop="productName" />
<el-table-column label="机型" align="left" prop="unit"/><!--机型-->
<el-table-column label="分销" align="left" prop="spare9"/><!--分销-->
<el-table-column label="规格" align="left" prop="spec"/><!--规格-->
<el-table-column label="型号" align="left" prop="spare1"/><!--型号-->
<el-table-column label="净重" align="left" prop="spare2"/><!--净重-->
<el-table-column label="颜色" align="left" prop="spare3"/><!--颜色-->
<el-table-column label="序列号" align="left" prop="spare4"/><!--序列号-->
<el-table-column label="电压" align="left" prop="spare5"/><!--电压-->
<el-table-column label="功率" align="left" prop="spare6"/><!--功率-->
<el-table-column label="相位" align="left" prop="spare7"/><!--相位-->
<el-table-column label="毛重" align="left" prop="spare8"/><!--毛重-->
<el-table-column label="出库数量" align="right" prop="outQuantity" /> <!-- 出库数量 -->
<el-table-column label="拣选数量" align="right" prop="pickQuantity" /> <!-- 拣选数量 -->
</el-table>

View File

@@ -130,9 +130,20 @@
<el-table-column label="子单ID" align="left" prop="stockCheckDetailId" />
<el-table-column label="主单ID" align="left" prop="stockCheckId" />
<el-table-column label="货位名称" align="left" prop="cargoSpaceName" />
<el-table-column label="物料编码" align="left" prop="productId"/>
<el-table-column label="物料描述" align="left" prop="extraField.materialDesc"/>
<el-table-column label="英文描述" align="left" prop="extraField.englishDesc"/>
<el-table-column label="物料编码" align="left" prop="productId"/><!--物料编码-->
<el-table-column label="物料名称" align="left" prop="productName"/><!--物料编码-->
<el-table-column label="批号" align="left" prop="lotNo"/><!--批号-->
<el-table-column label="机型" align="left" prop="unit"/><!--机型-->
<el-table-column label="分销" align="left" prop="spare9"/><!--分销-->
<el-table-column label="规格" align="left" prop="spec"/><!--规格-->
<el-table-column label="型号" align="left" prop="spare1"/><!--型号-->
<el-table-column label="净重" align="left" prop="spare2"/><!--净重-->
<el-table-column label="颜色" align="left" prop="spare3"/><!--颜色-->
<el-table-column label="序列号" align="left" prop="spare4"/><!--序列号-->
<el-table-column label="电压" align="left" prop="spare5"/><!--电压-->
<el-table-column label="功率" align="left" prop="spare6"/><!--功率-->
<el-table-column label="相位" align="left" prop="spare7"/><!--相位-->
<el-table-column label="毛重" align="left" prop="spare8"/><!--毛重-->
<el-table-column label="计划数量" align="right" prop="quantity"/>
<el-table-column label="扫码数量" align="right" prop="scanNum"/>
<el-table-column label="实际数量" align="right" prop="assignNum"/>

View File

@@ -6,19 +6,12 @@
</div>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<!-- <el-col :span="6">-->
<!-- <el-form-item label="仓库" prop="warehouseId">-->
<!-- <el-select v-model="form.warehouseId" placeholder="请选择仓库">-->
<!-- <el-option-->
<!-- v-for="item in warehouseOptions"-->
<!-- :key="item.warehouseId"-->
<!-- :label="item.warehouseName"-->
<!-- :value="item.warehouseId"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="6">
<el-col :span="4">
<el-form-item label="订单号" prop="erpBill">
<el-input v-model="form.erpBill" placeholder="请输入订单号"/>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item label="供应商" prop="supplierId">
<el-input
v-model="form.supplierName"
@@ -28,12 +21,20 @@
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="订单号" prop="erpBill">
<el-input v-model="form.erpBill" placeholder="请输入订单号"/>
<el-col :span="4">
<el-form-item label="单据类型" prop="inType"><!--单据类型-->
<el-select v-model="form.inType" placeholder="请选择单据类型" >
<el-option
v-for="dict in dict.type.in_bill_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-col :span="4">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注"/>
</el-form-item>
@@ -243,7 +244,7 @@ import {listWarehouse} from "@/api/bas/warehouse"
export default {
name: "InAdd",
dicts: ['sys_normal_disable', 'is_active', 'storage_cond', 'is_available'],
dicts: ['sys_normal_disable', 'is_active', 'storage_cond', 'is_available','in_bill_type'],
data() {
return {
// 表单参数
@@ -513,7 +514,7 @@ export default {
warehouseId: "01",
supplierId: this.form.supplierId,
remark: this.form.remark,
inType:"1",
inType:this.form.inType,
erpBill:this.form.erpBill,
productVoList: this.productList.map(item => ({
productId: item.productId,

View File

@@ -38,6 +38,16 @@
/>
</el-select>
</el-form-item>
<el-form-item label="单据来源" prop="stockSource"><!--单据来源-->
<el-select v-model="queryParams.stockSource" placeholder="请选择单据来源" >
<el-option
v-for="dict in dict.type.bill_resource"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="仓库" prop="warehouseId">&lt;!&ndash;仓库&ndash;&gt;-->
<!-- <el-select-->
<!-- v-model="queryParams.warehouseId"-->
@@ -135,6 +145,11 @@
<dict-tag :options="dict.type.in_bill_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="单据来源" align="left" prop="stockSource"><!--单据来源-->
<template slot-scope="scope">
<dict-tag :options="dict.type.bill_resource" :value="scope.row.stockSource"/>
</template>
</el-table-column>
<el-table-column label="仓库" align="left" prop="warehouseName"/><!--仓库-->
<el-table-column label="供应商" align="left" prop="supplierName"/><!--供应商-->
<el-table-column label="创建人" align="left" prop="createManName"/><!--创建人-->
@@ -215,7 +230,7 @@ import VueQr from 'vue-qr'
export default {
name: "StockIn",
dicts: ['bill_resource', 'in_bill_status', 'in_bill_type'],
dicts: ['bill_resource', 'in_bill_status', 'in_bill_type','bill_resource'],
components: {
vueEasyPrint,
VueQr
@@ -260,7 +275,7 @@ export default {
inType: null,
createDate: null,
createManId: null,
status: '1',
status: null,
warehouseId: null,
finishDate: null,
erpBill: null,