Преглед изворни кода

Merge branch 'master' of http://jiecheng2024.tpddns.cn:3000/liyuezong/SmartPDCode

guohui пре 1 година
родитељ
комит
2790bbeb1c
8 измењених фајлова са 69 додато и 52 уклоњено
  1. 5 4
      output/prod/PDUInfo.txt
  2. 5 6
      pro/src/appweb_handle.c
  3. 11 10
      pro/src/common.h
  4. 5 1
      pro/src/dflt.c
  5. 22 17
      pro/src/json_handle.c
  6. 4 2
      pro/src/paras.c
  7. 16 11
      pro/src/sys.c
  8. 1 1
      pro/src/sys.h

+ 5 - 4
output/prod/PDUInfo.txt

@@ -1,8 +1,9 @@
 "product_name": "SmartPDU"
-"product_sn": "XX1101010"
-"device_name": "YY110001"
-"device_date": "2024/01/01 11:10:10"
-"device_batch": "GC101X5502"
+"product_sn": "GCGDX4028DD16CH"
+"device_name": "SmartPDU"
+"device_no": "L9QN6M3222CG4"
+"device_date": "2024/01/01 12:00:00"
+"device_batch": "1"
 "server_name": "购旺工业(赣州)有限公司"
 "server_site": "https://www.gowone.com"
 "server_mail": "steven@gowone.com"

+ 5 - 6
pro/src/appweb_handle.c

@@ -78,10 +78,10 @@ static char* g_product_board_cpu[] = {
     "T113"
 };
 static char* g_product_type_str[] = {
-    "SmartPdu(DC)",
-    "SmartPdu(AC)",
-    "SmartPdu(Tree_AC_Tree)",
-    "SmartPdu(Tree_AC_One)",
+    "SmartPDU(DC)",
+    "SmartPDU(AC)",
+    "SmartPDU(Tree_AC_Tree)",
+    "SmartPDU(Tree_AC_One)",
 };
 static char* g_product_pwr_type_str[] = {
     "xxx",
@@ -5161,8 +5161,7 @@ static void equipmentMintenance(void *conn)
         _over_back_sts_info.product_name = __globalDeviceManage._globalDevInfo.product.name;
         _over_back_sts_info.product_number = __globalDeviceManage._globalDevInfo.product.number;
         _over_back_sts_info.product_id = __globalDeviceManage._globalDevInfo.product.id;
-        _over_back_sts_info.product_Code = malloc(8);
-        strcpy(_over_back_sts_info.product_Code, "-");
+        _over_back_sts_info.product_Code = __globalDeviceManage._globalDevInfo.product.pnumber;
        // _over_back_sts_info.product_type = malloc(32);
         //strcpy(_over_back_sts_info.product_type, "GC Series");
         _over_back_sts_info.product_type=g_product_type_str[__globalDeviceManage._globalDevInfo.product.type];

+ 11 - 10
pro/src/common.h

@@ -307,10 +307,16 @@ typedef struct
 }_User_Log;
 
 typedef struct {
-    uint32_t    id;                     //产品ID 
-    char        number[16];             //产品编号    
-    char        name[32];               //产品名称
+    uint32_t    id;                     //产品ID   
+    char        pname[32];         //产品名称
+    char        pnumber[32];         //产品编号    
     char        status[32];             //产品状态
+    
+    char        name[32];               //设备名称
+    char        number[32];             //设备编号    
+    char        date[32];           //设备生产日期
+    char        batch[32];        //设备生产批次
+
     uint8_t     type;                   //产品类型
     uint8_t     pwr_type;               //电源类型
     char        version[8];             //软件版本
@@ -332,17 +338,12 @@ typedef struct {
 }WebcfgInfo_t;
 
 typedef struct {
-    char        p_name[32];
-    char        p_sn[32];
-    char        d_name[32];
-    char        d_date[32];
-    char        d_batch[32];
     char        s_name[256];
     char        s_site[256];
     char        s_mail[256];
     char        s_addr[256];
     char        s_tele[32];
-}prod_info_t;
+}service_info_t;
 
 typedef struct
 {
@@ -360,6 +361,7 @@ typedef struct
     ProductInfo_t   product;            //产品信息
     PowerTotal_t    ptotal;
     WebcfgInfo_t    webcfg;
+    service_info_t  service;    //服务信息
 }GlobalDeviceInfo;
 ///////////////////////////////////////////////////////////////////////////////////
 //自定义共享内存类
@@ -1137,7 +1139,6 @@ typedef struct
     cascade_triphasic_mmap_t *triphasic_mmap;	
 	GlobalBreakerManager g_new_global_breaker;
 
-    prod_info_t          prodInfo;
     mail_info_t          mailInfo;
     mqtt_info_t          mqttInfo;
     Modbus_Manger_Tcp *md_tcp;

+ 5 - 1
pro/src/dflt.c

@@ -7,9 +7,13 @@ GlobalDeviceInfo DFLT_PARAS={
 
         .product = {
             .id         = PROD_ID,
-            .number     = "Smart PDU",
+            .pname = "Smart PDU",
+            .pnumber = "GCX00000X",
+            .number     = "X00001",
             .name       = "Smart PDU",
             .status     = "",
+            .date = "2024.01.01",
+            .batch= "1",
             .type       = PROD_TYPE,
             .pwr_type   = PROD_POWER_TYPE,
             .version    = VERSION,

+ 22 - 17
pro/src/json_handle.c

@@ -1548,7 +1548,7 @@ char* board_to_json(board_list_t *l)
     char* str=NULL;
     char *p,temp[100];
     GlobalDeviceManager *dm=&__globalDeviceManage;
-    prod_info_t *info=&dm->prodInfo;
+    GlobalDeviceInfo *info=&dm->_globalDevInfo;
     
     // 创建 JSON 对象
     cJSON* root = cJSON_CreateObject(); 
@@ -1558,7 +1558,7 @@ char* board_to_json(board_list_t *l)
 
     for(i=0; i<l->cnt; i++) {
         tmp = cJSON_CreateObject();
-        cJSON_AddStringToObject(tmp,"productName",  info->p_name);
+        cJSON_AddStringToObject(tmp,"productName",  info->product.name);
 
         sprintf(temp, "%d",l->info[i].addr);
         cJSON_AddStringToObject(tmp,"productId",    temp);
@@ -1595,7 +1595,7 @@ char* vendor_info_to_json(GlobalDeviceInfo *dev)
     char temp[100];
     buf_t logo={NULL,0,0},qrcode={NULL,0,0};
     char *ptmp=NULL;
-    prod_info_t info={0};
+    //prod_info_t info={0};
     
     cJSON* root = cJSON_CreateObject(); 
     cJSON_AddNumberToObject(root, "code", 200);       
@@ -1603,23 +1603,23 @@ char* vendor_info_to_json(GlobalDeviceInfo *dev)
     cJSON* root_array = cJSON_CreateArray();
     if(root_array) {
         cJSON* data_field = cJSON_CreateObject();
-        if(data_field) {
+        if(data_field && dev) {
 
-            sys_get_prod(&info);
+            sys_get_prod(dev);
 
-            cJSON_AddStringToObject(data_field, "productName", info.p_name);
+            cJSON_AddStringToObject(data_field, "productName", dev->product.name);
 
             sprintf(temp, "%d", dev->product.id);
-            cJSON_AddStringToObject(data_field,"productId", info.d_name);
-            cJSON_AddStringToObject(data_field,"productNumber", info.p_sn); 
+            cJSON_AddStringToObject(data_field,"productId", temp);
+            cJSON_AddStringToObject(data_field,"productNumber", dev->product.number); 
             cJSON_AddStringToObject(data_field,"productVersion", dev->product.version); 
 
             get_base64(&logo, &qrcode);
             cJSON_AddStringToObject(data_field,"logo", logo.buf?logo.buf:"");              //base64
-            cJSON_AddStringToObject(data_field,"sensorAddr", info.s_addr);
-            cJSON_AddStringToObject(data_field,"website", info.s_site);
-            cJSON_AddStringToObject(data_field,"serviceTel",info.s_tele);
-            cJSON_AddStringToObject(data_field,"mailbox",info.s_mail);
+            cJSON_AddStringToObject(data_field,"sensorAddr", dev->service.s_addr);
+            cJSON_AddStringToObject(data_field,"website",  dev->service.s_site);
+            cJSON_AddStringToObject(data_field,"serviceTel", dev->service.s_tele);
+            cJSON_AddStringToObject(data_field,"mailbox", dev->service.s_mail);
             cJSON_AddStringToObject(data_field,"qrCode",qrcode.buf?qrcode.buf:"");        //base64
 
             cJSON_AddItemToArray(root_array, data_field);
@@ -1935,7 +1935,8 @@ char* over_all_pwr_monitor_Tree_AC_to_json(_OverAllPwrAckInfo* _over_all_pwr_bac
     }
 
     cJSON_AddStringToObject(data_filed,"productName",temp);
-    cJSON_AddStringToObject(data_filed,"productNumber",_over_all_pwr_back_info_L1->product_number);
+    //cJSON_AddStringToObject(data_filed,"productNumber",_over_all_pwr_back_info_L1->product_number);
+    cJSON_AddStringToObject(data_filed,"productNumber","SmartPDU");
     sprintf(temp,"%d",_over_all_pwr_back_info_L1->product_id);
     cJSON_AddStringToObject(data_filed,"productId",temp);
      cJSON_AddStringToObject(data_filed,"productPhOrder","L1");
@@ -1979,7 +1980,8 @@ char* over_all_pwr_monitor_Tree_AC_to_json(_OverAllPwrAckInfo* _over_all_pwr_bac
         sprintf(temp, "%s %d", _over_all_pwr_back_info_L2->product_name, _over_all_pwr_back_info_L2->product_id);
     }
     cJSON_AddStringToObject(data_filed1,"productName",temp);
-    cJSON_AddStringToObject(data_filed1,"productNumber",_over_all_pwr_back_info_L2->product_number);
+   // cJSON_AddStringToObject(data_filed1,"productNumber",_over_all_pwr_back_info_L2->product_number);
+    cJSON_AddStringToObject(data_filed1,"productNumber","SmartPDU");
     sprintf(temp,"%d",_over_all_pwr_back_info_L2->product_id);
     cJSON_AddStringToObject(data_filed1,"productId",temp);
      cJSON_AddStringToObject(data_filed1,"productPhOrder","L2");
@@ -2023,7 +2025,8 @@ char* over_all_pwr_monitor_Tree_AC_to_json(_OverAllPwrAckInfo* _over_all_pwr_bac
         sprintf(temp, "%s %d", _over_all_pwr_back_info_L2->product_name, _over_all_pwr_back_info_L2->product_id);
     }
     cJSON_AddStringToObject(data_filed2,"productName",temp);
-    cJSON_AddStringToObject(data_filed2,"productNumber",_over_all_pwr_back_info_L3->product_number);
+    //cJSON_AddStringToObject(data_filed2,"productNumber",_over_all_pwr_back_info_L3->product_number);
+    cJSON_AddStringToObject(data_filed2,"productNumber","SmartPDU");
     sprintf(temp,"%d",_over_all_pwr_back_info_L3->product_id);
     cJSON_AddStringToObject(data_filed2,"productId",temp);
      cJSON_AddStringToObject(data_filed2,"productPhOrder","L3");
@@ -2100,7 +2103,8 @@ char* over_all_pwr_monitor_to_json(int phaseType,_OverAllPwrAckInfo* _over_all_p
     // log_i(_over_all_pwr_back_info->product_number);
    
     cJSON_AddStringToObject(data_filed,"productName",_over_all_pwr_back_info->product_name);
-    cJSON_AddStringToObject(data_filed,"productNumber",_over_all_pwr_back_info->product_number);
+    //cJSON_AddStringToObject(data_filed,"productNumber",_over_all_pwr_back_info->product_number);
+    cJSON_AddStringToObject(data_filed,"productNumber","SmartPDU");
     sprintf(temp,"%d",_over_all_pwr_back_info->product_id);
     cJSON_AddStringToObject(data_filed,"productId",temp);
 
@@ -4017,7 +4021,8 @@ char* ws_over_status_ack_to_json(int type,_OverAllPwrAckInfo* _over_all_pwr_back
         sprintf(temp, "%s %d", _over_all_pwr_back_info->product_name, _over_all_pwr_back_info->product_id);
     }
     cJSON_AddStringToObject(data_filed,"productName",temp);
-    cJSON_AddStringToObject(data_filed,"productNumber",_over_all_pwr_back_info->product_number);
+   // cJSON_AddStringToObject(data_filed,"productNumber",_over_all_pwr_back_info->product_number);
+    cJSON_AddStringToObject(data_filed,"productNumber","SmartPDU");
     sprintf(temp,"%d",_over_all_pwr_back_info->product_id);
     cJSON_AddStringToObject(data_filed,"productId",temp);
     sprintf(temp,"%0.3f",_over_all_pwr_back_info->voltage);

+ 4 - 2
pro/src/paras.c

@@ -271,6 +271,7 @@ static int proc_prod(dictionary *dic, int op, ProductInfo_t *prod)
         }
     }
 
+    /*
     token = "product:number";
     if(op==PARAS_READ) {
         p = (char*)iniparser_getstring(dic, token, NULL);
@@ -306,7 +307,7 @@ static int proc_prod(dictionary *dic, int op, ProductInfo_t *prod)
             return -1;
         }
     }
-    
+    */
     token = "product:type";
     if(op==PARAS_READ) {
         r = iniparser_getint(dic, token, -1);
@@ -3290,7 +3291,8 @@ int paras_init(void)
     lock_s_hold(LOCK_ID_PARAS);
     memset(&paraHandle, 0, sizeof(paraHandle));
     h->info = get_info();
-    sys_get_prod(&dm->prodInfo);
+    *h->info=DFLT_PARAS;
+    sys_get_prod(h->info);
     sys_get_path(h->path, INI_FILE_NAME);
     h->dic = ini_load(h->path, h->info);
     if(h->dic==NULL) {

+ 16 - 11
pro/src/sys.c

@@ -1405,7 +1405,7 @@ static char *str_get(char *buf, char *tok, char *dst, int dstlen)
     return t;
 }
 
-int sys_get_prod(prod_info_t *info)
+int sys_get_prod(GlobalDeviceInfo *info)
 {
     int r;
     char *p,*tok;
@@ -1418,43 +1418,48 @@ int sys_get_prod(prod_info_t *info)
     }
 
     tok = "product_name";
-    p = str_get(fbuf.buf, tok, info->p_name, sizeof(info->p_name));
+    p = str_get(fbuf.buf, tok, info->product.pname, sizeof(info->product.pname));
     if(p) LOGD("___%s:%s\n", tok, p);
 
     tok = "product_sn";
-    p = str_get(fbuf.buf, tok, info->p_sn, sizeof(info->p_sn));
+    p = str_get(fbuf.buf, tok, info->product.pnumber, sizeof( info->product.pnumber));
     if(p) LOGD("___%s:%s\n", tok, p);
 
     tok = "device_name";
-    p = str_get(fbuf.buf, tok, info->d_name, sizeof(info->d_name));
+    p = str_get(fbuf.buf, tok, info->product.name, sizeof( info->product.name));
     if(p) LOGD("___%s:%s\n", tok, p);
 
+    tok = "device_no";
+    p = str_get(fbuf.buf, tok, info->product.number, sizeof(info->product.number));
+    if (p)
+        LOGD("___%s:%s\n", tok, p);
+
     tok = "device_date";
-    p = str_get(fbuf.buf, tok, info->d_date, sizeof(info->d_date));
+    p = str_get(fbuf.buf, tok,  info->product.date, sizeof(info->product.date));
     if(p) LOGD("___%s:%s\n", tok, p);
 
     tok = "device_batch";
-    p = str_get(fbuf.buf, tok, info->d_batch, sizeof(info->d_batch));
+    p = str_get(fbuf.buf, tok, info->product.batch, sizeof(info->product.batch));
     if(p) LOGD("___%s:%s\n", tok, p);
 
     tok = "server_name";
-    p = str_get(fbuf.buf, tok, info->s_name, sizeof(info->s_name));
+    p = str_get(fbuf.buf, tok, info->service.s_name, sizeof(info->service.s_name));
     if(p) LOGD("___%s:%s\n", tok, p);
 
     tok = "server_site";
-    p = str_get(fbuf.buf, tok, info->s_site, sizeof(info->s_site));
+    p = str_get(fbuf.buf, tok, info->service.s_site, sizeof(info->service.s_site));
     if(p) LOGD("___%s:%s\n", tok, p);
 
     tok = "server_mail";
-    p = str_get(fbuf.buf, tok, info->s_mail, sizeof(info->s_mail));
+    p = str_get(fbuf.buf, tok, info->service.s_mail, sizeof(info->service.s_mail));
     if(p) LOGD("___%s:%s\n", tok, p);
 
     tok = "server_address";
-    p = str_get(fbuf.buf, tok, info->s_addr, sizeof(info->s_addr));
+    p = str_get(fbuf.buf, tok, info->service.s_addr, sizeof(info->service.s_addr));
     if(p) LOGD("___%s:%s\n", tok, p);
 
     tok = "server_telephone";
-    p = str_get(fbuf.buf, tok, info->s_tele, sizeof(info->s_tele));
+    p = str_get(fbuf.buf, tok, info->service.s_tele, sizeof(info->service.s_tele));
     if(p) LOGD("___%s:%s\n", tok, p);
 
     free(fbuf.buf);

+ 1 - 1
pro/src/sys.h

@@ -30,6 +30,6 @@ int sys_set_net(NetworkInfo_t *para, int ipVersion);
 int sys_get_mac(char *mac, int maclen);
 int sys_get_chip_id(int *id);
 int sys_ip_check(char *ip);
-int sys_get_prod(prod_info_t *info);
+int sys_get_prod(GlobalDeviceInfo *info);
 
 #endif