| 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 | 
| } |