|
|
@@ -9,6 +9,7 @@ import (
|
|
|
"strings"
|
|
|
"time"
|
|
|
|
|
|
+ "dashoo.cn/backend/api/business/codecsequence"
|
|
|
"dashoo.cn/backend/api/business/coderule"
|
|
|
"dashoo.cn/backend/api/business/printscheme"
|
|
|
"dashoo.cn/backend/api/business/samplesgroup"
|
|
|
@@ -112,10 +113,7 @@ func (this *SampleSubpackageController) SubpackageList() {
|
|
|
svc := samplesubpackage.GetSampleSubpackageService(utils.DBE)
|
|
|
where := " a.IState =2 and a.DeletionStateCode=0 "
|
|
|
sampleCode := this.Ctx.Input.Param(":samplecode")
|
|
|
- fmt.Println("------------samplecodelist-------------", sampleCode)
|
|
|
samplecode := strings.Split(sampleCode, ",")
|
|
|
- fmt.Println("------------samplecodelist-------------", len(samplecode))
|
|
|
- //where = where + " and a.SampleCode in(" + strings.Join(samplecode, ",") + ")"
|
|
|
|
|
|
if len(samplecode) > 1 {
|
|
|
where = where + "and ( a.SampleCode = '" + samplecode[0] + "'"
|
|
|
@@ -129,7 +127,6 @@ func (this *SampleSubpackageController) SubpackageList() {
|
|
|
}
|
|
|
total, Samplesubpackagelist := svc.GetPagingEntitiesSerch(this.User.AccCode, page.CurrentPage, page.Size, "a.Id desc", where)
|
|
|
|
|
|
- fmt.Println("----------Samplesubpackagelists---------------", Samplesubpackagelist)
|
|
|
var datainfo DataInfo
|
|
|
datainfo.Items = Samplesubpackagelist
|
|
|
datainfo.CurrentItemCount = total
|
|
|
@@ -156,7 +153,6 @@ func (this *SampleSubpackageController) Add() {
|
|
|
json.Unmarshal(jsonblob, &datadetailnew)
|
|
|
json.Unmarshal(jsonblob, &dataother)
|
|
|
|
|
|
- timecode := this.GetString("timecode") //蜜蜂所编码
|
|
|
groupid := this.GetString("groupid")
|
|
|
groupname := this.GetString("groupname")
|
|
|
subpackagenum := this.GetString("subpackagenum")
|
|
|
@@ -173,14 +169,11 @@ func (this *SampleSubpackageController) Add() {
|
|
|
datadetail.IState = 2
|
|
|
datadetail.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
|
|
|
datadetail.CreateBy = this.User.Realname
|
|
|
+
|
|
|
var err error
|
|
|
if datadetail.Capacity > 0 {
|
|
|
if datadetail.BarCode == "" {
|
|
|
- if timecode != "" {
|
|
|
- datadetail.BarCode = datamain.SampleCode + "01"
|
|
|
- } else {
|
|
|
- datadetail.BarCode = datamain.SampleCode + "-1"
|
|
|
- }
|
|
|
+ datadetail.BarCode = datamain.SampleCode + "-1"
|
|
|
}
|
|
|
datamain.AccCode = this.User.AccCode
|
|
|
datamain.MCreateUserId = datadetail.CreateUserId
|
|
|
@@ -201,11 +194,7 @@ func (this *SampleSubpackageController) Add() {
|
|
|
datadetailnew.IState = 2
|
|
|
datadetailnew.Capacity = Subpackagecapacity
|
|
|
datadetailnew.InitCapacity, _ = utils.StrTo(utils.ToStr(subpackagecapacity)).Float32()
|
|
|
- if timecode != "" {
|
|
|
- datadetailnew.BarCode = svc.AutoGetBarCodeAnimal(this.User.AccCode, datamainnew.SampleCode, timecode)
|
|
|
- } else {
|
|
|
- datadetailnew.BarCode = svc.AutoGetBarCode(this.User.AccCode, datamainnew.SampleCode)
|
|
|
- }
|
|
|
+ datadetailnew.BarCode = svc.AutoGetBarCode(this.User.AccCode, datamainnew.SampleCode)
|
|
|
datadetailnew.ParentBarCode = datadetail.BarCode
|
|
|
_, err = svc.InsertEntityBytbl(this.User.AccCode+SamplesDetailtbName, &datadetailnew)
|
|
|
if groupid != "" {
|
|
|
@@ -253,11 +242,7 @@ func (this *SampleSubpackageController) Add() {
|
|
|
n, _ := utils.StrTo(dataother.Code_lastnum).Int()
|
|
|
count := len(dataother.Code_lastnum)
|
|
|
Auto_Code_Struct.Num = strconv.FormatFloat(float64(n+1)*(1/math.Pow(10, float64(count))), 'f', count, 64)[2:]
|
|
|
- if timecode != "" {
|
|
|
- Auto_Code_Struct.SampleCode = this.AutoBarCodeAdd() + "-" + timecode
|
|
|
- } else {
|
|
|
- Auto_Code_Struct.SampleCode = this.AutoBarCodeAdd()
|
|
|
- }
|
|
|
+ Auto_Code_Struct.SampleCode = this.AutoBarCodeAdd()
|
|
|
} else { //不使用默认规则
|
|
|
Auto_Code_Struct.Num = ""
|
|
|
Auto_Code_Struct.SampleCode = ""
|
|
|
@@ -276,11 +261,7 @@ func (this *SampleSubpackageController) Add() {
|
|
|
errinfo.Item = Auto_Code_Struct
|
|
|
} else if saveandadd == "2" { //保存并添加分管
|
|
|
if dataother.Code_codeId > 0 { //使用默认规则
|
|
|
- if timecode != "" {
|
|
|
- Auto_Code_Struct.Num = dataother.Code_lastnum + "-" + timecode
|
|
|
- } else {
|
|
|
- Auto_Code_Struct.Num = dataother.Code_lastnum
|
|
|
- }
|
|
|
+ Auto_Code_Struct.Num = dataother.Code_lastnum
|
|
|
|
|
|
} else { //不使用默认规则
|
|
|
Auto_Code_Struct.Num = ""
|
|
|
@@ -314,6 +295,218 @@ func (this *SampleSubpackageController) Add() {
|
|
|
this.ServeJSON()
|
|
|
}
|
|
|
|
|
|
+// @Title 创建样本类型--蜜蜂所
|
|
|
+// @Description 创建样本类型
|
|
|
+// @Param body body business.device.DeviceChannels "传感器信息"
|
|
|
+// @Success 200 {object} controllers.Request
|
|
|
+// @router /subpackage [post]
|
|
|
+func (this *SampleSubpackageController) Subpackage() {
|
|
|
+ var errinfo ErrorDataInfo
|
|
|
+ var jsonblob = this.Ctx.Input.RequestBody
|
|
|
+ var datamain samplesubpackage.SamplesMain
|
|
|
+ var datadetail samplesubpackage.SamplesDetail
|
|
|
+ var dataother SampmanageModel
|
|
|
+ var datamainnew samplesubpackage.SamplesMain
|
|
|
+ var datadetailnew samplesubpackage.SamplesDetail
|
|
|
+ json.Unmarshal(jsonblob, &datamain)
|
|
|
+ json.Unmarshal(jsonblob, &datadetail)
|
|
|
+ json.Unmarshal(jsonblob, &datamainnew)
|
|
|
+ json.Unmarshal(jsonblob, &datadetailnew)
|
|
|
+ json.Unmarshal(jsonblob, &dataother)
|
|
|
+
|
|
|
+ timecode := this.GetString("timecode") //蜜蜂所编码
|
|
|
+ groupid := this.GetString("groupid")
|
|
|
+ groupname := this.GetString("groupname")
|
|
|
+ subpackagenum := this.GetString("subpackagenum")
|
|
|
+ Subpackagenum, _ := utils.StrTo(subpackagenum).Int()
|
|
|
+ subnum, _ := utils.StrTo(utils.ToStr(subpackagenum)).Float32()
|
|
|
+ capacity := this.GetString("capacity")
|
|
|
+ datadetail.Capacity, _ = utils.StrTo(utils.ToStr(capacity)).Float32()
|
|
|
+ subpackagecapacity := this.GetString("subpackagecapacity")
|
|
|
+ Subpackagecapacity, _ := utils.StrTo(utils.ToStr(subpackagecapacity)).Float32()
|
|
|
+ UsedCapacity := subnum * Subpackagecapacity
|
|
|
+
|
|
|
+ svc := samplesubpackage.GetSampleSubpackageService(utils.DBE)
|
|
|
+
|
|
|
+ datadetail.IState = 2
|
|
|
+ datadetail.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
|
|
|
+ datadetail.CreateBy = this.User.Realname
|
|
|
+ //判断是否需要循环添加
|
|
|
+ arr := strings.Split(datamain.SampleCode, "-")
|
|
|
+ if arr[1] == "全部" {
|
|
|
+ var codeModel codecsequence.CodecSequence
|
|
|
+ where_seq := " SeqName = '" + strconv.Itoa(datamain.SourceId) + "'"
|
|
|
+ svc.GetEntityByWhere(CodecSequenceName, where_seq, &codeModel)
|
|
|
+ for i := codeModel.MinValue; i < codeModel.MaxValue+1; i++ {
|
|
|
+ datamain.SampleCode = arr[0] + "-" + fmt.Sprintf("%04s", strconv.Itoa(i)) + "-" + arr[2]
|
|
|
+ datamainnew.SampleCode = arr[0] + "-" + fmt.Sprintf("%04s", strconv.Itoa(i)) + "-" + arr[2]
|
|
|
+
|
|
|
+ var err error
|
|
|
+ if datadetail.Capacity > 0 {
|
|
|
+ if datadetail.BarCode == "" {
|
|
|
+ datadetail.BarCode = datamain.SampleCode + "01"
|
|
|
+ }
|
|
|
+ datamain.AccCode = this.User.AccCode
|
|
|
+ datamain.MCreateUserId = datadetail.CreateUserId
|
|
|
+ datamain.MCreateBy = datadetail.CreateBy
|
|
|
+ datadetail.InitCapacity = datadetail.Capacity + UsedCapacity
|
|
|
+ datamain.ReceiveDate = time.Unix(dataother.ReceiveDateint/1000, 0)
|
|
|
+ _, err = svc.InsertSamplePre(this.User.AccCode+SamplesMaintbName, this.User.AccCode+SamplesDetailtbName, &datamain, &datadetail)
|
|
|
+ } else {
|
|
|
+ datamain.AccCode = this.User.AccCode
|
|
|
+ datamain.MCreateUserId = datadetail.CreateUserId
|
|
|
+ datamain.MCreateBy = datadetail.CreateBy
|
|
|
+ datamain.ReceiveDate = time.Unix(dataother.ReceiveDateint/1000, 0)
|
|
|
+ _, err = svc.InsertEntityBytbl(this.User.AccCode+SamplesMaintbName, &datamain)
|
|
|
+ }
|
|
|
+
|
|
|
+ if Subpackagenum > 0 && Subpackagecapacity > 0 {
|
|
|
+ for subcapacity := Subpackagenum; subcapacity > 0; subcapacity-- {
|
|
|
+ datadetailnew.IState = 2
|
|
|
+ datadetailnew.Capacity = Subpackagecapacity
|
|
|
+ datadetailnew.InitCapacity, _ = utils.StrTo(utils.ToStr(subpackagecapacity)).Float32()
|
|
|
+ datadetailnew.BarCode = svc.AutoGetBarCodeAnimal(this.User.AccCode, datamainnew.SampleCode, timecode)
|
|
|
+ datadetailnew.SampleCode = datamain.SampleCode
|
|
|
+ datadetailnew.ParentBarCode = datadetail.BarCode
|
|
|
+ _, err = svc.InsertEntityBytbl(this.User.AccCode+SamplesDetailtbName, &datadetailnew)
|
|
|
+ if groupid != "" {
|
|
|
+ var entity samplesgroup.GroupDetail
|
|
|
+ entity.GroupId = groupid
|
|
|
+ entity.GroupName = groupname
|
|
|
+ entity.SampleId = datadetailnew.Id
|
|
|
+ entity.SampleCode = datamain.SampleCode
|
|
|
+ entity.BarCode = datadetailnew.BarCode
|
|
|
+ entity.GroupType = "SampleGroup"
|
|
|
+ entity.CreateBy = this.User.Realname
|
|
|
+ entity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
|
|
|
+ groupSvc := samplesgroup.GetSamplesGroupService(utils.DBE)
|
|
|
+ groupSvc.InsertEntityBytbl(this.User.AccCode+GroupDetailName, &entity)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if dataother.Code_codeId > 0 {
|
|
|
+ svc_coderule := coderule.GetCodeRuleService(utils.DBE)
|
|
|
+ svc_coderule.UpdateLastNum(dataother.Code_lastnum, utils.ToStr(dataother.Code_codeId))
|
|
|
+ }
|
|
|
+
|
|
|
+ saveandadd := dataother.Saveandadd
|
|
|
+ var Auto_Code_Struct AutoCodeStruct
|
|
|
+ if err == nil {
|
|
|
+ if saveandadd == "1" { //保存并新增新编码
|
|
|
+ n, _ := utils.StrTo(dataother.Code_lastnum).Int()
|
|
|
+ count := len(dataother.Code_lastnum)
|
|
|
+ Auto_Code_Struct.Num = strconv.FormatFloat(float64(n+1)*(1/math.Pow(10, float64(count))), 'f', count, 64)[2:]
|
|
|
+ Auto_Code_Struct.SampleCode = this.AutoBarCodeAdd() + "-" + timecode
|
|
|
+ errinfo.Code = 1
|
|
|
+ errinfo.Message = "保存成功"
|
|
|
+ errinfo.Item = Auto_Code_Struct
|
|
|
+ } else if saveandadd == "2" { //保存并添加分管
|
|
|
+ Auto_Code_Struct.Num = dataother.Code_lastnum + "-" + timecode
|
|
|
+ Auto_Code_Struct.SampleCode = datamain.SampleCode
|
|
|
+ errinfo.Code = 2
|
|
|
+ errinfo.Message = "保存成功"
|
|
|
+ errinfo.Item = Auto_Code_Struct
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if saveandadd == "1" {
|
|
|
+ Auto_Code_Struct.SampleCode = "01"
|
|
|
+ errinfo.Code = -2
|
|
|
+ errinfo.Message = "保存失败!"
|
|
|
+ errinfo.Item = Auto_Code_Struct
|
|
|
+ } else {
|
|
|
+ errinfo.Code = -1
|
|
|
+ errinfo.Message = "保存失败!" + err.Error()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ var err error
|
|
|
+ if datadetail.Capacity > 0 {
|
|
|
+ if datadetail.BarCode == "" {
|
|
|
+ datadetail.BarCode = datamain.SampleCode + "01"
|
|
|
+ }
|
|
|
+ datamain.AccCode = this.User.AccCode
|
|
|
+ datamain.MCreateUserId = datadetail.CreateUserId
|
|
|
+ datamain.MCreateBy = datadetail.CreateBy
|
|
|
+ datadetail.InitCapacity = datadetail.Capacity + UsedCapacity
|
|
|
+ datamain.ReceiveDate = time.Unix(dataother.ReceiveDateint/1000, 0)
|
|
|
+ _, err = svc.InsertSamplePre(this.User.AccCode+SamplesMaintbName, this.User.AccCode+SamplesDetailtbName, &datamain, &datadetail)
|
|
|
+ } else {
|
|
|
+ datamain.AccCode = this.User.AccCode
|
|
|
+ datamain.MCreateUserId = datadetail.CreateUserId
|
|
|
+ datamain.MCreateBy = datadetail.CreateBy
|
|
|
+ datamain.ReceiveDate = time.Unix(dataother.ReceiveDateint/1000, 0)
|
|
|
+ _, err = svc.InsertEntityBytbl(this.User.AccCode+SamplesMaintbName, &datamain)
|
|
|
+ }
|
|
|
+
|
|
|
+ if Subpackagenum > 1 && Subpackagecapacity > 0 {
|
|
|
+ for subcapacity := Subpackagenum; subcapacity > 0; subcapacity-- {
|
|
|
+ datadetailnew.IState = 2
|
|
|
+ datadetailnew.Capacity = Subpackagecapacity
|
|
|
+ datadetailnew.InitCapacity, _ = utils.StrTo(utils.ToStr(subpackagecapacity)).Float32()
|
|
|
+ datadetailnew.BarCode = svc.AutoGetBarCodeAnimal(this.User.AccCode, datamainnew.SampleCode, timecode)
|
|
|
+ datadetailnew.ParentBarCode = datadetail.BarCode
|
|
|
+ _, err = svc.InsertEntityBytbl(this.User.AccCode+SamplesDetailtbName, &datadetailnew)
|
|
|
+ if groupid != "" {
|
|
|
+ var entity samplesgroup.GroupDetail
|
|
|
+ entity.GroupId = groupid
|
|
|
+ entity.GroupName = groupname
|
|
|
+ entity.SampleId = datadetailnew.Id
|
|
|
+ entity.SampleCode = datamain.SampleCode
|
|
|
+ entity.BarCode = datadetailnew.BarCode
|
|
|
+ entity.GroupType = "SampleGroup"
|
|
|
+ entity.CreateBy = this.User.Realname
|
|
|
+ entity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
|
|
|
+ groupSvc := samplesgroup.GetSamplesGroupService(utils.DBE)
|
|
|
+ groupSvc.InsertEntityBytbl(this.User.AccCode+GroupDetailName, &entity)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if dataother.Code_codeId > 0 {
|
|
|
+ svc_coderule := coderule.GetCodeRuleService(utils.DBE)
|
|
|
+ svc_coderule.UpdateLastNum(dataother.Code_lastnum, utils.ToStr(dataother.Code_codeId))
|
|
|
+ }
|
|
|
+
|
|
|
+ saveandadd := dataother.Saveandadd
|
|
|
+ var Auto_Code_Struct AutoCodeStruct
|
|
|
+ if err == nil {
|
|
|
+ if saveandadd == "1" { //保存并新增新编码
|
|
|
+ n, _ := utils.StrTo(dataother.Code_lastnum).Int()
|
|
|
+ count := len(dataother.Code_lastnum)
|
|
|
+ Auto_Code_Struct.Num = strconv.FormatFloat(float64(n+1)*(1/math.Pow(10, float64(count))), 'f', count, 64)[2:]
|
|
|
+ Auto_Code_Struct.SampleCode = this.AutoBarCodeAdd() + "-" + timecode
|
|
|
+ errinfo.Code = 1
|
|
|
+ errinfo.Message = "保存成功"
|
|
|
+ errinfo.Item = Auto_Code_Struct
|
|
|
+ } else if saveandadd == "2" { //保存并添加分管
|
|
|
+ Auto_Code_Struct.Num = dataother.Code_lastnum + "-" + timecode
|
|
|
+ Auto_Code_Struct.SampleCode = datamain.SampleCode
|
|
|
+ errinfo.Code = 2
|
|
|
+ errinfo.Message = "保存成功"
|
|
|
+ errinfo.Item = Auto_Code_Struct
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if saveandadd == "1" {
|
|
|
+ Auto_Code_Struct.SampleCode = "-1"
|
|
|
+ errinfo.Code = -2
|
|
|
+ errinfo.Message = "保存失败!"
|
|
|
+ errinfo.Item = Auto_Code_Struct
|
|
|
+ } else {
|
|
|
+ errinfo.Code = -1
|
|
|
+ errinfo.Message = "保存失败!" + err.Error()
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.Data["json"] = &errinfo
|
|
|
+ this.ServeJSON()
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
func (this *SampleSubpackageController) AutoBarCodeAdd() string {
|
|
|
ss, _ := this.AutoBarCodeModel()
|
|
|
return ss
|