fix: 代码修复
This commit is contained in:
Binary file not shown.
@@ -3,6 +3,8 @@ package org.nl.wms.masterdata_manage.service.vehicle.dao;
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -15,6 +17,7 @@ import lombok.EqualsAndHashCode;
|
||||
* @since 2023-05-10
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("md_pb_bucketrecord")
|
||||
public class MdPbBucketrecord implements Serializable {
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
package org.nl.wms.mps_manage.ordermanage.service.saleOrder.dao;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 生产订单表
|
||||
@@ -96,17 +95,71 @@ public class MpsSaleOrder implements Serializable {
|
||||
* 创建人姓名
|
||||
*/
|
||||
private String create_name;
|
||||
private String audit_optid;
|
||||
private String audit_time;
|
||||
private String audit_optname;
|
||||
private String confirm_optid;
|
||||
private String confirm_optname;
|
||||
private String confirm_time;
|
||||
private String is_delete;
|
||||
private String remark;
|
||||
private String workshop_id;
|
||||
private String product_qty;
|
||||
private String instor_qty;
|
||||
private String sendout_qty;
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private String create_time;
|
||||
|
||||
/**
|
||||
* 提交人
|
||||
*/
|
||||
private Long audit_optid;
|
||||
|
||||
/**
|
||||
* 提交时间
|
||||
*/
|
||||
private String audit_time;
|
||||
|
||||
/**
|
||||
* 提交人姓名
|
||||
*/
|
||||
private String audit_optname;
|
||||
|
||||
/**
|
||||
* 确认人
|
||||
*/
|
||||
private Long confirm_optid;
|
||||
|
||||
/**
|
||||
* 确认人姓名
|
||||
*/
|
||||
private String confirm_optname;
|
||||
|
||||
/**
|
||||
* 确认时间
|
||||
*/
|
||||
private String confirm_time;
|
||||
|
||||
/**
|
||||
* 是否删除
|
||||
*/
|
||||
private String is_delete;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 车间标识
|
||||
*/
|
||||
private Long workshop_id;
|
||||
|
||||
/**
|
||||
* 生产数量
|
||||
*/
|
||||
private BigDecimal product_qty;
|
||||
|
||||
/**
|
||||
* 预入库数量
|
||||
*/
|
||||
private BigDecimal instor_qty;
|
||||
|
||||
/**
|
||||
* 发货数量
|
||||
*/
|
||||
private BigDecimal sendout_qty;
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -98,4 +98,28 @@ public class IStivtlostorivnCpInController {
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/unDivStruct")
|
||||
@Log("取消分配")
|
||||
@ApiOperation("取消分配")
|
||||
public ResponseEntity<Object> unDivStruct(@RequestBody JSONObject whereJson){
|
||||
iStIvtIostorinvCpService.unDivStruct(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/setPoint")
|
||||
@Log("设置起点")
|
||||
@ApiOperation("设置起点")
|
||||
public ResponseEntity<Object> setPoint(@RequestBody JSONObject whereJson){
|
||||
iStIvtIostorinvCpService.setPoint(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/confirm")
|
||||
@Log("强制确认")
|
||||
@ApiOperation("强制确认")
|
||||
public ResponseEntity<Object> confirm(@RequestBody JSONObject whereJson){
|
||||
iStIvtIostorinvCpService.confirm(whereJson);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -117,4 +117,31 @@ public interface IStIvtIostorinvCpService extends IService<StIvtIostorinvCp> {
|
||||
* }
|
||||
*/
|
||||
void divStruct(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 取消分配
|
||||
* @param whereJson
|
||||
* {
|
||||
* 分配明细
|
||||
* }
|
||||
*/
|
||||
void unDivStruct(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 设置起点
|
||||
* @param whereJson
|
||||
* {
|
||||
* 分配明细
|
||||
* }
|
||||
*/
|
||||
void setPoint(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 强制确认
|
||||
* @param whereJson
|
||||
* {
|
||||
* ""
|
||||
* }
|
||||
*/
|
||||
void confirm(JSONObject whereJson);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.iostorInv.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -11,18 +13,28 @@ import io.jsonwebtoken.lang.Assert;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.publish.BussEventMulticaster;
|
||||
import org.nl.common.publish.event.PointEvent;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.modules.system.util.CodeUtil;
|
||||
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;
|
||||
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
|
||||
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;
|
||||
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.IStIvtIostorinvCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.service.iostorInv.IStIvtIostorinvdisCpService;
|
||||
@@ -34,6 +46,8 @@ import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostor
|
||||
import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvdtlCp;
|
||||
import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.mapper.StIvtIostorinvCpMapper;
|
||||
import org.nl.wms.storage_manage.productmanage.service.iostorInv.dto.IostorInvQuery;
|
||||
import org.nl.wms.storage_manage.productmanage.service.structIvt.IStIvtStructivtCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.util.ChangeIvtUtil;
|
||||
import org.nl.wms.storage_manage.productmanage.util.DivRuleCpService;
|
||||
import org.nl.wms.storage_manage.productmanage.util.RuleUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -41,7 +55,10 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.*;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -79,12 +96,23 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
@Autowired
|
||||
protected IStIvtStructattrService iStIvtStructattrService; // 仓位属性服务
|
||||
|
||||
@Autowired
|
||||
private ISchBaseTaskService iSchBaseTaskService; // 任务表服务
|
||||
|
||||
@Autowired
|
||||
private ISchBasePointService iSchBasePointService; // 点位服务
|
||||
|
||||
@Autowired
|
||||
private IStIvtStructivtCpService iStIvtStructivtCpService; // 库存服务
|
||||
|
||||
@Autowired
|
||||
protected IMdPbBucketrecordService iMdPbBucketrecordService; // 包装箱记录表服务
|
||||
|
||||
@Override
|
||||
public Object pageQuery(IostorInvQuery query, PageQuery page) {
|
||||
// 查询条件
|
||||
query.setIo_type(IOSEnum.IO_TYPE.code("入库"));
|
||||
page.setSort("bill_code,ASC");
|
||||
page.setSort("bill_code,DESC");
|
||||
|
||||
// 分页查询
|
||||
Page<StIvtIostorinvCp> pageQuery = this.page(page.build(), query.build());
|
||||
@@ -208,7 +236,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
.map(StIvtIostorinvdisdtlCp::getReal_qty)
|
||||
.reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
|
||||
// 插入分配明细
|
||||
// 插入分配
|
||||
StIvtIostorinvdisCp disDao = new StIvtIostorinvdisCp()
|
||||
.setIostorinvdis_id(IdUtil.getStringId())
|
||||
.setIostorinv_id(param.getString("iostorinv_id"))
|
||||
@@ -321,6 +349,10 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
6.更新库存、日物流表等、
|
||||
*/
|
||||
|
||||
// 判断是否已分配
|
||||
StIvtIostorinvdisCp disDao = iostorinvdisCpService.getOne(new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.eq(StIvtIostorinvdisCp::getIostorinvdis_id, whereJson.getString("iostorinvdis_id")));
|
||||
if (ObjectUtil.isNotEmpty(disDao.getStruct_code())) throw new BadRequestException("此明细已分配");
|
||||
|
||||
String struct_id = whereJson.getString("struct_id");
|
||||
StIvtStructattr attrDao = new StIvtStructattr();
|
||||
@@ -356,7 +388,211 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
attrDao.setInv_code(mstDao.getBill_code());
|
||||
iStIvtStructattrService.updateById(attrDao);
|
||||
|
||||
// TODO 更新库存、物流等
|
||||
// 4.更新库存
|
||||
StIvtIostorinvdtlCp dtlDao = iostorinvdtlCpService.getById(disDao.getIostorinvdtl_id());
|
||||
|
||||
disDao.setStruct_id(attrDao.getStruct_id());
|
||||
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(disDao,ChangeIvtUtil.ADDWAREHOUSING_QTY,dtlDao.getSource_billdtl_id()));
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void unDivStruct(JSONObject whereJson) {
|
||||
/*
|
||||
将分配下的所有分配明细取消
|
||||
*/
|
||||
// 1.校验是否已生成任务并已经下发
|
||||
StIvtIostorinvdisCp disDao = iostorinvdisCpService.getOne(
|
||||
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.eq(StIvtIostorinvdisCp::getIostorinvdis_id, whereJson.getString("iostorinvdis_id"))
|
||||
);
|
||||
if (ObjectUtil.isEmpty(disDao)) throw new BadRequestException("分配明细不存在!");
|
||||
|
||||
|
||||
SchBaseTask taskDao = iSchBaseTaskService.getOne(
|
||||
new QueryWrapper<SchBaseTask>().lambda()
|
||||
.eq(SchBaseTask::getTask_id, disDao.getTask_id())
|
||||
.gt(SchBaseTask::getTask_status, TaskStatusEnum.START_AND_POINT.getCode())
|
||||
);
|
||||
if (ObjectUtil.isNotEmpty(taskDao)) throw new BadRequestException("任务已下发,不可取消!");
|
||||
|
||||
// 2.更新分配明细
|
||||
iStIvtIostorinvdisdtlCpService.update(
|
||||
new StIvtIostorinvdisdtlCp()
|
||||
.setStruct_name("")
|
||||
.setStruct_code("")
|
||||
.setStruct_id("")
|
||||
.setSect_id("")
|
||||
.setSect_code("")
|
||||
.setSect_name(""),
|
||||
new QueryWrapper<StIvtIostorinvdisdtlCp>().lambda()
|
||||
.eq(StIvtIostorinvdisdtlCp::getIostorinvdis_id,disDao.getIostorinvdis_id())
|
||||
);
|
||||
|
||||
// 3.更新任务
|
||||
// iSchBaseTaskService.update(
|
||||
// new SchBaseTask().setIs_delete(true),
|
||||
// new QueryWrapper<SchBaseTask>().lambda()
|
||||
// .eq(SchBaseTask::getTask_id, disDao.getTask_id())
|
||||
// .lt(SchBaseTask::getTask_status, TaskStatusEnum.ISSUE.getCode())
|
||||
// );
|
||||
|
||||
// 解锁货位
|
||||
iStIvtStructattrService.update(
|
||||
new StIvtStructattr()
|
||||
.setLock_type("1") // TODO 暂时写死
|
||||
.setInv_code("")
|
||||
.setInv_type("")
|
||||
.setInv_id(""),
|
||||
new QueryWrapper<StIvtStructattr>().lambda()
|
||||
.eq(StIvtStructattr::getStruct_code, disDao.getStruct_code())
|
||||
);
|
||||
|
||||
// 更新库存
|
||||
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(disDao,ChangeIvtUtil.SUBWAREHOUSING_QTY,null));
|
||||
|
||||
// 4.更新分配
|
||||
iostorinvdisCpService.updateById(
|
||||
disDao.setStruct_name("").setStruct_code("")
|
||||
.setStruct_id("").setSect_id("")
|
||||
.setSect_code("").setSect_name("")
|
||||
.setPoint_id("").setPoint_code("")
|
||||
.setPoint_name("")
|
||||
);
|
||||
|
||||
// 5.更新明细
|
||||
StIvtIostorinvdtlCp dtlDao = iostorinvdtlCpService.getOne(
|
||||
new QueryWrapper<StIvtIostorinvdtlCp>().lambda()
|
||||
.eq(StIvtIostorinvdtlCp::getIostorinvdtl_id, disDao.getIostorinvdtl_id())
|
||||
);
|
||||
|
||||
if (StrUtil.equals(dtlDao.getBill_status(), IOSEnum.BILL_STATUS.code("生成"))) {
|
||||
throw new BadRequestException("没有可取消的分配明细!");
|
||||
}
|
||||
|
||||
dtlDao.setAssign_qty(NumberUtil.sub(dtlDao.getAssign_qty(),disDao.getReal_qty()));
|
||||
dtlDao.setUnassign_qty(disDao.getReal_qty());
|
||||
|
||||
if (dtlDao.getAssign_qty().doubleValue() == 0) {
|
||||
dtlDao.setBill_status(IOSEnum.BILL_STATUS.code("生成"));
|
||||
} else if (dtlDao.getAssign_qty().doubleValue() > 0) {
|
||||
dtlDao.setBill_status(IOSEnum.BILL_STATUS.code("分配中"));
|
||||
}
|
||||
|
||||
iostorinvdtlCpService.updateById(dtlDao);
|
||||
|
||||
// 6.更新主表
|
||||
updateMst(dtlDao.getIostorinv_id());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void setPoint(JSONObject whereJson) {
|
||||
StIvtIostorinvdisCp disDao = iostorinvdisCpService.getById(whereJson.getString("iostorinvdis_id"));
|
||||
|
||||
// 1.校验是否设置过起点
|
||||
if (ObjectUtil.isNotEmpty(disDao.getPoint_id())) throw new BadRequestException("此明细已生成任务!");
|
||||
|
||||
// 2.下发任务
|
||||
SchBasePoint pointDao = iSchBasePointService.getOne(
|
||||
new QueryWrapper<SchBasePoint>().lambda()
|
||||
.eq(SchBasePoint::getPoint_code, whereJson.getString("point_code"))
|
||||
);
|
||||
|
||||
PointEvent event = PointEvent.builder()
|
||||
.type(CHANGE_BILL_TYPE_ENUM.IOSTORINV_IN_SEND.getCode())
|
||||
.point_code1(disDao.getStruct_code())
|
||||
.point_code2(pointDao.getPoint_code())
|
||||
.callback((Consumer<String>) disDao::setTask_id)
|
||||
.build();
|
||||
BussEventMulticaster.Publish(event);
|
||||
|
||||
// 3.更新分配表
|
||||
iostorinvdisCpService.updateById(
|
||||
disDao.setPoint_id(pointDao.getPoint_id())
|
||||
.setPoint_code(pointDao.getPoint_code())
|
||||
.setPoint_name(pointDao.getPoint_name())
|
||||
);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void confirm(JSONObject whereJson) {
|
||||
|
||||
// 1.更新主表为完成
|
||||
StIvtIostorinvCp mstDao = this.getById(whereJson.getString("iostorinv_id"));
|
||||
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("完成"));
|
||||
mstDao.setConfirm_id(SecurityUtils.getCurrentUserId());
|
||||
mstDao.setConfirm_name(SecurityUtils.getCurrentNickName());
|
||||
mstDao.setConfirm_time(DateUtil.now());
|
||||
this.updateById(mstDao);
|
||||
|
||||
// 2.判断所有明细是否为分配完
|
||||
List<StIvtIostorinvdtlCp> dtlDaoList = iostorinvdtlCpService.list(
|
||||
new QueryWrapper<StIvtIostorinvdtlCp>().lambda()
|
||||
.eq(StIvtIostorinvdtlCp::getIostorinv_id, whereJson.getString("iostorinv_id"))
|
||||
);
|
||||
|
||||
boolean is_dis = dtlDaoList.stream()
|
||||
.anyMatch(row -> row.getBill_status().equals(IOSEnum.BILL_STATUS.code("分配完")));
|
||||
|
||||
if (!is_dis) throw new BadRequestException("请先分配单据!");
|
||||
|
||||
// 3.更新明细表为完成
|
||||
iostorinvdtlCpService.update(
|
||||
new StIvtIostorinvdtlCp()
|
||||
.setBill_status(IOSEnum.BILL_STATUS.code("完成")),
|
||||
new QueryWrapper<StIvtIostorinvdtlCp>().lambda()
|
||||
.eq(StIvtIostorinvdtlCp::getIostorinv_id, whereJson.getString("iostorinv_id"))
|
||||
);
|
||||
|
||||
// 4.更新箱记录表状态为入库
|
||||
List<StIvtIostorinvdisdtlCp> disDtlList = iStIvtIostorinvdisdtlCpService.list(
|
||||
new QueryWrapper<StIvtIostorinvdisdtlCp>().lambda()
|
||||
.eq(StIvtIostorinvdisdtlCp::getIostorinv_id, whereJson.getString("iostorinv_id"))
|
||||
);
|
||||
|
||||
for (StIvtIostorinvdisdtlCp disDtlDao : disDtlList) {
|
||||
// 更新箱记录表
|
||||
iMdPbBucketrecordService.update(
|
||||
MdPbBucketrecord.builder()
|
||||
.status("03") // TODO 暂时写死
|
||||
.instor_optid(Long.getLong(SecurityUtils.getCurrentUserId()))
|
||||
.instor_optname(SecurityUtils.getCurrentNickName())
|
||||
.instor_time(DateUtil.now())
|
||||
.build(),
|
||||
new QueryWrapper<MdPbBucketrecord>().lambda()
|
||||
.eq(MdPbBucketrecord::getBucketunique, disDtlDao.getBucketunique())
|
||||
);
|
||||
}
|
||||
|
||||
// 5.更新任务为完成、更新库存、解锁点位
|
||||
List<StIvtIostorinvdisCp> disDaoList = iostorinvdisCpService.list(
|
||||
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.eq(StIvtIostorinvdisCp::getIostorinv_id, whereJson.getString("iostorinv_id"))
|
||||
);
|
||||
|
||||
for (StIvtIostorinvdisCp dao : disDaoList) {
|
||||
// 1)更新任务为完成
|
||||
SchBaseTask taskDao = iSchBaseTaskService.getById(dao.getTask_id());
|
||||
|
||||
if (ObjectUtil.isNotEmpty(taskDao)) {
|
||||
// 更新有任务分配
|
||||
if (!StrUtil.equals(taskDao.getTask_id(), TaskStatusEnum.FINISHED.getCode())) {
|
||||
taskDao.setTask_status(TaskStatusEnum.FINISHED.getCode());
|
||||
iSchBaseTaskService.updateById(taskDao);
|
||||
}
|
||||
}
|
||||
|
||||
// 2)更新库存
|
||||
iStIvtStructivtCpService.UpdateIvt(ivtDataParam(dao,ChangeIvtUtil.SUBWAREHOUSING_ADDIVT_QTY,null));
|
||||
|
||||
// 3)解锁终点
|
||||
unLockNext(dao.getStruct_id(),dao.getStoragevehicle_code());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -378,6 +614,7 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
stIvtIostorinvCp.setSysdeptid("111");
|
||||
stIvtIostorinvCp.setSyscompanyid("111");
|
||||
}else {
|
||||
|
||||
// 修改
|
||||
stIvtIostorinvCp.setUpdate_id(SecurityUtils.getCurrentUserId());
|
||||
stIvtIostorinvCp.setUpdate_name(SecurityUtils.getCurrentNickName());
|
||||
@@ -427,14 +664,14 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
// 2.更新分配表
|
||||
iostorinvdisCpService.update(
|
||||
new StIvtIostorinvdisCp()
|
||||
.setSect_id(attrDao.getSect_id())
|
||||
.setSect_code(attrDao.getSect_code())
|
||||
.setSect_name(attrDao.getSect_name())
|
||||
.setStruct_id(attrDao.getStruct_id())
|
||||
.setStruct_code(attrDao.getStruct_code())
|
||||
.setStruct_name(attrDao.getStruct_name()),
|
||||
.setSect_id(attrDao.getSect_id())
|
||||
.setSect_code(attrDao.getSect_code())
|
||||
.setSect_name(attrDao.getSect_name())
|
||||
.setStruct_id(attrDao.getStruct_id())
|
||||
.setStruct_code(attrDao.getStruct_code())
|
||||
.setStruct_name(attrDao.getStruct_name()),
|
||||
new QueryWrapper<StIvtIostorinvdisCp>().lambda()
|
||||
.eq(StIvtIostorinvdisCp::getIostorinvdtl_id, whereJson.getString("iostorinvdtl_id"))
|
||||
.eq(StIvtIostorinvdisCp::getIostorinvdtl_id, whereJson.getString("iostorinvdtl_id"))
|
||||
);
|
||||
|
||||
// 3.更新明细表
|
||||
@@ -445,11 +682,11 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
|
||||
iostorinvdtlCpService.update(
|
||||
new StIvtIostorinvdtlCp()
|
||||
.setBill_status(IOSEnum.BILL_STATUS.code("分配完"))
|
||||
.setAssign_qty(unassign_qty)
|
||||
.setUnassign_qty(new BigDecimal(0)),
|
||||
.setBill_status(IOSEnum.BILL_STATUS.code("分配完"))
|
||||
.setAssign_qty(unassign_qty)
|
||||
.setUnassign_qty(new BigDecimal(0)),
|
||||
new QueryWrapper<StIvtIostorinvdtlCp>().lambda()
|
||||
.eq(StIvtIostorinvdtlCp::getIostorinvdtl_id, whereJson.getString("iostorinvdtl_id"))
|
||||
.eq(StIvtIostorinvdtlCp::getIostorinvdtl_id, whereJson.getString("iostorinvdtl_id"))
|
||||
);
|
||||
|
||||
// 4.更新主表
|
||||
@@ -493,7 +730,45 @@ public class StIvtIostorinvCpServiceImpl extends ServiceImpl<StIvtIostorinvCpMap
|
||||
mstDao.setBill_status(IOSEnum.BILL_STATUS.code("分配中"));
|
||||
}
|
||||
|
||||
// 判断是否为生成
|
||||
boolean is_create = dtlDaoList
|
||||
.stream()
|
||||
.allMatch(row -> row.getBill_status().equals(IOSEnum.BILL_STATUS.code("生成")));
|
||||
|
||||
if (is_create) mstDao.setBill_status(IOSEnum.BILL_STATUS.code("生成"));
|
||||
|
||||
this.updateById(mstDao);
|
||||
}
|
||||
|
||||
public JSONObject ivtDataParam(StIvtIostorinvdisCp disDao,String change_type,String sale_id) {
|
||||
JSONObject ivtParam = new JSONObject();
|
||||
ivtParam.put("struct_id", disDao.getStruct_id());
|
||||
ivtParam.put("material_id", disDao.getMaterial_id());
|
||||
ivtParam.put("pcsn", disDao.getPcsn());
|
||||
ivtParam.put("quality_scode", disDao.getQuality_scode());
|
||||
ivtParam.put("ivt_level", disDao.getIvt_level());
|
||||
ivtParam.put("change_qty", disDao.getReal_qty());
|
||||
ivtParam.put("change_type", change_type);
|
||||
ivtParam.put("sale_id", sale_id);
|
||||
|
||||
return ivtParam;
|
||||
}
|
||||
|
||||
/*
|
||||
解锁终点
|
||||
*/
|
||||
public void unLockNext(String struct_id, String storagevehicle_code) {
|
||||
|
||||
StIvtStructattr attrDao = iStIvtStructattrService.getById(struct_id);
|
||||
if (ObjectUtil.isEmpty(attrDao)) throw new BadRequestException("仓位不存在!");
|
||||
|
||||
attrDao.setInv_code("");
|
||||
attrDao.setInv_type("");
|
||||
attrDao.setInv_id("");
|
||||
attrDao.setStoragevehicle_code(storagevehicle_code);
|
||||
attrDao.setLock_type("1");
|
||||
iStIvtStructattrService.updateById(attrDao);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.nl.common.utils.IdUtil;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.masterdata_manage.service.material.IMdMeMaterialbaseService;
|
||||
import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase;
|
||||
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;
|
||||
@@ -44,6 +46,10 @@ public class StIvtIostorinvdisdtlCpServiceImpl extends ServiceImpl<StIvtIostorin
|
||||
@Autowired
|
||||
protected IMdPbBucketrecordService iMdPbBucketrecordService; // 包装箱记录表服务
|
||||
|
||||
@Autowired
|
||||
protected IMdMeMaterialbaseService iMdMeMaterialbaseService; // 物料服务
|
||||
|
||||
|
||||
@Override
|
||||
public void batchInsert(Collection<StIvtIostorinvdisdtlCp> list) {
|
||||
if (!CollectionUtils.isEmpty(list)){
|
||||
@@ -67,13 +73,18 @@ public class StIvtIostorinvdisdtlCpServiceImpl extends ServiceImpl<StIvtIostorin
|
||||
.eq("storagevehicle_code", item.getString("storagevehicle_code"))
|
||||
);
|
||||
|
||||
MdMeMaterialbase mataDao = iMdMeMaterialbaseService.getOne(
|
||||
new QueryWrapper<MdMeMaterialbase>().lambda()
|
||||
.eq(MdMeMaterialbase::getMaterial_code, item.getString("material_code"))
|
||||
);
|
||||
|
||||
StIvtIostorinvdisdtlCp disDtlDao = new StIvtIostorinvdisdtlCp()
|
||||
.setIostorinv_id(json.getString("iostorinv_id"))
|
||||
.setIostorinvdtl_id(json.getString("iostorinvdtl_id"))
|
||||
.setIostorinvdis_id(json.getString("iostorinvdis_id"))
|
||||
.setIostorinvdisdtl_id(IdUtil.getStringId())
|
||||
.setSeq_no(new BigDecimal(1))
|
||||
.setMaterial_id(item.getString("material_id"))
|
||||
.setMaterial_id(mataDao.getMaterial_id())
|
||||
.setPcsn(item.getString("pcsn"))
|
||||
.setQuality_scode("00") // TODO 暂时写
|
||||
.setIvt_level("01") // TODO 暂时写
|
||||
@@ -88,16 +99,17 @@ public class StIvtIostorinvdisdtlCpServiceImpl extends ServiceImpl<StIvtIostorin
|
||||
result.add(disDtlDao);
|
||||
|
||||
// 更新箱记录表
|
||||
MdPbBucketrecord recodDao = new MdPbBucketrecord();
|
||||
recodDao.setStoragevehicle_id(Long.getLong(vehicleDao.getStoragevehicle_id()));
|
||||
recodDao.setStatus("02"); // TODO 暂时写死
|
||||
recodDao.setStoragevehicle_code(vehicleDao.getStoragevehicle_code());
|
||||
recodDao.setMakeup_optid(Long.getLong(SecurityUtils.getCurrentUserId()));
|
||||
recodDao.setMakeup_optname(SecurityUtils.getCurrentNickName());
|
||||
recodDao.setMakeup_time(DateUtil.now());
|
||||
|
||||
iMdPbBucketrecordService.update(
|
||||
recodDao,new QueryWrapper<MdPbBucketrecord>().eq("bucketunique", item.getString("bucketunique"))
|
||||
MdPbBucketrecord.builder()
|
||||
.storagevehicle_id(Long.getLong(vehicleDao.getStoragevehicle_id()))
|
||||
.status("02") // TODO 暂时写死
|
||||
.storagevehicle_code(vehicleDao.getStoragevehicle_code())
|
||||
.instor_optid(Long.getLong(SecurityUtils.getCurrentUserId()))
|
||||
.instor_optname(SecurityUtils.getCurrentNickName())
|
||||
.instor_time(DateUtil.now())
|
||||
.build(),
|
||||
new QueryWrapper<MdPbBucketrecord>()
|
||||
.eq("bucketunique", item.getString("bucketunique"))
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.nl.wms.storage_manage.productmanage.service.iostorInv.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
@@ -74,7 +75,9 @@ public class StIvtIostorinvdtlCpServiceImpl extends ServiceImpl<StIvtIostorinvdt
|
||||
row.setMaterial_id(materDao.getMaterial_id());
|
||||
row.setIostorinvdtl_id(org.nl.common.utils.IdUtil.getStringId());
|
||||
row.setSeq_no(i+1);
|
||||
row.setPcsn(DateUtil.today());
|
||||
row.setIs_active(true);
|
||||
row.setIvt_level("01"); // TODO 暂时写死
|
||||
row.setBill_status(IOSEnum.BILL_STATUS.code("生成"));
|
||||
row.setReal_qty(row.getPlan_qty());
|
||||
row.setUnassign_qty(row.getPlan_qty());
|
||||
|
||||
@@ -75,7 +75,7 @@ export default {
|
||||
return CRUD({
|
||||
title: '点位',
|
||||
optShow: {},
|
||||
url: 'api/region/getPointQuery',
|
||||
url: 'api/mpsSaleOrder',
|
||||
idField: 'region_code',
|
||||
sort: 'region_code,desc',
|
||||
query: { search: '', is_lock: '1', lock_type: '', sect_id: '', stor_id: '' },
|
||||
|
||||
@@ -62,28 +62,6 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="车间" prop="workshop_id">
|
||||
<label slot="label">车间</label>
|
||||
<el-select
|
||||
v-model="form.workshop_id"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="全部"
|
||||
class="filter-item"
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.product_area"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="仓位" prop="struct_id">
|
||||
<label slot="label">仓位:</label>
|
||||
<el-input v-model="form.struct_id" size="mini" disabled style="width: 210px" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单据状态" prop="bill_status">
|
||||
<el-select
|
||||
v-model="form.bill_status"
|
||||
@@ -226,7 +204,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/productIn/AddDtl'
|
||||
import crudStorattr from "@/api/wms/basedata/st/storattr"
|
||||
import crudStorattr, {getStor} from '@/views/wms/storage_manage/basedata/basedata'
|
||||
|
||||
const defaultForm = {
|
||||
bill_code: '',
|
||||
@@ -288,7 +266,7 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
open() {
|
||||
crudStorattr.queryStor().then(res => {
|
||||
crudStorattr.getStor({ 'stor_type': '4' }).then(res => {
|
||||
this.storlist = res.content
|
||||
})
|
||||
},
|
||||
@@ -377,7 +355,6 @@ export default {
|
||||
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
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
@@ -208,6 +208,18 @@
|
||||
<el-table-column show-overflow-tooltip prop="struct_code" label="货位" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="point_code" label="入库点" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="task_code" label="任务号" align="center" />
|
||||
<el-table-column align="center" label="操作" width="170" fixed="right">
|
||||
<template scope="scope">
|
||||
<el-button
|
||||
type="danger"
|
||||
class="filter-item"
|
||||
size="mini"
|
||||
:disabled="disabledIos(scope.row)"
|
||||
icon="el-icon-delete"
|
||||
@click.native.prevent="deleteRow(scope.$index, form.tableMater)"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
|
||||
@@ -285,6 +297,14 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
disabledIos(row) {
|
||||
debugger
|
||||
if (row.iostorinvdis_id === undefined) {
|
||||
return false
|
||||
} else {
|
||||
return true
|
||||
}
|
||||
},
|
||||
open() {
|
||||
crudSectattr.getSect({ 'stor_id': this.storId }).then(res => {
|
||||
this.sects = res.content
|
||||
@@ -381,6 +401,9 @@ export default {
|
||||
this.form.tableMater.splice(-1, 0, item)
|
||||
}
|
||||
},
|
||||
deleteRow(index, rows) {
|
||||
rows.splice(index, 1)
|
||||
},
|
||||
tableRowClassName({ row, rowIndex }) {
|
||||
row.index = rowIndex
|
||||
},
|
||||
@@ -441,9 +464,14 @@ export default {
|
||||
return
|
||||
}
|
||||
crudProductIn.confirmvehicle(this.form).then(res => {
|
||||
this.crud.notify('组盘成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.form.vehicle_code = ''
|
||||
this.form.bucketunique = ''
|
||||
crudProductIn.getIosInvDtl({ 'iostorinv_id': this.form.dtl_row.iostorinv_id }).then(res => {
|
||||
this.form.vehicle_code = ''
|
||||
this.form.bucketunique = ''
|
||||
this.openParam = res
|
||||
this.form.tableMater = []
|
||||
this.dis_row = null
|
||||
this.crud.notify('组盘成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
})
|
||||
})
|
||||
|
||||
},
|
||||
@@ -487,25 +515,6 @@ export default {
|
||||
row.qty = row.storage_qty
|
||||
this.bucketuniqueObj = row
|
||||
},
|
||||
divPoint() {
|
||||
if (!this.form.point_code) {
|
||||
this.crud.notify('请选择入库点', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
if (this.form.tableMater.length === 0) {
|
||||
this.crud.notify('请先选择一条明细!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
crudProductIn.divPoint(this.form).then(res => {
|
||||
crudProductIn.getIODtl({ 'iostorinv_id': this.form.dtl_row.iostorinv_id, 'open_flag': '1' }).then(res => {
|
||||
this.openParam = res
|
||||
})
|
||||
crudProductIn.getDisDtl(this.form.dtl_row).then(res => {
|
||||
this.form.tableMater = res
|
||||
this.crud.notify('设置起点成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
})
|
||||
})
|
||||
},
|
||||
divStruct() {
|
||||
if (this.dis_row === null) {
|
||||
this.crud.notify('请先选择一条分配明细!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
@@ -519,17 +528,16 @@ export default {
|
||||
if (this.form.checked) {
|
||||
this.divBtn = true
|
||||
|
||||
debugger
|
||||
this.dis_row.stor_id = this.stor_id
|
||||
this.dis_row.sect_id = this.sect_id
|
||||
crudProductIn.divStruct(this.dis_row).then(res => {
|
||||
/* crudProductIn.getIODtl({ 'iostorinv_id': this.form.dtl_row.iostorinv_id, 'open_flag': '1' }).then(res => {
|
||||
crudProductIn.getIosInvDtl({ 'iostorinv_id': this.dis_row.iostorinv_id }).then(res => {
|
||||
this.openParam = res
|
||||
this.form.tableMater = []
|
||||
this.dis_row = null
|
||||
this.crud.notify('分配成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
})
|
||||
crudProductIn.getDisDtl(this.form.dtl_row).then(res => {
|
||||
this.form.tableMater = res
|
||||
this.divBtn = false
|
||||
this.crud.notify('分配货位成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
})*/
|
||||
}).finally(() => {
|
||||
this.divBtn = false
|
||||
})
|
||||
@@ -539,23 +547,36 @@ export default {
|
||||
}
|
||||
},
|
||||
unDivStruct() {
|
||||
if (this.form.tableMater.length <= 0) {
|
||||
this.crud.notify('不存在载具明细!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
if (this.dis_row === null) {
|
||||
this.crud.notify('请先选择一条分配明细!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
const flag = this.form.tableMater.some(mater => !mater.struct_code)
|
||||
if (flag) {
|
||||
this.crud.notify('明细存在未分配货位!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
// 如果勾选了,直接跳后台
|
||||
crudProductIn.unDivStruct(this.form).then(res => {
|
||||
crudProductIn.getIODtl({ 'iostorinv_id': this.form.dtl_row.iostorinv_id, 'open_flag': '1' }).then(res => {
|
||||
|
||||
crudProductIn.unDivStruct(this.dis_row).then(res => {
|
||||
crudProductIn.getIosInvDtl({ 'iostorinv_id': this.dis_row.iostorinv_id }).then(res => {
|
||||
this.openParam = res
|
||||
this.form.tableMater = []
|
||||
this.dis_row = null
|
||||
this.crud.notify('取消成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
})
|
||||
crudProductIn.getDisDtl(this.form.dtl_row).then(res => {
|
||||
this.form.tableMater = res
|
||||
this.crud.notify('取消分配成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
})
|
||||
},
|
||||
divPoint() {
|
||||
if (!this.form.point_code) {
|
||||
this.crud.notify('请选择入库点', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
if (this.dis_row === null) {
|
||||
this.crud.notify('请先选择一条明细!', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
this.dis_row.point_code = this.form.point_code
|
||||
crudProductIn.setPoint(this.dis_row).then(res => {
|
||||
crudProductIn.getIosInvDtl({ 'iostorinv_id': this.dis_row.iostorinv_id }).then(res => {
|
||||
this.openParam = res
|
||||
this.form.tableMater = []
|
||||
this.dis_row = null
|
||||
this.crud.notify('操作成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
@@ -235,13 +235,13 @@ export default {
|
||||
this.currentDis = current
|
||||
},
|
||||
queryTableDtl() {
|
||||
crudProductIn.getIODtl({ 'iostorinv_id': this.form.iostorinv_id }).then(res => {
|
||||
crudProductIn.getIosInvDtl({ 'iostorinv_id': this.form.iostorinv_id }).then(res => {
|
||||
this.tableDtl = res
|
||||
})
|
||||
},
|
||||
queryTableDdis() {
|
||||
if (this.currentdtl !== null) {
|
||||
crudProductIn.getDisTask({ 'iostorinvdtl_id': this.currentdtl.iostorinvdtl_id }).then(res => {
|
||||
crudProductIn.getIosInvDis({ "iostorinvdtl_id": this.currentdtl.iostorinvdtl_id }).then(res => {
|
||||
this.tabledis = res
|
||||
}).catch(() => {
|
||||
this.tabledis = []
|
||||
|
||||
@@ -141,17 +141,17 @@
|
||||
>
|
||||
分配
|
||||
</el-button>
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="success"
|
||||
:disabled="dis_flag"
|
||||
icon="el-icon-position"
|
||||
size="mini"
|
||||
@click="divOpen"
|
||||
>
|
||||
作业任务
|
||||
</el-button>
|
||||
<!-- <el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="success"
|
||||
:disabled="dis_flag"
|
||||
icon="el-icon-position"
|
||||
size="mini"
|
||||
@click="divOpen"
|
||||
>
|
||||
作业任务
|
||||
</el-button>-->
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
@@ -235,7 +235,7 @@ import DateRangePicker from '@/components/DateRangePicker/index'
|
||||
import AddDialog from '@/views/wms/storage_manage/product/productIn/AddDialog'
|
||||
import DivDialog from '@/views/wms/storage_manage/product/productIn/DivDialog'
|
||||
import ViewDialog from '@/views/wms/storage_manage/product/productIn/ViewDialog'
|
||||
import crudStorattr from '@/api/wms/basedata/st/storattr'
|
||||
import crudStorattr, {getStor} from '@/views/wms/storage_manage/basedata/basedata'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
@@ -281,7 +281,7 @@ export default {
|
||||
}
|
||||
},
|
||||
created() {
|
||||
crudStorattr.queryStor().then(res => {
|
||||
crudStorattr.getStor({ 'stor_type': '4' }).then(res => {
|
||||
this.storlist = res.content
|
||||
})
|
||||
},
|
||||
@@ -341,7 +341,7 @@ export default {
|
||||
this.crud.notify('请选择一条单据', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
crudProductIn.confirm(this.currentRow).then(res => {
|
||||
crudProductIn.confirm({ 'iostorinv_id': this.currentRow.iostorinv_id }).then(res => {
|
||||
this.crud.notify('单据确认成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.crud.toQuery()
|
||||
})
|
||||
|
||||
@@ -66,7 +66,31 @@ export function getSect(data) {
|
||||
|
||||
export function divStruct(data) {
|
||||
return request({
|
||||
url: '/api/stIvtSectattr/divStruct',
|
||||
url: '/api/productIn/divStruct',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function unDivStruct(data) {
|
||||
return request({
|
||||
url: '/api/productIn/unDivStruct',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function setPoint(data) {
|
||||
return request({
|
||||
url: '/api/productIn/setPoint',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function confirm(data) {
|
||||
return request({
|
||||
url: '/api/productIn/confirm',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -81,5 +105,8 @@ export default {
|
||||
vehicleCheck,
|
||||
confirmvehicle,
|
||||
getSect,
|
||||
divStruct
|
||||
divStruct,
|
||||
unDivStruct,
|
||||
setPoint,
|
||||
confirm
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user