animeic 2 жил өмнө
parent
commit
510364da46

+ 21 - 15
boxcost/api/bill-process-excel.go

@@ -3,6 +3,7 @@ package api
 import (
 	"box-cost/db/model"
 	"fmt"
+	"regexp"
 
 	_ "image/gif"
 	_ "image/jpeg"
@@ -29,9 +30,11 @@ type ProcessBillExcel struct {
 }
 
 func (b *ProcessBillExcel) drawTitle() error {
+	marginLeft := excelize.PageMarginLeft(0.3)
+	b.Excel.SetPageMargins(b.SheetName, marginLeft)
 	tileIndex := b.Offset + 1
 	startCell := fmt.Sprintf("A%d", tileIndex)
-	err := b.Excel.MergeCell(b.SheetName, startCell, fmt.Sprintf("I%d", tileIndex))
+	err := b.Excel.MergeCell(b.SheetName, startCell, fmt.Sprintf("J%d", tileIndex))
 	if err != nil {
 		return err
 	}
@@ -83,7 +86,7 @@ func (b *ProcessBillExcel) drawSubTitles() error {
 
 	var drawRight = func(rowIndex int, value string) error {
 		right1Cell := fmt.Sprintf("F%d", rowIndex)
-		err = b.Excel.MergeCell(b.SheetName, right1Cell, fmt.Sprintf("I%d", rowIndex))
+		err = b.Excel.MergeCell(b.SheetName, right1Cell, fmt.Sprintf("J%d", rowIndex))
 		if err != nil {
 			return err
 		}
@@ -223,8 +226,8 @@ func (b *ProcessBillExcel) drawTableFooter() error {
 	b.Excel.SetCellValue(b.SheetName, addCel, b.Content.SendTo)
 
 	sureCel := fmt.Sprintf("F%d", b.Row)
-	b.Excel.MergeCell(b.SheetName, sureCel, fmt.Sprintf("I%d", b.Row))
-	b.Excel.SetCellStyle(b.SheetName, sureCel, fmt.Sprintf("I%d", b.Row), styleLeft)
+	b.Excel.MergeCell(b.SheetName, sureCel, fmt.Sprintf("J%d", b.Row))
+	b.Excel.SetCellStyle(b.SheetName, sureCel, fmt.Sprintf("J%d", b.Row), styleLeft)
 	b.Excel.SetCellValue(b.SheetName, sureCel, "供应商签字:")
 
 	b.Excel.SetRowHeight(b.SheetName, b.Row, 30)
@@ -234,14 +237,17 @@ func (b *ProcessBillExcel) drawTableFooter() error {
 
 func (b *ProcessBillExcel) drawRemark() error {
 	// 填备注
+	b.Row++
 	remarkTitleCell := fmt.Sprintf("A%d", b.Row)
 	b.Excel.SetCellValue(b.SheetName, remarkTitleCell, "备注:")
 	b.Row++
 
 	remarkContentScell := fmt.Sprintf("A%d", b.Row)
 	// 预留五行备注内容 // TODO 获取内容换行符个数然后动态确定内容占用多少行单元格
-	b.Row += 5
-	remarkContentEcell := fmt.Sprintf("L%d", b.Row)
+	reg := regexp.MustCompile(`\n`)
+	remarkRowNum := len(reg.FindAllString(b.Content.Remark, -1)) + 1
+	b.Row += remarkRowNum
+	remarkContentEcell := fmt.Sprintf("J%d", b.Row)
 	b.Excel.MergeCell(b.SheetName, remarkContentScell, remarkContentEcell)
 	b.Excel.SetCellValue(b.SheetName, remarkContentScell, b.Content.Remark)
 
@@ -257,24 +263,24 @@ func (b *ProcessBillExcel) drawTableSignature() error {
 	})
 
 	// 制单人
-	billUserCell := fmt.Sprintf("A%d", b.Row+3)
+	billUserCell := fmt.Sprintf("A%d", b.Row+1)
 	b.Excel.SetCellValue(b.SheetName, billUserCell, "制单人:")
-	billUservCell := fmt.Sprintf("B%d", b.Row+3)
+	billUservCell := fmt.Sprintf("B%d", b.Row+1)
 	b.Excel.SetCellValue(b.SheetName, billUservCell, b.Content.UserName)
 
-	fontCell := fmt.Sprintf("E%d", b.Row)
-	imageCell1 := fmt.Sprintf("F%d", b.Row)
-	imageCell2 := fmt.Sprintf("H%d", b.Row)
+	fontCell := fmt.Sprintf("F%d", b.Row)
+	imageCell1 := fmt.Sprintf("G%d", b.Row)
+	imageCell2 := fmt.Sprintf("I%d", b.Row)
 	eRow := b.Row + 2
-	b.Excel.MergeCell(b.SheetName, fontCell, fmt.Sprintf("E%d", eRow))
+	b.Excel.MergeCell(b.SheetName, fontCell, fmt.Sprintf("F%d", eRow))
 	b.Excel.SetCellStyle(b.SheetName, fontCell, fontCell, style1)
 	b.Excel.SetCellValue(b.SheetName, fontCell, "审核签字:")
 
-	b.Excel.MergeCell(b.SheetName, imageCell1, fmt.Sprintf("F%d", eRow))
+	b.Excel.MergeCell(b.SheetName, imageCell1, fmt.Sprintf("H%d", eRow))
 	b.Excel.SetCellStyle(b.SheetName, imageCell1, imageCell1, style1)
 	b.Excel.SetCellValue(b.SheetName, imageCell1, "")
 
-	b.Excel.MergeCell(b.SheetName, imageCell2, fmt.Sprintf("H%d", eRow))
+	b.Excel.MergeCell(b.SheetName, imageCell2, fmt.Sprintf("J%d", eRow))
 	b.Excel.SetCellStyle(b.SheetName, imageCell2, imageCell1, style1)
 	b.Excel.SetCellValue(b.SheetName, imageCell2, "")
 
@@ -335,7 +341,7 @@ func NewProcessBill(f *excelize.File) *ProcessBillExcel {
 		Signatures:       make([]*model.Signature, 0),
 	}
 
-	f.SetColWidth(b.SheetName, "A", "I", 14)
+	f.SetColWidth(b.SheetName, "A", "J", 11.5)
 	f.SetPageMargins(b.SheetName, excelize.PageMarginTop(0), excelize.PageMarginLeft(0), excelize.PageMarginRight(0))
 	return b
 }

+ 1 - 1
boxcost/api/plan-cost-excel.go

@@ -135,7 +135,7 @@ func (b *PlanCostExcel) drawTableTitle() error {
 		return nil
 	}
 
-	drawCol("A", "产品配料名称")
+	drawCol("A", "产品部件名称")
 	drawCol2("B", "C", "材料/工序", "材料", "工序")
 	drawCol("D", "供应商名称")
 	drawCol3("E", "F", "G", "规格", "厚度(纸克)", "长", "宽")

+ 3 - 0
boxcost/db/model/bill.go

@@ -124,6 +124,9 @@ type ProduceBillData struct {
 
 	// 确认收货数量
 	BatchCount int `bson:"batchCount,omitempty" json:"batchCount"`
+
+	// 工艺数量
+	CraftNum int `bson:"craftNum,omitempty" json:"craftNum"`
 }
 
 type ProduceBill struct {