فهرست منبع

修改单据orderPrice为单价计算

animeic 2 سال پیش
والد
کامیت
b1a099c308

+ 6 - 6
boxcost/api/bill-produce-excel.go

@@ -107,7 +107,7 @@ func (b *ProduceBillExcel) drawSubTitles() error {
 	drawLeft(b.Row+2, "产品名称:"+b.Content.ProductName)
 	status := ""
 	if b.Content.Status == "complete" {
-		status = fmt.Sprintf("已完成(%d)", b.Content.ConfirmCount)
+		status = "已完成"
 	}
 	if b.Content.Status == "created" {
 		status = "进行中"
@@ -186,23 +186,23 @@ func (b *ProduceBillExcel) drawTableContent() error {
 	if len(produces) > 0 {
 		for _, produce := range produces {
 			realCount := ""
-			price := produce.Price
+			price := produce.OrderPrice
 			priceStr := fmt.Sprintf("%.3f", price)
 			b.FormatToEmpty(&priceStr)
 			// 预算金额
-			orderPrice := fmt.Sprintf("%.3f", produce.Price*float64(produce.OrderCount))
-			b.FormatToEmpty(&orderPrice)
+			budgetAmount := fmt.Sprintf("%.3f", produce.OrderPrice*float64(produce.OrderCount))
+			b.FormatToEmpty(&budgetAmount)
 			// 实际金额
 			realPrice := ""
 			if b.Content.Status == "complete" {
 				// 实际完成数
 				realCount = fmt.Sprintf("%d", produce.ConfirmCount)
 				b.FormatToEmpty(&realCount)
-				realPrice = fmt.Sprintf("%.3f", produce.Price*float64(produce.ConfirmCount))
+				realPrice = fmt.Sprintf("%.3f", produce.OrderPrice*float64(produce.ConfirmCount))
 			}
 
 			deliveryTime := produce.DeliveryTime.Local().Format("2006-01-02")
-			DrawRow(b.Row, produce.Name, produce.Norm, produce.Paper, produce.PaperSize, produce.PrintSize, fmt.Sprintf("%d", produce.OrderCount), realCount, priceStr, orderPrice, realPrice, deliveryTime, produce.Remark)
+			DrawRow(b.Row, produce.Name, produce.Norm, produce.Paper, produce.PaperSize, produce.PrintSize, fmt.Sprintf("%d", produce.OrderCount), realCount, priceStr, budgetAmount, realPrice, deliveryTime, produce.Remark)
 			b.Row++
 		}
 	}

+ 6 - 6
boxcost/api/bill-product-excel.go

@@ -112,7 +112,7 @@ func (b *ProductBillExcel) drawSubTitles() error {
 	drawLeft(b.Row+2, "产品名称:"+b.Content.ProductName)
 	status := ""
 	if b.Content.Status == "complete" {
-		status = fmt.Sprintf("已完成(%d)", b.Content.ConfirmCount)
+		status = "已完成"
 	}
 	if b.Content.Status == "created" {
 		status = "进行中"
@@ -180,22 +180,22 @@ func (b *ProductBillExcel) drawTableContent() error {
 			realCount := "-"
 			realPrice := "-"
 			// 预算金额
-			orderPrice := fmt.Sprintf("%.3f", float64(product.OrderCount)*product.Price)
-			b.FormatToEmpty(&orderPrice)
+			budgetAmount := fmt.Sprintf("%.3f", float64(product.OrderCount)*product.OrderPrice)
+			b.FormatToEmpty(&budgetAmount)
 
 			// 实际完成数
 			realCount = fmt.Sprintf("%d", product.ConfirmCount)
 			b.FormatToEmpty(&realCount)
 
 			// 实际金额
-			realPrice = fmt.Sprintf("%.3f", float64(product.ConfirmCount)*product.Price)
+			realPrice = fmt.Sprintf("%.3f", float64(product.ConfirmCount)*product.OrderPrice)
 			b.FormatToEmpty(&realPrice)
 
 			// a采购项目 b规格 c下单数量 d单位 e完成数量 f单价 g预算金额 h实际金额 i交货时间 j备注
 			orderCount := fmt.Sprintf("%d", product.OrderCount)
-			price := fmt.Sprintf("%.3f", product.Price)
+			price := fmt.Sprintf("%.3f", product.OrderPrice)
 			b.FormatToEmpty(&price)
-			DrawRow(b.Row, product.Name, product.Norm, orderCount, product.Unit, realCount, price, orderPrice, realPrice, deliveryTime, product.Remark)
+			DrawRow(b.Row, product.Name, product.Norm, orderCount, product.Unit, realCount, price, budgetAmount, realPrice, deliveryTime, product.Remark)
 			b.Row++
 		}
 	}

+ 5 - 8
boxcost/api/bill-purchase-excel.go

@@ -115,7 +115,7 @@ func (b *PurchaseBillExcel) drawSubTitles() error {
 	drawLeft(b.Row+2, "产品名称:"+b.Content.ProductName)
 	status := ""
 	if b.Content.Status == "complete" {
-		status = fmt.Sprintf("已完成(%d)", b.Content.ConfirmCount)
+		status = "已完成"
 	}
 	if b.Content.Status == "created" {
 		status = "进行中"
@@ -127,7 +127,6 @@ func (b *PurchaseBillExcel) drawSubTitles() error {
 }
 
 func (b *PurchaseBillExcel) drawTableTitle() error {
-	// row := b.Offset + 5
 	b.Row += 3
 	//A采购项目 B规格(克) 尺寸C-D 数量E 单价F-G 交货时间H 备注I
 	var drawCol = func(prefix string, value string) error {
@@ -209,8 +208,6 @@ func (b *PurchaseBillExcel) drawTableTitle() error {
 }
 
 func (b *PurchaseBillExcel) drawTableContent() error {
-	// row := b.Offset + 7
-	// b.Row = row
 	b.Row += 2
 
 	var DrawRow = func(rowIndex int, values ...string) {
@@ -238,8 +235,8 @@ func (b *PurchaseBillExcel) drawTableContent() error {
 			price2 := fmt.Sprintf("%.3f", paper.Price2)
 
 			// 预算金额
-			orderPrice := fmt.Sprintf("%.3f", paper.Price*float64(paper.OrderCount))
-			b.FormatToEmpty(&orderPrice)
+			budgetAmount := fmt.Sprintf("%.3f", paper.OrderPrice*float64(paper.OrderCount))
+			b.FormatToEmpty(&budgetAmount)
 
 			if b.Content.Status == "complete" {
 				// 实际完成数
@@ -247,11 +244,11 @@ func (b *PurchaseBillExcel) drawTableContent() error {
 				b.FormatToEmpty(&realCount)
 
 				// 实际金额
-				realPrice = fmt.Sprintf("%.3f", paper.Price*float64(paper.ConfirmCount))
+				realPrice = fmt.Sprintf("%.3f", paper.OrderPrice*float64(paper.ConfirmCount))
 				b.FormatToEmpty(&realPrice)
 			}
 
-			DrawRow(b.Row, paper.Name, paper.Norm, paper.Height, paper.Width, fmt.Sprintf("%d", paper.OrderCount), realCount, price, price2, orderPrice, realPrice, deliveryTime, paper.Remark)
+			DrawRow(b.Row, paper.Name, paper.Norm, paper.Height, paper.Width, fmt.Sprintf("%d", paper.OrderCount), realCount, price, price2, budgetAmount, realPrice, deliveryTime, paper.Remark)
 			b.Row++
 		}
 	}

+ 6 - 6
boxcost/api/report-produce-excel.go

@@ -111,7 +111,7 @@ func (b *ReportProduceExcel) drawSubTitles() error {
 	drawLeft(b.Row+2, "产品名称:"+b.Content.ProductName)
 	status := ""
 	if b.Content.Status == "complete" {
-		status = fmt.Sprintf("已完成(%d)", b.Content.ConfirmCount)
+		status = "已完成"
 	}
 	if b.Content.Status == "created" {
 		status = "进行中"
@@ -193,23 +193,23 @@ func (b *ReportProduceExcel) drawTableContent() error {
 	if len(produces) > 0 {
 		for _, produce := range produces {
 			realCount := ""
-			price := produce.Price
+			price := produce.OrderPrice
 			priceStr := fmt.Sprintf("%.3f", price)
 			b.FormatToEmpty(&priceStr)
 			// 预算金额
-			orderPrice := fmt.Sprintf("%.3f", produce.Price*float64(produce.OrderCount))
-			b.FormatToEmpty(&orderPrice)
+			budgetAmount := fmt.Sprintf("%.3f", produce.OrderPrice*float64(produce.OrderCount))
+			b.FormatToEmpty(&budgetAmount)
 			// 实际金额
 			realPrice := ""
 			if b.Content.Status == "complete" {
 				// 实际完成数
 				realCount = fmt.Sprintf("%d", produce.ConfirmCount)
 				b.FormatToEmpty(&realCount)
-				realPrice = fmt.Sprintf("%.3f", produce.Price*float64(produce.ConfirmCount))
+				realPrice = fmt.Sprintf("%.3f", produce.OrderPrice*float64(produce.ConfirmCount))
 			}
 
 			deliveryTime := produce.DeliveryTime.Local().Format("2006-01-02")
-			DrawRow(b.Row, produce.Name, produce.Norm, produce.Paper, produce.PaperSize, produce.PrintSize, fmt.Sprintf("%d", produce.OrderCount), realCount, priceStr, orderPrice, realPrice, deliveryTime, produce.Remark)
+			DrawRow(b.Row, produce.Name, produce.Norm, produce.Paper, produce.PaperSize, produce.PrintSize, fmt.Sprintf("%d", produce.OrderCount), realCount, priceStr, budgetAmount, realPrice, deliveryTime, produce.Remark)
 			b.Row++
 			b.BudgetAmount += produce.Price * float64(produce.OrderCount)
 			b.RealAmount += produce.Price * float64(produce.ConfirmCount)

+ 6 - 6
boxcost/api/report-product-excel.go

@@ -115,7 +115,7 @@ func (b *ReportProductExcel) drawSubTitles() error {
 	drawLeft(b.Row, "产品名称:"+b.Content.ProductName)
 	status := ""
 	if b.Content.Status == "complete" {
-		status = fmt.Sprintf("已完成(%d)", b.Content.ConfirmCount)
+		status = "已完成"
 	}
 	if b.Content.Status == "created" {
 		status = "进行中"
@@ -184,22 +184,22 @@ func (b *ReportProductExcel) drawTableContent() error {
 			realCount := ""
 			realPrice := ""
 			// 预算金额
-			orderPrice := fmt.Sprintf("%.3f", float64(product.OrderCount)*product.Price)
-			b.FormatToEmpty(&orderPrice)
+			budgetAmount := fmt.Sprintf("%.3f", float64(product.OrderCount)*product.OrderPrice)
+			b.FormatToEmpty(&budgetAmount)
 
 			// 实际完成数
 			realCount = fmt.Sprintf("%d", product.ConfirmCount)
 			b.FormatToEmpty(&realCount)
 
 			// 实际金额
-			realPrice = fmt.Sprintf("%.3f", float64(product.ConfirmCount)*product.Price)
+			realPrice = fmt.Sprintf("%.3f", float64(product.ConfirmCount)*product.OrderPrice)
 			b.FormatToEmpty(&realPrice)
 
 			// a采购项目 b规格 c下单数量 d单位 e完成数量 f单价 g预算金额 h实际金额 i交货时间 j备注
 			orderCount := fmt.Sprintf("%d", product.OrderCount)
-			price := fmt.Sprintf("%.3f", product.Price)
+			price := fmt.Sprintf("%.3f", product.OrderPrice)
 			b.FormatToEmpty(&price)
-			DrawRow(b.Row, product.Name, product.Norm, orderCount, product.Unit, realCount, price, orderPrice, realPrice, deliveryTime, product.Remark)
+			DrawRow(b.Row, product.Name, product.Norm, orderCount, product.Unit, realCount, price, budgetAmount, realPrice, deliveryTime, product.Remark)
 			b.Row++
 			b.BudgetAmount += float64(product.OrderCount) * product.Price
 			b.RealAmount += float64(product.ConfirmCount) * product.Price

+ 9 - 9
boxcost/api/report-purchase-excel.go

@@ -25,8 +25,8 @@ type ReportPurchaseExcel struct {
 
 	Content *model.PurchaseBill
 
-	BudgetCount float64
-	RealCount   float64
+	BudgetAmount float64
+	RealAmount   float64
 }
 
 func (b *ReportPurchaseExcel) drawTitle() error {
@@ -116,7 +116,7 @@ func (b *ReportPurchaseExcel) drawSubTitles() error {
 	drawLeft(b.Row, "产品名称:"+b.Content.ProductName)
 	status := ""
 	if b.Content.Status == "complete" {
-		status = fmt.Sprintf("已完成(%d)", b.Content.ConfirmCount)
+		status = "已完成"
 	}
 	if b.Content.Status == "created" {
 		status = "进行中"
@@ -239,8 +239,8 @@ func (b *ReportPurchaseExcel) drawTableContent() error {
 			price2 := fmt.Sprintf("%.3f", paper.Price2)
 
 			// 预算金额
-			orderPrice := fmt.Sprintf("%.3f", paper.Price*float64(paper.OrderCount))
-			b.FormatToEmpty(&orderPrice)
+			budgetAmount := fmt.Sprintf("%.3f", paper.OrderPrice*float64(paper.OrderCount))
+			b.FormatToEmpty(&budgetAmount)
 
 			if b.Content.Status == "complete" {
 				// 实际完成数
@@ -248,14 +248,14 @@ func (b *ReportPurchaseExcel) drawTableContent() error {
 				b.FormatToEmpty(&realCount)
 
 				// 实际金额
-				realPrice = fmt.Sprintf("%.3f", paper.Price*float64(paper.ConfirmCount))
+				realPrice = fmt.Sprintf("%.3f", paper.OrderPrice*float64(paper.ConfirmCount))
 				b.FormatToEmpty(&realPrice)
 			}
 
-			DrawRow(b.Row, paper.Name, paper.Norm, paper.Height, paper.Width, fmt.Sprintf("%d", paper.OrderCount), realCount, price, price2, orderPrice, realPrice, deliveryTime, paper.Remark)
+			DrawRow(b.Row, paper.Name, paper.Norm, paper.Height, paper.Width, fmt.Sprintf("%d", paper.OrderCount), realCount, price, price2, budgetAmount, realPrice, deliveryTime, paper.Remark)
 			b.Row++
-			b.BudgetCount += paper.Price * float64(paper.OrderCount)
-			b.RealCount += paper.Price * float64(paper.ConfirmCount)
+			b.BudgetAmount += paper.Price * float64(paper.OrderCount)
+			b.RealAmount += paper.Price * float64(paper.ConfirmCount)
 		}
 	}
 

+ 2 - 2
boxcost/api/report.go

@@ -187,8 +187,8 @@ func ReportPurchaseDownload(c *gin.Context, apictx *ApiSession) (interface{}, er
 		reportBill.Content = &purchase
 		reportBill.Title = fmt.Sprintf("%s原材料采购单", companyName)
 		reportBill.Draws()
-		budgetCount += purchase.BudgetAmount
-		realCount += purchase.RealAmount
+		budgetCount += reportBill.BudgetAmount
+		realCount += reportBill.RealAmount
 		row = reportBill.Row + 3
 	}
 	row = row - 2

+ 24 - 24
boxcost/db/model/bill.go

@@ -27,6 +27,9 @@ type PaperBill struct {
 	// 下单数量
 	OrderCount int `bson:"orderCount,omitempty" json:"orderCount"`
 
+	// 下单单价
+	OrderPrice float64 `bson:"orderPrice,omitempty" json:"orderPrice"`
+
 	//备注
 	Remark string `bson:"remark,omitempty" json:"remark"`
 
@@ -71,15 +74,6 @@ type PurchaseBill struct {
 	SerialNumber string `bson:"serialNumber,omitempty" json:"serialNumber"`
 
 	Remark string `bson:"remark,omitempty" json:"remark"`
-
-	// 实际金额
-	RealAmount float64 `bson:"realAmount,omitempty" json:"realAmount"`
-
-	// 预算金额
-	BudgetAmount float64 `bson:"budgetAmount,omitempty" json:"budgetAmount"`
-
-	//确认收货数量
-	ConfirmCount int `bson:"confirmCount,omitempty" json:"confirmCount"`
 }
 
 // 工艺生产数据
@@ -98,6 +92,12 @@ type ProduceBillData struct {
 	// 下单数量
 	OrderCount int `bson:"orderCount,omitempty" json:"orderCount"`
 
+	// 下单单价
+	OrderPrice float64 `bson:"orderPrice,omitempty" json:"orderPrice"`
+
+	// 确认收货数量
+	ConfirmCount int `bson:"confirmCount,omitempty" json:"confirmCount"`
+
 	//备注
 	Remark string `bson:"remark,omitempty" json:"remark"`
 
@@ -113,9 +113,6 @@ type ProduceBillData struct {
 	//交货时间
 	DeliveryTime time.Time `bson:"deliveryTime,omitempty" json:"deliveryTime"`
 
-	// 确认收货数量
-	ConfirmCount int `bson:"confirmCount,omitempty" json:"confirmCount"`
-
 	// 确认收货数量
 	BatchCount int `bson:"batchCount,omitempty" json:"batchCount"`
 
@@ -142,14 +139,14 @@ type ProduceBill struct {
 	UpdateTime   time.Time            `bson:"updateTime,omitempty" json:"updateTime"`
 	CompleteTime time.Time            `bson:"completeTime,omitempty" json:"completeTime"`
 
-	//确认收货数量
-	ConfirmCount int `bson:"confirmCount,omitempty" json:"confirmCount"`
+	// //确认收货数量
+	// ConfirmCount int `bson:"confirmCount,omitempty" json:"confirmCount"`
 
-	// 实际金额
-	RealAmount float64 `bson:"realAmount,omitempty" json:"realAmount"`
+	// // 实际金额
+	// RealAmount float64 `bson:"realAmount,omitempty" json:"realAmount"`
 
-	// 预算金额
-	BudgetAmount float64 `bson:"budgetAmount,omitempty" json:"budgetAmount"`
+	// // 预算金额
+	// BudgetAmount float64 `bson:"budgetAmount,omitempty" json:"budgetAmount"`
 
 	//供应商
 	Supplier string `bson:"supplier,omitempty" json:"supplier"`
@@ -187,14 +184,14 @@ type ProductBill struct {
 	UpdateTime   time.Time            `bson:"updateTime,omitempty" json:"updateTime"`
 	CompleteTime time.Time            `bson:"completeTime,omitempty" json:"completeTime"`
 
-	//确认收货数量
-	ConfirmCount int `bson:"confirmCount,omitempty" json:"confirmCount"`
+	// //确认收货数量
+	// ConfirmCount int `bson:"confirmCount,omitempty" json:"confirmCount"`
 
-	// 实际金额
-	RealAmount float64 `bson:"realAmount,omitempty" json:"realAmount"`
+	// // 实际金额
+	// RealAmount float64 `bson:"realAmount,omitempty" json:"realAmount"`
 
-	// 预算金额
-	BudgetAmount float64 `bson:"budgetAmount,omitempty" json:"budgetAmount"`
+	// // 预算金额
+	// BudgetAmount float64 `bson:"budgetAmount,omitempty" json:"budgetAmount"`
 
 	//供应商
 	Supplier string `bson:"supplier,omitempty" json:"supplier"`
@@ -229,6 +226,9 @@ type ProductBillData struct {
 	// 下单数量
 	OrderCount int `bson:"orderCount,omitempty" json:"orderCount"`
 
+	// 下单单价
+	OrderPrice float64 `bson:"orderPrice,omitempty" json:"orderPrice"`
+
 	//备注
 	Remark string `bson:"remark,omitempty" json:"remark"`