import BaseService from "../baseService";
|
import * as sql from "mssql";
|
import { StoragePositionTransfer } from "../../entity/storage/check/storagePositionTransfer";
|
|
export default class PositionGroupService extends BaseService {
|
//#region 拍号库存货位转移
|
public async savePlateTransfer(storage_Id: string, positionNo: string, plateCode: string) {
|
let { ctx } = this;
|
let userInfo = await ctx.helper.userInfo();
|
this.info.result = false;
|
if (!plateCode) {
|
this.info.msg = "出库单号不能为空!";
|
return this.info;
|
}
|
try {
|
let menu_Id = 450;
|
let transferCode = await ctx.service.common.getCodeRegular(450);
|
const connection: any = await this.dbWrite.connection;
|
let request = new sql.Request(connection.driver.master);
|
request.input("transferCode", transferCode);
|
request.input("storage_Id", storage_Id);
|
request.input("user_Id", userInfo.user_Id);
|
request.input("plateCode", plateCode);
|
request.input("positionNo", positionNo);
|
request.output("outMsg", sql.NVarChar(2000));
|
let result = await request.execute("sp_Storage_PlatePositionTransfer_Create");
|
let outMsg = result.output.outMsg;
|
if (outMsg) {
|
this.info.msg = outMsg;
|
this.info.result = false;
|
return this.info;
|
} else {
|
//#region
|
let dataInfo = await this.dbRead
|
.createQueryBuilder(StoragePositionTransfer, "t")
|
.where("transferCode=:transferCode", {
|
transferCode: transferCode
|
})
|
.getOne();
|
if (dataInfo != null) {
|
const connection: any = await this.dbWrite.connection;
|
let request = new sql.Request(connection.driver.master);
|
request.input("transfer_Id", dataInfo.transfer_Id);
|
request.input("user_Id", userInfo.user_Id);
|
request.input("menu_Id", menu_Id);
|
request.output("outMsg", sql.NVarChar(2000));
|
let result = await request.execute("sp_Storage_PositionTransfer_Check");
|
let outMsg = result.output.outMsg;
|
if (outMsg) {
|
this.info.msg = outMsg;
|
this.info.result = false;
|
return this.info;
|
} else {
|
this.info.msg = "确认转移成功";
|
this.info.result = true;
|
return this.info;
|
}
|
} else {
|
this.info.msg = "分拣失败,单据创建成功!";
|
this.info.result = true;
|
}
|
//#endregion
|
return this.info;
|
}
|
} catch (error) {
|
this.info.result = false;
|
this.info.msg = error.message;
|
return this.info;
|
}
|
}
|
//#endregion
|
}
|