XMLWAN vor 4 Jahren
Ursprung
Commit
a53169d537

+ 20 - 2
controllers/mobile_api_controllers/patient_api_controller.go Datei anzeigen

@@ -982,7 +982,15 @@ func (c *PatientApiController) ExecDoctorAdvice() {
982 982
 						MedicId:        item.DrugId,
983 983
 						StockOutNumber: warehousing_out_order,
984 984
 					}
985
-					service.CreateOutStock(&outStock)
985
+					//查询 该患者是否已出库
986
+					out, errcode := service.GetSelfOutStock(adminUserInfo.Org.Id, item.AdviceDate, item.PatientId, item.AdviceName, item.AdviceDesc)
987
+					fmt.Println("errcode ------------------22222", errcode)
988
+					if errcode == gorm.ErrRecordNotFound {
989
+						service.CreateOutStock(&outStock)
990
+					} else if errcode == nil {
991
+						err := service.UpdatedSelfOutSatock(out.ID, &outStock)
992
+						fmt.Println("err", err)
993
+					}
986 994
 				}
987 995
 			}
988 996
 		} else {
@@ -1004,6 +1012,7 @@ func (c *PatientApiController) ExecDoctorAdvice() {
1004 1012
 					number, _ := strconv.ParseInt(warehousing_out_order, 10, 64)
1005 1013
 					number = number + total
1006 1014
 					warehousing_out_order = "CKD" + strconv.FormatInt(number, 10)
1015
+
1007 1016
 					//插入自备药出库单
1008 1017
 					outStock := models.XtSelfOutStock{
1009 1018
 						DrugName:       item.AdviceName,
@@ -1020,7 +1029,16 @@ func (c *PatientApiController) ExecDoctorAdvice() {
1020 1029
 						MedicId:        item.DrugId,
1021 1030
 						StockOutNumber: warehousing_out_order,
1022 1031
 					}
1023
-					service.CreateOutStock(&outStock)
1032
+
1033
+					//查询 该患者是否已出库
1034
+					out, errcode := service.GetSelfOutStock(adminUserInfo.Org.Id, item.AdviceDate, item.PatientId, item.AdviceName, item.AdviceDesc)
1035
+					fmt.Println("errcode ------------------", errcode)
1036
+					if errcode == gorm.ErrRecordNotFound {
1037
+						service.CreateOutStock(&outStock)
1038
+					} else if errcode == nil {
1039
+						err := service.UpdatedSelfOutSatock(out.ID, &outStock)
1040
+						fmt.Println("err", err)
1041
+					}
1024 1042
 
1025 1043
 				}
1026 1044
 			}

+ 1 - 1
service/manage_service.go Datei anzeigen

@@ -253,7 +253,7 @@ func GetPlanDetailById(id int64, orgid int64) (models.DevicePlanss, error) {
253 253
 
254 254
 func UpdatePlanInfo(id int64, orgid int64, plan models.DevicePlan) error {
255 255
 
256
-	err := writeUserDb.Model(&plan).Where("id = ? AND user_org_id = ?", id, orgid).Updates(map[string]interface{}{"device_type": plan.DeviceType, "disinfec_time": plan.DisinfecTime, "time": plan.Time, "classtime": plan.Classtime, "way": plan.Way, "machine_disinfectant": plan.MachineDisinfectant, "disinfectan_way": plan.MachineDisinfectant, "disinfectant": plan.Disinfectant, "mtime": time.Now().Unix()}).Error
256
+	err := writeUserDb.Model(&plan).Where("id = ? AND user_org_id = ?", id, orgid).Updates(map[string]interface{}{"device_type": plan.DeviceType, "disinfec_time": plan.DisinfecTime, "time": plan.Time, "classtime": plan.Classtime, "way": plan.Way, "machine_disinfectant": plan.MachineDisinfectant, "disinfectan_way": plan.DisinfectanWay, "disinfectant": plan.Disinfectant, "mtime": time.Now().Unix()}).Error
257 257
 	return err
258 258
 }
259 259
 

+ 19 - 0
service/self_drug_service.go Datei anzeigen

@@ -4,6 +4,7 @@ import (
4 4
 	"XT_New/models"
5 5
 	"fmt"
6 6
 	"github.com/jinzhu/gorm"
7
+	"time"
7 8
 )
8 9
 
9 10
 func GetCurrentPatient(orgid int64) (patients []*models.DrugPatients, err error) {
@@ -733,3 +734,21 @@ func GetMedicalDrugNameList(orgid int64) (drugName []*models.DrugName, err error
733 734
 	return drugName, err
734 735
 
735 736
 }
737
+
738
+func GetSelfOutStock(orgid int64, advicedate int64, patientid int64, adivicename string, advicedesc string) (*models.XtSelfOutStock, error) {
739
+	stock := models.XtSelfOutStock{}
740
+	err = XTReadDB().Model(&stock).Where("user_org_id = ? and storck_time = ? and patient_id = ? and drug_name = ? and drug_spec = ? and status = 1", orgid, advicedate, patientid, adivicename, advicedesc).Find(&stock).Error
741
+	if err == gorm.ErrRecordNotFound {
742
+		return nil, err
743
+	}
744
+	if err != nil {
745
+		return nil, err
746
+	}
747
+	return &stock, err
748
+}
749
+
750
+func UpdatedSelfOutSatock(id int64, stock *models.XtSelfOutStock) error {
751
+
752
+	err := XTWriteDB().Model(&stock).Where("id = ?", id).Updates(map[string]interface{}{"drug_name": stock.DrugName, "drug_name_id": stock.DrugNameId, "drug_spec": stock.DrugSpec, "outstore_number": stock.OutstoreNumber, "admin_user_id": stock.AdminUserId, "storck_time": stock.StorckTime, "patient_id": stock.PatientId, "stock_out_number": stock.StockOutNumber, "exit_mode": stock.ExitMode, "medic_id": stock.MedicId, "updated_time": time.Now().Unix()}).Error
753
+	return err
754
+}