Browse Source

库存流水展示

XMLWAN 2 years ago
parent
commit
fc004911e4

+ 2 - 2
controllers/dialysis_api_controller.go View File

@@ -582,7 +582,7 @@ func (c *DialysisApiController) PostPrescription() {
582 582
 			if filedConfig.ID > 0 {
583 583
 				str = dialyzerPerfusionApparatus
584 584
 			} else {
585
-				str = dialysis_dialyszers + "/" + dialysis_irrigation
585
+				str = dialysis_dialyszers + "/" + dialysis_irrigation + "/" + dialysis_strainer
586 586
 			}
587 587
 			service.ModifyScheduleMode(mode_id, patient, recordDate.Unix(), adminUserInfo.CurrentOrgId, str)
588 588
 		}
@@ -858,7 +858,7 @@ func (c *DialysisApiController) PostSoulution() {
858 858
 		if filedConfig.ID > 0 {
859 859
 			str = dialyzerPerfusionApparatus
860 860
 		} else {
861
-			str = dialysis_dialyszers + "/" + dialysis_irrigation
861
+			str = dialysis_dialyszers + "/" + dialysis_irrigation + "/" + dialysis_strainer
862 862
 		}
863 863
 		service.ModifyScheduleMode(mode_id, patient, recordDate.Unix(), adminUserInfo.CurrentOrgId, str)
864 864
 	}

+ 2 - 2
controllers/mobile_api_controllers/dialysis_api_controller.go View File

@@ -1490,7 +1490,7 @@ func (c *DialysisAPIController) PostDialysisPrescription() {
1490 1490
 		if filedConfig.ID > 0 {
1491 1491
 			str = dialyzerPerfusionApparatus
1492 1492
 		} else {
1493
-			str = dialysis_dialyszers + "/" + dialysis_irrigation
1493
+			str = dialysis_dialyszers + "/" + dialysis_irrigation + "/" + dialysis_strainer
1494 1494
 		}
1495 1495
 		service.ModifyScheduleMode(mode_id, id, recordDate.Unix(), adminUserInfo.Org.Id, str)
1496 1496
 	}
@@ -3031,7 +3031,7 @@ func (c *DialysisAPIController) PostSolution() {
3031 3031
 		if filedConfig.ID > 0 {
3032 3032
 			str = dialyzerPerfusionApparatus
3033 3033
 		} else {
3034
-			str = dialysis_dialyszers + "/" + dialysis_irrigation
3034
+			str = dialysis_dialyszers + "/" + dialysis_irrigation + "/" + dialysis_strainer
3035 3035
 		}
3036 3036
 		service.ModifyScheduleMode(mode_id, patient.ID, recordDate.Unix(), adminUserInfo.Org.Id, str)
3037 3037
 	}

+ 6 - 0
controllers/patient_api_controller.go View File

@@ -938,6 +938,7 @@ func (c *PatientApiController) UpdateDialysisSolution() {
938 938
 			OxygenTime:                 solution.OxygenTime,
939 939
 			MaxUltrafiltrationRate:     solution.MaxUltrafiltrationRate,
940 940
 			Amylaceum:                  solution.Amylaceum,
941
+			DialysisStrainer:           solution.DialysisStrainer,
941 942
 		}
942 943
 		service.UpdatePatientDialysisSolutionOne(solution.PatientId, adminUserInfo.CurrentOrgId, &prescription, todayTime.Unix())
943 944
 	}
@@ -3849,6 +3850,11 @@ func defaultSolutionFormData(solution *models.DialysisSolution, data []byte, met
3849 3850
 		solution.DialysisIrrigation = dialysisIrrigation
3850 3851
 	}
3851 3852
 
3853
+	if dataBody["dialysis_strainer"] != nil && reflect.TypeOf(dataBody["dialysis_strainer"]).String() == "string" {
3854
+		dialysis_strainer := dataBody["dialysis_strainer"].(string)
3855
+		solution.DialysisStrainer = dialysis_strainer
3856
+	}
3857
+
3852 3858
 	if dataBody["plasma_separator"] != nil && reflect.TypeOf(dataBody["plasma_separator"]).String() == "string" {
3853 3859
 		plasmaSeparator := dataBody["plasma_separator"].(string)
3854 3860
 		solution.PlasmaSeparator = plasmaSeparator

+ 2 - 1
controllers/pharmacy_controller.go View File

@@ -289,6 +289,7 @@ func (this *PharmacyController) DispensingMedicine() {
289 289
 		stime = stmp.Unix()
290 290
 		etime = stime + 86399
291 291
 	}
292
+
292 293
 	err = service.DispensingMedicine(orgid, patient_id, stime, etime, creater)
293 294
 	if err != nil {
294 295
 		utils.ErrorLog(err.Error())
@@ -564,7 +565,7 @@ func (this *PharmacyController) GetPatientsWithDrugs() {
564 565
 		return
565 566
 	}
566 567
 	total, err := service.CalculateTheTotalAmount(listll, drug_id)
567
-	fmt.Println("total2322332232323232332322wo", total)
568
+
568 569
 	if err != nil {
569 570
 		utils.ErrorLog(err.Error())
570 571
 		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)

+ 1 - 0
controllers/self_drug_api_congtroller.go View File

@@ -2766,6 +2766,7 @@ func (this *SelfDrugApiController) GetGoodNewQuery() {
2766 2766
 	for _, it := range manufacturerList {
2767 2767
 		ids = append(ids, it.ID)
2768 2768
 	}
2769
+
2769 2770
 	infoList, _ := service.GetGoodWarehouseInfoByOrgId(orgId, storehouse_id)
2770 2771
 	for _, it := range infoList {
2771 2772
 		goodIds = append(goodIds, it.GoodId)

+ 3 - 2
models/good_models.go View File

@@ -137,8 +137,9 @@ func (GoodInfo) TableName() string {
137 137
 }
138 138
 
139 139
 type GoodInfoSeven struct {
140
-	ID       int64  `gorm:"column:id" json:"id" form:"id"`
141
-	GoodName string `gorm:"column:good_name" json:"good_name" form:"good_name"`
140
+	ID         int64  `gorm:"column:id" json:"id" form:"id"`
141
+	GoodName   string `gorm:"column:good_name" json:"good_name" form:"good_name"`
142
+	GoodStatus string `gorm:"column:good_status" json:"good_status" form:"good_status"`
142 143
 }
143 144
 
144 145
 func (GoodInfoSeven) TableName() string {

+ 1 - 0
models/patient_models.go View File

@@ -472,6 +472,7 @@ type DialysisPrescriptionList struct {
472 472
 	EpoCount                   float64 `gorm:"column:epo_count" json:"epo_count" form:"epo_count"`
473 473
 	MaxUltrafiltrationRate     string  `gorm:"column:max_ultrafiltration_rate" json:"max_ultrafiltration_rate" form:"max_ultrafiltration_rate"`
474 474
 	WaterMachine               string  `gorm:"column:water_machine" json:"water_machine" form:"water_machine"`
475
+	DialysisStrainer           string  `gorm:"column:dialysis_strainer" json:"dialysis_strainer" form:"dialysis_strainer"`
475 476
 }
476 477
 
477 478
 func (DialysisPrescriptionList) TableName() string {

+ 5 - 1
service/new_stock_service.go View File

@@ -80,12 +80,16 @@ func GetGoodStockList(orgId int64, storehouse_id int64, good_type int64, keyword
80 80
 	offset := (page - 1) * limit
81 81
 	likeKey := "%" + keyword + "%"
82 82
 
83
-	db := XTReadDB().Table("xt_good_information as x").Where("x.status = 1  and x.org_id =?", orgId)
83
+	db := XTReadDB().Table("xt_good_information as x").Where("x.status = 1  and x.org_id =? and find_in_set('停用',x.good_status) = 0", orgId)
84 84
 
85 85
 	if good_type == 2 {
86 86
 		db = db.Where(" x.total_count<=x.stock_warn_count")
87 87
 	}
88 88
 
89
+	if good_type == 3 {
90
+		db = db.Where("x.sum_count = 0")
91
+	}
92
+
89 93
 	if len(keyword) > 0 {
90 94
 		db = db.Where("good_name like ? or manufacturer in(?)", likeKey, ids)
91 95
 	}

+ 1 - 1
service/patient_service.go View File

@@ -1923,7 +1923,7 @@ func GetDialysisCount(orgid int64, partitionid int64) (order []*models.BloodDial
1923 1923
 
1924 1924
 func UpdatePatientDialysisSolutionOne(patientid int64, orgid int64, prescription *models.DialysisPrescription, timenow int64) error {
1925 1925
 
1926
-	err = XTWriteDB().Model(&prescription).Where("patient_id = ? and user_org_id = ? and record_date = ? ", patientid, orgid, timenow).Updates(map[string]interface{}{"dialyzer": prescription.Dialyzer, "anticoagulant": prescription.Anticoagulant, "mode_id": prescription.ModeId, "dialysis_duration_hour": prescription.DialysisDurationHour, "anticoagulant_shouji": prescription.AnticoagulantShouji, "anticoagulant_weichi": prescription.AnticoagulantWeichi, "anticoagulant_zongliang": prescription.AnticoagulantZongliang, "kalium": prescription.Kalium, "sodium": prescription.Sodium, "calcium": prescription.Calcium, "dialyzer_perfusion_apparatus": prescription.DialyzerPerfusionApparatus, "blood_access": prescription.BloodAccess, "dialysate_flow": prescription.DialysateFlow, "dialysate_temperature": prescription.DialysateTemperature, "dialysis_dialyszers": prescription.DialysisDialyszers, "dialysis_irrigation": prescription.DialysisIrrigation, "plasma_separator": prescription.PlasmaSeparator, "bilirubin_adsorption_column": prescription.BilirubinAdsorptionColumn, "oxygen_uptake": prescription.OxygenUptake, "oxygen_flow": prescription.OxygenFlow, "oxygen_time": prescription.OxygenTime}).Error
1926
+	err = XTWriteDB().Model(&prescription).Where("patient_id = ? and user_org_id = ? and record_date = ? ", patientid, orgid, timenow).Updates(map[string]interface{}{"dialyzer": prescription.Dialyzer, "anticoagulant": prescription.Anticoagulant, "mode_id": prescription.ModeId, "dialysis_duration_hour": prescription.DialysisDurationHour, "anticoagulant_shouji": prescription.AnticoagulantShouji, "anticoagulant_weichi": prescription.AnticoagulantWeichi, "anticoagulant_zongliang": prescription.AnticoagulantZongliang, "kalium": prescription.Kalium, "sodium": prescription.Sodium, "calcium": prescription.Calcium, "dialyzer_perfusion_apparatus": prescription.DialyzerPerfusionApparatus, "blood_access": prescription.BloodAccess, "dialysate_flow": prescription.DialysateFlow, "dialysate_temperature": prescription.DialysateTemperature, "dialysis_dialyszers": prescription.DialysisDialyszers, "dialysis_irrigation": prescription.DialysisIrrigation, "plasma_separator": prescription.PlasmaSeparator, "bilirubin_adsorption_column": prescription.BilirubinAdsorptionColumn, "oxygen_uptake": prescription.OxygenUptake, "oxygen_flow": prescription.OxygenFlow, "oxygen_time": prescription.OxygenTime, "dialysis_strainer": prescription.DialysisStrainer}).Error
1927 1927
 	return err
1928 1928
 }
1929 1929
 

+ 8 - 0
service/pharmacy_service.go View File

@@ -601,6 +601,7 @@ func DispensingMedicine(orgid, patient_id, stime, etime, creater int64) (err err
601 601
 			if PettyCash(v.DrugId) {
602 602
 				continue
603 603
 			}
604
+			//判断药品库存是否充足
604 605
 			kou := FenDrugInventory(v, orgid)
605 606
 			if !kou {
606 607
 				err = fmt.Errorf(FindDrugsName(v.DrugId) + "库存不足")
@@ -757,6 +758,9 @@ func DrugWithdrawal(orgid, patient_id, stime, etime, creater int64) (err error)
757 758
 		}
758 759
 
759 760
 		UpdateBaseDrugSumTwo(v.DrugId, sum_count, orgid)
761
+		//扣减库存
762
+		UpdateDrugStockCount(v.DrugId, v.UserOrgId, storeHouseConfig.DrugStorehouseOut, sum_count)
763
+
760 764
 	}
761 765
 
762 766
 	err = tx.Raw("select id,dispensing_time from xt_doctor_advice where status = 1 and (advice_type = 2 or advice_type = 3) and created_time >= ? and created_time <= ? and "+
@@ -808,6 +812,8 @@ func DrugWithdrawal(orgid, patient_id, stime, etime, creater int64) (err error)
808 812
 			sum_count += its.StockMaxNumber + its.StockMinNumber
809 813
 		}
810 814
 		UpdateBaseDrugSumTwo(v.DrugId, sum_count, orgid)
815
+		//扣减库存
816
+		UpdateDrugStockCount(v.DrugId, v.UserOrgId, storeHouseConfig.DrugStorehouseOut, sum_count)
811 817
 	}
812 818
 
813 819
 	//删除掉发药明细
@@ -1107,6 +1113,8 @@ func FenStock(orgid, creater int64, v *models.HisDoctorAdviceInfo) (err error) {
1107 1113
 		sum_count += its.StockMaxNumber + its.StockMinNumber
1108 1114
 	}
1109 1115
 	UpdateBaseDrugSumTwo(v.DrugId, sum_count, orgid)
1116
+	//扣减库存
1117
+	UpdateDrugStockCount(v.DrugId, v.UserOrgId, storeHouseConfig.DrugStorehouseOut, sum_count)
1110 1118
 	return
1111 1119
 }
1112 1120
 

+ 11 - 1
service/self_drug_service.go View File

@@ -1241,6 +1241,7 @@ func GetGoodWarehouseInfoByOrgId(orgid int64, storehouse_id int64) (info []*mode
1241 1241
 	if orgid > 0 {
1242 1242
 		db = db.Where("org_id = ?", orgid)
1243 1243
 	}
1244
+
1244 1245
 	if storehouse_id > 0 {
1245 1246
 		db = db.Where("storehouse_id = ?", storehouse_id)
1246 1247
 	}
@@ -1808,10 +1809,13 @@ func GetDrugStockCountList(orgId int64, storehouse_id int64, good_type int64, ke
1808 1809
 
1809 1810
 	offset := (page - 1) * limit
1810 1811
 	likeKey := "%" + keyword + "%"
1811
-	db := XTReadDB().Table("xt_base_drug as x").Where("x.status = 1")
1812
+	db := XTReadDB().Table("xt_base_drug as x").Where("x.status = 1 AND find_in_set('停用',x.drug_status) = 0")
1812 1813
 	if good_type == 2 {
1813 1814
 		db = db.Where("x.total_count<=x.drug_stock_limit")
1814 1815
 	}
1816
+	if good_type == 3 {
1817
+		db = db.Where("x.sum_count = 0")
1818
+	}
1815 1819
 	if storehouse_id > 0 {
1816 1820
 		db = db.Preload("DrugWarehouseInfo", "org_id = ? and status = 1 and storehouse_id = ? and is_check = 1", orgId, storehouse_id)
1817 1821
 
@@ -1876,6 +1880,12 @@ func GetAllGoodListSeven(orgid int64) (good []*models.GoodInfoSeven, err error)
1876 1880
 	return good, err
1877 1881
 }
1878 1882
 
1883
+func GetAllGoodListEight(orgid int64) (good []*models.GoodInfoSeven, err error) {
1884
+
1885
+	err = XTReadDB().Where("org_id = ? and status = 1  AND find_in_set('停用',good_status) = 0", orgid).Find(&good).Error
1886
+	return good, err
1887
+}
1888
+
1879 1889
 func GetGoodInformationWarehouseInfo(good_id int64, orgid int64) (info []*models.WarehousingInfoTen, err error) {
1880 1890
 
1881 1891
 	err = XTReadDB().Where("good_id = ? and org_id = ? and status = 1 and is_check = 1 and stock_count > 0", good_id, orgid).Find(&info).Error