rev: 成品出入库修改
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package org.nl.wms.mps_manage.ordermanage.service.saleOrder.dao;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
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 product_area;
|
||||
|
||||
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.IMdPbStoragevehicleinfoService;
|
||||
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.IStIvtStructattrService;
|
||||
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.task.ISchBaseTaskService;
|
||||
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.productmanage.service.iostorInv.IStIvtIostorinvCpOutService;
|
||||
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<>();
|
||||
|
||||
if (whereJson.getBoolean("type")) {
|
||||
// 全部分配
|
||||
dtlDaoList = iostorinvdtlCpService.list(
|
||||
new QueryWrapper<StIvtIostorinvdtlCp>().lambda()
|
||||
.eq(StIvtIostorinvdtlCp::getIostorinv_id, whereJson.getString("iostorinv_id"))
|
||||
@@ -216,6 +214,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
.orderByAsc(StIvtIostorinvdtlCp::getSeq_no)
|
||||
);
|
||||
} else {
|
||||
// 单条分配
|
||||
dtlDaoList = iostorinvdtlCpService.list(
|
||||
new QueryWrapper<StIvtIostorinvdtlCp>().lambda()
|
||||
.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("sect_id", whereJson.getString("sect_id"));
|
||||
param.put("material_id", dtlDao.getMaterial_id());
|
||||
param.put("sale_id", dtlDao.getSource_billdtl_id());
|
||||
if (ObjectUtil.isEmpty(dtlDao.getSource_billdtl_id())) {
|
||||
param.put("sale_id", dtlDao.getBase_billdtl_id());
|
||||
if (ObjectUtil.isEmpty(dtlDao.getBase_billdtl_id())) {
|
||||
param.put("rule_type", RuleUtil.PRODUCTION_OUT_2);
|
||||
} else {
|
||||
param.put("rule_type", RuleUtil.PRODUCTION_OUT_1);
|
||||
@@ -295,12 +294,14 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
// 1.找出所有分配
|
||||
List<StIvtIostorinvdisCp> disDaoList = new ArrayList<>();
|
||||
if (whereJson.getBoolean("type")) {
|
||||
// 全部取消
|
||||
disDaoList = iostorinvdisCpService.list(
|
||||
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.eq(StIvtIostorinvdisCp::getIostorinv_id, whereJson.getString("iostorinv_id"))
|
||||
.orderByAsc(StIvtIostorinvdisCp::getSeq_no)
|
||||
);
|
||||
} else {
|
||||
// 单条取消
|
||||
disDaoList = iostorinvdisCpService.list(
|
||||
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.eq(StIvtIostorinvdisCp::getIostorinvdtl_id, whereJson.getString("iostorinvdtl_id"))
|
||||
@@ -397,11 +398,15 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
BussEventMulticaster.Publish(event);
|
||||
|
||||
// 3.更新分配表
|
||||
iostorinvdisCpService.updateById(
|
||||
disDao.setPoint_id(pointDao.getPoint_id())
|
||||
.setPoint_code(pointDao.getPoint_code())
|
||||
.setPoint_name(pointDao.getPoint_name())
|
||||
.setWork_status(IOSEnum.WORK_STATUS.code("生成"))
|
||||
iostorinvdisCpService.update(
|
||||
new UpdateWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.set(StIvtIostorinvdisCp::getPoint_id, pointDao.getPoint_id())
|
||||
.set(StIvtIostorinvdisCp::getPoint_code, pointDao.getPoint_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()
|
||||
.filter(row -> row.getIostorinvdtl_id().equals(dao.getIostorinvdtl_id()))
|
||||
.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());
|
||||
|
||||
// 4) 更新载具扩展属性
|
||||
iMdPbStoragevehicleextService.update(
|
||||
new MdPbStoragevehicleext()
|
||||
.setMaterial_id("")
|
||||
.setStorage_qty(BigDecimal.valueOf(0)),
|
||||
new QueryWrapper<MdPbStoragevehicleext>().lambda()
|
||||
.eq(MdPbStoragevehicleext::getStoragevehicle_code,dao.getStoragevehicle_code())
|
||||
);
|
||||
|
||||
// 5) 更新箱记录表为出库
|
||||
// 4) 更新箱记录表为出库
|
||||
iMdPbBucketrecordService.update(
|
||||
MdPbBucketrecord.builder()
|
||||
.status(MasterEnum.BOX_STATUS.code("出库"))
|
||||
@@ -480,7 +476,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
new QueryWrapper<MdPbBucketrecord>().lambda()
|
||||
.eq(MdPbBucketrecord::getStoragevehicle_code, dao.getStoragevehicle_code())
|
||||
.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();
|
||||
param.put("material_id", whereJson.getString("material_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("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");
|
||||
|
||||
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())) {
|
||||
@@ -567,12 +563,23 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
.eq(StIvtIostorinvdisCp::getTask_id, task_id)
|
||||
.set(StIvtIostorinvdisCp::getWork_status, IOSEnum.WORK_STATUS.code("完成"))
|
||||
);
|
||||
|
||||
// 调用分配完成
|
||||
JSONObject mst_jo = new JSONObject();
|
||||
mst_jo.put("iostorinvdtl_id", disDao.getIostorinvdtl_id());
|
||||
mst_jo.put("iostorinv_id", disDao.getIostorinv_id());
|
||||
mst_jo.put("is_out", true);
|
||||
iostorinvdisCpService.confirm(mst_jo);
|
||||
Map<String, List<StIvtIostorinvdisCp>> collect = iostorinvdisCpService.list(
|
||||
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.eq(StIvtIostorinvdisCp::getTask_id, task_id)
|
||||
)
|
||||
.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())) {
|
||||
// 更新任务为执行中
|
||||
@@ -609,12 +616,15 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
);
|
||||
|
||||
// 2.更新分配
|
||||
disDao.setTask_id("");
|
||||
disDao.setPoint_code("");
|
||||
disDao.setPoint_id("");
|
||||
disDao.setPoint_name("");
|
||||
disDao.setWork_status(IOSEnum.WORK_STATUS.code("未生成"));
|
||||
iostorinvdisCpService.updateById(disDao);
|
||||
iostorinvdisCpService.update(
|
||||
new UpdateWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.set(StIvtIostorinvdisCp::getTask_id, "")
|
||||
.set(StIvtIostorinvdisCp::getPoint_id, "")
|
||||
.set(StIvtIostorinvdisCp::getPoint_code,"")
|
||||
.set(StIvtIostorinvdisCp::getPoint_name,"")
|
||||
.set(StIvtIostorinvdisCp::getWork_status, IOSEnum.WORK_STATUS.code("未生成"))
|
||||
.eq(StIvtIostorinvdisCp::getTask_id, disDao.getTask_id())
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -719,6 +729,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
stIvtIostorinvCp.setStor_id(bsrealDao.getStor_id());
|
||||
stIvtIostorinvCp.setStor_code(bsrealDao.getStor_code());
|
||||
stIvtIostorinvCp.setStor_name(bsrealDao.getStor_name());
|
||||
stIvtIostorinvCp.setProduct_area(bsrealDao.getProduct_area());
|
||||
stIvtIostorinvCp.setTotal_qty(whereJson.getBigDecimal("total_qty"));
|
||||
stIvtIostorinvCp.setDetail_count(rows.size());
|
||||
stIvtIostorinvCp.setRemark(whereJson.getString("remark"));
|
||||
@@ -818,7 +829,7 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
param.put("ivt_level", dao.getIvt_level());
|
||||
param.put("quality_scode", dao.getQuality_scode());
|
||||
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);
|
||||
iStIvtStructivtCpService.UpdateIvt(param);
|
||||
|
||||
@@ -852,26 +863,30 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
|
||||
public void unLockNext(String struct_id) {
|
||||
|
||||
StIvtStructattr attrDao = iStIvtStructattrService.getById(struct_id);
|
||||
|
||||
if (ObjectUtil.isEmpty(attrDao)) throw new BadRequestException("仓位不存在!");
|
||||
|
||||
// 判断载具是否超限
|
||||
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getOne(
|
||||
new QueryWrapper<MdPbStoragevehicleinfo>().lambda()
|
||||
.eq(MdPbStoragevehicleinfo::getStoragevehicle_code, attrDao.getStoragevehicle_code())
|
||||
);
|
||||
|
||||
if (StrUtil.equals(vehicleDao.getOverstruct_type(),IOSEnum.IS_USED.code("是"))) {
|
||||
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::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_type("");
|
||||
attrDao.setInv_id("");
|
||||
attrDao.setIs_zdepth("");
|
||||
attrDao.setStoragevehicle_code("");
|
||||
attrDao.setLock_type(IOSEnum.LOCK_TYPE.code("未锁定"));
|
||||
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.dao.StIvtBsrealstorattr;
|
||||
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.scheduler_manage.service.point.ISchBasePointService;
|
||||
import org.nl.wms.scheduler_manage.service.point.dao.SchBasePoint;
|
||||
@@ -118,6 +120,9 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
@Autowired
|
||||
protected IMdPbBucketrecordService iMdPbBucketrecordService; // 包装箱记录表服务
|
||||
|
||||
@Autowired
|
||||
protected IMpsSaleOrderService iMpsSaleOrderService; // 销售单服务
|
||||
|
||||
@Override
|
||||
public Object pageQuery(IostorInvQuery query, PageQuery page) {
|
||||
// 查询条件
|
||||
@@ -140,6 +145,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
|
||||
// 调用主表 插入/更新方法
|
||||
StIvtIostorinvCp stIvtIostorinvCp = packageMstForm(new StIvtIostorinvCp(), form, false);
|
||||
|
||||
// 插入主表
|
||||
this.save(stIvtIostorinvCp);
|
||||
|
||||
@@ -394,7 +400,6 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
StIvtStructattr attrDao = new StIvtStructattr();
|
||||
|
||||
// 1.根据仓库、库区找出一个仓位
|
||||
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getById(disDao.getStoragevehicle_id());
|
||||
if (ObjectUtil.isEmpty(struct_id)) {
|
||||
/* 自动分配 */
|
||||
|
||||
@@ -409,7 +414,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
|
||||
} 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("载具超限请自动分配!");
|
||||
|
||||
// 查出对应仓位
|
||||
@@ -431,6 +436,9 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
attrDao.setInv_type(IOSEnum.IO_TYPE.code("入库"));
|
||||
attrDao.setInv_id(mstDao.getIostorinv_id());
|
||||
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);
|
||||
|
||||
// 4.更新库存
|
||||
@@ -440,7 +448,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
.eq(StIvtIostorinvdisCp::getStoragevehicle_code, whereJson.getString("storagevehicle_code"))
|
||||
)
|
||||
.stream()
|
||||
.collect(Collectors.groupingBy(StIvtIostorinvdisCp::getMaterial_id));
|
||||
.collect(Collectors.groupingBy(StIvtIostorinvdisCp::getIostorinvdtl_id));
|
||||
|
||||
for (List<StIvtIostorinvdisCp> list : collect.values()) {
|
||||
|
||||
@@ -454,8 +462,10 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
|
||||
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())
|
||||
);
|
||||
|
||||
|
||||
// 判断载具是否超限
|
||||
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(
|
||||
new StIvtStructattr()
|
||||
.setLock_type(IOSEnum.LOCK_TYPE.code("未锁定"))
|
||||
.setInv_code("")
|
||||
.setInv_type("")
|
||||
.setIs_zdepth("")
|
||||
.setInv_id(""),
|
||||
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(
|
||||
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
@@ -531,7 +545,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
.eq(StIvtIostorinvdisCp::getStoragevehicle_code, whereJson.getString("storagevehicle_code"))
|
||||
)
|
||||
.stream()
|
||||
.collect(Collectors.groupingBy(StIvtIostorinvdisCp::getMaterial_id));
|
||||
.collect(Collectors.groupingBy(StIvtIostorinvdisCp::getIostorinvdtl_id));
|
||||
|
||||
for (List<StIvtIostorinvdisCp> list : collect.values()) {
|
||||
|
||||
@@ -543,7 +557,9 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
StIvtIostorinvdisCp disDao_1 = list.get(0);
|
||||
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)更新库存
|
||||
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)解锁终点
|
||||
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
|
||||
@@ -873,6 +901,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
stIvtIostorinvCp.setStor_id(bsrealDao.getStor_id());
|
||||
stIvtIostorinvCp.setStor_code(bsrealDao.getStor_code());
|
||||
stIvtIostorinvCp.setStor_name(bsrealDao.getStor_name());
|
||||
stIvtIostorinvCp.setProduct_area(bsrealDao.getProduct_area());
|
||||
stIvtIostorinvCp.setTotal_qty(whereJson.getBigDecimal("total_qty"));
|
||||
stIvtIostorinvCp.setDetail_count(rows.size());
|
||||
stIvtIostorinvCp.setRemark(whereJson.getString("remark"));
|
||||
|
||||
@@ -81,14 +81,14 @@ public class StIvtIostorinvdtlCpServiceImpl extends ServiceImpl<StIvtIostorinvdt
|
||||
.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(
|
||||
new QueryWrapper<MpsSaleOrder>().lambda()
|
||||
.eq(MpsSaleOrder::getSale_code, row.getBase_bill_code())
|
||||
.eq(MpsSaleOrder::getSeq_no, row.getBase_bill_table())
|
||||
);
|
||||
if (ObjectUtil.isEmpty(orderDao))
|
||||
throw new BadRequestException("销售单号错误!");
|
||||
throw new BadRequestException("销售单不存在!");
|
||||
|
||||
row.setBase_billdtl_id(orderDao.getSale_id().toString());
|
||||
row.setBase_bill_code(orderDao.getSale_code());
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
SELECT
|
||||
der.*,
|
||||
mater.material_name,
|
||||
mater.material_spec,
|
||||
unit.unit_name AS qty_unit_name
|
||||
FROM
|
||||
ST_IF_DeliveryOrder_CP der
|
||||
@@ -18,16 +19,16 @@
|
||||
and der.deliver_code = #{query.deliver_code}
|
||||
</if>
|
||||
<if test="query.material_code != null">
|
||||
and der.material_code >= #{query.material_code}
|
||||
and der.material_code like #{query.material_code}
|
||||
</if>
|
||||
<if test="query.status != null">
|
||||
and der.status >= #{query.status}
|
||||
and der.status = #{query.status}
|
||||
</if>
|
||||
<if test="query.cust_code != null">
|
||||
and der.cust_code >= #{query.cust_code}
|
||||
and der.cust_code like #{query.cust_code}
|
||||
</if>
|
||||
<if test="query.sale_code != null">
|
||||
and der.sale_code >= #{query.sale_code}
|
||||
and der.sale_code like #{query.sale_code}
|
||||
</if>
|
||||
|
||||
</where>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
FROM
|
||||
ST_IVT_StructIvt_CP ivt
|
||||
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 != ''">
|
||||
and attr.stor_id = #{stor_id}
|
||||
</if>
|
||||
@@ -34,6 +34,7 @@
|
||||
attr.storagevehicle_code,
|
||||
mater.material_code,
|
||||
mater.material_name,
|
||||
mater.material_spec,
|
||||
unit.unit_name AS qty_unit_name
|
||||
FROM
|
||||
ST_IVT_StructIvt_CP ivt
|
||||
@@ -144,30 +145,48 @@
|
||||
attr.sect_name,
|
||||
ivt.struct_code,
|
||||
ivt.struct_name,
|
||||
mater.material_id,
|
||||
mater.material_name,
|
||||
mater.material_code,
|
||||
mater.material_spec,
|
||||
attr.storagevehicle_code,
|
||||
ivt.canuse_qty,
|
||||
ivt.frozen_qty,
|
||||
ivt.ivt_qty,
|
||||
ivt.warehousing_qty,
|
||||
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
|
||||
st_ivt_structivt_cp ivt
|
||||
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 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>
|
||||
1=1
|
||||
<if test="query.material_code!= null and query.material_code != ''">
|
||||
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 test="query.struct_code!= null and query.struct_code != ''">
|
||||
and attr.struct_code LIKE #{query.struct_code} or
|
||||
(attr.struct_name LIKE #{query.struct_code})
|
||||
</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 != ''">
|
||||
and ivt.instorage_time >= #{query.start_time}
|
||||
</if>
|
||||
|
||||
@@ -18,6 +18,12 @@ public class CpIvtQuery extends BaseQuery<StIvtStructivtCp> {
|
||||
|
||||
private String material_code;
|
||||
|
||||
private String sale_code;
|
||||
|
||||
private String seq_no;
|
||||
|
||||
private String lock_type;
|
||||
|
||||
@Override
|
||||
public void paramMapping() {
|
||||
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()
|
||||
.eq(StIvtStructivtCp::getStruct_id, json.getString("struct_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)) {
|
||||
@@ -170,6 +170,9 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
||||
dao.setWarehousing_qty(json.getBigDecimal("change_qty"));
|
||||
dao.setQty_unit_id(materDao.getBase_unit_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);
|
||||
|
||||
} else {
|
||||
@@ -189,7 +192,7 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
||||
new QueryWrapper<StIvtStructivtCp>().lambda()
|
||||
.eq(StIvtStructivtCp::getStruct_id, json.getString("struct_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)) {
|
||||
@@ -221,7 +224,7 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
|
||||
new QueryWrapper<StIvtStructivtCp>().lambda()
|
||||
.eq(StIvtStructivtCp::getStruct_id, json.getString("struct_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)) {
|
||||
|
||||
@@ -16,7 +16,7 @@ public class RuleUtil {
|
||||
|
||||
/*
|
||||
* 出库分配:
|
||||
* 根据 仓库、库区、物料、销售单找库存
|
||||
* 根据 仓库、库区、物料、销售单、行号找库存
|
||||
*/
|
||||
public static final String PRODUCTION_OUT_1 = "out_1";
|
||||
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
<el-input v-model="form.tableData[scope.$index].remark" size="small" />
|
||||
</template>
|
||||
</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="源单号">
|
||||
<template slot-scope="scope">
|
||||
<el-input
|
||||
@@ -251,7 +251,7 @@ export default {
|
||||
name: 'AddDialog',
|
||||
components: { MaterDtl, AddDtl },
|
||||
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: {
|
||||
dialogShow: {
|
||||
type: Boolean,
|
||||
@@ -371,7 +371,7 @@ export default {
|
||||
tableChanged2(row) {
|
||||
let same_mater = true
|
||||
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
|
||||
}
|
||||
})
|
||||
@@ -380,7 +380,8 @@ export default {
|
||||
data.material_id = row.material_id
|
||||
data.material_code = row.material_code
|
||||
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_id = row.qty_unit_id
|
||||
data.base_billdtl_id = row.sale_id
|
||||
@@ -413,6 +414,9 @@ export default {
|
||||
this.form.tableData.forEach((item) => {
|
||||
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>
|
||||
</el-table-column>
|
||||
<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="status" label="状态" :formatter="formterStatus" />
|
||||
<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="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="source_bill_type" label="源单类型" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="source_bill_code" 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-card>
|
||||
@@ -268,7 +269,7 @@ export default {
|
||||
name: 'DivDialog',
|
||||
components: { StructDiv, AddBox },
|
||||
mixins: [crud()],
|
||||
dicts: ['IO_BILL_STATUS', 'VEHICLE_OVER_TYPE'],
|
||||
dicts: ['IO_BILL_STATUS', 'VEHICLE_OVER_TYPE', 'PCS_SAL_TYPE'],
|
||||
props: {
|
||||
dialogShow: {
|
||||
type: Boolean,
|
||||
@@ -596,6 +597,7 @@ export default {
|
||||
|
||||
this.dis_row.stor_id = this.stor_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.getIosInvDtl({ 'iostorinv_id': this.dis_row.iostorinv_id }).then(res => {
|
||||
this.openParam = res
|
||||
@@ -649,6 +651,9 @@ export default {
|
||||
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="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="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-card>
|
||||
<!-- <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="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="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_code2" label="目的位置" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="task_code" label="任务号" align="center" />
|
||||
@@ -128,7 +133,7 @@ export default {
|
||||
name: 'TaskDialog',
|
||||
components: {},
|
||||
mixins: [crud()],
|
||||
dicts: ['SCH_TASK_TYPE_DTL', 'task_status'],
|
||||
dicts: ['SCH_TASK_TYPE_DTL', 'task_status', 'PCS_SAL_TYPE'],
|
||||
props: {
|
||||
dialogShow: {
|
||||
type: Boolean,
|
||||
@@ -249,6 +254,9 @@ export default {
|
||||
this.dis_del = true
|
||||
this.dis_send = 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_name" 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="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>
|
||||
</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_name" 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="point_code1" label="起始位置" align="center" />
|
||||
<el-table-column prop="point_code2" label="目的位置" align="center" />
|
||||
@@ -157,7 +162,7 @@ export default {
|
||||
name: 'ViewDialog',
|
||||
components: { },
|
||||
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: {
|
||||
dialogShow: {
|
||||
type: Boolean,
|
||||
@@ -254,6 +259,9 @@ export default {
|
||||
},
|
||||
formatType(row) {
|
||||
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"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="单据状态"
|
||||
placeholder="所属仓库"
|
||||
class="filter-item"
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
@@ -48,7 +48,7 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="生成方式">
|
||||
<!--<el-form-item label="生成方式">
|
||||
<el-select
|
||||
v-model="query.bill_type"
|
||||
clearable
|
||||
@@ -65,7 +65,7 @@
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item>-->
|
||||
|
||||
<el-form-item label="单据日期">
|
||||
<el-date-picker
|
||||
@@ -109,7 +109,7 @@
|
||||
|
||||
<el-form-item label="生产车间">
|
||||
<el-select
|
||||
v-model="query.product_code"
|
||||
v-model="query.product_area"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="全部"
|
||||
@@ -186,7 +186,7 @@
|
||||
</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="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 label="总重量" align="center" prop="total_qty">
|
||||
<template slot-scope="scope">
|
||||
|
||||
@@ -41,22 +41,42 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="仓位">
|
||||
<el-form-item label="仓位编码">
|
||||
<el-input
|
||||
v-model="query.struct_code"
|
||||
size="mini"
|
||||
clearable
|
||||
placeholder="仓位"
|
||||
placeholder="仓位编码、名称"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="物料">
|
||||
<el-form-item label="物料编码">
|
||||
<el-input
|
||||
v-model="query.material_code"
|
||||
size="mini"
|
||||
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"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -80,9 +100,12 @@
|
||||
<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 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_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" />
|
||||
|
||||
@@ -121,9 +121,9 @@
|
||||
type="primary"
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="insertdtl()"
|
||||
@click="insertIvt"
|
||||
>
|
||||
新增一行
|
||||
添加库存物料
|
||||
</el-button>
|
||||
</span>
|
||||
|
||||
@@ -146,6 +146,7 @@
|
||||
<span v-show="scope.row.edit">{{ scope.row.material_code }}</span>
|
||||
</template>
|
||||
</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="plan_qty" label="出库数量">
|
||||
<template slot-scope="scope">
|
||||
@@ -196,6 +197,11 @@
|
||||
@tableChanged="tableChanged2"
|
||||
/>
|
||||
|
||||
<AddIvt
|
||||
:dialog-show.sync="ivtShow"
|
||||
@tableChanged="tableChanged3"
|
||||
/>
|
||||
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
@@ -204,6 +210,7 @@ import CRUD, { crud, form } from '@crud/crud'
|
||||
import crudProductIn from '@/views/wms/storage_manage/product/productIn/productin'
|
||||
import MaterDtl from '@/views/wms/pub/MaterDialog'
|
||||
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'
|
||||
|
||||
const defaultForm = {
|
||||
@@ -223,7 +230,7 @@ const defaultForm = {
|
||||
|
||||
export default {
|
||||
name: 'AddDialog',
|
||||
components: { MaterDtl, AddDtl },
|
||||
components: { MaterDtl, AddDtl, AddIvt },
|
||||
mixins: [crud(), form(defaultForm)],
|
||||
dicts: ['IO_BILL_STATUS', 'ST_INV_OUT_TYPE', 'ST_QUALITY_SCODE', 'bill_type', 'product_area'],
|
||||
props: {
|
||||
@@ -240,6 +247,7 @@ export default {
|
||||
dialogVisible: false,
|
||||
materShow: false,
|
||||
dtlShow: false,
|
||||
ivtShow: false,
|
||||
opendtlParam: null,
|
||||
materType: '03', // 关键成品
|
||||
storlist: [],
|
||||
@@ -345,12 +353,41 @@ export default {
|
||||
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.delivery_qty
|
||||
data.qty_unit_name = row.qty_unit_name
|
||||
data.qty_unit_id = row.qty_unit_id
|
||||
data.source_billdtl_id = row.sale_id
|
||||
data.source_bill_type = row.sale_type
|
||||
data.source_bill_code = row.sale_code
|
||||
data.source_billdtl_id = row.deliver_id
|
||||
data.source_bill_type = row.deliver_type
|
||||
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
|
||||
this.form.tableData.splice(-1, 0, data)
|
||||
this.form.total_qty = parseFloat(this.form.total_qty) + parseFloat(data.plan_qty)
|
||||
@@ -360,6 +397,9 @@ export default {
|
||||
insertEvent(row) {
|
||||
this.dtlShow = true
|
||||
},
|
||||
insertIvt() {
|
||||
this.ivtShow = true
|
||||
},
|
||||
queryMater(index, row) {
|
||||
this.nowindex = index
|
||||
this.nowrow = row
|
||||
|
||||
@@ -78,9 +78,13 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<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_spec" 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_name" label="客户名称" />
|
||||
<el-table-column show-overflow-tooltip width="150" prop="delivery_qty" label="数量" />
|
||||
@@ -105,6 +109,7 @@ import pagination from '@crud/Pagination'
|
||||
|
||||
export default {
|
||||
name: 'AddDtl',
|
||||
dicts: ['PCS_DELIVER_TYPE', 'PCS_DELI_STATUS'],
|
||||
components: { rrOperation, pagination, crudOperation },
|
||||
cruds() {
|
||||
return CRUD({
|
||||
@@ -175,6 +180,12 @@ export default {
|
||||
this.$emit('update:dialogShow', false)
|
||||
this.rows = this.$refs.multipleTable.selection
|
||||
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="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="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>
|
||||
</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_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="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="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="storagevehicle_code" 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="point_code" width="150px" label="出库点" align="center" />
|
||||
</el-table>
|
||||
@@ -227,7 +227,7 @@ export default {
|
||||
name: 'DivDialog',
|
||||
components: { StructIvt },
|
||||
mixins: [crud()],
|
||||
dicts: ['IO_BILL_STATUS', 'work_status'],
|
||||
dicts: ['IO_BILL_STATUS', 'work_status', 'PCS_DELIVER_TYPE'],
|
||||
props: {
|
||||
dialogShow: {
|
||||
type: Boolean,
|
||||
@@ -315,6 +315,9 @@ export default {
|
||||
bill_statusFormat(row, column) {
|
||||
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) {
|
||||
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="struct_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="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="plan_qty" label="出库重量" :formatter="crud.formatNum3" width="160" align="center">
|
||||
<template scope="scope">
|
||||
|
||||
@@ -36,12 +36,14 @@
|
||||
>
|
||||
<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 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="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="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="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-card>
|
||||
<!-- <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 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="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="point_code1" label="起始位置" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="point_code2" label="目的位置" align="center" />
|
||||
@@ -128,7 +131,7 @@ export default {
|
||||
name: 'TaskDialog',
|
||||
components: {},
|
||||
mixins: [crud()],
|
||||
dicts: ['SCH_TASK_TYPE_DTL', 'task_status'],
|
||||
dicts: ['SCH_TASK_TYPE_DTL', 'task_status', 'PCS_DELIVER_TYPE'],
|
||||
props: {
|
||||
dialogShow: {
|
||||
type: Boolean,
|
||||
@@ -249,6 +252,9 @@ export default {
|
||||
this.dis_del = true
|
||||
this.dis_send = 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-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
|
||||
v-model="query.bill_code"
|
||||
size="mini"
|
||||
@@ -22,7 +39,7 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="生产车间">
|
||||
<el-select
|
||||
v-model="query.product_code"
|
||||
v-model="query.product_area"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="全部"
|
||||
@@ -147,7 +164,7 @@
|
||||
</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="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 label="总重量" align="center" prop="total_qty">
|
||||
<template slot-scope="scope">
|
||||
|
||||
Reference in New Issue
Block a user