Commit 330c1ab3 by lixinming

no message

parent b1579bb9
.idea
/out
/node_modules
/test
/public
/logs
/video
*.logs
*.zip
This source diff could not be displayed because it is too large. You can view the blob instead.
/** /**
* 初始化数据 * 初始化数据 老的,可以不考虑
*/ */
import { ACTIVITYTYPECLIENT, APPEALTYPE, ENTERPRISESIZE, INDUSTRY, NASHUIRENZIZHI, POLICYTYPE, RAS, RESEARCHTYPE, SOLUTIONTYPE, SOLVESTATE, SUBSIDYTYPE, USERTYPE } from "../config/enum"; import { ACTIVITYTYPECLIENT, APPEALTYPE, ENTERPRISESIZE, INDUSTRY, NASHUIRENZIZHI, POLICYTYPE, RAS, RESEARCHTYPE, SOLUTIONTYPE, SOLVESTATE, SUBSIDYTYPE, USERTYPE } from "../config/enum";
......
...@@ -20,7 +20,19 @@ function checkInmatch(match:string, check:string) { ...@@ -20,7 +20,19 @@ function checkInmatch(match:string, check:string) {
return match.indexOf(check) > -1; return match.indexOf(check) > -1;
} }
/**
* 用于判断企业时什么类型
* @param 名称
* @param 企业类型
* @param 国标大类
* @param 国标一类
* @param 国标二类
* @param 企查查大类
* @param 企查查一类
* @param 企查查二类
* @param 主营业务
* @returns
*/
function getEnterpriseIndustry(名称, 企业类型, 国标大类, 国标一类, 国标二类, 企查查大类, 企查查一类, 企查查二类, 主营业务) { function getEnterpriseIndustry(名称, 企业类型, 国标大类, 国标一类, 国标二类, 企查查大类, 企查查一类, 企查查二类, 主营业务) {
//去除个体户 //去除个体户
if (checkInmatch(企业类型, "个体")) { if (checkInmatch(企业类型, "个体")) {
...@@ -206,7 +218,10 @@ function getEnterpriseIndustry(名称, 企业类型, 国标大类, 国标一类, ...@@ -206,7 +218,10 @@ function getEnterpriseIndustry(名称, 企业类型, 国标大类, 国标一类,
return {industry:INDUSTRY.综合, subIndustry:COMPREHENSIVE.综合其他}; return {industry:INDUSTRY.综合, subIndustry:COMPREHENSIVE.综合其他};
} }
/**
* 导出方法
* 这个方法时1031日的时候按要求匹配了表里面的企业类型
*/
export async function out20251031() { export async function out20251031() {
let 企业名单 = onceSheetBecomeOfblockData('企业户管库_开发区镇查看202508.xlsx', "企业户管库"); let 企业名单 = onceSheetBecomeOfblockData('企业户管库_开发区镇查看202508.xlsx', "企业户管库");
let dataList = 企业名单[0].blockData; let dataList = 企业名单[0].blockData;
......
/** /**
* 初始化数据 * 初始化数据 老的
*/ */
import { ENTERPRISELABEL, ENTERPRISESIZE, ENTERPRISETYPE, INDUSTRY, NASHUIRENZIZHI, POLICYTYPE, RAS, RESEARCHTYPE, SOLUTIONTYPE, SOLVESTATE, SUBSIDYTYPE, USERTYPE } from "../../config/enum"; import { ENTERPRISELABEL, ENTERPRISESIZE, ENTERPRISETYPE, INDUSTRY, NASHUIRENZIZHI, POLICYTYPE, RAS, RESEARCHTYPE, SOLUTIONTYPE, SOLVESTATE, SUBSIDYTYPE, USERTYPE } from "../../config/enum";
......
import * as request from 'request'; import * as request from 'request';
import { BizError } from '../../util/bizError'; import { BizError } from '../../util/bizError';
/**
* 企查查 请求地址
* @param url
* @param query
* @param headers
* @returns
*/
export function getQcc(url:string, query?, headers?) { export function getQcc(url:string, query?, headers?) {
if (!url || (url.search(/http:/) && url.search(/https:/)) ) throw new BizError(!url ? "请求地址为空" : "请求地址错误"); if (!url || (url.search(/http:/) && url.search(/https:/)) ) throw new BizError(!url ? "请求地址为空" : "请求地址错误");
return new Promise((resolve, reject)=>{ return new Promise((resolve, reject)=>{
......
/**
* 这个文件放的是比较新的数据初始化方法
*/
import { COMPREHENSIVE, ENTERPRISELABEL, ENTERPRISESIZE, ENTERPRISETYPE, INDUSTRY, MANUFACTURING, MEDICALSUB, NASHUIRENZIZHI, OTHERINDUSTRY, RAS } from "../../config/enum"; import { COMPREHENSIVE, ENTERPRISELABEL, ENTERPRISESIZE, ENTERPRISETYPE, INDUSTRY, MANUFACTURING, MEDICALSUB, NASHUIRENZIZHI, OTHERINDUSTRY, RAS } from "../../config/enum";
import { onceSheetBecomeOfblockData } from "../../util/analysisExcel"; import { onceSheetBecomeOfblockData } from "../../util/analysisExcel";
const md5 = require("md5"); const md5 = require("md5");
...@@ -14,8 +16,14 @@ const fs = require('fs'); ...@@ -14,8 +16,14 @@ const fs = require('fs');
import * as request from 'request'; import * as request from 'request';
import { areaList } from "../../config/area"; import { areaList } from "../../config/area";
/**=========================================================工具 */ /**=========================================================工具 */
/**
* 判断match中是否含有check
* @param match
* @param check
* @returns
*/
function checkInmatch(match:string, check:string) { function checkInmatch(match:string, check:string) {
return match.indexOf(check) > -1; return match.indexOf(check) > -1;
} }
...@@ -36,7 +44,7 @@ function paramInCheckStr(checkStr, ...param) { ...@@ -36,7 +44,7 @@ function paramInCheckStr(checkStr, ...param) {
} }
/** /**
* 转换企业类型 * 获取企业类型
* @param enterpriseType * @param enterpriseType
* @returns * @returns
*/ */
...@@ -69,6 +77,13 @@ function getEnterpriseType(enterpriseType) { ...@@ -69,6 +77,13 @@ function getEnterpriseType(enterpriseType) {
return ENTERPRISETYPE.民营企业 return ENTERPRISETYPE.民营企业
} }
/**
* 解析企查查导出的二维数组中的subList,可以理解吗?导出的是[subList, subList]这样的,这个方法是用来解析subList的,把导出的企业按顺序解析成object
* 所以导出的时候要注意顺序
* @param subList
* @returns
*/
function analysisSubListData(subList) { function analysisSubListData(subList) {
let 名称 = subList[0]; let 名称 = subList[0];
let 系统匹配企业名称 = subList[1]; let 系统匹配企业名称 = subList[1];
...@@ -200,7 +215,8 @@ function analysisSubListData(subList) { ...@@ -200,7 +215,8 @@ function analysisSubListData(subList) {
} }
/** /**
* 获取企业领域 * 获取企业领域 返回值是两个枚举里面的值 INDUSTRY(领域) 和 OTHERINDUSTRY(其他领域)
* 一般只用判断 INDUSTRY(领域)就好了,即返回的industry字段
* @param 名称 * @param 名称
* @param 企业类型 * @param 企业类型
* @param 国标大类 * @param 国标大类
...@@ -392,7 +408,7 @@ function getEnterpriseIndustry(名称, 企业类型, 国标大类, 国标一类, ...@@ -392,7 +408,7 @@ function getEnterpriseIndustry(名称, 企业类型, 国标大类, 国标一类,
} }
/**------------------------------------------------------------ */ /**------------------------------------------------------------ 工具类分割线结束 */
...@@ -407,7 +423,7 @@ export async function initEnterpriseData() { ...@@ -407,7 +423,7 @@ export async function initEnterpriseData() {
} }
/** /**
* 初始化账号 * 初始化管理员账号
*/ */
async function initUser() { async function initUser() {
let tczxAdd2List = [ let tczxAdd2List = [
...@@ -445,7 +461,13 @@ async function initUser() { ...@@ -445,7 +461,13 @@ async function initUser() {
//初始化户管企业 /**
* 初始化企业
* 如果你要重新导入企业库,你可以把名单放到企查查里面查询之后导出成excel表格,放入res目录下,注意文件名称要匹配好
* 然后注意参考 analysisSubListData 里面的第二维数组的顺序
* 这里有一个需要注意的地方,百度地图一天只能查5000家企业的经纬度,切记,导入之前要稍微初步筛选看看上海市的有多家,超过5000家,就要好好的看下面的注释
*
*/
async function initHuGuanData() { async function initHuGuanData() {
let 企业名单 = onceSheetBecomeOfblockData('全部企业2.xlsx', "已匹配户管企业"); let 企业名单 = onceSheetBecomeOfblockData('全部企业2.xlsx', "已匹配户管企业");
let dataList = 企业名单[0].blockData; let dataList = 企业名单[0].blockData;
...@@ -457,22 +479,28 @@ async function initHuGuanData() { ...@@ -457,22 +479,28 @@ async function initHuGuanData() {
if (addInfo.isFalse) continue; if (addInfo.isFalse) continue;
addInfo.labelList.push(ENTERPRISELABEL.户管企业); addInfo.labelList.push(ENTERPRISELABEL.户管企业);
/**
* 这个是用来判断企业是否是张江区域内的,逻辑可以参考
* 这里有一个需要注意的地方,百度地图一天只能查5000家企业的经纬度,切记,导入之前要稍微初步筛选看看上海市的有多家,超过5000家,这里就要注释一下(if里面的注释)
*/
let inZJ = false; let inZJ = false;
if (addInfo. addInfo.logonAddress && addInfo.logonAddress.indexOf("上海") > -1) { if (addInfo.city && addInfo.logonAddress && addInfo.city == "上海") {//只判断市是上海的,因为不属于上海市必然不在张江内
//是上海 inZJ = await addInZJ(addInfo.logonAddress, addInfo.city, addInfo.uscc);
// console.log("in sh", addInfo.logonAddress);
// inZJ = await addInZJ(addInfo.logonAddress, , addInfo.uscc);
} }
addInfo.inZJ = inZJ; addInfo.inZJ = inZJ;
enterpriseList.push(addInfo); enterpriseList.push(addInfo);
console.log(i); console.log("进度",i);
}; };
await enterpriseData.initEnterpriseBase(enterpriseList); await enterpriseData.initEnterpriseBase(enterpriseList);
console.log("企业数据导入成功"); console.log("企业数据导入成功");
} }
/**
* 这个是临时写的导入方法,用来做匹配的,忽略不管
*
*/
async function initHuGuanData2() { async function initHuGuanData2() {
let 企业名单 = onceSheetBecomeOfblockData('2025年新版“彩色服务包”重点企业名单(张江镇)企查查.xlsx', "Sheet1"); let 企业名单 = onceSheetBecomeOfblockData('2025年新版“彩色服务包”重点企业名单(张江镇)企查查.xlsx', "Sheet1");
let dataList = 企业名单[0].blockData; let dataList = 企业名单[0].blockData;
...@@ -520,6 +548,11 @@ async function initHuGuanData2() { ...@@ -520,6 +548,11 @@ async function initHuGuanData2() {
// await enterpriseData.initEnterpriseBase(enterpriseList); // await enterpriseData.initEnterpriseBase(enterpriseList);
console.log("企业数据导入成功"); console.log("企业数据导入成功");
} }
/**
* 这个是临时写的导入方法,用来做匹配的,忽略不管
*
*/
async function initHuGuanData3() { async function initHuGuanData3() {
let 企业名单 = onceSheetBecomeOfblockData('标记企业1112.xlsx', "sheet1"); let 企业名单 = onceSheetBecomeOfblockData('标记企业1112.xlsx', "sheet1");
let dataList = 企业名单[0].blockData; let dataList = 企业名单[0].blockData;
...@@ -552,8 +585,11 @@ async function initHuGuanData3() { ...@@ -552,8 +585,11 @@ async function initHuGuanData3() {
// await enterpriseData.initEnterpriseBase(enterpriseList); // await enterpriseData.initEnterpriseBase(enterpriseList);
console.log("企业数据导入成功"); console.log("企业数据导入成功");
} }
/** /**
* 初始化规上企业 * 初始化规上企业
* 和初始化企业很像,但是这个方法里面没有判断是否是张江域内的
*/ */
async function guishangEnterprise() { async function guishangEnterprise() {
let 企业名单 = onceSheetBecomeOfblockData('规上企业.xlsx', "sheet1"); let 企业名单 = onceSheetBecomeOfblockData('规上企业.xlsx', "sheet1");
...@@ -581,6 +617,7 @@ async function guishangEnterprise() { ...@@ -581,6 +617,7 @@ async function guishangEnterprise() {
/** /**
* 投促重点名单 * 投促重点名单
* 和初始化企业很像,但是这个方法里面没有判断是否是张江域内的
*/ */
async function touchuEnterprise() { async function touchuEnterprise() {
let 企业名单 = onceSheetBecomeOfblockData('投促重点.xlsx', "sheet1"); let 企业名单 = onceSheetBecomeOfblockData('投促重点.xlsx', "sheet1");
...@@ -607,7 +644,10 @@ async function touchuEnterprise() { ...@@ -607,7 +644,10 @@ async function touchuEnterprise() {
/** /**
* 初始化标签 * 初始化标签 参考一下就好了
* 给各种企业打上基础标签,例如:重点企业 专精特新之类的
*
* 逻辑是,有各种企业标签的excel,然后做企业库的匹配
*/ */
async function initLabel() { async function initLabel() {
let zdqy = onceSheetBecomeOfblockData('重点企业.xlsx', "Sheet1"); let zdqy = onceSheetBecomeOfblockData('重点企业.xlsx', "Sheet1");
...@@ -702,6 +742,14 @@ async function initLabel() { ...@@ -702,6 +742,14 @@ async function initLabel() {
console.log("标签导入成功"); console.log("标签导入成功");
} }
/**
* 地址是否在张江域内
* @param address
* @param city
* @param uscc
* @returns
*/
export async function addInZJ(address, city, uscc) { export async function addInZJ(address, city, uscc) {
let pointInfo = await getAddressLatAndLng(address, city, uscc); let pointInfo = await getAddressLatAndLng(address, city, uscc);
if (!pointInfo.error) { if (!pointInfo.error) {
...@@ -713,6 +761,13 @@ export async function addInZJ(address, city, uscc) { ...@@ -713,6 +761,13 @@ export async function addInZJ(address, city, uscc) {
return false; return false;
} }
/**
* 获取地址的经纬度
* @param address
* @param city
* @param uscc
* @returns
*/
export async function getAddressLatAndLng(address, city, uscc) { export async function getAddressLatAndLng(address, city, uscc) {
let param = { let param = {
address:address, address:address,
...@@ -731,7 +786,13 @@ export async function getAddressLatAndLng(address, city, uscc) { ...@@ -731,7 +786,13 @@ export async function getAddressLatAndLng(address, city, uscc) {
} }
/**
* 百度地图依赖的请求方法
* @param url
* @param query
* @param headers
* @returns
*/
export function get(url:string, query?, headers?) { export function get(url:string, query?, headers?) {
if (!url || (url.search(/http:/) && url.search(/https:/)) ) throw new BizError(!url ? "请求地址为空" : "请求地址错误"); if (!url || (url.search(/http:/) && url.search(/https:/)) ) throw new BizError(!url ? "请求地址为空" : "请求地址错误");
return new Promise((resolve, reject)=>{ return new Promise((resolve, reject)=>{
...@@ -746,6 +807,13 @@ export function get(url:string, query?, headers?) { ...@@ -746,6 +807,13 @@ export function get(url:string, query?, headers?) {
}) })
} }
/**
* 使用射线法判断一个经纬度是否是域内
* 这里的张江域内 是参考的张江科学城的
* @param lat
* @param lng
* @returns
*/
export async function latLngInZJ(lat:number, lng:number) { export async function latLngInZJ(lat:number, lng:number) {
let point = {lat, lng}; let point = {lat, lng};
/**射线法判断是否属于各个范围 命中一个就返回true*/ /**射线法判断是否属于各个范围 命中一个就返回true*/
...@@ -765,6 +833,12 @@ export async function latLngInZJ(lat:number, lng:number) { ...@@ -765,6 +833,12 @@ export async function latLngInZJ(lat:number, lng:number) {
return isInside; return isInside;
} }
/**
* 射线法逻辑
* @param point
* @param pts
* @returns
*/
function itemIsPointInPolygon(point,pts){ function itemIsPointInPolygon(point,pts){
var N = pts.length; //pts [{lat:xxx,lng:xxx},{lat:xxx,lng:xxx}] var N = pts.length; //pts [{lat:xxx,lng:xxx},{lat:xxx,lng:xxx}]
var boundOrVertex = true; //如果点位于多边形的顶点或边上,也算做点在多边形内,直接返回true var boundOrVertex = true; //如果点位于多边形的顶点或边上,也算做点在多边形内,直接返回true
......
哪吒港航智慧科技(上海)有限公司
理想万里晖半导体设备(上海)股份有限公司
上海格思信息技术有限公司
上海概伦电子股份有限公司
上海泰睿思微电子有限公司
上海泽丰半导体科技有限公司
上海聪链信息科技有限公司
上海航天空间技术有限公司
特福隆(上海)科技有限公司
明珞汽车装备(上海)有限公司
恒玄科技(上海)股份有限公司
上海谙邦半导体设备有限公司
弥费科技(上海)股份有限公司
励元科技(上海)有限公司
上海昂丰矿机科技有限公司
上海积塔半导体有限公司
卓沃网络科技(上海)有限公司
典基网络科技(上海)有限公司
上海显耀显示科技有限公司
上海江波龙微电子技术有限公司
上海遨拓深水装备技术开发有限公司
上海裕芯电子科技有限公司
上海建为历保科技股份有限公司
上海旻艾半导体有限公司
上海中船临港船舶装备有限公司
上海芳甸生物科技有限公司
世邦工业科技集团股份有限公司
上海龙腾科技股份有限公司
上海治臻新能源股份有限公司
上海诺倬力机电科技有限公司
上海御渡半导体科技有限公司
上海瞻芯电子科技股份有限公司
上海燧原科技股份有限公司
达观数据有限公司
星火智云(上海)科技发展有限公司
运去哪物流科技集团有限公司
上海汇航捷讯网络科技有限公司
拓迪化学(上海)股份有限公司
英韧科技股份有限公司
上海凌凯科技股份有限公司
上海临港益邦智能技术股份有限公司
上海新瑞谷科技集团有限公司
上海欧陆认证服务有限公司
上海同耀通信技术有限公司
格兰菲智能科技股份有限公司
上海融跃电子科技股份有限公司
济川(上海)医学科技有限公司
上海司羿智能科技有限公司
青芯半导体科技(上海)有限公司
壹药网科技(上海)股份有限公司
上海优周电子科技有限公司
上海域起网络科技有限公司
上海肇观电子科技有限公司
上海川也电机有限公司
上海德尔格医疗器械有限公司
上海方润医疗科技股份有限公司
上海海立新能源技术有限公司
宝船生物医药科技(上海)有限公司
昂华(上海)自动化工程股份有限公司
中交三航局第二工程有限公司
国网上海综合能源服务有限公司
上海金丘信息科技有限公司
上海通创信息技术股份有限公司
上海逸航汽车零部件有限公司
华领医药技术(上海)有限公司
都创(上海)医药科技股份有限公司
上海富友支付服务股份有限公司
上海英内物联网科技股份有限公司
上海博应信息技术有限公司
核电运行研究(上海)有限公司
普华基础软件股份有限公司
赫比(上海)家用电器产品有限公司
上海铱控自动化系统工程有限公司
上海城建信息科技有限公司
上海能源建设工程设计研究有限公司
原启生物科技(上海)有限责任公司
叠境数字科技(上海)有限公司
德明通讯(上海)股份有限公司
上海密尔克卫化工储存有限公司
上海箩箕技术有限公司
上海吉凯基因医学科技股份有限公司
创领心律管理医疗器械(上海)有限公司
上海盛迪医药有限公司
景略半导体(上海)有限公司
上海汉图科技有限公司
上海特波电机有限公司
通联支付网络服务股份有限公司
加特兰微电子科技(上海)有限公司
上海海拉电子有限公司
上海润诺生物科技有限公司
桑迪亚医药技术(上海)有限责任公司
上海中兴软件有限责任公司
上海云从企业发展有限公司
上海艾拉比智能科技有限公司
上海远铸智能技术有限公司
上海龙感汽车电子有限公司
上海北分科技股份有限公司
上海天源迪科信息技术有限公司
中钞油墨有限公司
上海聚星仪器有限公司
上海陛通半导体能源科技股份有限公司
上海青翼工业软件有限公司
上海童渠信息技术有限公司
上海盟科药业股份有限公司
睿励科学仪器(上海)有限公司
上海施能电器设备有限公司
上海辛帕智能科技股份有限公司
欣凯医药化工中间体(上海)有限公司
上海高科生物工程有限公司
上海维智卓新信息科技有限公司
虎伯拉铰接系统(上海)有限公司
新阳荣乐(上海)汽车电子有限公司
上海众托科技有限公司
上海科新生物技术股份有限公司
上海宽创国际文化科技股份有限公司
上海文华财经资讯股份有限公司
上海钛米机器人股份有限公司
车轮互联科技(上海)股份有限公司
上海耀皮工程玻璃有限公司
上海超致半导体科技有限公司
上海动联信息技术股份有限公司
麦格思维特(上海)流体工程有限公司
上海航空材料结构检测股份有限公司
上海昌投网络科技有限公司
荣湃半导体(上海)有限公司
上海百胜软件股份有限公司
上海英威腾工业技术有限公司
中移(上海)信息通信科技有限公司
上海金桥信息股份有限公司
上海仁会生物制药股份有限公司
上海国兴农智能科技股份有限公司
上海航新航宇机械技术有限公司
上海浦东金环医疗用品股份有限公司
上海新致软件股份有限公司
赛默飞世尔(上海)仪器有限公司
上海智浦欣微电子有限公司
上海光原谷信息技术有限公司
上海顺舟智能科技股份有限公司
派欧云计算(上海)有限公司
上海和宗焊接设备制造有限公司
盈力半导体(上海)有限公司
通联数据股份公司
灿芯半导体(上海)股份有限公司
上海辉文生物技术股份有限公司
上海芯龙半导体技术股份有限公司
正雅齿科科技(上海)有限公司
上海亿威航空电子股份有限公司
上海盛霄云计算技术有限公司
上海佐竹冷热控制技术有限公司
上海中基国威电子股份有限公司
上海丰野表面处理剂有限公司
唯智信息技术(上海)股份有限公司
上海力声特医学科技有限公司
上海微问家信息技术有限公司
上海联空网络科技有限公司
上海普兰金融服务有限公司
圣奥化学科技有限公司
劲方医药科技(上海)有限公司
欢乐互娱(上海)科技股份有限公司
上海米健信息技术有限公司
上海荻硕贝肯医学检验所有限公司
上海青瑞食品科技有限公司
上海金标生物科技有限公司
上海高诚智能科技有限公司
上海华迎汽车零部件有限公司
魔视智能科技(上海)有限公司
上海宝亚安全装备股份有限公司
上海山恒生态科技股份有限公司
恺佧生物科技(上海)有限公司
上海天昊生物科技有限公司
西刻标识设备(上海)有限公司
上海瑞浦青创新能源有限公司
上海东欣软件工程有限公司
迈威(上海)生物科技股份有限公司
前锦网络信息技术(上海)有限公司
上海赛连信息科技有限公司
上海金域医学检验所有限公司
上海唯科生物制药有限公司
上海臣邦医药科技股份有限公司
上海群之脉信息科技有限公司
韶远科技(上海)有限公司
上海地铁盾构设备工程有限公司
上海赛金生物医药有限公司
昂赛微电子(上海)有限公司
嘉和生物药业有限公司
盛趣信息技术(上海)有限公司
伊顿上飞(上海)航空管路制造有限公司
德比软件(上海)有限公司
博彦科技(上海)有限公司
上海新浪乐居信息科技有限公司
上海五同同步带有限公司
德赛诊断系统(上海)有限公司
上海边界智能科技有限公司
上海梦之路数字科技有限公司
上海三旗通信科技有限公司
上海晟矽微电子股份有限公司
上海观测未来信息技术有限公司
上海芯联芯智能科技有限公司
上海思创电器设备有限公司
雅泰歌思(上海)通讯科技有限公司
中交上海航道勘察设计研究院有限公司
上海中化科技有限公司
上海迦美信芯通讯技术有限公司
上海韦翰斯生物医药科技有限公司
上海衡拓液压控制技术有限公司
和记黄埔医药(上海)有限公司
驰众信息技术(上海)有限公司
上海波创电气有限公司
上海赢他网络科技有限公司
上海浦东软件平台有限公司
上海仙工智能科技有限公司
上海望友信息科技有限公司
上海鹏武电子科技有限公司
上海数慧系统技术有限公司
上海大智慧申久信息技术有限公司
妙顺(上海)生物科技有限公司
上海海能信息科技股份有限公司
上海方融科技有限责任公司
上海迪赛诺医药集团股份有限公司
上海大智慧信息科技有限公司
上海和誉生物医药科技有限公司
上海中商网络股份有限公司
上海鲍麦克斯电子科技有限公司
跬云(上海)信息科技有限公司
上海齐感电子信息科技有限公司
西宝生物科技(上海)股份有限公司
上海克硫环保科技股份有限公司
瑞德肝脏疾病研究(上海)有限公司
上海睿聚环保科技有限公司
上海星融汽车科技有限公司
上海华模科技有限公司
上海天正软件有限公司
贝加莱工业自动化(中国)有限公司
上海小度技术有限公司
上海融德机电工程设备有限公司
芯和半导体科技(上海)股份有限公司
安源医药科技(上海)有限公司
中交物流规划设计研究院有限公司
国检测试控股集团上海有限公司
上海荣数信息技术有限公司
上海钥熠电子科技有限公司
上海亿通国际股份有限公司
上海文依电气股份有限公司
上海彩迩文生化科技有限公司
上海派拉软件股份有限公司
恒泰柯半导体(上海)有限公司
阅霆信息技术(上海)有限公司
上海智同医药科技有限公司
上海玄霆娱乐信息科技有限公司
上海商泰汽车信息系统有限公司
上海秉坤数码科技有限公司
上海逸迅信息科技有限公司
上海南麟电子股份有限公司
上海亚朋生物技术有限公司
上海科源电子科技有限公司
上海科泰运输制冷设备有限公司
事必得精密机械(上海)有限公司
上海百润投资控股集团股份有限公司
普研(上海)标准技术服务有限公司
辅必成(上海)医药科技有限公司
凯惠睿智生物科技(上海)有限公司
东方久乐汽车电子(上海)股份有限公司
平辅寅健康科技(上海)有限公司
上海中菱电子有限公司
上海中卡智能卡有限公司
上海森林特种钢门有限公司
上海浦东新区公路建设发展有限公司
方达医药技术(上海)有限公司
上海申得欧有限公司
上海芯导电子科技股份有限公司
建信金融科技有限责任公司
上海执诚生物科技有限公司
上海文景信息科技有限公司
上海赛比曼生物科技有限公司
上海跬智信息技术有限公司
上海益诺思生物技术股份有限公司
福氏新能源技术(上海)有限公司
上海小传科技有限公司
上海几何伙伴智能驾驶有限公司
芯来智融半导体科技(上海)有限公司
上海朝阳永续信息技术股份有限公司
三信国际电器上海有限公司
昂科信息技术(上海)股份有限公司
上海伯豪生物技术有限公司
上海惠生海洋工程有限公司
上海胜华电气股份有限公司
上海仙视电子科技有限公司
复星凯特生物科技有限公司
上海陆芯电子科技有限公司
上海百英生物科技股份有限公司
上海思路迪医学检验所有限公司
上海顺久电子科技有限公司
上海泰崇电气有限公司
上海洪朴信息科技有限公司
上海海立中野冷机有限公司
上海诚明融鑫科技有限公司
上海合庆火龙果科技开发有限公司
上海鑫蓝海自动化科技有限公司
上海冰鉴信息科技有限公司
上海一芯智能科技有限公司
上海欣吉特生物科技有限公司
上海华瑞气雾剂有限公司
上海励驰半导体有限公司
上海科胜药物研发有限公司
上海迈泰君奥生物技术有限公司
上海图双精密装备有限公司
上海移柯通信技术股份有限公司
上海思岚科技有限公司
依柯力信息科技(上海)股份有限公司
上海高桥捷派克石化工程建设有限公司
上海境业环保能源科技股份有限公司
上海拜安传感技术有限公司
上海沪方软件有限公司
上海孤波科技有限公司
上海民航新时代机场设计研究院有限公司
上海安其威微电子科技有限公司
上海浦公检测技术股份有限公司
上海英诺伟医疗器械股份有限公司
上海凯创生物技术有限公司
上海大和衡器有限公司
上海立迪生物技术股份有限公司
上海微创生命科技有限公司
天翼视讯传媒有限公司
上海阅文信息技术有限公司
上海途擎微电子有限公司
上海分众信息技术有限公司
上海厦泰生物科技有限公司
上海菱威深信息技术有限公司
上海良信智能电工有限公司
上海爱谱华顿电子科技(集团)有限公司
盟立自动化科技(上海)有限公司
应达工业(上海)有限公司
上海讯联数据服务有限公司
格拉默车辆内饰(上海)有限公司
上海零数众合信息科技有限公司
上海唯捷创芯电子技术有限公司
上海企顺信息系统有限公司
上扬软件(上海)有限公司
臻驱科技(上海)有限公司
浦易(上海)生物技术股份有限公司
上海诗丹德标准技术服务有限公司
上海美橙科技信息发展有限公司
上海山景集成电路股份有限公司
时擎智能科技(上海)有限公司
上海药明巨诺生物科技有限公司
安境迩(上海)科技有限公司
上海华建电力设备股份有限公司
上海钫铖微电子有限公司
艾酷软件技术(上海)有限公司
上海诺生医疗科技有限公司
天境生物科技(上海)有限公司
上海艾力斯医药科技股份有限公司
上海鹰觉科技有限公司
上海汉枫电子科技有限公司
上海畅联智融通讯科技有限公司
美嘉帕拉斯特汽车零部件(上海)有限公司
旋智电子科技(上海)有限公司
上海申茂电磁线有限公司
吉尔生化(上海)有限公司
上海浦东美灵塑料制品有限公司
上海赛路客电子有限公司
上海宽睿信息科技有限责任公司
上海宏盾防伪材料有限公司
上海孙桥溢佳农业技术股份有限公司
上海磐启微电子有限公司
上海京硅智能技术有限公司
上海锐承通讯技术有限公司
上海畅星软件有限公司
中债金融估值中心有限公司
上海通微分析技术有限公司
上海期货信息技术有限公司
钜泉光电科技(上海)股份有限公司
安客诚信息服务(上海)有限公司
心凯诺医疗科技(上海)有限公司
国科量子通信网络有限公司
上海元方科技股份有限公司
华院分析技术(上海)有限公司
科美博阳诊断技术(上海)有限公司
上海沃比医疗科技有限公司
喜大(上海)网络科技有限公司
上海斯达瑞船舶海洋工程服务有限公司
上海柯林布瑞信息技术有限公司
携程旅游信息技术(上海)有限公司
上海盛付通电子支付服务有限公司
上海蓝云网络科技有限公司
上海京新生物医药有限公司
上海熙华检测技术服务股份有限公司
上海泓博智源医药股份有限公司
上海锡明光电科技有限公司
上海为彪汽配制造有限公司
上海凯鑫分离技术股份有限公司
上海华钦信息科技股份有限公司
上海芯歌智能科技有限公司
日荣半导体(上海)有限公司
上海韬润半导体有限公司
上海长锐汽车零部件有限公司
上海英联电子系统有限公司
上海志听医疗科技有限公司
上海钢之家信息科技有限公司
麦歌恩电子(上海)有限公司
特乐斯特机械(上海)有限公司
上海英曼尼安全装备有限公司
上海中兴易联通讯股份有限公司
上海英迈吉东影图像设备有限公司
上海沥高科技股份有限公司
上海莱天通信技术有限公司
上海霍莱沃电子系统技术股份有限公司
上海禾苗通信技术有限公司
上海百通项目管理咨询有限公司
上海联合赛尔生物工程有限公司
上海万柔汽车电子有限公司
上海现代先进超精密制造中心有限公司
上海航空机械有限公司
上海宽文是风软件有限公司
上海外高桥英得网络信息有限公司
上海成生科技有限公司
欧姆龙(上海)有限公司
亮风台(上海)信息科技有限公司
上海蓝丰信息科技有限公司
上海索迪龙自动化股份有限公司
上海浦东华宇信息技术有限公司
上海坤锐电子科技有限公司
上海佰奥聚新材料科技有限公司
上海埃帕信息科技有限公司
上海恩元生物科技有限公司
乔讯电子(上海)有限公司
黑芝麻智能科技(上海)有限公司
上海八彦图信息科技有限公司
上海导向医疗系统有限公司
上海泽信软件有限公司
银联智惠信息服务(上海)有限公司
尚科生物医药(上海)有限公司
上海普华科技发展股份有限公司
上海道生医疗科技有限公司
上海宝云网络科技有限公司
申朴信息技术(上海)股份有限公司
上海吉凯基因科技有限公司
上海霍普建筑设计事务所股份有限公司
奥解思信息科技(上海)有限公司
上海步科自动化股份有限公司
上海禾丰制药有限公司
上海懿贝瑞生物医药科技有限公司
上海修能医疗器械有限公司
芯与物(上海)技术有限公司
上海嘉扬信息系统有限公司
上海浩方信息技术有限公司
上海海典软件股份有限公司
上海高齐汽车配件有限公司
上海奥科达医药科技股份有限公司
锱云(上海)物联网科技有限公司
元镁科技股份有限公司
上海智众医疗科技有限公司
开店宝科技集团有限公司
马夸特电子科技(上海)有限公司
乐线软件开发(上海)有限公司
美迪西普胜医药科技(上海)有限公司
上海域格信息技术有限公司
上海星申仪表有限公司
上海艾铭思汽车控制系统有限公司
上海宏创医疗科技有限公司
劲方医药科技(上海)有限公司
理想万里晖半导体设备(上海)股份有限公司
上海小度技术有限公司
臻驱科技(上海)有限公司
加特兰微电子科技(上海)有限公司
上海燧原科技有限公司
迈威(上海)生物科技股份有限公司
上海航天空间技术有限公司
哪吒港航智慧科技(上海)有限公司
上海概伦电子股份有限公司
华领医药技术(上海)有限公司
上海盟科药业股份有限公司
圣奥化学科技有限公司
上海小传科技有限公司
上海治臻新能源股份有限公司
艾酷软件技术(上海)有限公司
上海志听医疗科技有限公司
上海零数众合信息科技有限公司
上海显耀显示科技有限公司
上海和誉生物医药科技有限公司
上海艾力斯医药科技股份有限公司
上海奥科达医药科技股份有限公司
格兰菲智能科技有限公司
上海积塔半导体有限公司
派欧云计算(上海)有限公司
弥费科技(上海)股份有限公司
上海仙工智能科技有限公司
上海海立新能源技术有限公司
上海合庆火龙果科技开发有限公司
上海华模科技有限公司
雅泰歌思(上海)通讯科技有限公司
上海泽丰半导体科技有限公司
上海益诺思生物技术股份有限公司
上海瞻芯电子科技有限公司
上海励驰半导体有限公司
上海青翼工业软件有限公司
芯与物(上海)技术有限公司
上海中化科技有限公司
上海芯歌智能科技有限公司
景略半导体(上海)有限公司
甫康(上海)健康科技有限责任公司
上海江波龙微电子技术有限公司
上海钫铖微电子有限公司
上海药明巨诺生物科技有限公司
上海谙邦半导体设备有限公司
上海图双精密装备有限公司
上海万柔汽车电子有限公司
依柯力信息科技(上海)股份有限公司
上海京硅智能技术有限公司
上海立迪生物技术股份有限公司
辅必成(上海)医药科技有限公司
上海荻硕贝肯医学检验所有限公司
上海百通项目管理咨询有限公司
上海孤波科技有限公司
复星凯特生物科技有限公司
上海诺倬力机电科技有限公司
嘉和生物药业有限公司
恺佧生物科技(上海)有限公司
上海能源建设工程设计研究有限公司
福氏新能源技术(上海)有限公司
上海沪方软件有限公司
上海东欣软件工程有限公司
心凯诺医疗科技(上海)有限公司
跬云(上海)信息科技有限公司
上海洪朴信息科技有限公司
上海陆芯电子科技有限公司
瑞德肝脏疾病研究(上海)有限公司
中交三航局第二工程有限公司
上海修能医疗器械有限公司
中钞油墨有限公司
中债金融估值中心有限公司
上海臣邦医药科技股份有限公司
上海英诺伟医疗器械股份有限公司
上海国兴农智能科技股份有限公司
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment