Browse Source

bigpartpurchase: 增加垫资人信息

Yi 1 year ago
parent
commit
f39d9f4961

+ 3 - 1
apiserver/model/bigpartpurchase.go

@@ -33,6 +33,7 @@ type BigPartPurchase struct {
 	Field          string                     `gorm:"column:field"`
 	FieldDate      time.Time                  `gorm:"column:fieldDate"`
 	PurchaseType   modernPb.PurchaseType_Kind `gorm:"column:purchase_type"`
+	FunderId       int64                      `gorm:"column:funder_id"`
 	ProviderName   string                     `gorm:"column:providerName"`
 }
 
@@ -42,7 +43,7 @@ func (b *BigPartPurchase) TableName() string {
 
 var Location, _ = time.LoadLocation("Asia/Shanghai")
 
-func NewBigPartPurchase(pastureId, departmentId, employeeId, providerId int64,
+func NewBigPartPurchase(pastureId, departmentId, employeeId, providerId, funderId int64,
 	purchaseType modernPb.PurchaseType_Kind, orderNumber, createdTime, providerName string,
 ) *BigPartPurchase {
 	var statue int32 = 2
@@ -66,5 +67,6 @@ func NewBigPartPurchase(pastureId, departmentId, employeeId, providerId int64,
 		ProviderId:     providerId,
 		ProviderName:   providerName,
 		PurchaseType:   purchaseType,
+		FunderId:       funderId,
 	}
 }

+ 3 - 1
apiserver/model/buydetail.go

@@ -27,13 +27,14 @@ type BigBuyDetail struct {
 	SrmNumber    string                     `gorm:"column:srmNumber"`
 	SrmError     string                     `gorm:"column:srmError"`
 	PurchaseType modernPb.PurchaseType_Kind `gorm:"column:purchase_type"` // 申购类类型 0 正常 1 暂估 2 垫付 3 赠品';
+	ProviderName string                     `gorm:"column:providerName"`  // 垫付方式 供应商名称
 }
 
 func (BigBuyDetail) TableName() string {
 	return "bigbuydetail"
 }
 
-func NewBigBuyDetail(buyeCode, matchCode string, pastureId, providerId, buyerPerson int64, purchaseType modernPb.PurchaseType_Kind) *BigBuyDetail {
+func NewBigBuyDetail(buyeCode, matchCode, providerName string, pastureId, providerId, buyerPerson int64, purchaseType modernPb.PurchaseType_Kind) *BigBuyDetail {
 	nowTime := time.Now()
 	todayZore := time.Date(nowTime.Year(), nowTime.Month(), nowTime.Day(), 0, 0, 0, 0, time.Local)
 	return &BigBuyDetail{
@@ -56,6 +57,7 @@ func NewBigBuyDetail(buyeCode, matchCode string, pastureId, providerId, buyerPer
 		SrmNumber:    "",
 		SrmError:     "",
 		PurchaseType: purchaseType,
+		ProviderName: providerName,
 	}
 }
 

+ 3 - 2
apiserver/service/purchase.go

@@ -26,7 +26,8 @@ func CreateSpecialtyPurchase(ctx context.Context, req *modernPb.SparePartsRequis
 	return s.d.DB.Transaction(func(tx *gorm.DB) error {
 		newBigPartPurchase := model.NewBigPartPurchase(
 			int64(req.PastureId), int64(req.DepartmentId), int64(req.EmployeId),
-			int64(req.ProviderId), req.PurchaseType, req.OrderNumber, req.CreateTime, req.ProviderName,
+			int64(req.ProviderId), int64(req.FunderId),
+			req.PurchaseType, req.OrderNumber, req.CreateTime, req.ProviderName,
 		)
 
 		if err := tx.Model(new(model.BigPartPurchase)).Create(newBigPartPurchase).Error; err != nil {
@@ -88,7 +89,7 @@ func SpecialtyToProcure(id int64) error {
 		}
 
 		newBigBuyDetail := model.NewBigBuyDetail(
-			orderCode, newBigPartPurchase.OrderNumber, newBigPartPurchase.PastureId,
+			orderCode, newBigPartPurchase.OrderNumber, newBigPartPurchase.ProviderName, newBigPartPurchase.PastureId,
 			newBigPartPurchase.ProviderId, newBigPartPurchase.EmployeId, newBigPartPurchase.PurchaseType)
 		if err := tx.Model(new(model.BigBuyDetail)).Create(newBigBuyDetail).Error; err != nil {
 			return xerr.WithStack(err)

+ 2 - 2
cmd/main.go

@@ -37,8 +37,8 @@ import (
 // @BasePath /
 func main() {
 	var path string
-	//path = "./"
-	path = "D:/catering/eam-go/cmd/"
+	path = "./"
+	//path = "D:/catering/eam-go/cmd/"
 	flag.Parse()
 	setting.Setup(path)
 	dao.Setup()

+ 71 - 3
migration/v0002_alter_bigpartpurchase.sql

@@ -7,7 +7,8 @@ ALTER TABLE `bigpartpurchase`
 ALTER TABLE `bigpartuse` ADD COLUMN greenFodderNumber varchar(255) NOT NULL DEFAULT '' COMMENT '青贮单号';
 
 ALTER TABLE `bigbuydetail`
-    ADD COLUMN `purchase_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '申购类型 0 正常 1 暂估 2 垫付 3 赠品';
+    ADD COLUMN `purchase_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '申购类型 0 正常 1 暂估 2 垫付 3 赠品',
+    ADD COLUMN `providerName` varchar(255) NOT NULL DEFAULT '' COMMENT '供应商名称';
 
 # SELECT * FROM apisql WHERE sqlname = 'insertBigPartUse'
 INSERT INTO bigpartuse (
@@ -926,7 +927,7 @@ SELECT
  bbd.`id`,
  bbd.arrivalStatu,
  bbd.`buyeCode`,
- p.`providerName`,
+ if (bbd.providerName != "",bbd.providerName,p.`providerName`) as providerName,
  bbd.`matchCode`,
  bbd.note,
  pa.name pastureName,
@@ -1052,4 +1053,71 @@ WHERE (
   AND (
     IF (	? = 1,bpu.ProofCode IS NOT NULL,	IF	( ? = 2, bpu.ProofCode IS NULL, bpu.id > 0 ) 	)
     )
-ORDER BY bpu.receiveTime DESC,bpu.id desc;
+ORDER BY bpu.receiveTime DESC,bpu.id desc;
+
+# SELECT * FROM apisql  WHERE sqlname = 'getBigStockLaidList'   备件入库显示申购状态
+select t.*,t2.countnum partKind from
+    (SELECT
+         (CASE bpl.issync
+              WHEN 0 THEN '同步失败'
+              WHEN 1 THEN '同步成功'
+              WHEN 2 THEN '关闭同步'
+              WHEN 3 THEN '同步成功'
+             END
+             ) easStatus,
+         bpl.id,
+         bpl.laidCode,
+         bpl.pastureId,
+         bpl.empId,
+         bpl.storageTime,
+         bpl.purchaseId,
+         bpl.laidType,
+         bpl.creatDate,
+         bpl.issync,
+         bpl.msg,
+         big.purchase_type,
+         ifnull(bpl.ProofCode,'') ProofCode,
+         bpl.Proofyear,
+         p.`name` pastureName,
+         -- (SELECT COUNT(id) FROM partlaid pl WHERE pl.bigId = bpl.`id` ) partKind,
+         e.empname,
+         e.id employeId,
+         DATE_FORMAT(bpl.storageTime, '%Y-%m-%d') creatTime,
+         pv.`providerName`,sterilisation
+     FROM
+         bigpartlaid bpl
+             LEFT JOIN pasture p
+                       ON p.id = bpl.pastureId
+             LEFT JOIN emp e
+                       ON e.id = bpl.empId
+             INNER JOIN partlaid pl
+                        ON pl.bigId = bpl.id
+             left JOIN provider pv ON pl.`providerId` = pv.`id`
+             left join bigbuydetail big on bpl.purchaseId = big.buyeCode
+     WHERE (
+                 bpl.laidCode LIKE CONCAT('%', ?, '%')
+             OR ? = ''
+         )
+       AND (
+                 p.`name` LIKE CONCAT('%', ?, '%')
+             OR ? = '现代牧业'
+         )
+       AND (
+             (bpl.storageTime >= ? AND bpl.storageTime <= ?)
+             OR ? = ''
+         )
+       AND (
+                 bpl.laidType=?
+             OR ? = ''
+         )
+       AND (
+             if(?=1,bpl.issync IN(1,3),bpl.issync =?)
+             OR ? = ''
+         )
+       AND (
+         IF (	? = 1,bpl.ProofCode IS NOT NULL,	IF	( ? = 2, bpl.ProofCode IS NULL, bpl.id > 0 ) 	)
+         )
+     GROUP BY bpl.`id`
+    )t
+        left join  (SELECT bigid,COUNT(bigid) countnum FROM partlaid pl group by bigid )t2 on  t.id =t2.bigid
+ORDER by t.storageTime DESC,t.id desc;