XMLWAN 4 年 前
コミット
2ca1bbbac2

+ 10 - 2
controllers/data_api_controller.go ファイルの表示

@@ -963,6 +963,10 @@ func (c *DataApiController) CreateAdviceTemplate() {
963 963
 				weekdays := items["weekdays"].(string)
964 964
 				frequency_type := int64(items["frequency_type"].(float64))
965 965
 
966
+				drug_id := int64(items["drug_id"].(float64))
967
+
968
+				way := int64(items["way"].(float64))
969
+
966 970
 				subTemps := &models.DoctorAdviceTemplate{
967 971
 					AdviceName:            advice_name,
968 972
 					Status:                1,
@@ -984,6 +988,8 @@ func (c *DataApiController) CreateAdviceTemplate() {
984 988
 					DayCount:              day_count,
985 989
 					WeekDays:              weekdays,
986 990
 					FrequencyType:         frequency_type,
991
+					Way:                   way,
992
+					DrugId:                drug_id,
987 993
 				}
988 994
 				subTemplate = append(subTemplate, subTemps)
989 995
 
@@ -1146,7 +1152,8 @@ func (c *DataApiController) CreateSingleAdviceTemplate() {
1146 1152
 	frequency_type, _ := c.GetInt64("frequency_type", -1)
1147 1153
 	week_days := c.GetString("week_days")
1148 1154
 	day_count, _ := c.GetInt64("day_count", -1)
1149
-
1155
+	drug_id, _ := c.GetInt64("drug_id")
1156
+	way, _ := c.GetInt64("way")
1150 1157
 	adminUserInfo := c.GetAdminUserInfo()
1151 1158
 
1152 1159
 	template := models.DoctorAdviceTemplate{
@@ -1170,6 +1177,8 @@ func (c *DataApiController) CreateSingleAdviceTemplate() {
1170 1177
 		DeliveryWay:           delivery_way,
1171 1178
 		ExecutionFrequency:    execution_frequency,
1172 1179
 		TemplateId:            template_id,
1180
+		Way:                   way,
1181
+		DrugId:                drug_id,
1173 1182
 	}
1174 1183
 
1175 1184
 	if template.AdviceName == "" {
@@ -1238,7 +1247,6 @@ func (c *DataApiController) CreateSubAdviceTemplate() {
1238 1247
 	execution_frequency := c.GetString("execution_frequency")
1239 1248
 	template_id, _ := c.GetInt64("template_id", 0)
1240 1249
 	parent_id, _ := c.GetInt64("parent_id", 0)
1241
-
1242 1250
 	adminUserInfo := c.GetAdminUserInfo()
1243 1251
 
1244 1252
 	appRole, _ := service.FindAdminRoleTypeById(adminUserInfo.CurrentOrgId, adminUserInfo.AdminUser.Id, adminUserInfo.CurrentAppId)

+ 13 - 0
controllers/manager_center_api_controller.go ファイルの表示

@@ -327,6 +327,7 @@ func (c *ManagerCenterApiController) EditBaseDrugLib() {
327 327
 	nameId, err := service.GetDrugNameId(id, adminInfo.CurrentOrgId)
328 328
 
329 329
 	stock := models.XtSelfStock{
330
+		DrugSpec: drug_spec,
330 331
 		DrugName: drug_name,
331 332
 		MinUnit:  unit,
332 333
 	}
@@ -339,6 +340,18 @@ func (c *ManagerCenterApiController) EditBaseDrugLib() {
339 340
 	//修改出库表
340 341
 	service.UpdatedOutSelfStock(&outStock, nameId.ID, adminInfo.CurrentOrgId)
341 342
 
343
+	//查询未执行的医嘱
344
+	advice := models.DoctorAdvice{
345
+		AdviceName:         drug_name,
346
+		AdviceDesc:         drug_spec,
347
+		DeliveryWay:        delivery_way,
348
+		ExecutionFrequency: execution_frequency,
349
+		SingleDose:         single_dose,
350
+		SingleDoseUnit:     unit,
351
+	}
352
+
353
+	service.UpdateNoExcuteDoctorAdvice(nameId.ID, adminInfo.CurrentOrgId, &advice)
354
+
342 355
 	if err == nil {
343 356
 		c.ServeSuccessJSON(map[string]interface{}{
344 357
 			"msg": "修改成功",

+ 2 - 0
models/doctor_advice_models.go ファイルの表示

@@ -72,6 +72,8 @@ type DoctorAdviceTemplate struct {
72 72
 	DayCount                int64                   `gorm:"column:day_count" json:"day_count"`
73 73
 	WeekDays                string                  `gorm:"column:week_days" json:"week_days"`
74 74
 	FrequencyType           int64                   `gorm:"column:frequency_type" json:"frequency_type"`
75
+	DrugId                  int64                   `gorm:"column:drug_id" json:"drug_id" form:"drug_id"`
76
+	Way                     int64                   `gorm:"column:way" json:"way" form:"way"`
75 77
 	SubDoctorAdviceTemplate []*DoctorAdviceTemplate `gorm:"ForeignKey:ParentId;AssociationForeignKey:ID" json:"child"`
76 78
 }
77 79
 

+ 5 - 3
service/doctor_advice_service.go ファイルの表示

@@ -156,11 +156,11 @@ func CreateSubTemplate(template []*models.DoctorAdviceTemplate) (err error) {
156 156
 		utx := writeDb.Begin()
157 157
 		if len(template) > 0 {
158 158
 			thisSQL := "INSERT INTO xt_doctor_advice_template (org_id, advice_name, advice_desc, single_dose, single_dose_unit,prescribing_number," +
159
-				"prescribing_number_unit,delivery_way,execution_frequency,advice_doctor,status,created_time,updated_time,template_id,drug_spec,drug_spec_unit,advice_type,day_count,week_days,frequency_type) VALUES "
159
+				"prescribing_number_unit,delivery_way,execution_frequency,advice_doctor,status,created_time,updated_time,template_id,drug_spec,drug_spec_unit,advice_type,day_count,week_days,frequency_type,drug_id,way) VALUES "
160 160
 			insertParams := make([]string, 0)
161 161
 			insertData := make([]interface{}, 0)
162 162
 			for _, info := range template {
163
-				insertParams = append(insertParams, "(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)")
163
+				insertParams = append(insertParams, "(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)")
164 164
 				insertData = append(insertData, info.OrgId)
165 165
 				insertData = append(insertData, info.AdviceName)
166 166
 				insertData = append(insertData, info.AdviceDesc)
@@ -181,6 +181,8 @@ func CreateSubTemplate(template []*models.DoctorAdviceTemplate) (err error) {
181 181
 				insertData = append(insertData, info.DayCount)
182 182
 				insertData = append(insertData, info.WeekDays)
183 183
 				insertData = append(insertData, info.FrequencyType)
184
+				insertData = append(insertData, info.DrugId)
185
+				insertData = append(insertData, info.Way)
184 186
 			}
185 187
 			thisSQL += strings.Join(insertParams, ", ")
186 188
 			err = utx.Exec(thisSQL, insertData...).Error
@@ -252,7 +254,7 @@ func ModifyTemplateName(id int64, template_name string) (err error) {
252 254
 
253 255
 func FindOtherAllAdviceTemplate(org_id int64) (temps []*models.DoctorAdviceParentTemplate, err error) {
254 256
 	err = readDb.Model(&models.DoctorAdviceParentTemplate{}).Preload("DoctorAdviceTemplate", func(db *gorm.DB) *gorm.DB {
255
-		return db.Select("id,advice_name,advice_desc,single_dose,single_dose_unit,prescribing_number,prescribing_number_unit,delivery_way,execution_frequency,status,created_time,updated_time,parent_id,template_id,drug_spec,drug_spec_unit,advice_type,day_count,week_days,frequency_type, IF(parent_id>0, parent_id, id) as advice_order").Where("status = 1").Order("advice_order desc, id")
257
+		return db.Select("id,advice_name,advice_desc,single_dose,single_dose_unit,prescribing_number,prescribing_number_unit,delivery_way,execution_frequency,status,created_time,updated_time,parent_id,template_id,drug_spec,drug_spec_unit,advice_type,day_count,week_days,frequency_type,drug_id,way, IF(parent_id>0, parent_id, id) as advice_order").Where("status = 1").Order("advice_order desc, id")
256 258
 	}).Where("org_id = ? AND status=1 ", org_id).Find(&temps).Error
257 259
 	return
258 260
 	//.Scan(&advices).Error

+ 7 - 1
service/self_drug_service.go ファイルの表示

@@ -578,7 +578,7 @@ func GetDrugNameId(id int64, orgid int64) (models.XtSelfMedical, error) {
578 578
 }
579 579
 
580 580
 func UpdatedSelfStock(stock *models.XtSelfStock, id int64, orgid int64) error {
581
-	err := XTWriteDB().Model(&stock).Where("medic_id=? and user_org_id = ? and status = 1", id, orgid).Update(map[string]interface{}{"drug_name": stock.DrugName, "min_unit": stock.MinUnit}).Error
581
+	err := XTWriteDB().Model(&stock).Where("medic_id=? and user_org_id = ? and status = 1", id, orgid).Update(map[string]interface{}{"drug_name": stock.DrugName, "min_unit": stock.MinUnit, "drug_spec": stock.DrugSpec}).Error
582 582
 	return err
583 583
 }
584 584
 
@@ -587,3 +587,9 @@ func UpdatedOutSelfStock(stock *models.XtSelfOutStock, id int64, orgid int64) er
587 587
 	err := XTWriteDB().Model(&stock).Where("medic_id = ? and user_org_id = ? and status = 1", id, orgid).Update(map[string]interface{}{"drug_name": stock.DrugName, "drug_spec": stock.DrugName}).Error
588 588
 	return err
589 589
 }
590
+
591
+func UpdateNoExcuteDoctorAdvice(id int64, orgid int64, advice *models.DoctorAdvice) error {
592
+
593
+	err := XTWriteDB().Model(&advice).Where("drug_id = ? and user_org_id = ? and status = 1 and  execution_state = 2", id, orgid).Updates(map[string]interface{}{"advice_name": advice.AdviceName, "advice_desc": advice.AdviceDesc, "single_dose": advice.SingleDose, "single_dose_unit": advice.SingleDoseUnit, "delivery_way": advice.DeliveryWay, "execution_frequency": advice.ExecutionFrequency}).Error
594
+	return err
595
+}