contract.go 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package order
  2. import (
  3. "context"
  4. "github.com/gogf/gf/v2/errors/gerror"
  5. "github.com/gogf/gf/v2/frame/g"
  6. "jyOrderManager/internal/model"
  7. )
  8. func SaveOrUpdateContract(ctx context.Context, orderCode, companyName string, money int, contract model.Contract) error {
  9. count, err := g.DB().GetCount(ctx, "SELECT * from contract where order_code = ?", orderCode)
  10. if err != nil {
  11. return gerror.Wrapf(err, "查询回款计划异常")
  12. }
  13. data := g.Map{
  14. "customer_name": companyName, // 客户名称
  15. "contract_code": contract.ContractCode, // 协议编号
  16. "contract_status": contract.ContractStatus, // 协议状态 1-已签协议 0-未签协议
  17. "contract_money": money, // 合同金额 单位:分
  18. "contract_file_url": contract.ContractFileUrl, // 合同文件地址
  19. "contract_archive_status": contract.ContractArchiveStatus, // 协议归档状态 0-未归档 1-已归档
  20. "contract_archive_num": contract.ContractArchiveNum, // 协议归档份数
  21. "order_code": orderCode,
  22. }
  23. //电子协议
  24. if contract.Contract_userA_type > 0 {
  25. data["seal_type"] = contract.Contract_type // 电子合同-1:有电子章,2:无电子章
  26. data["partyA_type"] = contract.Contract_userA_type // 电子合同-1:个人,2:企业
  27. data["partyA_name"] = contract.Contract_userA_name // 电子合同-甲方名称
  28. data["partyA_person"] = contract.Contract_userA_contacts_name // 电子合同-甲方联系人
  29. data["partyA_tel"] = contract.Contract_userA_contacts_tel // 电子合同-甲方联系方式
  30. data["partyA_address"] = contract.Contract_userA_contacts_address // 电子合同-甲方地址
  31. data["partyB_person"] = contract.Contract_userB_contacts_name // 电子合同-乙方联系人
  32. data["remark"] = contract.Contract_remark // 电子合同-备注
  33. }
  34. if contract.ContractTime != "" {
  35. data["contract_time"] = contract.ContractTime
  36. }
  37. if contract.ContractArchiveTime != "" { // 协议归档时间
  38. data["contract_archive_time"] = contract.ContractArchiveTime
  39. }
  40. if count > 0 { //更新
  41. if _, err := g.DB().Update(ctx, "contract", data, "order_code=?", orderCode); err != nil {
  42. return gerror.Wrapf(err, "合同更新异常")
  43. }
  44. } else { //插入
  45. if _, err := g.DB().Save(ctx, "contract", data); err != nil {
  46. return gerror.Wrapf(err, "合同保存出错")
  47. }
  48. }
  49. return nil
  50. }