feat:完善项目

This commit is contained in:
henry
2021-11-19 15:34:22 +08:00
parent 7efe403bf0
commit c5f4a5d281
10 changed files with 168 additions and 21 deletions

View File

@ -19,9 +19,11 @@ type (
Title string `json:"title"`
OrderNo string `json:"order_no"`
Kind model.WorkInstanceKind `json:"kind"`
EquipmentID uint64 `json:"-"`
EquipmentCode string `json:"equipment_code"`
EquipmentTitle string `json:"equipment_title"`
BreakdownTitle string `json:"breakdown_title"`
ScheduleID uint64 `json:"-"`
ScheduleTitle string `json:"schedule_title"`
SupplierName string `json:"-"`
Priority int `json:"priority"`
@ -56,9 +58,9 @@ func (m *WorkbenchCondition) roleInfo() string {
// Detail 详细信息
func (m *WorkInstance) Detail(id uint64) (*WorkInstanceInfo, error) {
db := orm.GetDB().Table(m.TableName()+" AS w").
Select("w.id", "w.kind", "w.title", "e.code AS equipment_code", "e.title AS equipment_title", "w.priority",
Select("w.id", "w.kind", "w.title", "w.equipment_id", "e.code AS equipment_code", "e.title AS equipment_title", "w.priority",
"(SELECT GROUP_CONCAT(s_b.title) FROM ( SELECT id, title FROM sys_breakdown) AS s_b WHERE FIND_IN_SET( s_b.id, w.breakdown )) AS breakdown_title",
"s.title AS schedule_title", "supplier.name AS supplier_name", "w.distribution", "w.plate_number", "w.remark", "w.status", "w.created_at").
"w.schedule AS schedule_id", "s.title AS schedule_title", "supplier.name AS supplier_name", "w.distribution", "w.plate_number", "w.remark", "w.status", "w.created_at").
Joins(fmt.Sprintf("LEFT JOIN %s AS e ON w.equipment_id = e.id", model.NewManageEquipment().TableName())).
Joins(fmt.Sprintf("LEFT JOIN %s AS s ON w.schedule = s.id", model.NewWorkSchedule().TableName())).
Joins(fmt.Sprintf("LEFT JOIN %s AS supplier ON w.supplier_id = supplier.id", model.NewManageSupplier().TableName())).

View File

@ -12,23 +12,27 @@ type WorkMaterial struct {
// WorkMaterialInfo 器材信息
type WorkMaterialInfo struct {
ID uint64 `json:"-"`
MaterialNumber float64 `json:"material_number"`
MaterialCode string `json:"material_code"`
MaterialTitle string `json:"material_title"`
MaterialPrice float64 `json:"material_price"`
SupplierName string `json:"supplier_name"`
ID uint64 `json:"-"`
MaterialNumber float64 `json:"material_number"`
MaterialCode string `json:"material_code"`
MaterialTitle string `json:"material_title"`
MaterialPrice float64 `json:"material_price"`
ManufacturerName string `json:"manufacturer_name"`
SupplierName string `json:"supplier_name"`
}
// Materials 器材信息
func (m *WorkMaterial) Materials(workID uint64) ([]*WorkMaterialInfo, error) {
mManageSupplier := model.NewManageSupplier()
out := make([]*WorkMaterialInfo, 0)
db := orm.GetDB().Table(m.TableName()+" w").
Select("w.id", "w.material_number", "m.code AS material_code", "m.title AS material_title",
"m.price AS material_price", "s.name AS supplier_name").
"m.price AS material_price", "m_s.name AS manufacturer_name", "s.name AS supplier_name").
Joins(fmt.Sprintf("LEFT JOIN %s AS m ON w.material_id = m.id", model.NewManageMaterial().TableName())).
Joins(fmt.Sprintf("LEFT JOIN %s AS s ON w.material_supplier_id = s.id", model.NewManageSupplier().TableName())).
Joins(fmt.Sprintf("LEFT JOIN %s AS s ON w.material_supplier_id = s.id", mManageSupplier.TableName())).
Joins(fmt.Sprintf("LEFT JOIN %s AS m_s ON m.manufacturer_id = m_s.id", mManageSupplier.TableName())).
Where("w.work_id = ?", workID)
if err := db.Scan(&out).Error; err != nil {

View File

@ -13,7 +13,7 @@ type WorkPurchase struct {
type WorkPurchaseInfo struct {
*model.WorkPurchase
Price float64 `json:"price"`
Number float64 `json:"number"`
MaterialNumber float64 `json:"material_number"`
MaterialCode string `json:"material_code"`
MaterialTitle string `json:"material_title"`
ManufacturerName string `json:"manufacturer_name"`
@ -25,8 +25,8 @@ func (m *WorkPurchase) Purchases(workID uint64) ([]*WorkPurchaseInfo, error) {
mManageSupplier := model.NewManageSupplier()
db := orm.GetDB().Table(m.TableName()+" AS p").
Select("p.id", "m_p.price", "m_p.number", "m.code AS material_code", "m.title AS material_title",
"m_s.name AS manufacturer_name", "s.name AS supplier_id").
Select("p.id", "m_p.price", "m_p.number AS material_number", "m.code AS material_code", "m.title AS material_title",
"m_s.name AS manufacturer_name", "s.name AS supplier_id", "s.name AS supplier_name").
Joins(fmt.Sprintf("LEFT JOIN %s AS m_p ON p.material_purchase_id = m_p.id", model.NewManageMaterialPurchase().TableName())).
Joins(fmt.Sprintf("LEFT JOIN %s AS m ON m_p.material_id = m.id", model.NewManageMaterial().TableName())).
Joins(fmt.Sprintf("LEFT JOIN %s AS s ON m_p.supplier_id = s.id", mManageSupplier.TableName())).