const system = require("../../system");
const Dao = require("../dao.base");
class SoftwarecrsubmitDao extends Dao {
  constructor() {
    super(Dao.getModelName(SoftwarecrsubmitDao));
  }
  //添加软件著作权数据
  async createOrder2ToAddSoftware(tmpProxyCode, copyright, apply,order, t) {
    var isPublish = 1;// Number(copyright.isPublish || 0);

    var addParam = {
      orderCreateOnlyCode: order.onlyCode,
      orderCreateAppId: order.app_id,
      orderNum: order.orderNum,
      // sourceTypeName: order.sourceTypeName,
      sourceType: order.orderSourceType,//'订单来源类型，1PC，2移动商城，4渠道方，默认为2',
      // sourceNotes          varchar(255) comment '订单来源备注',
      channelCode: order.channelCode,
      channelName: order.channelName,
      // relevanceStatusName  varchar(50) comment '关联状态名称',
      // relevanceStatus      enum('1','2') comment '关联状态，1未关联订单，2，已关联订单',
      // statusProgressName   varchar(50) comment '进展状态名称',
      statusProgress: copyright.statusProgress, //AWAITCHECK等待审核、WAITARTIFICIALEXAMINE等待人工审核、COMMITED人工已提交、READY资料准备
      orderNotes: order.remark || "",
      // opAppId              int comment '操作者平台应用id',
      // opUserId             int default 0 comment '操作用户id',
      // opUserName           varchar(50) comment '操作平台用户名',
      // opOnlyCode           varchar(50) comment '操作者唯一码',
      // opNotes              varchar(255) comment '操作备注',
      softwareName: copyright.softwareName,//软件名称
      softwareShortName: copyright.softwareShortName,//软件简介名称
      typeNum: copyright.typeNum,//分类号
      // descTypeName: copyright.descTypeName,//说明类型名称
      descType: "1",//说明类型1原创，2修改（含翻译软件、合成软件）
      // putDescType          varchar(1000) comment '软件作品说明是修改有此值：{is_put:0-是修改,is_original:1-原有软件已经登记,original_num:"xxxxxxxx"-原登记号50,put_desc:""-修改合成或翻译说明400}',
      devDate: copyright.devDate,//开发日期
      isPublish: isPublish,//发表状态0未发表，1已发表
      publishedDate: isPublish == 1 ? copyright.publishedDate : null,//发表状态是已发表有此值：首次发表日期',
      publishedCountryName: isPublish == 1 ? copyright.publishedCountryName : null,//发表状态是已发表有此值：首次发表国家',
      publishedCityName: isPublish == 1 ? copyright.publishedCityName : null,//发表状态是已发表有此值：首次发表城市',
      // devWayName           varchar(50) comment '开发方式名称',
      devWay: "1",//开发方式1独立开发，2合作开发，3委托开发，4下达任务开发',
      // getWayName           varchar(50) comment '权利获得方式名称',
      getWay: "1",//权利获得方式1原始取得，2继受取得',
      // inheritGetWayInfo    varchar(255) comment '权利获得方式为继受有此值：继受取得方式信息（{"inheritanceMode":"继承","isSoftReg":"软件是否已登记","regNumber":"原登记号","isSoftChanged":"变更","changeNumber":"变更或补充证明编号"}）',
      // rangeTypeName        varchar(50) comment '权利范围名称',
      rangeType: "1",//权利范围1全部，2部分',
      // rangeTypePartInfo    varchar(500) comment '权利范围为部分有此值：权利范围部分信息（数组存储）',
      //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
      hardwareInfo: copyright.hardwareInfo || "",        //硬件环境',
      softwareInfo: copyright.softwareInfo || "",         //软件环境',
      programmingLanguage: copyright.programmingLanguage || "",  //编程语言',
      sourceCodeCapacity: copyright.sourceCodeCapacity || "",   //源程序量',
      softFunctionAndSpecialty: copyright.softFunctionAndSpecialty || "", //主要功能和技术特点',
      //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

      // applyTypeName        varchar(50) comment '申请办理方式名称',
      applyType: "2",//申请办理方式1由著作权人任申请，2由代理人申请',
      // depositTypeName      varchar(50) comment '交存类型名称',
      depositType: "1",//交存类型1一般交存，2例外交存',
      proxyCode: tmpProxyCode,//代理号
      isMutilDoc: "一种文档",//"copyright.isMutilDoc",//一种文档或多种文档',
      mutilDocType: "",//"copyright.mutilDocType",//多种文档，种类为12',
      // difmatReferModeExcep varchar(50) comment '使用黑色宽斜线覆盖或前10页XXXX',
      // difmatReferPages     varchar(50) comment '使用黑色宽斜线覆盖，页码为XXX',
      softwareVersion: copyright.softwareVersion || "",//软件版本
      fileUrl: copyright.fileUrl || "",//文件链接
      // zipFileUrl           varchar(255),//压缩文件链接
      descUrl:apply.descUrl|| "",//说明文档链接
      codeUrl:apply.codeUrl|| "",//代码链接
      enDescUrl:apply.enDescUrl|| ""//英文说明链接
    };
    await this.create(addParam, t);
  }
}
module.exports = SoftwarecrsubmitDao;
