333
schangxiang@126.com
2025-09-19 18966e02fb573c7e2bb0c6426ed792b38b910940
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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
}