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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
import BaseController from "../baseController";
import { Post } from "egg-shell-decorators";
import { BaseConsignor } from "../../entity/basicInfo/consignor/baseConsignor";
import { TMSFeeItem } from "../../entity/express/tms/tmsFeeItem";
import { TMSFeeTemplate } from "../../entity/express/tms/tmsFeeTemplate";
import { SysParamValue } from "../../entity/sys/core/sysParamValue";
 
/**
 * 费用项
 */
export default class FeeTemplateController extends BaseController {
  //#region GetFeeItem 查询收费项目
  /// <summary>
  /// 查询收费项目
  /// </summary>
  /// <returns></returns>
  @Post()
  public async getFeeItemList() {
    try {
      var model = await this.dbRead.find(TMSFeeItem, {
        userProduct_Id: (await this.userInfo).userProduct_Id
      });
      if (model != null) {
        this.info.result = true;
        this.info.data = model;
      }
    } catch (e) {
      this.info.result = false;
      this.info.msg = e.message;
    }
    this.ctx.body = this.info;
  }
  //#endregion
 
  //#region 获取所编辑收费模板数据
  /// <summary>
  /// 获取所编辑收费模板数据
  /// </summary>
  /// <param name="this.body"></param>
  /// <returns></returns>
  @Post()
  public async getTemplateSettingList() {
    let userInfo = await this.userInfo;
 
    try {
      var model = await this.dbRead.find(TMSFeeTemplate, {
        storage_Id: this.body.storage_Id,
        consignor_Id: this.body.consignor_Id,
        userProduct_Id: userInfo.userProduct_Id
      });
      if (model != null) {
        this.info.result = true;
        this.info.data = model;
      }
    } catch (e) {
      this.info.result = false;
      this.info.msg = e.message;
    }
    this.ctx.body = this.info;
  }
 
  //#endregion
 
  //#region 保存货主收费模板设置
  @Post()
  public async saveTemplateSettingList() {
    if (!this.body.consignor_Id) {
      this.info.result = false;
      this.info.msg = "用户Id为空";
      this.ctx.body = this.info;
      return;
    }
    try {
      for (var item of this.body.dataList) {
        let consignor = await this.dbRead.findOne(BaseConsignor, {
          consignor_Id: item.consignor_Id
        });
        if (consignor != null) {
          item.consignorCode = consignor.consignorCode;
          item.consignorName = consignor.consignorName;
        }
        let model = await this.dbRead.findOne(TMSFeeTemplate, {
          consignor_Id: item.consignor_Id,
          itemName: item.itemName,
          storage_Id: item.storage_Id
        });
 
        if (!model) {
          let fee = new TMSFeeTemplate();
          model = Object.assign(model, item);
          fee.createID = item.createID;
          fee.creator = item.creator;
          fee.createDate = new Date();
          await this.setAccountInfo(fee);
          await this.dbWrite.save(fee);
        } else {
          model = Object.assign(model, item);
          model.modifyID = (await this.userInfo).user_Id;
          model.modifier = (await this.userInfo).userTrueName;
          model.modifyDate = new Date();
          await this.setAccountInfo(model);
          await this.dbWrite.save(model);
        }
      }
      this.info.result = true;
      this.info.msg = "保存成功";
    } catch (error) {
      this.info.result = false;
      this.info.msg = error.message;
    }
    this.ctx.body = this.info;
  }
  //#endregion
 
  //#region 获取单位下拉框
  @Post()
  public async getUnitList() {
    try {
      let dataList = await this.dbRead.find(SysParamValue, {
        where: {
          type_Id: 798
        },
        order: {
          orderNo: "DESC"
        }
      });
      this.info.result = true;
      this.info.data = dataList.map(item => {
        return {
          unit: item.value02,
          unit_Id: item.value01
        };
      });
    } catch (e) {
      this.info.result = false;
      this.info.msg = e.message;
    }
    this.ctx.body = this.info;
  }
  //#endregion
}