import BaseController from "../baseController";
|
import { Post } from "egg-shell-decorators";
|
import { TMSWayBill } from "../../entity/express/tms/tmsWayBill";
|
import { In } from "typeorm";
|
import { BaseVehicle } from "../../entity/tms/base/baseVehicle";
|
import { BaseDriver } from "../../entity/tms/base/baseDriver";
|
import { TMSPickup } from "../../entity/tms/biz/tmsPickup";
|
import { TMSPickupDetail } from "../../entity/tms/biz/tmsPickupDetail";
|
/**
|
*
|
*/
|
export default class BillPickupController extends BaseController {
|
/**
|
* 司机车辆信息
|
*/
|
@Post()
|
public async distributionbill() {
|
let { ctx } = this;
|
let userInfo = await ctx.helper.userInfo();
|
try {
|
let driverDataList = await this.dbRead.find(BaseDriver, {
|
userProduct_Id: userInfo.userProduct_Id
|
});
|
if (!driverDataList) {
|
this.info.result = false;
|
this.info.msg = "数据不存在";
|
ctx.body = this.info;
|
return;
|
}
|
let vehicleDataList = await this.dbRead.find(BaseVehicle, {
|
userProduct_Id: userInfo.userProduct_Id
|
});
|
if (!vehicleDataList) {
|
this.info.result = false;
|
this.info.msg = "数据不存在";
|
ctx.body = this.info;
|
return;
|
}
|
this.info.result = true;
|
this.info.data = { driverDataList, vehicleDataList };
|
ctx.body = this.info;
|
} catch (error) {
|
let msg = "异常错误信息:" + error.message;
|
this.info.result = false;
|
this.info.msg = msg;
|
ctx.body = this.info;
|
}
|
}
|
/**
|
* 生成单据
|
*/
|
@Post()
|
public async generateBill() {
|
let { ctx } = this;
|
let body = ctx.request.body;
|
let userInfo = await ctx.helper.userInfo(); // 权限
|
let formdata = body.formData;
|
try {
|
// 校验数据
|
if (!formdata) {
|
this.info.result = false;
|
this.info.msg = "数据不存在";
|
ctx.body = this.info;
|
return;
|
}
|
// 生成提货派车单 修改运单状态
|
await this.dbWrite.update(
|
TMSWayBill,
|
{
|
wayBill_Id: In(body.wayBill_Ids)
|
},
|
{
|
orderStatus: "提货中"
|
}
|
);
|
// 获取选中的运单
|
const tmsList = await this.dbRead.find(TMSWayBill, {
|
where: {
|
userProduct_Id: userInfo.userProduct_Id,
|
wayBill_Id: In(body.wayBill_Ids)
|
}
|
});
|
let data = new TMSPickup();
|
data.pickupCode = await this.ctx.service.common.getCodeRegular(1800);
|
data.truckNo = formdata.truckNo;
|
data.vehicleType = formdata.vehicleType;
|
data.carrierName = formdata.carrierName;
|
data.driverName = formdata.driverName;
|
data.tel = formdata.tel;
|
data.totalQuantity = formdata.totalQuantity;
|
data.totalWeight = formdata.totalWeight;
|
data.totalVolume = formdata.totalVolume;
|
data.totalNumber = formdata.totalNumber;
|
data.pickupType = "提货单";
|
data.stats = "待接单";
|
// 设置账套信息
|
await this.setAccountInfo(data);
|
await this.dbWrite.insert(TMSPickup, data);
|
|
// 运单数据
|
for (let item of tmsList) {
|
let detail = new TMSPickupDetail();
|
detail.pickup_Id = data.pickup_Id;
|
detail.wayBillCode = item.wayBillCode;
|
detail.stats = item.orderStatus;
|
detail.distributionSite = item.siteName;
|
detail.distributionAddress = item.siteAddress;
|
detail.consigneeName = item.consigneeName;
|
detail.consigneeMobileTwo = item.consigneeMobileTwo;
|
detail.consigneeAddress = item.consigneeAddress;
|
detail.billingName = item.billingName;
|
detail.billingMobile = item.billingMobile;
|
detail.billingAddress = item.billingAddress;
|
// detail.distributionRoute = item.distributionRoute;
|
detail.totalQuantity = item.totalQuantity;
|
detail.totalWeight = item.totalWeight;
|
detail.requirement = item.requirement;
|
// detail.take = item.take;
|
detail.degrees = item.degrees;
|
detail.generate = item.generate;
|
detail.createDate = item.createDate;
|
detail.creator = item.creator;
|
await this.dbWrite.insert(TMSPickupDetail, detail);
|
}
|
|
this.info.msg = "生成成功!";
|
this.info.result = true;
|
ctx.body = this.info;
|
} catch (ex) {
|
let msg = "异常错误信息:" + ex.message;
|
this.info.result = false;
|
this.info.msg = msg;
|
ctx.body = this.info;
|
}
|
}
|
//#endregion
|
}
|