Przeglądaj źródła

增加“交易服务”相关7个查询接口

zhou.xiaoning 3 lat temu
rodzic
commit
42758ae788
7 zmienionych plików z 1532 dodań i 1899 usunięć
  1. 140 0
      controllers/guangzuan/tradeService.go
  2. 294 317
      docs/docs.go
  3. 294 317
      docs/swagger.json
  4. 456 1265
      docs/swagger.yaml
  5. 315 0
      models/guangzuan.go
  6. 27 0
      models/ori.go
  7. 6 0
      routers/router.go

+ 140 - 0
controllers/guangzuan/tradeService.go

@@ -0,0 +1,140 @@
+package guangzuan
+
+import (
+	"mtp2_if/global/app"
+	"mtp2_if/global/e"
+	"mtp2_if/logger"
+	"mtp2_if/models"
+	"net/http"
+
+	"github.com/gin-gonic/gin"
+)
+
+// QueryGZCJJCOrder
+// @Summary  查询出境检测单据
+// @Produce  json
+// @Security ApiKeyAuth
+// @Security LoginID
+// @Security Group
+// @Param    userid   query    int true  "用户ID"
+// @Param    page     query    int false "页码"
+// @Param    pagesize query    int false "每页条数"
+// @Success  200      {array}  models.GzcjjcorderM
+// @Failure  500      {object} app.Response
+// @Router   /Guangzuan/QueryGZCJJCOrder [get]
+// @Tags     广钻
+func QueryGZCJJCOrder(c *gin.Context) {
+	a := app.GinUtils{Gin: app.Gin{C: c}}
+	m := models.GzcjjcorderM{}
+	a.DoBindReq(&m)
+	a.DoGetDataByPage(&m)
+}
+
+// QueryGZCJJCOrderDetail
+// @Summary  查询出境检测单据明细(批次信息)
+// @Produce  json
+// @Security ApiKeyAuth
+// @Security LoginID
+// @Security Group
+// @Param    userid   query    int true  "用户ID"
+// @Param    orderid  query    int false "单据ID"
+// @Param    page     query    int false "页码"
+// @Param    pagesize query    int false "每页条数"
+// @Success  200      {array}  models.GzcjjcorderdetailM
+// @Failure  500      {object} app.Response
+// @Router   /Guangzuan/QueryGZCJJCOrderDetail [get]
+// @Tags     广钻
+func QueryGZCJJCOrderDetail(c *gin.Context) {
+	a := app.GinUtils{Gin: app.Gin{C: c}}
+	m := models.GzcjjcorderdetailM{}
+	a.DoBindReq(&m)
+	a.DoGetDataByPage(&m)
+}
+
+// QueryGZCJBSOrderFile
+// @Summary  出境保税单据文件
+// @Produce  json
+// @Security ApiKeyAuth
+// @Security LoginID
+// @Security Group
+// @Param    orderid  query    int true  "单据ID"
+// @Param    page     query    int false "页码"
+// @Param    pagesize query    int false "每页条数"
+// @Success  200      {array}  models.GzcjbsorderfileM
+// @Failure  500      {object} app.Response
+// @Router   /Guangzuan/QueryGZCJBSOrderFile [get]
+// @Tags     广钻
+func QueryGZCJBSOrderFile(c *gin.Context) {
+	a := app.GinUtils{Gin: app.Gin{C: c}}
+	m := models.GzcjbsorderfileM{}
+	a.DoBindReq(&m)
+	a.DoGetDataByPage(&m)
+}
+
+// QueryGZBSFWOrder
+// @Summary  查询保税服务单据
+// @Produce  json
+// @Security ApiKeyAuth
+// @Security LoginID
+// @Security Group
+// @Param    userid   query    int true  "用户ID"
+// @Param    page     query    int false "页码"
+// @Param    pagesize query    int false "每页条数"
+// @Success  200      {array}  models.GzbsfworderM
+// @Failure  500      {object} app.Response
+// @Router   /Guangzuan/QueryGZBSFWOrder [get]
+// @Tags     广钻
+func QueryGZBSFWOrder(c *gin.Context) {
+	a := app.GinUtils{Gin: app.Gin{C: c}}
+	m := models.GzbsfworderM{}
+	a.DoBindReq(&m)
+	a.DoGetDataByPage(&m)
+}
+
+// QueryGZBSFWOrderDetail
+// @Summary  查询保税服务单据明细
+// @Produce  json
+// @Security ApiKeyAuth
+// @Security LoginID
+// @Security Group
+// @Param    userid   query    int true  "用户ID"
+// @Param    orderid  query    int false "单据ID"
+// @Param    page     query    int false "页码"
+// @Param    pagesize query    int false "每页条数"
+// @Success  200      {array}  models.GzbsfworderdetailM
+// @Failure  500      {object} app.Response
+// @Router   /Guangzuan/QueryGZBSFWOrderDetail [get]
+// @Tags     广钻
+func QueryGZBSFWOrderDetail(c *gin.Context) {
+	a := app.GinUtils{Gin: app.Gin{C: c}}
+	m := models.GzbsfworderdetailM{}
+	a.DoBindReq(&m)
+	a.DoGetDataByPage(&m)
+}
+
+// GZBSFWOrderOperate
+// @Summary  保税服务单据操作信息
+// @Produce  json
+// @Security ApiKeyAuth
+// @Security LoginID
+// @Security Group
+// @Param    orderid query    int true "单据ID"
+// @Success  200     {array}  models.Gzbsfworderoperate
+// @Failure  500     {object} app.Response
+// @Router   /Guangzuan/GZBSFWOrderOperate [get]
+// @Tags     广钻
+func GZBSFWOrderOperate(c *gin.Context) {
+	a := app.GinUtils{Gin: app.Gin{C: c}}
+	m := models.Gzbsfworderoperate{}
+	if err := a.C.ShouldBind(&m); err != nil {
+		a.Response(http.StatusBadRequest, e.INVALID_PARAMS, nil)
+		return
+	}
+
+	if d, err := m.GetDataByOrderIDAndStatus(); err == nil {
+		a.Gin.Response(http.StatusOK, e.SUCCESS, d)
+	} else {
+		logger.GetLogger().Errorf("query fail, %v", err)
+		a.Gin.Response(http.StatusBadRequest, e.ERROR_QUERY_FAIL, nil)
+	}
+}

Plik diff jest za duży
+ 294 - 317
docs/docs.go


Plik diff jest za duży
+ 294 - 317
docs/swagger.json


Plik diff jest za duży
+ 456 - 1265
docs/swagger.yaml


+ 315 - 0
models/guangzuan.go

@@ -2390,3 +2390,318 @@ func (r *GZHomeData) GetGZHomeData() (err error) {
 
 	return
 }
+
+// GzcjjcorderM 出境检测单据表
+type GzcjjcorderM struct {
+	ORDERID           int64     `json:"orderid" xorm:"ORDERID"`                                // 单据ID(801+Unix秒时间戳(10位)+xxxxxx)
+	USERID            int64     `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
+	ACCOUNTID         int64     `json:"accountid" xorm:"ACCOUNTID"`                            // 资金账户ID
+	ORDERSN           string    `json:"ordersn" xorm:"ORDERSN"`                                // 单据流水号 - yymm000 - yy表示年份,mm表示月份,年份、月份以两位数表示;000表示流水序号,序号不足三位以0补全
+	ORDERNO           string    `json:"orderno" xorm:"ORDERNO"`                                // 单据编号 - 合同编号:GZDECJJC+单据流水号
+	GZCJACCOUNTTYPE   int32     `json:"gzcjaccounttype" xorm:"GZCJACCOUNTTYPE"`                // 检测账户类型 - 枚举"GZCJAccountType"
+	GZCJACCOUNT       string    `json:"gzcjaccount" xorm:"GZCJACCOUNT"`                        // 送检账户
+	COMPANYNAMECN     string    `json:"companynamecn" xorm:"COMPANYNAMECN"`                    // 公司名称(中文)
+	COMPANYNAMEEN     string    `json:"companynameen" xorm:"COMPANYNAMEEN"`                    // 公司名称(英文)
+	ADDRESSCN         string    `json:"addresscn" xorm:"ADDRESSCN"`                            // 地址(中文)
+	ADDRESSEN         string    `json:"addressen" xorm:"ADDRESSEN"`                            // 地址(英文)
+	CONTACTNAME       string    `json:"contactname" xorm:"CONTACTNAME"`                        // 联系人姓名
+	CONTACTPOSITION   string    `json:"contactposition" xorm:"CONTACTPOSITION"`                // 联系人职位
+	CONTACTPHONENO    string    `json:"contactphoneno" xorm:"CONTACTPHONENO"`                  // 联系人电话
+	EMAIL             string    `json:"email" xorm:"EMAIL"`                                    // 邮箱
+	GZCJCATEGORYTYPE  int32     `json:"gzcjcategorytype" xorm:"GZCJCATEGORYTYPE"`              // 货物品类 -  枚举"GZCJCategoryType"
+	PROCESSINGCOUNTRY string    `json:"processingcountry" xorm:"PROCESSINGCOUNTRY"`            // 成品钻石加工国
+	ZSORIGIN          string    `json:"zsorigin" xorm:"ZSORIGIN"`                              // 天然钻石毛坯原产地
+	GZCJDELIVERYTYPE  int32     `json:"gzcjdeliverytype" xorm:"GZCJDELIVERYTYPE"`              // 收货方式 - 枚举"GZCJDeliveryType"
+	GZCJSTATUS        int32     `json:"gzcjstatus" xorm:"GZCJSTATUS"`                          // 单据状态(出境检测) -  枚举"GZCJStatus"
+	TOTALNUMBER       int32     `json:"totalnumber" xorm:"TOTALNUMBER"`                        // 总粒数
+	TOTALWEIGHT       float64   `json:"totalweight" xorm:"TOTALWEIGHT"`                        // 总克拉数(保留3位小数)
+	TOTALAMOUNT       float64   `json:"totalamount" xorm:"TOTALAMOUNT"`                        // 总金额(美元)
+	CREATETIME        time.Time `json:"createtime" xorm:"CREATETIME"`                          // 创建时间
+	ADVANCEAMOUNT     float64   `json:"advanceamount" xorm:"ADVANCEAMOUNT"`                    // 总预付款
+	SETTLEAMOUNT      float64   `json:"settleamount" xorm:"SETTLEAMOUNT"`                      // 总结算费用
+	HANDLESTATUS      int32     `json:"handlestatus" xorm:"HANDLESTATUS"`                      // 处理状态
+	EXECUTESTATUS     int32     `json:"executestatus" xorm:"EXECUTESTATUS"`                    // 执行状态 - 1:未生效 2:进行中 3:已结束
+	SERVICEFEESUM     float64   `json:"servicefeesum" xorm:"SERVICEFEESUM"`                    // 汇总综合服务费 - 明细上值汇总
+	REALSERVICEFEE    float64   `json:"realservicefee" xorm:"REALSERVICEFEE"`                  // 应收综合服务费
+	TOTALWEIGHTGM     float64   `json:"totalweightgm" xorm:"TOTALWEIGHTGM"`                    // 总净重(克)  = TotalWeight * 0.2 (2位小数)
+	TOTALGROSSWEIGHT  float64   `json:"totalgrossweight" xorm:"TOTALGROSSWEIGHT"`              // 总毛重(克) = 每100颗单颗裸石毛重200克,毛重不足200克按200克计 (TotalNumber/100 向上取整) * 200
+	ORIGINCOUNTRY     string    `json:"origincountry" xorm:"ORIGINCOUNTRY"`                    // 原产国
+	INVOICEREMARK     string    `json:"invoiceremark" xorm:"INVOICEREMARK"`                    // 复核备注 - 发票装箱单使用
+	WEIGHTRANGE       string    `json:"weightrange" xorm:"WEIGHTRANGE"`                        // 重量规格范围 - Min(Weight) - Max(Weight)
+	SHAPERANGE        string    `json:"shaperange" xorm:"SHAPERANGE"`                          // 形状范围
+	COLORRANGE        string    `json:"colorrange" xorm:"COLORRANGE"`                          // 颜色范围
+
+	GZCJCATEGORYTYPEDISPLAY string `json:"gzcjcategorytypedisplay" xorm:"GZCJCATEGORYTYPEDISPLAY"` // 货物品类
+	GZCJDELIVERYTYPEDISPLAY string `json:"gzcjdeliverytypedisplay" xorm:"GZCJDELIVERYTYPEDISPLAY"` // 收货方式
+	GZCJSTATUSDISPLAY       string `json:"gzcjstatusdisplay" xorm:"GZCJSTATUSDISPLAY"`             // 单据状态(出境检测)
+
+	PageEx `xorm:"extends"` // 页码信息
+}
+
+func (r *GzcjjcorderM) calc() {
+
+}
+
+func (r *GzcjjcorderM) buildSql() string {
+	var sqlId utils.SQLVal = `
+	SELECT 
+		t.*,
+		e1.ENUMDICNAME GZCJCATEGORYTYPEDISPLAY,
+		e2.ENUMDICNAME GZCJDELIVERYTYPEDISPLAY,
+		e3.ENUMDICNAME GZCJSTATUSDISPLAY
+	FROM GZ_CJJCOrder t
+	LEFT JOIN enumdicitem e1 ON t.GZCJCATEGORYTYPE = e1.enumitemname AND e1.enumdiccode = 'GZCJCategoryType'
+	LEFT JOIN enumdicitem e2 ON t.GZCJDELIVERYTYPE = e2.enumitemname AND e2.enumdiccode = 'GZCJDeliveryType' 
+	LEFT JOIN enumdicitem e3 ON t.GZCJSTATUS = e3.enumitemname AND e3.enumdiccode = 'GZCJStatus' 
+	WHERE t.USERID = %v
+	`
+	sqlId.FormatParam(r.USERID)
+	sqlId.OrderByDesc("t.CREATETIME")
+
+	sqlId.Page(r.Page, r.PageSize)
+	return sqlId.String()
+}
+
+func (r *GzcjjcorderM) GetDataByPage() (interface{}, error, int, int, int) {
+	sData := make([]GzcjjcorderM, 0)
+	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	total := 0
+	for i := range sData {
+		sData[i].calc()
+		total = sData[i].Total
+	}
+	return sData, err, r.Page, r.PageSize, total
+}
+
+// GzcjjcorderdetailM 出境检测单据明细表
+type GzcjjcorderdetailM struct {
+	ORDERDETAILID         int64     `json:"orderdetailid" xorm:"ORDERDETAILID"`                 // 单据明细ID(802+Unix秒时间戳(10位)+xxxxxx)
+	ORDERID               int64     `json:"orderid" xorm:"ORDERID" form:"orderid"`              // 单据ID(801+Unix秒时间戳(10位)+xxxxxx)
+	ORDERINDEX            int32     `json:"orderindex" xorm:"ORDERINDEX"`                       // 顺序
+	GZNO                  string    `json:"gzno" xorm:"GZNO"`                                   // 货物编号
+	GZCJSHAPETYPE         int32     `json:"gzcjshapetype" xorm:"GZCJSHAPETYPE"`                 // 形状 - 枚举"GZCJShapeType"
+	GZCJSHAPETYPESTRING   string    `json:"gzcjshapetypestring" xorm:"GZCJSHAPETYPESTRING"`     // 形状(字符) - 枚举"GZCJShapeType"对应的显示值
+	WEIGHT                float64   `json:"weight" xorm:"WEIGHT"`                               // 重量(CT)
+	AMOUNT                float64   `json:"amount" xorm:"AMOUNT"`                               // 参考货值(USD)
+	COLORINFO             string    `json:"colorinfo" xorm:"COLORINFO"`                         // 彩钻信息
+	REMARK                string    `json:"remark" xorm:"REMARK"`                               // 备注(其它)
+	GZCJMARKTYPE          int32     `json:"gzcjmarktype" xorm:"GZCJMARKTYPE"`                   // 刻印服务  - 枚举"GZCJMarkType" 【送检账户为“广钻账户”】
+	GZCJPUBLISHTYPE       int32     `json:"gzcjpublishtype" xorm:"GZCJPUBLISHTYPE"`             // 是否披露处理 - 枚举 GZCJPublishType【送检账户为“广钻账户”】
+	GZCJPUBLISHTYPESTRING string    `json:"gzcjpublishtypestring" xorm:"GZCJPUBLISHTYPESTRING"` // 是否披露处理 - 枚举 GZCJPublishType 对应的显示值
+	GZCJSERVICETYPE       int32     `json:"gzcjservicetype" xorm:"GZCJSERVICETYPE"`             // 服务类别 - 枚举 GZCJServiceType【送检账户为“广钻账户”】
+	GZCJSERVICETYPESTRING string    `json:"gzcjservicetypestring" xorm:"GZCJSERVICETYPESTRING"` // 服务类别 - 枚举 GZCJServiceType 对应的显示值
+	ORIGINCERTNO          string    `json:"origincertno" xorm:"ORIGINCERTNO"`                   // 原证书号【送检账户为“广钻账户”】
+	CREATETIME            time.Time `json:"createtime" xorm:"CREATETIME"`                       // 创建时间
+	SERVICEFEE            float64   `json:"servicefee" xorm:"SERVICEFEE"`                       // 综合服务费 - 根据市场配置计算
+
+	USERID int64 `json:"-" form:"userid" binding:"required"` // 用户ID
+
+	PageEx `xorm:"extends"` // 页码信息
+}
+
+func (r *GzcjjcorderdetailM) calc() {
+
+}
+
+func (r *GzcjjcorderdetailM) buildSql() string {
+	var sqlId utils.SQLVal = `
+	SELECT 
+		t.*
+	FROM GZ_CJJCOrderDetail t
+	LEFT JOIN GZ_CJJCOrder d ON t.orderid = d.orderid AND d.userid = %v
+	WHERE 1=1
+	`
+	sqlId.FormatParam(r.USERID)
+	sqlId.AndEx("t.orderid", r.ORDERID, r.ORDERID > 0)
+	sqlId.OrderBy("t.ORDERINDEX")
+
+	sqlId.Page(r.Page, r.PageSize)
+	return sqlId.String()
+}
+
+func (r *GzcjjcorderdetailM) GetDataByPage() (interface{}, error, int, int, int) {
+	sData := make([]GzcjjcorderdetailM, 0)
+	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	total := 0
+	for i := range sData {
+		sData[i].calc()
+		total = sData[i].Total
+	}
+	return sData, err, r.Page, r.PageSize, total
+}
+
+// Gzcjbsorderfile 出境保税单据文件表
+type GzcjbsorderfileM struct {
+	ORDERFILEID     int64     `json:"orderfileid" xorm:"ORDERFILEID"`                           // 单据文件ID(803+Unix秒时间戳(10位)+xxxxxx)
+	ORDERID         int64     `json:"orderid" xorm:"ORDERID" form:"orderid" binding:"required"` // 单据ID(801+Unix秒时间戳(10位)+xxxxxx)
+	FILEGENTYPE     int32     `json:"filegentype" xorm:"FILEGENTYPE"`                           // 文件生成类型 - 1:系统生成 2:手动上传
+	FILENAME        string    `json:"filename" xorm:"FILENAME"`                                 // 文件名称
+	FILEADDRESS     string    `json:"fileaddress" xorm:"FILEADDRESS"`                           // 文件地址
+	CANMEMBERVISIT  int32     `json:"canmembervisit" xorm:"CANMEMBERVISIT"`                     // 会员是否可访问 - 1:可 2:不可
+	OPERATORSRC     int32     `json:"operatorsrc" xorm:"OPERATORSRC"`                           // 操作人来源 - 1:管理端 2:终端
+	OPERATORID      int64     `json:"operatorid" xorm:"OPERATORID"`                             // 操作人ID - systemmanager的autoid 或 loginaccount的loginid
+	OPERATORACCOUNT string    `json:"operatoraccount" xorm:"OPERATORACCOUNT"`                   // 操作人账号 - systemmanager的logincode 或 loginaccount的logincode,无则用loginid
+	OPERATETIME     time.Time `json:"operatetime" xorm:"OPERATETIME"`                           // 操作时间
+
+	PageEx `xorm:"extends"` // 页码信息
+}
+
+func (r *GzcjbsorderfileM) calc() {
+
+}
+
+func (r *GzcjbsorderfileM) buildSql() string {
+	var sqlId utils.SQLVal = `
+	SELECT 
+		t.*
+	FROM GZ_CJBSOrderFile t
+	WHERE t.CanMemberVisit = 1 AND t.ORDERID = %v
+	`
+	sqlId.FormatParam(r.ORDERID)
+	sqlId.OrderByDesc("t.operatetime")
+
+	sqlId.Page(r.Page, r.PageSize)
+	return sqlId.String()
+}
+
+func (r *GzcjbsorderfileM) GetDataByPage() (interface{}, error, int, int, int) {
+	sData := make([]GzcjbsorderfileM, 0)
+	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	total := 0
+	for i := range sData {
+		sData[i].calc()
+		total = sData[i].Total
+	}
+	return sData, err, r.Page, r.PageSize, total
+}
+
+// GzbsfworderM 保税服务单据表
+type GzbsfworderM struct {
+	ORDERID            int64     `json:"orderid" xorm:"ORDERID"`                                // 单据ID(804+Unix秒时间戳(10位)+xxxxxx)
+	USERID             int64     `json:"userid" xorm:"USERID" form:"userid" binding:"required"` // 用户ID
+	ACCOUNTID          int64     `json:"accountid" xorm:"ACCOUNTID"`                            // 资金账户ID
+	ORDERSN            string    `json:"ordersn" xorm:"ORDERSN"`                                // 单据流水号 - yymm000 - yy表示年份,mm表示月份,年份、月份以两位数表示;000表示流水序号,序号不足三位以0补全
+	ORDERNO            string    `json:"orderno" xorm:"ORDERNO"`                                // 单据编号 - GZDEBSFW+单据流水号
+	ORDERDATE          time.Time `json:"orderdate" xorm:"ORDERDATE"`                            // 单据日期
+	COMPANYNAMECN      string    `json:"companynamecn" xorm:"COMPANYNAMECN"`                    // 收货人(中文)
+	COMPANYNAMEEN      string    `json:"companynameen" xorm:"COMPANYNAMEEN"`                    // 收货人(英文)
+	ADDRESSCN          string    `json:"addresscn" xorm:"ADDRESSCN"`                            // 地址(中文)
+	ADDRESSEN          string    `json:"addressen" xorm:"ADDRESSEN"`                            // 地址(英文)
+	CONTACTNAME        string    `json:"contactname" xorm:"CONTACTNAME"`                        // 收货人姓名
+	CONTACTPHONENO     string    `json:"contactphoneno" xorm:"CONTACTPHONENO"`                  // 收货人电话
+	CONTACTFAX         string    `json:"contactfax" xorm:"CONTACTFAX"`                          // 收货人传真
+	ORIGINCOUNTRY      string    `json:"origincountry" xorm:"ORIGINCOUNTRY"`                    // 原产国
+	TOTALNETWEIGTHCT   float64   `json:"totalnetweigthct" xorm:"TOTALNETWEIGTHCT"`              // 总净重(克拉)
+	TOTALNETWEIGHTGM   float64   `json:"totalnetweightgm" xorm:"TOTALNETWEIGHTGM"`              // 总净重(克)
+	TOTALGROSSWEIGHTGM float64   `json:"totalgrossweightgm" xorm:"TOTALGROSSWEIGHTGM"`          // 总毛重(克)
+	TOTALAMOUNT        float64   `json:"totalamount" xorm:"TOTALAMOUNT"`                        // 总值(美元)
+	GZBSSTATUS         int32     `json:"gzbsstatus" xorm:"GZBSSTATUS"`                          // 单据状态(保税服务) -  枚举"GZBSStatus"
+	HANDLESTATUS       int32     `json:"handlestatus" xorm:"HANDLESTATUS"`                      // 处理状态
+	EXECUTESTATUS      int32     `json:"executestatus" xorm:"EXECUTESTATUS"`                    // 执行状态 - 1:未生效 2:进行中 3:已结束
+	TAXMARGIN          float64   `json:"taxmargin" xorm:"TAXMARGIN"`                            // 税费保证金 - 确认结算费用时退回
+	ADVANCEAMOUNT      float64   `json:"advanceamount" xorm:"ADVANCEAMOUNT"`                    // 总预付款
+	SETTLEAMOUNT       float64   `json:"settleamount" xorm:"SETTLEAMOUNT"`                      // 总结算费用 - 实际扣除资金,不含税费保证金
+	CREATETIME         time.Time `json:"createtime" xorm:"CREATETIME"`                          // 创建时间
+	TOTALNUMBER        int32     `json:"totalnumber" xorm:"TOTALNUMBER"`                        // 总粒数
+	GZBSDELIVERYTYPE   int32     `json:"gzbsdeliverytype" xorm:"GZBSDELIVERYTYPE"`              // 收货方式 - 枚举"GZBSDeliveryType"
+	OTHERLOGISTICS     string    `json:"otherlogistics" xorm:"OTHERLOGISTICS"`                  // 指定其它物流
+	WEIGHTRANGE        string    `json:"weightrange" xorm:"WEIGHTRANGE"`                        // 重量规格范围 - Min(NetWeigthCT)- Max(NetWeigthCT)
+	SHAPERANGE         string    `json:"shaperange" xorm:"SHAPERANGE"`                          // 形状范围
+	COLORRANGE         string    `json:"colorrange" xorm:"COLORRANGE"`                          // 颜色范围
+	CONTENTRANGE       string    `json:"contentrange" xorm:"CONTENTRANGE"`                      // 【内容】内容范围
+
+	GZBSSTATUSDISPLAY string `json:"gzbsstatusdisplay" xorm:"GZBSSTATUSDISPLAY"` // 单据状态
+
+	PRICEPER float64 `json:"priceper" xorm:"PRICEPER"` // 单价(美元/克拉) = 总值(美元) / 总净重(克拉)
+
+	PageEx `xorm:"extends"` // 页码信息
+}
+
+func (r *GzbsfworderM) calc() {
+
+}
+
+func (r *GzbsfworderM) buildSql() string {
+	var sqlId utils.SQLVal = `
+	SELECT 
+		t.*,
+		CAST((t.TOTALAMOUNT / t.TOTALNETWEIGTHCT) AS DECIMAL(13,2)) PRICEPER,
+		e1.ENUMDICNAME GZBSSTATUSDISPLAY
+	FROM GZ_BSFWOrder t
+	LEFT JOIN enumdicitem e1 ON t.GZBSSTATUS = e1.enumitemname AND e1.enumdiccode = 'GZBSStatus'
+	WHERE t.USERID = %v
+	`
+	sqlId.FormatParam(r.USERID)
+	sqlId.OrderByDesc("t.CREATETIME")
+
+	sqlId.Page(r.Page, r.PageSize)
+	return sqlId.String()
+}
+
+func (r *GzbsfworderM) GetDataByPage() (interface{}, error, int, int, int) {
+	sData := make([]GzbsfworderM, 0)
+	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	total := 0
+	for i := range sData {
+		sData[i].calc()
+		total = sData[i].Total
+	}
+	return sData, err, r.Page, r.PageSize, total
+}
+
+// GzbsfworderdetailM 保税服务单据明细表
+type GzbsfworderdetailM struct {
+	ORDERDETAILID int64     `json:"orderdetailid" xorm:"ORDERDETAILID"`    // 单据明细ID(805+Unix秒时间戳(10位)+xxxxxx)
+	ORDERID       int64     `json:"orderid" xorm:"ORDERID" form:"orderid"` // 单据ID(804+Unix秒时间戳(10位)+xxxxxx)
+	ORDERINDEX    int32     `json:"orderindex" xorm:"ORDERINDEX"`          // 顺序
+	NETWEIGTHCT   float64   `json:"netweigthct" xorm:"NETWEIGTHCT"`        // 净重(克拉)
+	NETWEIGTHGM   float64   `json:"netweigthgm" xorm:"NETWEIGTHGM"`        // 净重(克)
+	GROSSWEIGHTGM float64   `json:"grossweightgm" xorm:"GROSSWEIGHTGM"`    // 毛重(克)
+	TOTALAMOUNT   float64   `json:"totalamount" xorm:"TOTALAMOUNT"`        // 总值(美元)
+	PERPRICE      float64   `json:"perprice" xorm:"PERPRICE"`              // 单价(美元/克拉) = 总值(美元) / 净重(克拉)
+	ORDERCONTENT  string    `json:"ordercontent" xorm:"ORDERCONTENT"`      // 内容
+	COLORINFO     string    `json:"colorinfo" xorm:"COLORINFO"`            // 彩钻信息
+	REMARK        string    `json:"remark" xorm:"REMARK"`                  // 备注(其它)
+	CREATETIME    time.Time `json:"createtime" xorm:"CREATETIME"`          // 创建时间
+	GZCJSHAPE     string    `json:"gzcjshape" xorm:"GZCJSHAPE"`            // 形状(字符)
+
+	USERID int64 `json:"-" form:"userid" binding:"required"` // 用户ID
+
+	PageEx `xorm:"extends"` // 页码信息
+}
+
+func (r *GzbsfworderdetailM) calc() {
+
+}
+
+func (r *GzbsfworderdetailM) buildSql() string {
+	var sqlId utils.SQLVal = `
+	SELECT 
+		t.*
+	FROM GZ_BSFWOrderDetail t
+	LEFT JOIN GZ_BSFWOrder d ON t.orderid = d.orderid AND d.userid = %v
+	WHERE 1=1
+	`
+	sqlId.FormatParam(r.USERID)
+	sqlId.AndEx("t.orderid", r.ORDERID, r.ORDERID > 0)
+	sqlId.OrderBy("t.ORDERINDEX")
+
+	sqlId.Page(r.Page, r.PageSize)
+	return sqlId.String()
+}
+
+func (r *GzbsfworderdetailM) GetDataByPage() (interface{}, error, int, int, int) {
+	sData := make([]GzbsfworderdetailM, 0)
+	err := db.GetEngine().SQL(r.buildSql()).Find(&sData)
+	total := 0
+	for i := range sData {
+		sData[i].calc()
+		total = sData[i].Total
+	}
+	return sData, err, r.Page, r.PageSize, total
+}
+
+func (r *Gzbsfworderoperate) GetDataByOrderIDAndStatus() (data []Gzbsfworderoperate, err error) {
+	err = db.GetEngine().Table("GZ_BSFWORDEROPERATE").Where("ORDERID = ?", r.ORDERID).And("GZBSStatus = 5").Find(&data)
+	return
+}

+ 27 - 0
models/ori.go

@@ -171,3 +171,30 @@ type Gzselldelistingapply struct {
 func (r *Gzselldelistingapply) TableName() string {
 	return "GZ_SELLDELISTINGAPPLY"
 }
+
+// Gzbsfworderoperate 保税服务单据操作表
+type Gzbsfworderoperate struct {
+	ORDERID            int64     `json:"orderid" xorm:"ORDERID" form:"orderid" binding:"required"` // 单据ID(804+Unix秒时间戳(10位)+xxxxxx)
+	GZBSSTATUS         int32     `json:"gzbsstatus" xorm:"GZBSSTATUS"`                             // 操作后单据状态 -  枚举"GZBSStatus"
+	OPERATORSRC        int32     `json:"operatorsrc" xorm:"OPERATORSRC"`                           // 操作人来源 - 1:管理端 2:终端
+	OPERATORID         int64     `json:"operatorid" xorm:"OPERATORID"`                             // 操作人ID - systemmanager的autoid 或 loginaccount的loginid
+	OPERATORACCOUNT    string    `json:"operatoraccount" xorm:"OPERATORACCOUNT"`                   // 操作人账号 - systemmanager的logincode 或 loginaccount的logincode,无则用loginid
+	OPERATORNAME       string    `json:"operatorname" xorm:"OPERATORNAME"`                         // 操作人名称 - systemmanager的username 或 loginaccount的logincode,无则用loginid
+	OPERATETIME        time.Time `json:"operatetime" xorm:"OPERATETIME"`                           // 操作时间
+	REMARK             string    `json:"remark" xorm:"REMARK"`                                     // 操作备注
+	TAXMARGIN          float64   `json:"taxmargin" xorm:"TAXMARGIN"`                               // 税费保证金
+	BANKFEE            float64   `json:"bankfee" xorm:"BANKFEE"`                                   // 汇款银行手续费
+	LOGISTICSFEE       float64   `json:"logisticsfee" xorm:"LOGISTICSFEE"`                         // 代缴物流保险费
+	SERVICEFEE         float64   `json:"servicefee" xorm:"SERVICEFEE"`                             // 综合服务费
+	OTHERFEE           float64   `json:"otherfee" xorm:"OTHERFEE"`                                 // 其它费用
+	TOTALFEE           float64   `json:"totalfee" xorm:"TOTALFEE"`                                 // 总费用 = 费用之和 (结算费用时不含税费保证金)
+	LOGISTICSPROOFADDR string    `json:"logisticsproofaddr" xorm:"LOGISTICSPROOFADDR"`             // 代缴物流保险费凭证(确认结算费用时)
+	BANKPROOFADDR      string    `json:"bankproofaddr" xorm:"BANKPROOFADDR"`                       // 广钻汇款银行手续费凭证(确认结算费用时)
+	CUSTOMSPROOFADDR   string    `json:"customsproofaddr" xorm:"CUSTOMSPROOFADDR"`                 // 海关税费保证金收据(确认结算费用时)
+	ADVANCEPROOFADDR   string    `json:"advanceproofaddr" xorm:"ADVANCEPROOFADDR"`                 // 预付款收款凭证(确认结算费用时)
+}
+
+// TableName is GZ_BSFWORDEROPERATE
+func (r *Gzbsfworderoperate) TableName() string {
+	return "GZ_BSFWORDEROPERATE"
+}

+ 6 - 0
routers/router.go

@@ -673,6 +673,12 @@ func InitRouter() *gin.Engine {
 		guangzuanR.GET("GzCertAddressConfig", guangzuan.GzCertAddressConfig)
 		guangzuanR.GET("GzCertAddressParam", guangzuan.GzCertAddressParam)
 		guangzuanR.GET("HomeData", guangzuan.HomeData)
+		guangzuanR.GET("QueryGZCJJCOrder", guangzuan.QueryGZCJJCOrder)
+		guangzuanR.GET("QueryGZCJJCOrderDetail", guangzuan.QueryGZCJJCOrderDetail)
+		guangzuanR.GET("QueryGZCJBSOrderFile", guangzuan.QueryGZCJBSOrderFile)
+		guangzuanR.GET("QueryGZBSFWOrder", guangzuan.QueryGZBSFWOrder)
+		guangzuanR.GET("QueryGZBSFWOrderDetail", guangzuan.QueryGZBSFWOrderDetail)
+		guangzuanR.GET("GZBSFWOrderOperate", guangzuan.GZBSFWOrderOperate)
 	}
 
 	return r

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików