Ver Fonte

Merge branch 'master' of http://kpt.kptyun.cn:3000/baishaojie/kpt_xdmy

baishaojie há 1 ano atrás
pai
commit
8c457d08ac

+ 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"`
+	ProviderName   string                     `gorm:"column:providerName"`
 }
 
 func (b *BigPartPurchase) TableName() string {
@@ -40,7 +41,7 @@ func (b *BigPartPurchase) TableName() string {
 }
 
 func NewBigPartPurchase(pastureId, departmentId, employeeId, providerId int64,
-	purchaseType modernPb.PurchaseType_Kind, orderNumber, createdTime string,
+	purchaseType modernPb.PurchaseType_Kind, orderNumber, createdTime, providerName string,
 ) *BigPartPurchase {
 	var statue int32 = 2
 	if purchaseType == 3 {
@@ -61,6 +62,7 @@ func NewBigPartPurchase(pastureId, departmentId, employeeId, providerId int64,
 		WorkflowNote:   "",
 		Statue:         statue,
 		ProviderId:     providerId,
+		ProviderName:   providerName,
 		PurchaseType:   purchaseType,
 	}
 }

+ 10 - 1
apiserver/routers/api/api.go

@@ -191,13 +191,22 @@ func SparePartsRequisitions(c *gin.Context) {
 		valid.Field(&req.DepartmentId, valid.Required),
 		valid.Field(&req.EmployeId, valid.Required),
 		valid.Field(&req.CreateTime, valid.Required),
-		valid.Field(&req.ProviderId, valid.Required),
 		valid.Field(&req.PurchaseType, valid.Required),
+		valid.Field(&req.ProviderName, valid.Required, valid.Length(1, 100)),
 	); err != nil {
 		apierr.AbortBadRequest(c, http.StatusBadRequest, err)
 		return
 	}
 
+	if req.PurchaseType != modernPb.PurchaseType_Advance_Payment {
+		if err := valid.ValidateStruct(&req,
+			valid.Field(&req.ProviderId, valid.Required),
+		); err != nil {
+			apierr.AbortBadRequest(c, http.StatusBadRequest, err)
+			return
+		}
+	}
+
 	if len(req.SpotList) <= 0 {
 		apierr.AbortBadRequest(c, http.StatusBadRequest, xerr.Custom("备件列表不能为空"))
 		return

+ 1 - 1
apiserver/service/purchase.go

@@ -14,7 +14,7 @@ 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,
+			int64(req.ProviderId), req.PurchaseType, req.OrderNumber, req.CreateTime, req.ProviderName,
 		)
 
 		if err := tx.Model(new(model.BigPartPurchase)).Create(newBigPartPurchase).Error; err != nil {

BIN
cmd/eq


+ 1 - 1
go.mod

@@ -9,7 +9,7 @@ replace (
 )
 
 require (
-	gitee.com/xuyiping_admin/go_proto v0.0.0-20230829090029-dcc108270e61
+	gitee.com/xuyiping_admin/go_proto v0.0.0-20230831025441-c47bafa20bde
 	gitee.com/xuyiping_admin/pkg v0.0.0-20230816061144-c1f079802584
 	github.com/360EntSecGroup-Skylar/excelize v1.4.1
 	github.com/Anderson-Lu/gofasion v0.0.0-20190530065914-6a05b679ee48

+ 2 - 0
go.sum

@@ -734,6 +734,8 @@ gitee.com/xuyiping_admin/go_proto v0.0.0-20230829060911-754bac0f1b86 h1:NWJMOu8/
 gitee.com/xuyiping_admin/go_proto v0.0.0-20230829060911-754bac0f1b86/go.mod h1:x47UOU+lOkZnrtAENAsOGd7mZ5I8D2JRkMKMqLLRlVw=
 gitee.com/xuyiping_admin/go_proto v0.0.0-20230829090029-dcc108270e61 h1:BrfiZlhc+cEhg3QXiN+d5zNdq+yHgxIMtZXtao+B978=
 gitee.com/xuyiping_admin/go_proto v0.0.0-20230829090029-dcc108270e61/go.mod h1:x47UOU+lOkZnrtAENAsOGd7mZ5I8D2JRkMKMqLLRlVw=
+gitee.com/xuyiping_admin/go_proto v0.0.0-20230831025441-c47bafa20bde h1:eKYSpeFr3feWA4uEAW+8K8H9rtwy3Sg2dqrcoMc4d/M=
+gitee.com/xuyiping_admin/go_proto v0.0.0-20230831025441-c47bafa20bde/go.mod h1:x47UOU+lOkZnrtAENAsOGd7mZ5I8D2JRkMKMqLLRlVw=
 gitee.com/xuyiping_admin/pkg v0.0.0-20230816061144-c1f079802584 h1:5RE5yrMMvnDITrnoX821mFl7dNYfsFA1osDobUV/TDo=
 gitee.com/xuyiping_admin/pkg v0.0.0-20230816061144-c1f079802584/go.mod h1:VQ7WztVDQRlXE1dUu/Yqo3ZdhKsfv7IGJtV+vqNqJVw=
 github.com/360EntSecGroup-Skylar/excelize v1.4.1 h1:l55mJb6rkkaUzOpSsgEeKYtS6/0gHwBYyfo5Jcjv/Ks=

+ 314 - 2
migration/v0002_alter_bigpartpurchase.sql

@@ -1,6 +1,8 @@
 ALTER TABLE `bigpartpurchase`
     ADD COLUMN `purchase_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '申购类型 0 无效 1 暂估 2 垫付',
-    ADD COLUMN `funder_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '垫资人id';
+    ADD COLUMN `funder_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '垫资人id',
+    ADD COLUMN `providerName` varchar(255) NOT NULL DEFAULT '' COMMENT '供应商名称';
+
 
 ALTER TABLE `bigpartuse` ADD COLUMN greenFodderNumber varchar(255) NOT NULL DEFAULT '' COMMENT '青贮单号';
 
@@ -438,4 +440,314 @@ WHERE (
             pl.providerId=?
         OR ? = ''
     )
-ORDER BY bpl.storageTime DESC, bpl.`id` DESC;
+ORDER BY bpl.storageTime DESC, bpl.`id` DESC;
+
+# select * from apisql where sqlname = 'getpartpurchaseWebListNO'    ## 新增返回备件状态字段
+
+SELECT * FROM (SELECT
+                   bpp.`buyStatu`,
+                   DATE_FORMAT(bpp.`CGChargedate`,'%Y-%m-%d %H:%i:%s') CGChargedate,
+                   bpp.`CGChargeId`,
+                   DATE_FORMAT(bpp.`chargeDate`,'%Y-%m-%d %H:%i:%s') chargeDate,
+                   bpp.`chargeId`,
+                   bpp.`createTime`,
+                   bpp.`departmentId`,
+                   bpp.`employeId`,
+                   bpp.`flowCompeleted`,
+                   bpp.`flowworkNote`,
+                   bpp.`id`,
+                   bpp.`isUrgent`,
+                   DATE_FORMAT(bpp.`KGChargedate`,'%Y-%m-%d %H:%i:%s') KGChargedate ,
+                   bpp.`KGChargeId`,
+                   bpp.`orderNumber`,
+                   bpp.`pastureId`,
+                   bpp.`statue`,
+                   bpp.`workflowId`,
+                   bpp.`workflowNote`,
+                   bpp.purchase_type,
+                   p.`name` pastureName,
+                   e.empname ,
+                   e1.empname KGChargePerson,
+                   e2.empname chargePerson,
+                   e3.empname  CGChargePerson,
+                   d.`name` AS departmentName,
+                   DATE_FORMAT(bpp.createTime, '%Y-%m-%d') inputTime,
+                   bpp.financeId,e4.empname  financeName, DATE_FORMAT(bpp.financedate, '%Y-%m-%d') financedate
+               FROM
+                   bigpartpurchase bpp
+                       LEFT JOIN pasture p
+                                 ON p.id = bpp.pastureId
+                       LEFT JOIN emp e
+                                 ON e.id = bpp.employeId
+                       LEFT JOIN department d
+                                 ON d.id = bpp.departmentId
+                       LEFT JOIN emp e1
+                                 ON e1.id = bpp.KGChargeId
+                       LEFT JOIN emp e2
+                                 ON e2.id = bpp.chargeId
+                       LEFT JOIN emp e3
+                                 ON e3.id = bpp.CGChargeId
+                       LEFT JOIN emp e4
+                                 ON e4.id = bpp.financeId
+               WHERE  bpp.statue = 2 AND bpp.pastureId = ?  AND (IFNULL((SELECT r.`datarole` FROM `user` u
+                                                                                                      LEFT JOIN user_role ur
+                                                                                                                ON ur.`user_id`= u.`id`
+                                                                                                      LEFT JOIN role r
+                                                                                                                ON r.`id` = ur.`role_id`
+                                                                                                      LEFT JOIN role_menu rm
+                                                                                                                ON r.`id` = rm.`role_id`
+                                                                                                      LEFT JOIN menu m
+                                                                                                                ON m.`id` = rm.`menu_id`
+                                                                         WHERE u.`empid` = ?  and m.enable = 1 AND m.`path`='customs:subscribe:examineKG' LIMIT 1),-1)<> -1)
+
+               UNION ALL
+
+               SELECT
+                   bpp.`buyStatu`,
+                   DATE_FORMAT(bpp.`CGChargedate`,'%Y-%m-%d %H:%i:%s') CGChargedate,
+                   bpp.`CGChargeId`,
+                   DATE_FORMAT(bpp.`chargeDate`,'%Y-%m-%d %H:%i:%s') chargeDate,
+                   bpp.`chargeId`,
+                   bpp.`createTime`,
+                   bpp.`departmentId`,
+                   bpp.`employeId`,
+                   bpp.`flowCompeleted`,
+                   bpp.`flowworkNote`,
+                   bpp.`id`,
+                   bpp.`isUrgent`,
+                   DATE_FORMAT(bpp.`KGChargedate`,'%Y-%m-%d %H:%i:%s') KGChargedate ,
+                   bpp.`KGChargeId`,
+                   bpp.`orderNumber`,
+                   bpp.`pastureId`,
+                   bpp.`statue`,
+                   bpp.`workflowId`,
+                   bpp.`workflowNote`,
+                   bpp.purchase_type,
+                   p.`name` pastureName,
+                   e.empname ,
+                   e1.empname KGChargePerson,
+                   e2.empname chargePerson,
+                   e3.empname  CGChargePerson,
+                   d.`name` AS departmentName,
+                   DATE_FORMAT(bpp.createTime, '%Y-%m-%d') inputTime,
+                   bpp.financeId,e4.empname  financeName, DATE_FORMAT(bpp.financedate, '%Y-%m-%d') financedate
+               FROM
+                   bigpartpurchase bpp
+                       LEFT JOIN pasture p
+                                 ON p.id = bpp.pastureId
+                       LEFT JOIN emp e
+                                 ON e.id = bpp.employeId
+                       LEFT JOIN department d
+                                 ON d.id = bpp.departmentId
+                       LEFT JOIN emp e1
+                                 ON e1.id = bpp.KGChargeId
+                       LEFT JOIN emp e2
+                                 ON e2.id = bpp.chargeId
+                       LEFT JOIN emp e3
+                                 ON e3.id = bpp.CGChargeId
+                       LEFT JOIN emp e4
+                                 ON e4.id = bpp.financeId
+               WHERE  bpp.statue = 3  AND bpp.pastureId = ?  AND (IFNULL((SELECT r.`datarole` FROM `user` u
+                                                                                                       LEFT JOIN user_role ur
+                                                                                                                 ON ur.`user_id`= u.`id`
+                                                                                                       LEFT JOIN role r
+                                                                                                                 ON r.`id` = ur.`role_id`
+                                                                                                       LEFT JOIN role_menu rm
+                                                                                                                 ON r.`id` = rm.`role_id`
+                                                                                                       LEFT JOIN menu m
+                                                                                                                 ON m.`id` = rm.`menu_id`
+                                                                          WHERE u.`empid` = ? and m.enable = 1  AND m.`path`='customs:subscribe:examineSBZG' LIMIT 1),-1)<> -1)
+               UNION ALL
+               SELECT
+                   bpp.`buyStatu`,
+                   DATE_FORMAT(bpp.`CGChargedate`,'%Y-%m-%d %H:%i:%s') CGChargedate,
+                   bpp.`CGChargeId`,
+                   DATE_FORMAT(bpp.`chargeDate`,'%Y-%m-%d %H:%i:%s') chargeDate,
+                   bpp.`chargeId`,
+                   bpp.`createTime`,
+                   bpp.`departmentId`,
+                   bpp.`employeId`,
+                   bpp.`flowCompeleted`,
+                   bpp.`flowworkNote`,
+                   bpp.`id`,
+                   bpp.`isUrgent`,
+                   DATE_FORMAT(bpp.`KGChargedate`,'%Y-%m-%d %H:%i:%s') KGChargedate ,
+                   bpp.`KGChargeId`,
+                   bpp.`orderNumber`,
+                   bpp.`pastureId`,
+                   bpp.`statue`,
+                   bpp.`workflowId`,
+                   bpp.`workflowNote`,
+                   bpp.purchase_type,
+                   p.`name` pastureName,
+                   e.empname ,
+                   e1.empname KGChargePerson,
+                   e2.empname chargePerson,
+                   e3.empname  CGChargePerson,
+                   d.`name` AS departmentName,
+                   DATE_FORMAT(bpp.createTime, '%Y-%m-%d') inputTime,
+                   bpp.financeId,e4.empname  financeName, DATE_FORMAT(bpp.financedate, '%Y-%m-%d') financedate
+
+               FROM
+                   bigpartpurchase bpp
+                       LEFT JOIN pasture p
+                                 ON p.id = bpp.pastureId
+                       LEFT JOIN emp e
+                                 ON e.id = bpp.employeId
+                       LEFT JOIN department d
+                                 ON d.id = bpp.departmentId
+                       LEFT JOIN emp e1
+                                 ON e1.id = bpp.KGChargeId
+                       LEFT JOIN emp e2
+                                 ON e2.id = bpp.chargeId
+                       LEFT JOIN emp e3
+                                 ON e3.id = bpp.CGChargeId
+                       LEFT JOIN emp e4
+                                 ON e4.id = bpp.financeId
+               WHERE  bpp.statue = 5 AND bpp.pastureId = ?  AND (IFNULL((SELECT r.`datarole` FROM `user` u
+                                                                                                      LEFT JOIN user_role ur
+                                                                                                                ON ur.`user_id`= u.`id`
+                                                                                                      LEFT JOIN role r
+                                                                                                                ON r.`id` = ur.`role_id`
+                                                                                                      LEFT JOIN role_menu rm
+                                                                                                                ON r.`id` = rm.`role_id`
+                                                                                                      LEFT JOIN menu m
+                                                                                                                ON m.`id` = rm.`menu_id`
+                                                                         WHERE u.`empid` = ?  and m.enable = 1 AND m.`path`='changzhangshenhe' LIMIT 1),-1)<> -1)
+
+               UNION ALL
+
+               SELECT
+                   bpp.`buyStatu`,
+                   DATE_FORMAT(bpp.`CGChargedate`,'%Y-%m-%d %H:%i:%s') CGChargedate,
+                   bpp.`CGChargeId`,
+                   DATE_FORMAT(bpp.`chargeDate`,'%Y-%m-%d %H:%i:%s') chargeDate,
+                   bpp.`chargeId`,
+                   bpp.`createTime`,
+                   bpp.`departmentId`,
+                   bpp.`employeId`,
+                   bpp.`flowCompeleted`,
+                   bpp.`flowworkNote`,
+                   bpp.`id`,
+                   bpp.`isUrgent`,
+                   DATE_FORMAT(bpp.`KGChargedate`,'%Y-%m-%d %H:%i:%s') KGChargedate ,
+                   bpp.`KGChargeId`,
+                   bpp.`orderNumber`,
+                   bpp.`pastureId`,
+                   bpp.`statue`,
+                   bpp.`workflowId`,
+                   bpp.`workflowNote`,
+                   bpp.purchase_type,
+                   p.`name` pastureName,
+                   e.empname ,
+                   e1.empname KGChargePerson,
+                   e2.empname chargePerson,
+                   e3.empname  CGChargePerson,
+                   d.`name` AS departmentName,
+                   DATE_FORMAT(bpp.createTime, '%Y-%m-%d') inputTime,
+                   bpp.financeId,e4.empname  financeName, DATE_FORMAT(bpp.financedate, '%Y-%m-%d') financedate
+
+               FROM
+                   bigpartpurchase bpp
+                       LEFT JOIN pasture p
+                                 ON p.id = bpp.pastureId
+                       LEFT JOIN emp e
+                                 ON e.id = bpp.employeId
+                       LEFT JOIN department d
+                                 ON d.id = bpp.departmentId
+                       LEFT JOIN emp e1
+                                 ON e1.id = bpp.KGChargeId
+                       LEFT JOIN emp e2
+                                 ON e2.id = bpp.chargeId
+                       LEFT JOIN emp e3
+                                 ON e3.id = bpp.CGChargeId
+                       LEFT JOIN emp e4
+                                 ON e4.id = bpp.financeId
+               WHERE  bpp.statue = 9 AND bpp.pastureId = ?  AND (IFNULL((SELECT r.`datarole` FROM `user` u
+                                                                                                      LEFT JOIN user_role ur
+                                                                                                                ON ur.`user_id`= u.`id`
+                                                                                                      LEFT JOIN role r
+                                                                                                                ON r.`id` = ur.`role_id`
+                                                                                                      LEFT JOIN role_menu rm
+                                                                                                                ON r.`id` = rm.`role_id`
+                                                                                                      LEFT JOIN menu m
+                                                                                                                ON m.`id` = rm.`menu_id`
+                                                                         WHERE u.`empid` = ?  and m.enable = 1 AND m.`path`='customs:subscribe:examineZG' LIMIT 1),-1)<> -1)
+
+               UNION ALL
+
+               SELECT
+                   bpp.`buyStatu`,
+                   DATE_FORMAT(bpp.`CGChargedate`,'%Y-%m-%d %H:%i:%s') CGChargedate,
+                   bpp.`CGChargeId`,
+                   DATE_FORMAT(bpp.`chargeDate`,'%Y-%m-%d %H:%i:%s') chargeDate,
+                   bpp.`chargeId`,
+                   bpp.`createTime`,
+                   bpp.`departmentId`,
+                   bpp.`employeId`,
+                   bpp.`flowCompeleted`,
+                   bpp.`flowworkNote`,
+                   bpp.`id`,
+                   bpp.`isUrgent`,
+                   DATE_FORMAT(bpp.`KGChargedate`,'%Y-%m-%d %H:%i:%s') KGChargedate ,
+                   bpp.`KGChargeId`,
+                   bpp.`orderNumber`,
+                   bpp.`pastureId`,
+                   bpp.`statue`,
+                   bpp.`workflowId`,
+                   bpp.`workflowNote`,
+                   bpp.purchase_type,
+                   p.`name` pastureName,
+                   e.empname ,
+                   e1.empname KGChargePerson,
+                   e2.empname chargePerson,
+                   e3.empname  CGChargePerson,
+                   d.`name` AS departmentName,
+                   DATE_FORMAT(bpp.createTime, '%Y-%m-%d') inputTime,
+                   bpp.financeId,e4.empname  financeName, DATE_FORMAT(bpp.financedate, '%Y-%m-%d') financedate
+
+               FROM
+                   bigpartpurchase bpp
+                       LEFT JOIN pasture p
+                                 ON p.id = bpp.pastureId
+                       LEFT JOIN emp e
+                                 ON e.id = bpp.employeId
+                       LEFT JOIN department d
+                                 ON d.id = bpp.departmentId
+                       LEFT JOIN emp e1
+                                 ON e1.id = bpp.KGChargeId
+                       LEFT JOIN emp e2
+                                 ON e2.id = bpp.chargeId
+                       LEFT JOIN emp e3
+                                 ON e3.id = bpp.CGChargeId
+                       LEFT JOIN emp e4
+                                 ON e4.id = bpp.financeId
+               WHERE  bpp.statue = 11 AND bpp.pastureId = ?  AND (IFNULL((SELECT r.`datarole` FROM `user` u
+                                                                                                       LEFT JOIN user_role ur
+                                                                                                                 ON ur.`user_id`= u.`id`
+                                                                                                       LEFT JOIN role r
+                                                                                                                 ON r.`id` = ur.`role_id`
+                                                                                                       LEFT JOIN role_menu rm
+                                                                                                                 ON r.`id` = rm.`role_id`
+                                                                                                       LEFT JOIN menu m
+                                                                                                                 ON m.`id` = rm.`menu_id`
+                                                                          WHERE u.`empid` = ?  and m.enable = 1 AND m.`path`='customs:subscribe:examineCG' LIMIT 1),-1)<> -1)
+
+              ) bpp
+WHERE
+    (
+                bpp.orderNumber LIKE CONCAT("%", ?, "%")
+            OR ? = ''
+        )
+  AND (
+            bpp.`pastureName` = ?
+        OR ? = '现代牧业'
+    )
+  AND (
+            bpp.departmentId = ?
+        OR ? = ''
+    )AND (
+        (bpp.createTime >= ? AND bpp.createTime <= ? )
+        OR ? = ''
+    )
+ORDER BY bpp.id DESC;