rev: 成品出入库修改
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
package org.nl.wms.mps_manage.ordermanage.service.saleOrder.dao;
|
package org.nl.wms.mps_manage.ordermanage.service.saleOrder.dao;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
import com.baomidou.mybatisplus.annotation.TableName;
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -24,7 +26,8 @@ public class MpsSaleOrder implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 销售单标识
|
* 销售单标识
|
||||||
*/
|
*/
|
||||||
private Long sale_id;
|
@TableId
|
||||||
|
private String sale_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 销售单号
|
* 销售单号
|
||||||
@@ -44,7 +47,7 @@ public class MpsSaleOrder implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 物料标识
|
* 物料标识
|
||||||
*/
|
*/
|
||||||
private Long material_id;
|
private String material_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态
|
* 状态
|
||||||
@@ -64,7 +67,7 @@ public class MpsSaleOrder implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 客户标识
|
* 客户标识
|
||||||
*/
|
*/
|
||||||
private Long cust_id;
|
private String cust_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 客户编码
|
* 客户编码
|
||||||
@@ -79,7 +82,7 @@ public class MpsSaleOrder implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 计量单位标识
|
* 计量单位标识
|
||||||
*/
|
*/
|
||||||
private Long qty_unit_id;
|
private String qty_unit_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 计划交期
|
* 计划交期
|
||||||
@@ -89,7 +92,7 @@ public class MpsSaleOrder implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 创建人
|
* 创建人
|
||||||
*/
|
*/
|
||||||
private Long create_id;
|
private String create_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建人姓名
|
* 创建人姓名
|
||||||
@@ -104,7 +107,7 @@ public class MpsSaleOrder implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 提交人
|
* 提交人
|
||||||
*/
|
*/
|
||||||
private Long audit_optid;
|
private String audit_optid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 提交时间
|
* 提交时间
|
||||||
@@ -119,7 +122,7 @@ public class MpsSaleOrder implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 确认人
|
* 确认人
|
||||||
*/
|
*/
|
||||||
private Long confirm_optid;
|
private String confirm_optid;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 确认人姓名
|
* 确认人姓名
|
||||||
@@ -144,7 +147,7 @@ public class MpsSaleOrder implements Serializable {
|
|||||||
/**
|
/**
|
||||||
* 车间标识
|
* 车间标识
|
||||||
*/
|
*/
|
||||||
private Long workshop_id;
|
private String workshop_id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生产数量
|
* 生产数量
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ public class IostorInvQuery extends BaseQuery<StIvtIostorinvCp> {
|
|||||||
|
|
||||||
private String io_type;
|
private String io_type;
|
||||||
|
|
||||||
|
private String product_area;
|
||||||
|
|
||||||
private Boolean is_delete = false;
|
private Boolean is_delete = false;
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -29,8 +29,6 @@ import org.nl.wms.masterdata_manage.service.vehicle.IMdPbBucketrecordService;
|
|||||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService;
|
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleextService;
|
||||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleinfoService;
|
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbStoragevehicleinfoService;
|
||||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbBucketrecord;
|
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbBucketrecord;
|
||||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleext;
|
|
||||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbStoragevehicleinfo;
|
|
||||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattrService;
|
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattrService;
|
||||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
||||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr;
|
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr;
|
||||||
@@ -40,7 +38,6 @@ import org.nl.wms.scheduler_manage.service.point.ISchBasePointService;
|
|||||||
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
|
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
|
||||||
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
import org.nl.wms.scheduler_manage.service.task.ISchBaseTaskService;
|
||||||
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
import org.nl.wms.scheduler_manage.service.task.dao.SchBaseTask;
|
||||||
import org.nl.wms.storage_manage.CHANGE_BILL_TYPE_ENUM;
|
|
||||||
import org.nl.wms.storage_manage.IOSEnum;
|
import org.nl.wms.storage_manage.IOSEnum;
|
||||||
import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvCpOutService;
|
import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvCpOutService;
|
||||||
import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdisCpService;
|
import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdisCpService;
|
||||||
@@ -209,6 +206,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
List<StIvtIostorinvdtlCp> dtlDaoList = new ArrayList<>();
|
List<StIvtIostorinvdtlCp> dtlDaoList = new ArrayList<>();
|
||||||
|
|
||||||
if (whereJson.getBoolean("type")) {
|
if (whereJson.getBoolean("type")) {
|
||||||
|
// 全部分配
|
||||||
dtlDaoList = iostorinvdtlCpService.list(
|
dtlDaoList = iostorinvdtlCpService.list(
|
||||||
new QueryWrapper<StIvtIostorinvdtlCp>().lambda()
|
new QueryWrapper<StIvtIostorinvdtlCp>().lambda()
|
||||||
.eq(StIvtIostorinvdtlCp::getIostorinv_id, whereJson.getString("iostorinv_id"))
|
.eq(StIvtIostorinvdtlCp::getIostorinv_id, whereJson.getString("iostorinv_id"))
|
||||||
@@ -216,6 +214,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
.orderByAsc(StIvtIostorinvdtlCp::getSeq_no)
|
.orderByAsc(StIvtIostorinvdtlCp::getSeq_no)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
// 单条分配
|
||||||
dtlDaoList = iostorinvdtlCpService.list(
|
dtlDaoList = iostorinvdtlCpService.list(
|
||||||
new QueryWrapper<StIvtIostorinvdtlCp>().lambda()
|
new QueryWrapper<StIvtIostorinvdtlCp>().lambda()
|
||||||
.eq(StIvtIostorinvdtlCp::getIostorinvdtl_id, whereJson.getString("iostorinvdtl_id"))
|
.eq(StIvtIostorinvdtlCp::getIostorinvdtl_id, whereJson.getString("iostorinvdtl_id"))
|
||||||
@@ -237,8 +236,8 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
param.put("stor_id", whereJson.getString("stor_id"));
|
param.put("stor_id", whereJson.getString("stor_id"));
|
||||||
param.put("sect_id", whereJson.getString("sect_id"));
|
param.put("sect_id", whereJson.getString("sect_id"));
|
||||||
param.put("material_id", dtlDao.getMaterial_id());
|
param.put("material_id", dtlDao.getMaterial_id());
|
||||||
param.put("sale_id", dtlDao.getSource_billdtl_id());
|
param.put("sale_id", dtlDao.getBase_billdtl_id());
|
||||||
if (ObjectUtil.isEmpty(dtlDao.getSource_billdtl_id())) {
|
if (ObjectUtil.isEmpty(dtlDao.getBase_billdtl_id())) {
|
||||||
param.put("rule_type", RuleUtil.PRODUCTION_OUT_2);
|
param.put("rule_type", RuleUtil.PRODUCTION_OUT_2);
|
||||||
} else {
|
} else {
|
||||||
param.put("rule_type", RuleUtil.PRODUCTION_OUT_1);
|
param.put("rule_type", RuleUtil.PRODUCTION_OUT_1);
|
||||||
@@ -295,12 +294,14 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
// 1.找出所有分配
|
// 1.找出所有分配
|
||||||
List<StIvtIostorinvdisCp> disDaoList = new ArrayList<>();
|
List<StIvtIostorinvdisCp> disDaoList = new ArrayList<>();
|
||||||
if (whereJson.getBoolean("type")) {
|
if (whereJson.getBoolean("type")) {
|
||||||
|
// 全部取消
|
||||||
disDaoList = iostorinvdisCpService.list(
|
disDaoList = iostorinvdisCpService.list(
|
||||||
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||||
.eq(StIvtIostorinvdisCp::getIostorinv_id, whereJson.getString("iostorinv_id"))
|
.eq(StIvtIostorinvdisCp::getIostorinv_id, whereJson.getString("iostorinv_id"))
|
||||||
.orderByAsc(StIvtIostorinvdisCp::getSeq_no)
|
.orderByAsc(StIvtIostorinvdisCp::getSeq_no)
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
|
// 单条取消
|
||||||
disDaoList = iostorinvdisCpService.list(
|
disDaoList = iostorinvdisCpService.list(
|
||||||
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||||
.eq(StIvtIostorinvdisCp::getIostorinvdtl_id, whereJson.getString("iostorinvdtl_id"))
|
.eq(StIvtIostorinvdisCp::getIostorinvdtl_id, whereJson.getString("iostorinvdtl_id"))
|
||||||
@@ -397,11 +398,15 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
BussEventMulticaster.Publish(event);
|
BussEventMulticaster.Publish(event);
|
||||||
|
|
||||||
// 3.更新分配表
|
// 3.更新分配表
|
||||||
iostorinvdisCpService.updateById(
|
iostorinvdisCpService.update(
|
||||||
disDao.setPoint_id(pointDao.getPoint_id())
|
new UpdateWrapper<StIvtIostorinvdisCp>().lambda()
|
||||||
.setPoint_code(pointDao.getPoint_code())
|
.set(StIvtIostorinvdisCp::getPoint_id, pointDao.getPoint_id())
|
||||||
.setPoint_name(pointDao.getPoint_name())
|
.set(StIvtIostorinvdisCp::getPoint_code, pointDao.getPoint_code())
|
||||||
.setWork_status(IOSEnum.WORK_STATUS.code("生成"))
|
.set(StIvtIostorinvdisCp::getPoint_name, pointDao.getPoint_name())
|
||||||
|
.set(StIvtIostorinvdisCp::getWork_status, IOSEnum.WORK_STATUS.code("生成"))
|
||||||
|
.set(StIvtIostorinvdisCp::getTask_id, disDao.getTask_id())
|
||||||
|
.eq(StIvtIostorinvdisCp::getIostorinv_id, disDao.getIostorinv_id())
|
||||||
|
.eq(StIvtIostorinvdisCp::getStoragevehicle_code, disDao.getStoragevehicle_code())
|
||||||
);
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -458,21 +463,12 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
StIvtIostorinvdtlCp dtlDao = dtlDaoList.stream()
|
StIvtIostorinvdtlCp dtlDao = dtlDaoList.stream()
|
||||||
.filter(row -> row.getIostorinvdtl_id().equals(dao.getIostorinvdtl_id()))
|
.filter(row -> row.getIostorinvdtl_id().equals(dao.getIostorinvdtl_id()))
|
||||||
.findAny().get();
|
.findAny().get();
|
||||||
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(dao,ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY,dtlDao.getSource_billdtl_id()));
|
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(dao,ChangeIvtUtil.SUBFROZEN_SUBIVT_QTY,dtlDao.getBase_billdtl_id()));
|
||||||
|
|
||||||
// 3)解锁起点
|
// 3)解锁起点 / 将此托盘上的库存全部出掉
|
||||||
unLockNext(dao.getStruct_id());
|
unLockNext(dao.getStruct_id());
|
||||||
|
|
||||||
// 4) 更新载具扩展属性
|
// 4) 更新箱记录表为出库
|
||||||
iMdPbStoragevehicleextService.update(
|
|
||||||
new MdPbStoragevehicleext()
|
|
||||||
.setMaterial_id("")
|
|
||||||
.setStorage_qty(BigDecimal.valueOf(0)),
|
|
||||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
|
||||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code,dao.getStoragevehicle_code())
|
|
||||||
);
|
|
||||||
|
|
||||||
// 5) 更新箱记录表为出库
|
|
||||||
iMdPbBucketrecordService.update(
|
iMdPbBucketrecordService.update(
|
||||||
MdPbBucketrecord.builder()
|
MdPbBucketrecord.builder()
|
||||||
.status(MasterEnum.BOX_STATUS.code("出库"))
|
.status(MasterEnum.BOX_STATUS.code("出库"))
|
||||||
@@ -480,7 +476,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
new QueryWrapper<MdPbBucketrecord>().lambda()
|
new QueryWrapper<MdPbBucketrecord>().lambda()
|
||||||
.eq(MdPbBucketrecord::getStoragevehicle_code, dao.getStoragevehicle_code())
|
.eq(MdPbBucketrecord::getStoragevehicle_code, dao.getStoragevehicle_code())
|
||||||
.eq(MdPbBucketrecord::getMaterial_id, dao.getMaterial_id())
|
.eq(MdPbBucketrecord::getMaterial_id, dao.getMaterial_id())
|
||||||
.eq(MdPbBucketrecord::getStatus, MasterEnum.BOX_STATUS.code("入库"))
|
.eq(MdPbBucketrecord::getStatus, MasterEnum.BOX_STATUS.code("出库"))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -491,7 +487,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
JSONObject param = new JSONObject();
|
JSONObject param = new JSONObject();
|
||||||
param.put("material_id", whereJson.getString("material_id"));
|
param.put("material_id", whereJson.getString("material_id"));
|
||||||
param.put("stor_id", whereJson.getString("stor_id"));
|
param.put("stor_id", whereJson.getString("stor_id"));
|
||||||
if (ObjectUtil.isNotEmpty(whereJson.getString("source_billdtl_id"))) param.put("sale_id", whereJson.getString("source_billdtl_id"));
|
if (ObjectUtil.isNotEmpty(whereJson.getString("base_billdtl_id"))) param.put("sale_id", whereJson.getString("base_billdtl_id"));
|
||||||
if (ObjectUtil.isNotEmpty(whereJson.getString("search"))) param.put("remark", whereJson.getString("search"));
|
if (ObjectUtil.isNotEmpty(whereJson.getString("search"))) param.put("remark", whereJson.getString("search"));
|
||||||
if (ObjectUtil.isNotEmpty(whereJson.getString("sect_id"))) param.put("sect_id", whereJson.getString("sect_id"));
|
if (ObjectUtil.isNotEmpty(whereJson.getString("sect_id"))) param.put("sect_id", whereJson.getString("sect_id"));
|
||||||
|
|
||||||
@@ -550,7 +546,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
String status = form.getString("status");
|
String status = form.getString("status");
|
||||||
|
|
||||||
StIvtIostorinvdisCp disDao = iostorinvdisCpService.getOne(new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
StIvtIostorinvdisCp disDao = iostorinvdisCpService.getOne(new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||||
.eq(StIvtIostorinvdisCp::getTask_id, task_id));
|
.eq(StIvtIostorinvdisCp::getTask_id, task_id),false);
|
||||||
|
|
||||||
// 更新任务状态为完成
|
// 更新任务状态为完成
|
||||||
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) {
|
if (status.equals(AcsTaskEnum.STATUS_FINISH.getCode())) {
|
||||||
@@ -567,12 +563,23 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
.eq(StIvtIostorinvdisCp::getTask_id, task_id)
|
.eq(StIvtIostorinvdisCp::getTask_id, task_id)
|
||||||
.set(StIvtIostorinvdisCp::getWork_status, IOSEnum.WORK_STATUS.code("完成"))
|
.set(StIvtIostorinvdisCp::getWork_status, IOSEnum.WORK_STATUS.code("完成"))
|
||||||
);
|
);
|
||||||
|
|
||||||
// 调用分配完成
|
// 调用分配完成
|
||||||
JSONObject mst_jo = new JSONObject();
|
Map<String, List<StIvtIostorinvdisCp>> collect = iostorinvdisCpService.list(
|
||||||
mst_jo.put("iostorinvdtl_id", disDao.getIostorinvdtl_id());
|
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||||
mst_jo.put("iostorinv_id", disDao.getIostorinv_id());
|
.eq(StIvtIostorinvdisCp::getTask_id, task_id)
|
||||||
mst_jo.put("is_out", true);
|
)
|
||||||
iostorinvdisCpService.confirm(mst_jo);
|
.stream()
|
||||||
|
.collect(Collectors.groupingBy(StIvtIostorinvdisCp::getIostorinvdtl_id));
|
||||||
|
|
||||||
|
for(List<StIvtIostorinvdisCp> list : collect.values()) {
|
||||||
|
StIvtIostorinvdisCp disDao_2 = list.get(0);
|
||||||
|
JSONObject mst_jo = new JSONObject();
|
||||||
|
mst_jo.put("iostorinvdtl_id", disDao_2.getIostorinvdtl_id());
|
||||||
|
mst_jo.put("iostorinv_id", disDao_2.getIostorinv_id());
|
||||||
|
mst_jo.put("is_out", true);
|
||||||
|
iostorinvdisCpService.confirm(mst_jo);
|
||||||
|
}
|
||||||
|
|
||||||
} else if (status.equals(AcsTaskEnum.STATUS_START.getCode())) {
|
} else if (status.equals(AcsTaskEnum.STATUS_START.getCode())) {
|
||||||
// 更新任务为执行中
|
// 更新任务为执行中
|
||||||
@@ -609,12 +616,15 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
);
|
);
|
||||||
|
|
||||||
// 2.更新分配
|
// 2.更新分配
|
||||||
disDao.setTask_id("");
|
iostorinvdisCpService.update(
|
||||||
disDao.setPoint_code("");
|
new UpdateWrapper<StIvtIostorinvdisCp>().lambda()
|
||||||
disDao.setPoint_id("");
|
.set(StIvtIostorinvdisCp::getTask_id, "")
|
||||||
disDao.setPoint_name("");
|
.set(StIvtIostorinvdisCp::getPoint_id, "")
|
||||||
disDao.setWork_status(IOSEnum.WORK_STATUS.code("未生成"));
|
.set(StIvtIostorinvdisCp::getPoint_code,"")
|
||||||
iostorinvdisCpService.updateById(disDao);
|
.set(StIvtIostorinvdisCp::getPoint_name,"")
|
||||||
|
.set(StIvtIostorinvdisCp::getWork_status, IOSEnum.WORK_STATUS.code("未生成"))
|
||||||
|
.eq(StIvtIostorinvdisCp::getTask_id, disDao.getTask_id())
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -719,6 +729,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
stIvtIostorinvCp.setStor_id(bsrealDao.getStor_id());
|
stIvtIostorinvCp.setStor_id(bsrealDao.getStor_id());
|
||||||
stIvtIostorinvCp.setStor_code(bsrealDao.getStor_code());
|
stIvtIostorinvCp.setStor_code(bsrealDao.getStor_code());
|
||||||
stIvtIostorinvCp.setStor_name(bsrealDao.getStor_name());
|
stIvtIostorinvCp.setStor_name(bsrealDao.getStor_name());
|
||||||
|
stIvtIostorinvCp.setProduct_area(bsrealDao.getProduct_area());
|
||||||
stIvtIostorinvCp.setTotal_qty(whereJson.getBigDecimal("total_qty"));
|
stIvtIostorinvCp.setTotal_qty(whereJson.getBigDecimal("total_qty"));
|
||||||
stIvtIostorinvCp.setDetail_count(rows.size());
|
stIvtIostorinvCp.setDetail_count(rows.size());
|
||||||
stIvtIostorinvCp.setRemark(whereJson.getString("remark"));
|
stIvtIostorinvCp.setRemark(whereJson.getString("remark"));
|
||||||
@@ -818,7 +829,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
param.put("ivt_level", dao.getIvt_level());
|
param.put("ivt_level", dao.getIvt_level());
|
||||||
param.put("quality_scode", dao.getQuality_scode());
|
param.put("quality_scode", dao.getQuality_scode());
|
||||||
param.put("change_qty", dao.getReal_qty());
|
param.put("change_qty", dao.getReal_qty());
|
||||||
param.put("sale_id", dtlDao.getSource_billdtl_id());
|
param.put("sale_id", dtlDao.getBase_billdtl_id());
|
||||||
param.put("change_type", type);
|
param.put("change_type", type);
|
||||||
iStIvtStructivtCpService.UpdateIvt(param);
|
iStIvtStructivtCpService.UpdateIvt(param);
|
||||||
|
|
||||||
@@ -852,26 +863,30 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
|||||||
public void unLockNext(String struct_id) {
|
public void unLockNext(String struct_id) {
|
||||||
|
|
||||||
StIvtStructattr attrDao = iStIvtStructattrService.getById(struct_id);
|
StIvtStructattr attrDao = iStIvtStructattrService.getById(struct_id);
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(attrDao)) throw new BadRequestException("仓位不存在!");
|
if (ObjectUtil.isEmpty(attrDao)) throw new BadRequestException("仓位不存在!");
|
||||||
|
|
||||||
// 判断载具是否超限
|
// 判断载具是否超限
|
||||||
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getOne(
|
if (StrUtil.equals(attrDao.getIs_zdepth(),IOSEnum.IS_USED.code("是"))) {
|
||||||
new QueryWrapper<MdPbStoragevehicleinfo>().lambda()
|
|
||||||
.eq(MdPbStoragevehicleinfo::getStoragevehicle_code, attrDao.getStoragevehicle_code())
|
|
||||||
);
|
|
||||||
|
|
||||||
if (StrUtil.equals(vehicleDao.getOverstruct_type(),IOSEnum.IS_USED.code("是"))) {
|
|
||||||
// 解锁超限货位
|
// 解锁超限货位
|
||||||
iStIvtStructattrService.update(
|
iStIvtStructattrService.update(
|
||||||
new UpdateWrapper<StIvtStructattr>().lambda()
|
new UpdateWrapper<StIvtStructattr>().lambda()
|
||||||
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
||||||
.eq(StIvtStructattr::getControl_code,attrDao.getStruct_id())
|
.eq(StIvtStructattr::getStruct_id,attrDao.getControl_code())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 将此托盘上的所有库存删除
|
||||||
|
iStIvtStructivtCpService.remove(
|
||||||
|
new QueryWrapper<StIvtStructivtCp>().lambda()
|
||||||
|
.eq(StIvtStructivtCp::getStruct_id, struct_id)
|
||||||
|
.eq(StIvtStructivtCp::getFrozen_qty, 0)
|
||||||
|
);
|
||||||
|
|
||||||
attrDao.setInv_code("");
|
attrDao.setInv_code("");
|
||||||
attrDao.setInv_type("");
|
attrDao.setInv_type("");
|
||||||
attrDao.setInv_id("");
|
attrDao.setInv_id("");
|
||||||
|
attrDao.setIs_zdepth("");
|
||||||
attrDao.setStoragevehicle_code("");
|
attrDao.setStoragevehicle_code("");
|
||||||
attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("未锁定"));
|
attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("未锁定"));
|
||||||
iStIvtStructattrService.updateById(attrDao);
|
iStIvtStructattrService.updateById(attrDao);
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtBsrealstorattr
|
|||||||
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrService;
|
||||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr;
|
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr;
|
||||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||||
|
import org.nl.wms.mps_manage.ordermanage.service.saleOrder.IMpsSaleOrderService;
|
||||||
|
import org.nl.wms.mps_manage.ordermanage.service.saleOrder.dao.MpsSaleOrder;
|
||||||
import org.nl.wms.product_manage.sch.manage.TaskStatusEnum;
|
import org.nl.wms.product_manage.sch.manage.TaskStatusEnum;
|
||||||
import org.nl.wms.scheduler_manage.service.point.ISchBasePointService;
|
import org.nl.wms.scheduler_manage.service.point.ISchBasePointService;
|
||||||
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
|
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
|
||||||
@@ -118,6 +120,9 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
@Autowired
|
@Autowired
|
||||||
protected IMdPbBucketrecordService iMdPbBucketrecordService; // 包装箱记录表服务
|
protected IMdPbBucketrecordService iMdPbBucketrecordService; // 包装箱记录表服务
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected IMpsSaleOrderService iMpsSaleOrderService; // 销售单服务
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object pageQuery(IostorInvQuery query, PageQuery page) {
|
public Object pageQuery(IostorInvQuery query, PageQuery page) {
|
||||||
// 查询条件
|
// 查询条件
|
||||||
@@ -140,6 +145,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
|
|
||||||
// 调用主表 插入/更新方法
|
// 调用主表 插入/更新方法
|
||||||
StIvtIostorinvCp stIvtIostorinvCp = packageMstForm(new StIvtIostorinvCp(), form, false);
|
StIvtIostorinvCp stIvtIostorinvCp = packageMstForm(new StIvtIostorinvCp(), form, false);
|
||||||
|
|
||||||
// 插入主表
|
// 插入主表
|
||||||
this.save(stIvtIostorinvCp);
|
this.save(stIvtIostorinvCp);
|
||||||
|
|
||||||
@@ -394,7 +400,6 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
StIvtStructattr attrDao = new StIvtStructattr();
|
StIvtStructattr attrDao = new StIvtStructattr();
|
||||||
|
|
||||||
// 1.根据仓库、库区找出一个仓位
|
// 1.根据仓库、库区找出一个仓位
|
||||||
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getById(disDao.getStoragevehicle_id());
|
|
||||||
if (ObjectUtil.isEmpty(struct_id)) {
|
if (ObjectUtil.isEmpty(struct_id)) {
|
||||||
/* 自动分配 */
|
/* 自动分配 */
|
||||||
|
|
||||||
@@ -409,7 +414,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
/* 手动分配 */
|
/* 手动分配 */
|
||||||
if (StrUtil.equals(vehicleDao.getOverstruct_type(),IOSEnum.IS_USED.code("是")))
|
if (StrUtil.equals(whereJson.getString("vehicle_overstruct_type"),IOSEnum.VEHICLE_OVER_TYPE.code("横向超")))
|
||||||
throw new BadRequestException("载具超限请自动分配!");
|
throw new BadRequestException("载具超限请自动分配!");
|
||||||
|
|
||||||
// 查出对应仓位
|
// 查出对应仓位
|
||||||
@@ -431,6 +436,9 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
attrDao.setInv_type(IOSEnum.IO_TYPE.code("入库"));
|
attrDao.setInv_type(IOSEnum.IO_TYPE.code("入库"));
|
||||||
attrDao.setInv_id(mstDao.getIostorinv_id());
|
attrDao.setInv_id(mstDao.getIostorinv_id());
|
||||||
attrDao.setInv_code(mstDao.getBill_code());
|
attrDao.setInv_code(mstDao.getBill_code());
|
||||||
|
if (StrUtil.equals(whereJson.getString("vehicle_overstruct_type"),IOSEnum.VEHICLE_OVER_TYPE.code("横向超"))) {
|
||||||
|
attrDao.setIs_zdepth(IOSEnum.IS_USED.code("是"));
|
||||||
|
}
|
||||||
iStIvtStructattrService.updateById(attrDao);
|
iStIvtStructattrService.updateById(attrDao);
|
||||||
|
|
||||||
// 4.更新库存
|
// 4.更新库存
|
||||||
@@ -440,7 +448,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
.eq(StIvtIostorinvdisCp::getStoragevehicle_code, whereJson.getString("storagevehicle_code"))
|
.eq(StIvtIostorinvdisCp::getStoragevehicle_code, whereJson.getString("storagevehicle_code"))
|
||||||
)
|
)
|
||||||
.stream()
|
.stream()
|
||||||
.collect(Collectors.groupingBy(StIvtIostorinvdisCp::getMaterial_id));
|
.collect(Collectors.groupingBy(StIvtIostorinvdisCp::getIostorinvdtl_id));
|
||||||
|
|
||||||
for (List<StIvtIostorinvdisCp> list : collect.values()) {
|
for (List<StIvtIostorinvdisCp> list : collect.values()) {
|
||||||
|
|
||||||
@@ -454,8 +462,10 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
|
|
||||||
StIvtIostorinvdtlCp dtlDao = iostorinvdtlCpService.getById(disDao_1.getIostorinvdtl_id());
|
StIvtIostorinvdtlCp dtlDao = iostorinvdtlCpService.getById(disDao_1.getIostorinvdtl_id());
|
||||||
|
|
||||||
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(disDao_1,ChangeIvtUtil.ADDWAREHOUSING_QTY,dtlDao.getBase_billdtl_id()));
|
JSONObject param = ivtDataParam(disDao_1, ChangeIvtUtil.ADDWAREHOUSING_QTY, dtlDao.getBase_billdtl_id());
|
||||||
|
param.put("product_area", mstDao.getProduct_area());
|
||||||
|
param.put("stor_id", mstDao.getStor_id());
|
||||||
|
iStIvtStructivtCpService.UpdateIvt(param);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -502,28 +512,32 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
.lt(SchBaseTask::getTask_status, TaskStatusEnum.ISSUE.getCode())
|
.lt(SchBaseTask::getTask_status, TaskStatusEnum.ISSUE.getCode())
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
// 判断载具是否超限
|
||||||
|
StIvtStructattr attrDao = iStIvtStructattrService.getById(disDao.getStruct_id());
|
||||||
|
|
||||||
|
if (StrUtil.equals(attrDao.getIs_zdepth(),IOSEnum.IS_USED.code("是"))) {
|
||||||
|
|
||||||
|
// 解锁超限货位
|
||||||
|
iStIvtStructattrService.update(
|
||||||
|
new UpdateWrapper<StIvtStructattr>().lambda()
|
||||||
|
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
||||||
|
.eq(StIvtStructattr::getStruct_id,attrDao.getControl_code())
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
// 解锁货位
|
// 解锁货位
|
||||||
iStIvtStructattrService.update(
|
iStIvtStructattrService.update(
|
||||||
new StIvtStructattr()
|
new StIvtStructattr()
|
||||||
.setLock_type(IOSEnum.LOCK_TYPE.code("未锁定"))
|
.setLock_type(IOSEnum.LOCK_TYPE.code("未锁定"))
|
||||||
.setInv_code("")
|
.setInv_code("")
|
||||||
.setInv_type("")
|
.setInv_type("")
|
||||||
|
.setIs_zdepth("")
|
||||||
.setInv_id(""),
|
.setInv_id(""),
|
||||||
new QueryWrapper<StIvtStructattr>().lambda()
|
new QueryWrapper<StIvtStructattr>().lambda()
|
||||||
.eq(StIvtStructattr::getStruct_code, disDao.getStruct_code())
|
.eq(StIvtStructattr::getStruct_id, disDao.getStruct_id())
|
||||||
);
|
);
|
||||||
|
|
||||||
// 判断载具是否超限
|
|
||||||
if (StrUtil.equals(whereJson.getString("vehicle_overstruct_type"),IOSEnum.VEHICLE_OVER_TYPE.code("横向超"))) {
|
|
||||||
|
|
||||||
// 解锁超限货位
|
|
||||||
iStIvtStructattrService.update(
|
|
||||||
new UpdateWrapper<StIvtStructattr>().lambda()
|
|
||||||
.set(StIvtStructattr::getLock_type, IOSEnum.LOCK_TYPE.code("未锁定"))
|
|
||||||
.eq(StIvtStructattr::getControl_code,disDao.getStruct_id())
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 更新库存
|
// 更新库存
|
||||||
Map<String, List<StIvtIostorinvdisCp>> collect = iostorinvdisCpService.list(
|
Map<String, List<StIvtIostorinvdisCp>> collect = iostorinvdisCpService.list(
|
||||||
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||||
@@ -531,7 +545,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
.eq(StIvtIostorinvdisCp::getStoragevehicle_code, whereJson.getString("storagevehicle_code"))
|
.eq(StIvtIostorinvdisCp::getStoragevehicle_code, whereJson.getString("storagevehicle_code"))
|
||||||
)
|
)
|
||||||
.stream()
|
.stream()
|
||||||
.collect(Collectors.groupingBy(StIvtIostorinvdisCp::getMaterial_id));
|
.collect(Collectors.groupingBy(StIvtIostorinvdisCp::getIostorinvdtl_id));
|
||||||
|
|
||||||
for (List<StIvtIostorinvdisCp> list : collect.values()) {
|
for (List<StIvtIostorinvdisCp> list : collect.values()) {
|
||||||
|
|
||||||
@@ -543,7 +557,9 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
StIvtIostorinvdisCp disDao_1 = list.get(0);
|
StIvtIostorinvdisCp disDao_1 = list.get(0);
|
||||||
disDao_1.setPlan_qty(qty);
|
disDao_1.setPlan_qty(qty);
|
||||||
|
|
||||||
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(disDao_1,ChangeIvtUtil.SUBWAREHOUSING_QTY,null));
|
StIvtIostorinvdtlCp dtlDao = iostorinvdtlCpService.getById(disDao_1.getIostorinvdtl_id());
|
||||||
|
|
||||||
|
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(disDao_1,ChangeIvtUtil.SUBWAREHOUSING_QTY,dtlDao.getBase_billdtl_id()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -715,12 +731,24 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 2)更新库存
|
// 2)更新库存
|
||||||
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(dao,ChangeIvtUtil.SUBWAREHOUSING_ADDIVT_QTY,null));
|
StIvtIostorinvdtlCp dtlDao = iostorinvdtlCpService.getById(dao.getIostorinvdtl_id());
|
||||||
|
|
||||||
|
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(dao,ChangeIvtUtil.SUBWAREHOUSING_ADDIVT_QTY,dtlDao.getBase_billdtl_id()));
|
||||||
|
|
||||||
// 3)解锁终点
|
// 3)解锁终点
|
||||||
unLockNext(dao.getStruct_id(),dao.getStoragevehicle_code());
|
unLockNext(dao.getStruct_id(),dao.getStoragevehicle_code());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 6.更新销售单生产数量
|
||||||
|
for (StIvtIostorinvdtlCp dao : dtlDaoList) {
|
||||||
|
MpsSaleOrder orderDao = iMpsSaleOrderService.getById(dao.getBase_billdtl_id());
|
||||||
|
|
||||||
|
if (ObjectUtil.isNotEmpty(orderDao)) {
|
||||||
|
orderDao.setProduct_qty(NumberUtil.add(orderDao.getProduct_qty(),dao.getAssign_qty()));
|
||||||
|
iMpsSaleOrderService.updateById(orderDao);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -873,6 +901,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
|||||||
stIvtIostorinvCp.setStor_id(bsrealDao.getStor_id());
|
stIvtIostorinvCp.setStor_id(bsrealDao.getStor_id());
|
||||||
stIvtIostorinvCp.setStor_code(bsrealDao.getStor_code());
|
stIvtIostorinvCp.setStor_code(bsrealDao.getStor_code());
|
||||||
stIvtIostorinvCp.setStor_name(bsrealDao.getStor_name());
|
stIvtIostorinvCp.setStor_name(bsrealDao.getStor_name());
|
||||||
|
stIvtIostorinvCp.setProduct_area(bsrealDao.getProduct_area());
|
||||||
stIvtIostorinvCp.setTotal_qty(whereJson.getBigDecimal("total_qty"));
|
stIvtIostorinvCp.setTotal_qty(whereJson.getBigDecimal("total_qty"));
|
||||||
stIvtIostorinvCp.setDetail_count(rows.size());
|
stIvtIostorinvCp.setDetail_count(rows.size());
|
||||||
stIvtIostorinvCp.setRemark(whereJson.getString("remark"));
|
stIvtIostorinvCp.setRemark(whereJson.getString("remark"));
|
||||||
|
|||||||
@@ -81,14 +81,14 @@ public class StIvtIostorinvdtlCpServiceImpl extends ServiceImpl<StIvtIostorinvdt
|
|||||||
.eq(MdMeMaterialbase::getMaterial_code, json.getString("material_code"))
|
.eq(MdMeMaterialbase::getMaterial_code, json.getString("material_code"))
|
||||||
);
|
);
|
||||||
|
|
||||||
if (ObjectUtil.isNotEmpty(row.getSource_bill_code())) {
|
if (ObjectUtil.isNotEmpty(row.getBase_bill_code())) {
|
||||||
MpsSaleOrder orderDao = iMpsSaleOrderService.getOne(
|
MpsSaleOrder orderDao = iMpsSaleOrderService.getOne(
|
||||||
new QueryWrapper<MpsSaleOrder>().lambda()
|
new QueryWrapper<MpsSaleOrder>().lambda()
|
||||||
.eq(MpsSaleOrder::getSale_code, row.getBase_bill_code())
|
.eq(MpsSaleOrder::getSale_code, row.getBase_bill_code())
|
||||||
.eq(MpsSaleOrder::getSeq_no, row.getBase_bill_table())
|
.eq(MpsSaleOrder::getSeq_no, row.getBase_bill_table())
|
||||||
);
|
);
|
||||||
if (ObjectUtil.isEmpty(orderDao))
|
if (ObjectUtil.isEmpty(orderDao))
|
||||||
throw new BadRequestException("销售单号错误!");
|
throw new BadRequestException("销售单不存在!");
|
||||||
|
|
||||||
row.setBase_billdtl_id(orderDao.getSale_id().toString());
|
row.setBase_billdtl_id(orderDao.getSale_id().toString());
|
||||||
row.setBase_bill_code(orderDao.getSale_code());
|
row.setBase_bill_code(orderDao.getSale_code());
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
SELECT
|
SELECT
|
||||||
der.*,
|
der.*,
|
||||||
mater.material_name,
|
mater.material_name,
|
||||||
|
mater.material_spec,
|
||||||
unit.unit_name AS qty_unit_name
|
unit.unit_name AS qty_unit_name
|
||||||
FROM
|
FROM
|
||||||
ST_IF_DeliveryOrder_CP der
|
ST_IF_DeliveryOrder_CP der
|
||||||
@@ -18,16 +19,16 @@
|
|||||||
and der.deliver_code = #{query.deliver_code}
|
and der.deliver_code = #{query.deliver_code}
|
||||||
</if>
|
</if>
|
||||||
<if test="query.material_code != null">
|
<if test="query.material_code != null">
|
||||||
and der.material_code >= #{query.material_code}
|
and der.material_code like #{query.material_code}
|
||||||
</if>
|
</if>
|
||||||
<if test="query.status != null">
|
<if test="query.status != null">
|
||||||
and der.status >= #{query.status}
|
and der.status = #{query.status}
|
||||||
</if>
|
</if>
|
||||||
<if test="query.cust_code != null">
|
<if test="query.cust_code != null">
|
||||||
and der.cust_code >= #{query.cust_code}
|
and der.cust_code like #{query.cust_code}
|
||||||
</if>
|
</if>
|
||||||
<if test="query.sale_code != null">
|
<if test="query.sale_code != null">
|
||||||
and der.sale_code >= #{query.sale_code}
|
and der.sale_code like #{query.sale_code}
|
||||||
</if>
|
</if>
|
||||||
|
|
||||||
</where>
|
</where>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
FROM
|
FROM
|
||||||
ST_IVT_StructIvt_CP ivt
|
ST_IVT_StructIvt_CP ivt
|
||||||
LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
|
LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
|
||||||
WHERE attr.lock_type = '0'
|
WHERE ivt.canuse_qty > 0 and ivt.frozen_qty = 0
|
||||||
<if test="stor_id != null and stor_id != ''">
|
<if test="stor_id != null and stor_id != ''">
|
||||||
and attr.stor_id = #{stor_id}
|
and attr.stor_id = #{stor_id}
|
||||||
</if>
|
</if>
|
||||||
@@ -34,6 +34,7 @@
|
|||||||
attr.storagevehicle_code,
|
attr.storagevehicle_code,
|
||||||
mater.material_code,
|
mater.material_code,
|
||||||
mater.material_name,
|
mater.material_name,
|
||||||
|
mater.material_spec,
|
||||||
unit.unit_name AS qty_unit_name
|
unit.unit_name AS qty_unit_name
|
||||||
FROM
|
FROM
|
||||||
ST_IVT_StructIvt_CP ivt
|
ST_IVT_StructIvt_CP ivt
|
||||||
@@ -144,30 +145,48 @@
|
|||||||
attr.sect_name,
|
attr.sect_name,
|
||||||
ivt.struct_code,
|
ivt.struct_code,
|
||||||
ivt.struct_name,
|
ivt.struct_name,
|
||||||
|
mater.material_id,
|
||||||
mater.material_name,
|
mater.material_name,
|
||||||
mater.material_code,
|
mater.material_code,
|
||||||
|
mater.material_spec,
|
||||||
attr.storagevehicle_code,
|
attr.storagevehicle_code,
|
||||||
ivt.canuse_qty,
|
ivt.canuse_qty,
|
||||||
ivt.frozen_qty,
|
ivt.frozen_qty,
|
||||||
ivt.ivt_qty,
|
ivt.ivt_qty,
|
||||||
ivt.warehousing_qty,
|
ivt.warehousing_qty,
|
||||||
unit.unit_name,
|
unit.unit_name,
|
||||||
ivt.instorage_time
|
unit.measure_unit_id,
|
||||||
|
ivt.instorage_time,
|
||||||
|
sale.sale_code,
|
||||||
|
sale.seq_no,
|
||||||
|
sale.sale_id,
|
||||||
|
sale.sale_type
|
||||||
FROM
|
FROM
|
||||||
st_ivt_structivt_cp ivt
|
st_ivt_structivt_cp ivt
|
||||||
LEFT JOIN md_me_materialbase mater ON ivt.material_id = mater.material_id
|
LEFT JOIN md_me_materialbase mater ON ivt.material_id = mater.material_id
|
||||||
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
|
LEFT JOIN st_ivt_structattr attr ON attr.struct_id = ivt.struct_id
|
||||||
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ivt.qty_unit_id
|
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = ivt.qty_unit_id
|
||||||
|
LEFT JOIN mps_sale_order sale ON sale.sale_id = ivt.sale_id
|
||||||
<where>
|
<where>
|
||||||
1=1
|
1=1
|
||||||
<if test="query.material_code!= null and query.material_code != ''">
|
<if test="query.material_code!= null and query.material_code != ''">
|
||||||
and mater.material_code LIKE #{query.material_code} or
|
and mater.material_code LIKE #{query.material_code} or
|
||||||
(mater.material_name LIKE #{query.material_code})
|
(mater.material_name LIKE #{query.material_code}) or
|
||||||
|
(mater.material_spec LIKE #{query.material_code})
|
||||||
</if>
|
</if>
|
||||||
<if test="query.struct_code!= null and query.struct_code != ''">
|
<if test="query.struct_code!= null and query.struct_code != ''">
|
||||||
and attr.struct_code LIKE #{query.struct_code} or
|
and attr.struct_code LIKE #{query.struct_code} or
|
||||||
(attr.struct_name LIKE #{query.struct_code})
|
(attr.struct_name LIKE #{query.struct_code})
|
||||||
</if>
|
</if>
|
||||||
|
<if test="query.sale_code!= null and query.sale_code != ''">
|
||||||
|
and sale.sale_code LIKE #{query.sale_code}
|
||||||
|
</if>
|
||||||
|
<if test="query.seq_no!= null and query.seq_no != ''">
|
||||||
|
and sale.seq_no LIKE #{query.seq_no}
|
||||||
|
</if>
|
||||||
|
<if test="query.lock_type!= null and query.lock_type != ''">
|
||||||
|
and attr.lock_type = #{query.lock_type}
|
||||||
|
</if>
|
||||||
<if test="query.start_time!= null and query.start_time != ''">
|
<if test="query.start_time!= null and query.start_time != ''">
|
||||||
and ivt.instorage_time >= #{query.start_time}
|
and ivt.instorage_time >= #{query.start_time}
|
||||||
</if>
|
</if>
|
||||||
|
|||||||
@@ -18,6 +18,12 @@ public class CpIvtQuery extends BaseQuery<StIvtStructivtCp> {
|
|||||||
|
|
||||||
private String material_code;
|
private String material_code;
|
||||||
|
|
||||||
|
private String sale_code;
|
||||||
|
|
||||||
|
private String seq_no;
|
||||||
|
|
||||||
|
private String lock_type;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void paramMapping() {
|
public void paramMapping() {
|
||||||
super.doP.put("struct_code", QParam.builder().k(new String[]{"struct_code"}).type(QueryTEnum.LK).build());
|
super.doP.put("struct_code", QParam.builder().k(new String[]{"struct_code"}).type(QueryTEnum.LK).build());
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
|||||||
new QueryWrapper<StIvtStructivtCp>().lambda()
|
new QueryWrapper<StIvtStructivtCp>().lambda()
|
||||||
.eq(StIvtStructivtCp::getStruct_id, json.getString("struct_id"))
|
.eq(StIvtStructivtCp::getStruct_id, json.getString("struct_id"))
|
||||||
.eq(StIvtStructivtCp::getMaterial_id, json.getString("material_id"))
|
.eq(StIvtStructivtCp::getMaterial_id, json.getString("material_id"))
|
||||||
.eq(StIvtStructivtCp::getPcsn, json.getString("pcsn"))
|
.eq(StIvtStructivtCp::getSale_id, json.getString("sale_id"))
|
||||||
);
|
);
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(ivtDao)) {
|
if (ObjectUtil.isEmpty(ivtDao)) {
|
||||||
@@ -170,6 +170,9 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
|||||||
dao.setWarehousing_qty(json.getBigDecimal("change_qty"));
|
dao.setWarehousing_qty(json.getBigDecimal("change_qty"));
|
||||||
dao.setQty_unit_id(materDao.getBase_unit_id());
|
dao.setQty_unit_id(materDao.getBase_unit_id());
|
||||||
dao.setSale_id(json.getString("sale_id"));
|
dao.setSale_id(json.getString("sale_id"));
|
||||||
|
dao.setProduct_area(json.getString("product_area"));
|
||||||
|
dao.setStor_id(json.getString("stor_id"));
|
||||||
|
dao.setUnit_weight(materDao.getNet_weight());
|
||||||
this.save(dao);
|
this.save(dao);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@@ -189,7 +192,7 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
|||||||
new QueryWrapper<StIvtStructivtCp>().lambda()
|
new QueryWrapper<StIvtStructivtCp>().lambda()
|
||||||
.eq(StIvtStructivtCp::getStruct_id, json.getString("struct_id"))
|
.eq(StIvtStructivtCp::getStruct_id, json.getString("struct_id"))
|
||||||
.eq(StIvtStructivtCp::getMaterial_id, json.getString("material_id"))
|
.eq(StIvtStructivtCp::getMaterial_id, json.getString("material_id"))
|
||||||
.eq(StIvtStructivtCp::getPcsn, json.getString("pcsn"))
|
.eq(StIvtStructivtCp::getSale_id, json.getString("sale_id"))
|
||||||
);
|
);
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(ivtDao)) {
|
if (ObjectUtil.isEmpty(ivtDao)) {
|
||||||
@@ -221,7 +224,7 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
|||||||
new QueryWrapper<StIvtStructivtCp>().lambda()
|
new QueryWrapper<StIvtStructivtCp>().lambda()
|
||||||
.eq(StIvtStructivtCp::getStruct_id, json.getString("struct_id"))
|
.eq(StIvtStructivtCp::getStruct_id, json.getString("struct_id"))
|
||||||
.eq(StIvtStructivtCp::getMaterial_id, json.getString("material_id"))
|
.eq(StIvtStructivtCp::getMaterial_id, json.getString("material_id"))
|
||||||
.eq(StIvtStructivtCp::getPcsn, json.getString("pcsn"))
|
.eq(StIvtStructivtCp::getSale_id, json.getString("sale_id"))
|
||||||
);
|
);
|
||||||
|
|
||||||
if (ObjectUtil.isEmpty(ivtDao)) {
|
if (ObjectUtil.isEmpty(ivtDao)) {
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ public class RuleUtil {
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* 出库分配:
|
* 出库分配:
|
||||||
* 根据 仓库、库区、物料、销售单找库存
|
* 根据 仓库、库区、物料、销售单、行号找库存
|
||||||
*/
|
*/
|
||||||
public static final String PRODUCTION_OUT_1 = "out_1";
|
public static final String PRODUCTION_OUT_1 = "out_1";
|
||||||
|
|
||||||
|
|||||||
@@ -169,7 +169,7 @@
|
|||||||
<el-input v-model="form.tableData[scope.$index].remark" size="small" />
|
<el-input v-model="form.tableData[scope.$index].remark" size="small" />
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip prop="base_bill_type" label="源单类型" />
|
<el-table-column show-overflow-tooltip prop="base_bill_type" label="源单类型" :formatter="formatBaseType" />
|
||||||
<el-table-column show-overflow-tooltip prop="base_bill_code" label="源单号">
|
<el-table-column show-overflow-tooltip prop="base_bill_code" label="源单号">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-input
|
<el-input
|
||||||
@@ -251,7 +251,7 @@ export default {
|
|||||||
name: 'AddDialog',
|
name: 'AddDialog',
|
||||||
components: { MaterDtl, AddDtl },
|
components: { MaterDtl, AddDtl },
|
||||||
mixins: [crud(), form(defaultForm)],
|
mixins: [crud(), form(defaultForm)],
|
||||||
dicts: ['IO_BILL_STATUS', 'ST_INV_IN_TYPE', 'ST_QUALITY_SCODE', 'bill_type', 'product_area'],
|
dicts: ['IO_BILL_STATUS', 'ST_INV_IN_TYPE', 'ST_QUALITY_SCODE', 'bill_type', 'product_area', 'PCS_SAL_TYPE'],
|
||||||
props: {
|
props: {
|
||||||
dialogShow: {
|
dialogShow: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@@ -371,7 +371,7 @@ export default {
|
|||||||
tableChanged2(row) {
|
tableChanged2(row) {
|
||||||
let same_mater = true
|
let same_mater = true
|
||||||
this.form.tableData.forEach((item) => {
|
this.form.tableData.forEach((item) => {
|
||||||
if (item.source_bill_code === row.sale_code) {
|
if (item.base_bill_code === row.sale_code && item.base_bill_table === row.seq_no) {
|
||||||
same_mater = false
|
same_mater = false
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
@@ -380,7 +380,8 @@ export default {
|
|||||||
data.material_id = row.material_id
|
data.material_id = row.material_id
|
||||||
data.material_code = row.material_code
|
data.material_code = row.material_code
|
||||||
data.material_name = row.material_name
|
data.material_name = row.material_name
|
||||||
data.plan_qty = row.product_qty
|
data.material_spec = row.material_spec
|
||||||
|
data.plan_qty = row.sale_qty
|
||||||
data.qty_unit_name = row.qty_unit_name
|
data.qty_unit_name = row.qty_unit_name
|
||||||
data.qty_unit_id = row.qty_unit_id
|
data.qty_unit_id = row.qty_unit_id
|
||||||
data.base_billdtl_id = row.sale_id
|
data.base_billdtl_id = row.sale_id
|
||||||
@@ -413,6 +414,9 @@ export default {
|
|||||||
this.form.tableData.forEach((item) => {
|
this.form.tableData.forEach((item) => {
|
||||||
this.form.total_qty = parseFloat(this.form.total_qty) + parseFloat(item.plan_qty)
|
this.form.total_qty = parseFloat(this.form.total_qty) + parseFloat(item.plan_qty)
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
formatBaseType(row) {
|
||||||
|
return this.dict.label.PCS_SAL_TYPE[row.base_bill_type]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,6 +70,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="sale_code" label="销售单号" />
|
<el-table-column show-overflow-tooltip width="150" prop="sale_code" label="销售单号" />
|
||||||
|
<el-table-column show-overflow-tooltip width="150" prop="seq_no" label="行号" />
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="sale_type" label="销售单类型" :formatter="formterType" />
|
<el-table-column show-overflow-tooltip width="150" prop="sale_type" label="销售单类型" :formatter="formterType" />
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="status" label="状态" :formatter="formterStatus" />
|
<el-table-column show-overflow-tooltip width="150" prop="status" label="状态" :formatter="formterStatus" />
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="material_code" label="物料编码" />
|
<el-table-column show-overflow-tooltip width="150" prop="material_code" label="物料编码" />
|
||||||
|
|||||||
@@ -59,8 +59,9 @@
|
|||||||
<el-table-column show-overflow-tooltip prop="assign_qty" :formatter="crud.formatNum3" label="已分配数量" align="center" />
|
<el-table-column show-overflow-tooltip prop="assign_qty" :formatter="crud.formatNum3" label="已分配数量" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="unassign_qty" :formatter="crud.formatNum3" label="未分配数量" align="center" />
|
<el-table-column show-overflow-tooltip prop="unassign_qty" :formatter="crud.formatNum3" label="未分配数量" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" align="center" />
|
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="source_bill_type" label="源单类型" align="center" />
|
<el-table-column show-overflow-tooltip prop="base_bill_type" label="源单类型" :formatter="formatBaseType" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单号" align="center" />
|
<el-table-column show-overflow-tooltip prop="base_bill_code" label="源单号" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="base_bill_table" label="源单行号" align="center" />
|
||||||
|
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-card>
|
</el-card>
|
||||||
@@ -268,7 +269,7 @@ export default {
|
|||||||
name: 'DivDialog',
|
name: 'DivDialog',
|
||||||
components: { StructDiv, AddBox },
|
components: { StructDiv, AddBox },
|
||||||
mixins: [crud()],
|
mixins: [crud()],
|
||||||
dicts: ['IO_BILL_STATUS', 'VEHICLE_OVER_TYPE'],
|
dicts: ['IO_BILL_STATUS', 'VEHICLE_OVER_TYPE', 'PCS_SAL_TYPE'],
|
||||||
props: {
|
props: {
|
||||||
dialogShow: {
|
dialogShow: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@@ -596,6 +597,7 @@ export default {
|
|||||||
|
|
||||||
this.dis_row.stor_id = this.stor_id.toString()
|
this.dis_row.stor_id = this.stor_id.toString()
|
||||||
this.dis_row.sect_id = this.sect_id.toString()
|
this.dis_row.sect_id = this.sect_id.toString()
|
||||||
|
this.dis_row.vehicle_overstruct_type = this.form.vehicle_overstruct_type
|
||||||
crudProductIn.divStruct(this.dis_row).then(res => {
|
crudProductIn.divStruct(this.dis_row).then(res => {
|
||||||
crudProductIn.getIosInvDtl({ 'iostorinv_id': this.dis_row.iostorinv_id }).then(res => {
|
crudProductIn.getIosInvDtl({ 'iostorinv_id': this.dis_row.iostorinv_id }).then(res => {
|
||||||
this.openParam = res
|
this.openParam = res
|
||||||
@@ -649,6 +651,9 @@ export default {
|
|||||||
this.crud.notify('操作成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
this.crud.notify('操作成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
},
|
||||||
|
formatBaseType(row) {
|
||||||
|
return this.dict.label.PCS_SAL_TYPE[row.base_bill_type]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,9 @@
|
|||||||
<el-table-column show-overflow-tooltip prop="assign_qty" :formatter="crud.formatNum3" label="已分配数量" align="center" />
|
<el-table-column show-overflow-tooltip prop="assign_qty" :formatter="crud.formatNum3" label="已分配数量" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="unassign_qty" :formatter="crud.formatNum3" label="未分配数量" align="center" />
|
<el-table-column show-overflow-tooltip prop="unassign_qty" :formatter="crud.formatNum3" label="未分配数量" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="重量单位" align="center" />
|
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="重量单位" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="base_bill_type" label="源单类型" :formatter="formatBaseType" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="base_bill_code" label="源单号" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="base_bill_table" label="源单行号" align="center" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-card>
|
</el-card>
|
||||||
<!-- <el-card class="box-card" shadow="never" :body-style="{padding:'20px 20px 0 20px'}">
|
<!-- <el-card class="box-card" shadow="never" :body-style="{padding:'20px 20px 0 20px'}">
|
||||||
@@ -109,6 +112,8 @@
|
|||||||
<el-table-column show-overflow-tooltip width="150" prop="material_name" label="物料名称" align="center" />
|
<el-table-column show-overflow-tooltip width="150" prop="material_name" label="物料名称" align="center" />
|
||||||
<el-table-column show-overflow-tooltip width="170" prop="pcsn" label="批次" align="center" />
|
<el-table-column show-overflow-tooltip width="170" prop="pcsn" label="批次" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="托盘号" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="bucketunique" label="箱号" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="point_code1" label="起始位置" align="center" />
|
<el-table-column show-overflow-tooltip prop="point_code1" label="起始位置" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="point_code2" label="目的位置" align="center" />
|
<el-table-column show-overflow-tooltip prop="point_code2" label="目的位置" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="task_code" label="任务号" align="center" />
|
<el-table-column show-overflow-tooltip prop="task_code" label="任务号" align="center" />
|
||||||
@@ -128,7 +133,7 @@ export default {
|
|||||||
name: 'TaskDialog',
|
name: 'TaskDialog',
|
||||||
components: {},
|
components: {},
|
||||||
mixins: [crud()],
|
mixins: [crud()],
|
||||||
dicts: ['SCH_TASK_TYPE_DTL', 'task_status'],
|
dicts: ['SCH_TASK_TYPE_DTL', 'task_status', 'PCS_SAL_TYPE'],
|
||||||
props: {
|
props: {
|
||||||
dialogShow: {
|
dialogShow: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@@ -249,6 +254,9 @@ export default {
|
|||||||
this.dis_del = true
|
this.dis_del = true
|
||||||
this.dis_send = true
|
this.dis_send = true
|
||||||
this.dis_confirm = true
|
this.dis_confirm = true
|
||||||
|
},
|
||||||
|
formatBaseType(row) {
|
||||||
|
return this.dict.label.PCS_SAL_TYPE[row.base_bill_type]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -111,9 +111,12 @@
|
|||||||
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
||||||
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
||||||
<el-table-column min-width="120" show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
|
<el-table-column min-width="120" show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
|
||||||
<el-table-column prop="pcsn" label="订单号" width="150" align="center" />
|
<el-table-column prop="pcsn" label="批次" width="150" align="center" />
|
||||||
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
||||||
<el-table-column prop="qty_unit_name" label="单位" align="center" />
|
<el-table-column prop="qty_unit_name" label="单位" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="base_bill_type" label="源单类型" :formatter="formatBaseType" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="base_bill_code" label="源单号" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="base_bill_table" label="源单行号" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="remark" label="明细备注" align="center" />
|
<el-table-column show-overflow-tooltip prop="remark" label="明细备注" align="center" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-card>
|
</el-card>
|
||||||
@@ -136,7 +139,9 @@
|
|||||||
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
||||||
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
||||||
<el-table-column min-width="120" show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
|
<el-table-column min-width="120" show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
|
||||||
<el-table-column prop="pcsn" label="订单号" align="center" width="150" />
|
<el-table-column prop="pcsn" label="批次" align="center" width="150" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="托盘号" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="bucketunique" label="箱号" align="center" />
|
||||||
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
||||||
<el-table-column prop="point_code1" label="起始位置" align="center" />
|
<el-table-column prop="point_code1" label="起始位置" align="center" />
|
||||||
<el-table-column prop="point_code2" label="目的位置" align="center" />
|
<el-table-column prop="point_code2" label="目的位置" align="center" />
|
||||||
@@ -157,7 +162,7 @@ export default {
|
|||||||
name: 'ViewDialog',
|
name: 'ViewDialog',
|
||||||
components: { },
|
components: { },
|
||||||
mixins: [crud()],
|
mixins: [crud()],
|
||||||
dicts: ['ST_INV_IN_TYPE', 'product_area', 'IO_BILL_STATUS', 'task_status', 'SCH_TASK_TYPE_DTL'],
|
dicts: ['ST_INV_IN_TYPE', 'product_area', 'IO_BILL_STATUS', 'task_status', 'SCH_TASK_TYPE_DTL', 'PCS_SAL_TYPE'],
|
||||||
props: {
|
props: {
|
||||||
dialogShow: {
|
dialogShow: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@@ -254,6 +259,9 @@ export default {
|
|||||||
},
|
},
|
||||||
formatType(row) {
|
formatType(row) {
|
||||||
return this.dict.label.SCH_TASK_TYPE_DTL[row.task_type]
|
return this.dict.label.SCH_TASK_TYPE_DTL[row.task_type]
|
||||||
|
},
|
||||||
|
formatBaseType(row) {
|
||||||
|
return this.dict.label.PCS_SAL_TYPE[row.base_bill_type]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
v-model="query.stor_id"
|
v-model="query.stor_id"
|
||||||
clearable
|
clearable
|
||||||
size="mini"
|
size="mini"
|
||||||
placeholder="单据状态"
|
placeholder="所属仓库"
|
||||||
class="filter-item"
|
class="filter-item"
|
||||||
@change="crud.toQuery"
|
@change="crud.toQuery"
|
||||||
>
|
>
|
||||||
@@ -48,7 +48,7 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="生成方式">
|
<!--<el-form-item label="生成方式">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="query.bill_type"
|
v-model="query.bill_type"
|
||||||
clearable
|
clearable
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>-->
|
||||||
|
|
||||||
<el-form-item label="单据日期">
|
<el-form-item label="单据日期">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
@@ -109,7 +109,7 @@
|
|||||||
|
|
||||||
<el-form-item label="生产车间">
|
<el-form-item label="生产车间">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="query.product_code"
|
v-model="query.product_area"
|
||||||
clearable
|
clearable
|
||||||
size="mini"
|
size="mini"
|
||||||
placeholder="全部"
|
placeholder="全部"
|
||||||
@@ -186,7 +186,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip prop="bill_type" min-width="120" label="单据类型" :formatter="bill_typeFormat" />
|
<el-table-column show-overflow-tooltip prop="bill_type" min-width="120" label="单据类型" :formatter="bill_typeFormat" />
|
||||||
<el-table-column show-overflow-tooltip prop="stor_name" label="仓库" min-width="120" />
|
<el-table-column show-overflow-tooltip prop="stor_name" label="仓库" min-width="120" />
|
||||||
<!-- <el-table-column prop="" label="生产车间" width="130" show-overflow-tooltip />-->
|
<el-table-column prop="product_area" label="生产车间" width="130" show-overflow-tooltip />
|
||||||
<el-table-column show-overflow-tooltip min-width="120" prop="biz_date" label="业务日期" />
|
<el-table-column show-overflow-tooltip min-width="120" prop="biz_date" label="业务日期" />
|
||||||
<el-table-column label="总重量" align="center" prop="total_qty">
|
<el-table-column label="总重量" align="center" prop="total_qty">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|||||||
@@ -41,22 +41,42 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="仓位">
|
<el-form-item label="仓位编码">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="query.struct_code"
|
v-model="query.struct_code"
|
||||||
size="mini"
|
size="mini"
|
||||||
clearable
|
clearable
|
||||||
placeholder="仓位"
|
placeholder="仓位编码、名称"
|
||||||
@keyup.enter.native="crud.toQuery"
|
@keyup.enter.native="crud.toQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="物料">
|
<el-form-item label="物料编码">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="query.material_code"
|
v-model="query.material_code"
|
||||||
size="mini"
|
size="mini"
|
||||||
clearable
|
clearable
|
||||||
placeholder="仓位"
|
placeholder="物料编码、名称、规格"
|
||||||
|
@keyup.enter.native="crud.toQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="销售订单">
|
||||||
|
<el-input
|
||||||
|
v-model="query.sale_code"
|
||||||
|
size="mini"
|
||||||
|
clearable
|
||||||
|
placeholder="销售订单"
|
||||||
|
@keyup.enter.native="crud.toQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="销售行号">
|
||||||
|
<el-input
|
||||||
|
v-model="query.seq_no"
|
||||||
|
size="mini"
|
||||||
|
clearable
|
||||||
|
placeholder="销售订行号"
|
||||||
@keyup.enter.native="crud.toQuery"
|
@keyup.enter.native="crud.toQuery"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -80,9 +100,12 @@
|
|||||||
<el-table-column show-overflow-tooltip prop="sect_name" label="库区名称" />
|
<el-table-column show-overflow-tooltip prop="sect_name" label="库区名称" />
|
||||||
<el-table-column show-overflow-tooltip prop="struct_code" label="仓位编码" />
|
<el-table-column show-overflow-tooltip prop="struct_code" label="仓位编码" />
|
||||||
<el-table-column show-overflow-tooltip prop="struct_name" label="仓位名称" />
|
<el-table-column show-overflow-tooltip prop="struct_name" label="仓位名称" />
|
||||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" />
|
<el-table-column show-overflow-tooltip min-width="120" prop="material_code" label="物料编码" />
|
||||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" />
|
<el-table-column show-overflow-tooltip min-width="120" prop="material_name" label="物料名称" />
|
||||||
|
<el-table-column show-overflow-tooltip min-width="120" prop="material_spec" label="物料规格" />
|
||||||
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="载具号" />
|
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="载具号" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="sale_code" label="销售单号" />
|
||||||
|
<el-table-column show-overflow-tooltip min-width="110" prop="seq_no" label="销售单行号" />
|
||||||
<el-table-column show-overflow-tooltip prop="canuse_qty" label="可用数量" :formatter="crud.formatNum3" />
|
<el-table-column show-overflow-tooltip prop="canuse_qty" label="可用数量" :formatter="crud.formatNum3" />
|
||||||
<el-table-column show-overflow-tooltip prop="frozen_qty" label="冻结数量" :formatter="crud.formatNum3" />
|
<el-table-column show-overflow-tooltip prop="frozen_qty" label="冻结数量" :formatter="crud.formatNum3" />
|
||||||
<el-table-column show-overflow-tooltip prop="ivt_qty" label="库存数量" :formatter="crud.formatNum3" />
|
<el-table-column show-overflow-tooltip prop="ivt_qty" label="库存数量" :formatter="crud.formatNum3" />
|
||||||
|
|||||||
@@ -121,9 +121,9 @@
|
|||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="insertdtl()"
|
@click="insertIvt"
|
||||||
>
|
>
|
||||||
新增一行
|
添加库存物料
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
@@ -146,6 +146,7 @@
|
|||||||
<span v-show="scope.row.edit">{{ scope.row.material_code }}</span>
|
<span v-show="scope.row.edit">{{ scope.row.material_code }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column show-overflow-tooltip prop="material_spec" label="物料规格" />
|
||||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" />
|
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" />
|
||||||
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库数量">
|
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库数量">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@@ -196,6 +197,11 @@
|
|||||||
@tableChanged="tableChanged2"
|
@tableChanged="tableChanged2"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
<AddIvt
|
||||||
|
:dialog-show.sync="ivtShow"
|
||||||
|
@tableChanged="tableChanged3"
|
||||||
|
/>
|
||||||
|
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -204,6 +210,7 @@ import CRUD, { crud, form } from '@crud/crud'
|
|||||||
import crudProductIn from '@/views/wms/storage_manage/product/productIn/productin'
|
import crudProductIn from '@/views/wms/storage_manage/product/productIn/productin'
|
||||||
import MaterDtl from '@/views/wms/pub/MaterDialog'
|
import MaterDtl from '@/views/wms/pub/MaterDialog'
|
||||||
import AddDtl from '@/views/wms/storage_manage/product/productOut/AddDtl'
|
import AddDtl from '@/views/wms/storage_manage/product/productOut/AddDtl'
|
||||||
|
import AddIvt from '@/views/wms/storage_manage/product/productOut/AddIvt'
|
||||||
import crudStorattr, { getStor } from '@/views/wms/storage_manage/basedata/basedata'
|
import crudStorattr, { getStor } from '@/views/wms/storage_manage/basedata/basedata'
|
||||||
|
|
||||||
const defaultForm = {
|
const defaultForm = {
|
||||||
@@ -223,7 +230,7 @@ const defaultForm = {
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AddDialog',
|
name: 'AddDialog',
|
||||||
components: { MaterDtl, AddDtl },
|
components: { MaterDtl, AddDtl, AddIvt },
|
||||||
mixins: [crud(), form(defaultForm)],
|
mixins: [crud(), form(defaultForm)],
|
||||||
dicts: ['IO_BILL_STATUS', 'ST_INV_OUT_TYPE', 'ST_QUALITY_SCODE', 'bill_type', 'product_area'],
|
dicts: ['IO_BILL_STATUS', 'ST_INV_OUT_TYPE', 'ST_QUALITY_SCODE', 'bill_type', 'product_area'],
|
||||||
props: {
|
props: {
|
||||||
@@ -240,6 +247,7 @@ export default {
|
|||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
materShow: false,
|
materShow: false,
|
||||||
dtlShow: false,
|
dtlShow: false,
|
||||||
|
ivtShow: false,
|
||||||
opendtlParam: null,
|
opendtlParam: null,
|
||||||
materType: '03', // 关键成品
|
materType: '03', // 关键成品
|
||||||
storlist: [],
|
storlist: [],
|
||||||
@@ -345,12 +353,41 @@ export default {
|
|||||||
data.material_id = row.material_id
|
data.material_id = row.material_id
|
||||||
data.material_code = row.material_code
|
data.material_code = row.material_code
|
||||||
data.material_name = row.material_name
|
data.material_name = row.material_name
|
||||||
|
data.material_spec = row.material_spec
|
||||||
data.plan_qty = row.delivery_qty
|
data.plan_qty = row.delivery_qty
|
||||||
data.qty_unit_name = row.qty_unit_name
|
data.qty_unit_name = row.qty_unit_name
|
||||||
data.qty_unit_id = row.qty_unit_id
|
data.qty_unit_id = row.qty_unit_id
|
||||||
data.source_billdtl_id = row.sale_id
|
data.source_billdtl_id = row.deliver_id
|
||||||
data.source_bill_type = row.sale_type
|
data.source_bill_type = row.deliver_type
|
||||||
data.source_bill_code = row.sale_code
|
data.source_bill_code = row.deliver_code
|
||||||
|
data.base_billdtl_id = row.sale_id
|
||||||
|
data.base_bill_code = row.sale_code
|
||||||
|
data.base_bill_table = row.sale_seq_no
|
||||||
|
data.edit = true
|
||||||
|
this.form.tableData.splice(-1, 0, data)
|
||||||
|
this.form.total_qty = parseFloat(this.form.total_qty) + parseFloat(data.plan_qty)
|
||||||
|
this.form.detail_count = this.form.tableData.length
|
||||||
|
}
|
||||||
|
},
|
||||||
|
tableChanged3(row) {
|
||||||
|
let same_mater = true
|
||||||
|
this.form.tableData.forEach((item) => {
|
||||||
|
if (item.sale_id === row.sale_id) {
|
||||||
|
same_mater = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (same_mater) {
|
||||||
|
const data = {}
|
||||||
|
data.material_id = row.material_id
|
||||||
|
data.material_code = row.material_code
|
||||||
|
data.material_name = row.material_name
|
||||||
|
data.material_spec = row.material_spec
|
||||||
|
data.plan_qty = row.canuse_qty
|
||||||
|
data.qty_unit_name = row.unit_name
|
||||||
|
data.qty_unit_id = row.measure_unit_id
|
||||||
|
data.base_billdtl_id = row.sale_id
|
||||||
|
data.base_bill_code = row.sale_code
|
||||||
|
data.base_bill_table = row.seq_no
|
||||||
data.edit = true
|
data.edit = true
|
||||||
this.form.tableData.splice(-1, 0, data)
|
this.form.tableData.splice(-1, 0, data)
|
||||||
this.form.total_qty = parseFloat(this.form.total_qty) + parseFloat(data.plan_qty)
|
this.form.total_qty = parseFloat(this.form.total_qty) + parseFloat(data.plan_qty)
|
||||||
@@ -360,6 +397,9 @@ export default {
|
|||||||
insertEvent(row) {
|
insertEvent(row) {
|
||||||
this.dtlShow = true
|
this.dtlShow = true
|
||||||
},
|
},
|
||||||
|
insertIvt() {
|
||||||
|
this.ivtShow = true
|
||||||
|
},
|
||||||
queryMater(index, row) {
|
queryMater(index, row) {
|
||||||
this.nowindex = index
|
this.nowindex = index
|
||||||
this.nowrow = row
|
this.nowrow = row
|
||||||
|
|||||||
@@ -78,9 +78,13 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="deliver_code" label="单据号" />
|
<el-table-column show-overflow-tooltip width="150" prop="deliver_code" label="单据号" />
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="status" label="状态" />
|
<el-table-column show-overflow-tooltip width="150" prop="deliver_type" label="单据类型" :formatter="formatSourceType" />
|
||||||
|
<el-table-column show-overflow-tooltip width="150" prop="status" label="状态" :formatter="formatStatus" />
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="material_code" label="物料编码" />
|
<el-table-column show-overflow-tooltip width="150" prop="material_code" label="物料编码" />
|
||||||
|
<el-table-column show-overflow-tooltip width="150" prop="material_spec" label="物料规格" />
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="material_name" label="物料名称" />
|
<el-table-column show-overflow-tooltip width="150" prop="material_name" label="物料名称" />
|
||||||
|
<el-table-column show-overflow-tooltip width="150" prop="sale_code" label="销售单号" />
|
||||||
|
<el-table-column show-overflow-tooltip width="150" prop="sale_seq_no" label="销售单行号" />
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="cust_code" label="客户编码" />
|
<el-table-column show-overflow-tooltip width="150" prop="cust_code" label="客户编码" />
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="cust_name" label="客户名称" />
|
<el-table-column show-overflow-tooltip width="150" prop="cust_name" label="客户名称" />
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="delivery_qty" label="数量" />
|
<el-table-column show-overflow-tooltip width="150" prop="delivery_qty" label="数量" />
|
||||||
@@ -105,6 +109,7 @@ import pagination from '@crud/Pagination'
|
|||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'AddDtl',
|
name: 'AddDtl',
|
||||||
|
dicts: ['PCS_DELIVER_TYPE', 'PCS_DELI_STATUS'],
|
||||||
components: { rrOperation, pagination, crudOperation },
|
components: { rrOperation, pagination, crudOperation },
|
||||||
cruds() {
|
cruds() {
|
||||||
return CRUD({
|
return CRUD({
|
||||||
@@ -175,6 +180,12 @@ export default {
|
|||||||
this.$emit('update:dialogShow', false)
|
this.$emit('update:dialogShow', false)
|
||||||
this.rows = this.$refs.multipleTable.selection
|
this.rows = this.$refs.multipleTable.selection
|
||||||
this.$emit('tableChanged', this.tableRadio)
|
this.$emit('tableChanged', this.tableRadio)
|
||||||
|
},
|
||||||
|
formatStatus(row, column) {
|
||||||
|
return this.dict.label.PCS_DELI_STATUS[row.status]
|
||||||
|
},
|
||||||
|
formatSourceType(row, column) {
|
||||||
|
return this.dict.label.PCS_DELIVER_TYPE[row.deliver_type]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,198 @@
|
|||||||
|
<template>
|
||||||
|
<el-dialog
|
||||||
|
title="库存选择"
|
||||||
|
append-to-body
|
||||||
|
:visible.sync="dialogVisible"
|
||||||
|
destroy-on-close
|
||||||
|
:show-close="false"
|
||||||
|
width="1200px"
|
||||||
|
@close="close"
|
||||||
|
@open="open"
|
||||||
|
>
|
||||||
|
<div class="head-container">
|
||||||
|
<!-- 搜索 -->
|
||||||
|
<el-form
|
||||||
|
:inline="true"
|
||||||
|
class="demo-form-inline"
|
||||||
|
label-position="right"
|
||||||
|
label-width="80px"
|
||||||
|
label-suffix=":"
|
||||||
|
>
|
||||||
|
<el-form-item label="入库日期">
|
||||||
|
<el-date-picker
|
||||||
|
v-model="query.createTime"
|
||||||
|
type="daterange"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
|
@change="crud.toQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="仓位编码">
|
||||||
|
<el-input
|
||||||
|
v-model="query.struct_code"
|
||||||
|
size="mini"
|
||||||
|
clearable
|
||||||
|
placeholder="仓位编码、名称"
|
||||||
|
@keyup.enter.native="crud.toQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="物料编码">
|
||||||
|
<el-input
|
||||||
|
v-model="query.material_code"
|
||||||
|
size="mini"
|
||||||
|
clearable
|
||||||
|
placeholder="物料编码、名称、规格"
|
||||||
|
@keyup.enter.native="crud.toQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="销售订单">
|
||||||
|
<el-input
|
||||||
|
v-model="query.sale_code"
|
||||||
|
size="mini"
|
||||||
|
clearable
|
||||||
|
placeholder="销售订单"
|
||||||
|
@keyup.enter.native="crud.toQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="销售行号">
|
||||||
|
<el-input
|
||||||
|
v-model="query.seq_no"
|
||||||
|
size="mini"
|
||||||
|
clearable
|
||||||
|
placeholder="销售订行号"
|
||||||
|
@keyup.enter.native="crud.toQuery"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<rrOperation />
|
||||||
|
</el-form>
|
||||||
|
<!--表格渲染-->
|
||||||
|
<el-table
|
||||||
|
ref="multipleTable"
|
||||||
|
v-loading="crud.loading"
|
||||||
|
:data="crud.data"
|
||||||
|
style="width: 100%;"
|
||||||
|
border
|
||||||
|
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
|
||||||
|
@current-change="clickChange"
|
||||||
|
>
|
||||||
|
<el-table-column label="选择" width="55">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-radio v-model="tableRadio" :label="scope.row"><i /></el-radio>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column show-overflow-tooltip prop="stor_name" label="仓库名称" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="sect_name" label="库区名称" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="struct_code" label="仓位编码" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="struct_name" label="仓位名称" />
|
||||||
|
<el-table-column show-overflow-tooltip min-width="120" prop="material_code" label="物料编码" />
|
||||||
|
<el-table-column show-overflow-tooltip min-width="120" prop="material_name" label="物料名称" />
|
||||||
|
<el-table-column show-overflow-tooltip min-width="120" prop="material_spec" label="物料规格" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="载具号" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="sale_code" label="销售单号" />
|
||||||
|
<el-table-column show-overflow-tooltip min-width="110" prop="seq_no" label="销售单行号" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="canuse_qty" label="可用数量" :formatter="crud.formatNum3" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="frozen_qty" label="冻结数量" :formatter="crud.formatNum3" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="ivt_qty" label="库存数量" :formatter="crud.formatNum3" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="warehousing_qty" label="待入数量" :formatter="crud.formatNum3" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="unit_name" label="单位" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="instorage_time" label="入库时间" min-width="150" />
|
||||||
|
</el-table>
|
||||||
|
<!--分页组件-->
|
||||||
|
<pagination />
|
||||||
|
</div>
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button slot="left" type="info" @click="dialogVisible = false">关闭</el-button>
|
||||||
|
<el-button slot="left" type="primary" @click="submit">保存</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
|
||||||
|
import CRUD, { crud, header, presenter } from '@crud/crud'
|
||||||
|
import rrOperation from '@crud/RR.operation'
|
||||||
|
import crudOperation from '@crud/CRUD.operation'
|
||||||
|
import pagination from '@crud/Pagination'
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: 'AddDtl',
|
||||||
|
components: { rrOperation, pagination, crudOperation },
|
||||||
|
cruds() {
|
||||||
|
return CRUD({
|
||||||
|
title: '用户', url: 'api/stIvtStructivtCp',
|
||||||
|
optShow: {
|
||||||
|
add: false,
|
||||||
|
edit: false,
|
||||||
|
del: false,
|
||||||
|
reset: true,
|
||||||
|
download: false
|
||||||
|
},
|
||||||
|
query: {
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
mixins: [presenter(), header()],
|
||||||
|
props: {
|
||||||
|
dialogShow: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
openParam: {
|
||||||
|
type: String
|
||||||
|
},
|
||||||
|
storId: {
|
||||||
|
type: String
|
||||||
|
}
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
dialogVisible: false,
|
||||||
|
opendtlParam: '',
|
||||||
|
rows: [],
|
||||||
|
tableRadio: null,
|
||||||
|
openShow: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
dialogShow: {
|
||||||
|
handler(newValue, oldValue) {
|
||||||
|
this.dialogVisible = newValue
|
||||||
|
}
|
||||||
|
},
|
||||||
|
openParam: {
|
||||||
|
handler(newValue, oldValue) {
|
||||||
|
this.opendtlParam = newValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
|
return true
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.crud.resetQuery(false)
|
||||||
|
// 清空grid数据
|
||||||
|
this.crud.data = undefined
|
||||||
|
this.$emit('update:dialogShow', false)
|
||||||
|
},
|
||||||
|
open() {
|
||||||
|
this.crud.query.lock_type = '0'
|
||||||
|
},
|
||||||
|
clickChange(item) {
|
||||||
|
this.tableRadio = item
|
||||||
|
},
|
||||||
|
submit() {
|
||||||
|
this.$emit('update:dialogShow', false)
|
||||||
|
this.rows = this.$refs.multipleTable.selection
|
||||||
|
this.$emit('tableChanged', this.tableRadio)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
@@ -112,7 +112,7 @@
|
|||||||
<el-table-column show-overflow-tooltip prop="assign_qty" label="已分配重量" :formatter="crud.formatNum3" align="center" />
|
<el-table-column show-overflow-tooltip prop="assign_qty" label="已分配重量" :formatter="crud.formatNum3" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="unassign_qty" label="未分配重量" :formatter="crud.formatNum3" align="center" />
|
<el-table-column show-overflow-tooltip prop="unassign_qty" label="未分配重量" :formatter="crud.formatNum3" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" align="center" />
|
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="source_bill_type" label="源单类型" align="center" />
|
<el-table-column show-overflow-tooltip prop="source_bill_type" label="源单类型" align="center" :formatter="formatSourceType"/>
|
||||||
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单号" align="center" />
|
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单号" align="center" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-card>
|
</el-card>
|
||||||
@@ -204,10 +204,10 @@
|
|||||||
<el-table-column prop="material_code" label="物料编码" width="150px" :min-width="flexWidth('material_code',crud.data,'物料编码')" />
|
<el-table-column prop="material_code" label="物料编码" width="150px" :min-width="flexWidth('material_code',crud.data,'物料编码')" />
|
||||||
<el-table-column prop="material_name" label="物料名称" width="250px" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
|
<el-table-column prop="material_name" label="物料名称" width="250px" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
|
||||||
<el-table-column prop="material_spec" label="物料规格" width="150px" :min-width="flexWidth('material_spec',crud.data,'物料规格')" />
|
<el-table-column prop="material_spec" label="物料规格" width="150px" :min-width="flexWidth('material_spec',crud.data,'物料规格')" />
|
||||||
<el-table-column prop="pcsn" label="订单号" width="150px" :min-width="flexWidth('pcsn',crud.data,'订单号')" />
|
|
||||||
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库重量" :formatter="crud.formatNum3" align="center" />
|
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库重量" :formatter="crud.formatNum3" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="struct_code" width="150px" label="点位编码" align="center" />
|
<el-table-column show-overflow-tooltip prop="storagevehicle_code" width="150px" label="载具号" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="struct_name" width="150px" label="点位名称" align="center" />
|
<el-table-column show-overflow-tooltip prop="struct_code" width="150px" label="仓位编码" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="struct_name" width="150px" label="仓位名称" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="task_code" width="150px" label="任务号" align="center" />
|
<el-table-column show-overflow-tooltip prop="task_code" width="150px" label="任务号" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="point_code" width="150px" label="出库点" align="center" />
|
<el-table-column show-overflow-tooltip prop="point_code" width="150px" label="出库点" align="center" />
|
||||||
</el-table>
|
</el-table>
|
||||||
@@ -227,7 +227,7 @@ export default {
|
|||||||
name: 'DivDialog',
|
name: 'DivDialog',
|
||||||
components: { StructIvt },
|
components: { StructIvt },
|
||||||
mixins: [crud()],
|
mixins: [crud()],
|
||||||
dicts: ['IO_BILL_STATUS', 'work_status'],
|
dicts: ['IO_BILL_STATUS', 'work_status', 'PCS_DELIVER_TYPE'],
|
||||||
props: {
|
props: {
|
||||||
dialogShow: {
|
dialogShow: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@@ -315,6 +315,9 @@ export default {
|
|||||||
bill_statusFormat(row, column) {
|
bill_statusFormat(row, column) {
|
||||||
return this.dict.label.IO_BILL_STATUS[row.bill_status]
|
return this.dict.label.IO_BILL_STATUS[row.bill_status]
|
||||||
},
|
},
|
||||||
|
formatSourceType(row, column) {
|
||||||
|
return this.dict.label.PCS_DELIVER_TYPE[row.source_bill_type]
|
||||||
|
},
|
||||||
quality_scodeFormat(row, column) {
|
quality_scodeFormat(row, column) {
|
||||||
return this.dict.label.ST_QUALITY_SCODE[row.quality_scode]
|
return this.dict.label.ST_QUALITY_SCODE[row.quality_scode]
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -79,8 +79,9 @@
|
|||||||
<el-table-column show-overflow-tooltip prop="sect_name" label="库区" align="center" />
|
<el-table-column show-overflow-tooltip prop="sect_name" label="库区" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="struct_code" label="仓位" align="center" />
|
<el-table-column show-overflow-tooltip prop="struct_code" label="仓位" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="载具号" align="center" />
|
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="载具号" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="material_spec" label="物料规格" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="pcsn" label="批次号" align="center" />
|
|
||||||
<el-table-column show-overflow-tooltip prop="canuse_qty" label="可出重量" :formatter="crud.formatNum3" align="center" />
|
<el-table-column show-overflow-tooltip prop="canuse_qty" label="可出重量" :formatter="crud.formatNum3" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库重量" :formatter="crud.formatNum3" width="160" align="center">
|
<el-table-column show-overflow-tooltip prop="plan_qty" label="出库重量" :formatter="crud.formatNum3" width="160" align="center">
|
||||||
<template scope="scope">
|
<template scope="scope">
|
||||||
|
|||||||
@@ -36,12 +36,14 @@
|
|||||||
>
|
>
|
||||||
<el-table-column show-overflow-tooltip type="index" label="序号" align="center" />
|
<el-table-column show-overflow-tooltip type="index" label="序号" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip width="150" prop="material_spec" label="物料规格" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="pcsn" label="批次" align="center" />
|
|
||||||
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="assign_qty" :formatter="crud.formatNum3" label="已分配数量" align="center" />
|
<el-table-column show-overflow-tooltip prop="assign_qty" :formatter="crud.formatNum3" label="已分配数量" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="unassign_qty" :formatter="crud.formatNum3" label="未分配数量" align="center" />
|
<el-table-column show-overflow-tooltip prop="unassign_qty" :formatter="crud.formatNum3" label="未分配数量" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="重量单位" align="center" />
|
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="重量单位" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="source_bill_type" label="源单类型" align="center" :formatter="formatSourceType"/>
|
||||||
|
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单号" align="center" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-card>
|
</el-card>
|
||||||
<!-- <el-card class="box-card" shadow="never" :body-style="{padding:'20px 20px 0 20px'}">
|
<!-- <el-card class="box-card" shadow="never" :body-style="{padding:'20px 20px 0 20px'}">
|
||||||
@@ -106,8 +108,9 @@
|
|||||||
>
|
>
|
||||||
<el-table-column width="60" prop="seq_no" label="序号" align="center" />
|
<el-table-column width="60" prop="seq_no" label="序号" align="center" />
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="material_code" label="物料编码" align="center" />
|
<el-table-column show-overflow-tooltip width="150" prop="material_code" label="物料编码" align="center" />
|
||||||
|
<el-table-column show-overflow-tooltip width="150" prop="material_spec" label="物料规格" align="center" />
|
||||||
<el-table-column show-overflow-tooltip width="150" prop="material_name" label="物料名称" align="center" />
|
<el-table-column show-overflow-tooltip width="150" prop="material_name" label="物料名称" align="center" />
|
||||||
<el-table-column show-overflow-tooltip width="170" prop="pcsn" label="批次" align="center" />
|
<el-table-column show-overflow-tooltip width="170" prop="storagevehicle_code" label="载具号" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="point_code1" label="起始位置" align="center" />
|
<el-table-column show-overflow-tooltip prop="point_code1" label="起始位置" align="center" />
|
||||||
<el-table-column show-overflow-tooltip prop="point_code2" label="目的位置" align="center" />
|
<el-table-column show-overflow-tooltip prop="point_code2" label="目的位置" align="center" />
|
||||||
@@ -128,7 +131,7 @@ export default {
|
|||||||
name: 'TaskDialog',
|
name: 'TaskDialog',
|
||||||
components: {},
|
components: {},
|
||||||
mixins: [crud()],
|
mixins: [crud()],
|
||||||
dicts: ['SCH_TASK_TYPE_DTL', 'task_status'],
|
dicts: ['SCH_TASK_TYPE_DTL', 'task_status', 'PCS_DELIVER_TYPE'],
|
||||||
props: {
|
props: {
|
||||||
dialogShow: {
|
dialogShow: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
@@ -249,6 +252,9 @@ export default {
|
|||||||
this.dis_del = true
|
this.dis_del = true
|
||||||
this.dis_send = true
|
this.dis_send = true
|
||||||
this.dis_confirm = true
|
this.dis_confirm = true
|
||||||
|
},
|
||||||
|
formatSourceType(row, column) {
|
||||||
|
return this.dict.label.PCS_DELIVER_TYPE[row.source_bill_type]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,7 +11,24 @@
|
|||||||
label-width="80px"
|
label-width="80px"
|
||||||
label-suffix=":"
|
label-suffix=":"
|
||||||
>
|
>
|
||||||
<el-form-item label="模糊查询">
|
<el-form-item label="所属仓库">
|
||||||
|
<el-select
|
||||||
|
v-model="query.stor_id"
|
||||||
|
clearable
|
||||||
|
size="mini"
|
||||||
|
placeholder="所属仓库"
|
||||||
|
class="filter-item"
|
||||||
|
@change="crud.toQuery"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in storlist"
|
||||||
|
:key="item.stor_id"
|
||||||
|
:label="item.stor_name"
|
||||||
|
:value="item.stor_id"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="出库单号">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="query.bill_code"
|
v-model="query.bill_code"
|
||||||
size="mini"
|
size="mini"
|
||||||
@@ -22,7 +39,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="生产车间">
|
<el-form-item label="生产车间">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="query.product_code"
|
v-model="query.product_area"
|
||||||
clearable
|
clearable
|
||||||
size="mini"
|
size="mini"
|
||||||
placeholder="全部"
|
placeholder="全部"
|
||||||
@@ -147,7 +164,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column show-overflow-tooltip prop="bill_type" min-width="120" label="单据类型" :formatter="bill_typeFormat" />
|
<el-table-column show-overflow-tooltip prop="bill_type" min-width="120" label="单据类型" :formatter="bill_typeFormat" />
|
||||||
<el-table-column show-overflow-tooltip prop="stor_name" label="仓库" min-width="120" />
|
<el-table-column show-overflow-tooltip prop="stor_name" label="仓库" min-width="120" />
|
||||||
<!-- <el-table-column prop="" label="生产车间" width="130" show-overflow-tooltip />-->
|
<el-table-column prop="product_area" label="生产车间" width="130" show-overflow-tooltip />
|
||||||
<el-table-column show-overflow-tooltip min-width="120" prop="biz_date" label="业务日期" />
|
<el-table-column show-overflow-tooltip min-width="120" prop="biz_date" label="业务日期" />
|
||||||
<el-table-column label="总重量" align="center" prop="total_qty">
|
<el-table-column label="总重量" align="center" prop="total_qty">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|||||||
Reference in New Issue
Block a user