You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
JK_ITK/jf_itk/jk_custom_erp_struct1.h

363 lines
13 KiB

#include <vector>
#include <map>
#include <string>
//针对发布状态的名称
#define SCRAPE_STATUS_NAME "失效" //废弃的状态的名称
//针对物料属性
#define MATERIAL_jk8SpecModel "jk8SpecModel" //规格型号
#define MATERIAL_jk8StockBigTypeNo "jk8StockBigTypeNo" //存货大类编码
#define MATERIAL_jk8TechModel "jk8TechModel" //产品识别号
#define MATERIAL_jk8UnitWeight "jk8UnitWeight" //单位重量 (2017.8.28新加18条表单属性)
#define MATERIAL_jk8UnitVolume "jk8UnitVolume" //单位体积
#define MATERIAL_jk8IsDomesticMarket "jk8IsDomesticMarket" //是否内销
#define MATERIAL_jk8Isconsumables "jk8Isconsumables" //是否耗用
#define MATERIAL_jk8IsBuy "jk8IsBuy" //是否采购
#define MATERIAL_jk8IsMake "jk8IsMake" //是否自制
#define MATERIAL_jk8IsOutsource "jk8IsOutsource" //是否委外
#define MATERIAL_jk8AccountSet "jk8AccountSet" //默认账套
#define MATERIAL_jk8BusinessType "jk8BusinessType" //业务类型
#define MATERIAL_jk8Buyer "jk8Buyer" //采购员
#define MATERIAL_jk8PurLeadTime "jk8PurLeadTime" //固定提前期
#define MATERIAL_jk8SafeStock "jk8SafeStock" //安全库存
#define MATERIAL_jk8SupplyType1 "jk8SupplyType1" //供应类型
#define MATERIAL_jk8Warehouse1 "jk8Warehouse1" //默认仓库
#define MATERIAL_jk8InnTransCoe "jk8InnTransCoe" //内部交易价格系数
#define MATERIAL_jk8WarehouseKeeper "jk8WarehouseKeeper" //库管员
#define MATERIAL_jk8IsInnTrans "jk8IsInnTrans" //是否内部交易
#define MATERIAL_jk8PlanMethod "jk8PlanMethod" //计划方式
//针对BOM属性
#define BOM_Jk8SupplyType "jk8SupplyType1" //2017/11/2改 //供货类型 JK8SupplyType
#define BOM_Jk8Warehouse "jk8Warehouse1" //2017/11/2改 //仓库 JK8Warehouse
#define BOM_Jk8RemarkDesc "JK8Remark" //备注
#define BOM_JK_BOM_CWR "jk8SubCompLossRate" //子件损耗率
//针对BOM中的母件损耗率
#define BOM_jk8_mjshl "jk8ParentCompLossRate" //母件利用率
//数据库链接信息
#define JK_DB_USER_NAME "infodba" //用户名
#define JK_DB_USER_PWD "infodba" //密码
#define JK_DB_URL "//10.200.2.43/jktc" //正式机链接URL
//#define JK_DB_URL "//10.201.5.203/tc11" //测试链接URL
//#define JK_DB_URL "//10.201.5.202/JKTC" //测试链接URL
//中间表名称
#define JK_MATERIAL_TABLE "JK_MATERIAL_TABLE" //物料中间表
#define JK_BOM_PARENT_LINE_TABLE "JK_BOM_PARENT_LINE_TABLE" //BOM表头中间表
#define JK_BOM_CHILD_LINE_TABLE "JK_BOM_CHILD_LINE_TABLE" //BOM结构中间表
#define JK_BOM_SUBSTITUTE_PART_TABLE "JK_BOM_SUBSTITUTE_PART_TABLE" //BOMLINE替换件中间表
//替代件
#define JK_SUBSTITUTE_EffectiveDate "jk8EffectiveDate" //生效日期
#define JK_SUBSTITUTE_Order "jk8SubstitOrder" //替代次序
#define JK_SUBSTITUTE_Ratio "jk8SubstitRatio" //替代比
#define JK_SUBSTITUTE_EffectiveDate1 "JK8EffectiveDate" //生效日期1
#define JK_SUBSTITUTE_Order1 "JK8SubstitOrder" //替代次序1
#define JK_SUBSTITUTE_Ratio1 "JK8SubstitRatio" //替代比1
using namespace std;
/**********************************************************
*
* 金卡 物料中间表字段
*
***********************************************************/
char jk_material_fields1[45][45] = {
"JK_ITEM_ID", // 物料编码
"JK_ITEM_NAME", // 物料名称
"JK_ITEM_SPEC_MODEL", // 规格型号
"JK_CLASS_CODE", // 存货大类编码
"JK_PROD_CODE", // 产品识别号 //5
"JK_UOM", // 主计量单位
"JK_CREATION_DATE", // 申请日期
"JK_SCRAP_DATE", // 停用日期
"JK_DESIGN_CODE", // 图号信息
"JK_IS_SCRAP", // 是否失效 //10
"JK_FROM", // 发起人
"JK_TRANS_TIME", // 传递时间
"JK_STATUS", // 接收状态
"JK_ERROR_MSG", // 错误信息
"JK_OPERATE_TIME", // 接收时间 //15
"JK_PUID", // 唯一编号
"JK_FROM_SYS", // 传递方
"JK_ATTR_1", // 扩展字段1
"JK_ATTR_2", // 扩展字段2
"JK_ATTR_3", // 扩展字段3 //20
"JK_ATTR_4", // 扩展字段4
"JK_ATTR_5", // 扩展字段5
"JK_ATTR_6", // 扩展字段6
"JK_ATTR_7", // 扩展字段7
"JK_ATTR_8", // 扩展字段8 //25
"JK_ATTR_9", // 扩展字段9
"JK_ATTR_10", // 扩展字段10 //27
"JK_UNIT_WEIGHT", // "jk8UnitWeight单位重量" (2017.8.28中间表新加18个字段)
"JK_UNIT_VOLUME", // "jk8UnitVolume单位体积"
"JK_DOMSC_MARKET", // jk8IsDomesticMarket是否内销 //30
"JK_CONSUM", // "jk8Isconsumables是否耗用"
"JK_IS_BUY", // "jk8IsBuy是否采购"
"JK_IS_MAKE", // "jk8IsMake是否自制"
"JK_OUT_SOURCE", // "jk8IsOutsource是否委外"
"JK_ACCOUNT_SET", // "jk8AccountSet默认账套" //35
"JK_BUSINESS_TYPE", // "jk8BusinessType业务类型"
"JK_BUYER", // "jk8Buyer采购员"
"JK_PURLEAD_TIME", // "jk8PurLeadTime固定提前期"
"JK_SAFE_STOCK", // "jk8SafeStock安全库存"
"JK_SUPPLY_TYPE1", // "jk8SupplyType1供应类型" //40
"JK_WARE_HOUSE1", // "jk8Warehouse1默认仓库"
"JK_INNTRANS_COE", // "jk8InnTransCoe内部交易价格系数"
"JK_HOUSE_KEEPER", // "jk8WarehouseKeeper库管员"
"JK_IS_INNTRANS", // "jk8IsInnTrans是否内部交易"
"JK_PLAN_METHOD" // "jk8PlanMethod计划方式" //45 "LR"
};
/**********************************************************
*
* 金卡 物料存储最小单位
*
***********************************************************/
typedef struct{
string JK_ITEM_ID; // 物料编码 //item_id
string JK_ITEM_NAME; // 物料名称 //object_name
string JK_ITEM_SPEC_MODEL; // 规格型号 //jk8SpecModel(rev)
string JK_CLASS_CODE; // 存货大类编码 //jk8StockBigTypeNo(rev)
string JK_PROD_CODE; // 产品识别号 //5 //jk8TechModel(rev)
string JK_UOM; // 主计量单位 //uom_tag(item)
string JK_CREATION_DATE; // 申请日期 //now_date(system)
string JK_SCRAP_DATE; // 停用日期 //
string JK_DESIGN_CODE; // 图号信息 //
string JK_IS_SCRAP; // 是否失效 //10 //
string JK_FROM; // 发起人 //current_user_name
string JK_TRANS_TIME; // 传递时间 //now_date(system)
string JK_STATUS; // 接收状态 //0-新建,1-正常接收,2-异常未接收,3-失败已重传,4-未接收重传
string JK_ERROR_MSG; // 错误信息 //erp
string JK_OPERATE_TIME; // 接收时间 //15 //erp
string JK_PUID; // 唯一编号 //puid
string JK_FROM_SYS; // 传递方 //默认"TC"
string JK_ATTR_1; // 扩展字段1
string JK_ATTR_2; // 扩展字段2
string JK_ATTR_3; // 扩展字段3 //20
string JK_ATTR_4; // 扩展字段4
string JK_ATTR_5; // 扩展字段5
string JK_ATTR_6; // 扩展字段6
string JK_ATTR_7; // 扩展字段7
string JK_ATTR_8; // 扩展字段8 //25
string JK_ATTR_9; // 扩展字段9
string JK_ATTR_10; // 扩展字段10 //27
string JK_UNIT_WEIGHT; //单位重量 (2017.8.28新加18条表单属性)
string JK_UNIT_VOLUME; //单位体积
string JK_DOMSC_MARKET; //是否内销
string JK_CONSUM ; //是否耗用
string JK_IS_BUY ; //是否采购
string JK_IS_MAKE ; //是否自制
string JK_OUT_SOURCE; //是否委外
string JK_ACCOUNT_SET; //默认账套
string JK_BUSINESS_TYPE; //业务类型
string JK_BUYER ; //采购员
string JK_PURLEAD_TIME; //固定提前期
string JK_SAFE_STOCK; //安全库存
string JK_SUPPLY_TYPE1; //供应类型
string JK_WARE_HOUSE1; //默认仓库
string JK_INNTRANS_COE; //内部交易价格系数
string JK_HOUSE_KEEPER; //库管员
string JK_IS_INNTRANS; //是否内部交易
string JK_PLAN_METHOD; //计划方式
}JK_MATERIAL_STRUCT1;
/**********************************************************
*
* 金卡 BOM_P 结构中间表字段
*
***********************************************************/
char jk_p_bom_fields1[24][45] = {
"JK_BOM_ID", // 母件编码
"JK_BOM_REV", //视图版本
"JK_OWNING_USER", // 所有者(用户名称)
"JK_RATE", // 母件损耗率
"JK_CREATION_DATE", // 生效日期 //5
"JK_SCRAP_DATE", // 失效日期
"JK_IS_SCRAP", // 是否失效
"JK_FROM", // 发起人
"JK_TRANS_TIME", // 传递时间
"JK_STATUS", // 接收状态 //10
"JK_ERROR_MSG", // 错误信息
"JK_OPERATE_TIME", // 接收时间
"JK_PUID", // 唯一编号
"JK_FROM_SYS", // 传递方
"JK_ATTR_1", // 扩展字段1 //15
"JK_ATTR_2", // 扩展字段2
"JK_ATTR_3", // 扩展字段3
"JK_ATTR_4", // 扩展字段4
"JK_ATTR_5", // 扩展字段5
"JK_ATTR_6", // 扩展字段6 //20
"JK_ATTR_7", // 扩展字段7
"JK_ATTR_8", // 扩展字段8
"JK_ATTR_9", // 扩展字段9
"JK_ATTR_10" // 扩展字段10 //24
};
/********************************************************
*
* 金卡 BOM_P 结构存储最小单位
*
*********************************************************/
typedef struct{
string JK_BOM_ID; // 母件编码
string JK_BOM_REV; //视图版本
string JK_OWNING_USER; // 所有者(用户名称)
string JK_RATE; // 母件损耗率
string JK_CREATION_DATE; // 生效日期 //5
string JK_SCRAP_DATE; // 失效日期
string JK_IS_SCRAP; // 是否失效
string JK_FROM; // 发起人
string JK_TRANS_TIME; // 传递时间
string JK_STATUS; // 接收状态 //10
string JK_ERROR_MSG; // 错误信息
string JK_OPERATE_TIME; // 接收时间
string JK_PUID; // 唯一编号
string JK_FROM_SYS; // 传递方
string JK_ATTR_1; // 扩展字段1 //15
string JK_ATTR_2; // 扩展字段2
string JK_ATTR_3; // 扩展字段3
string JK_ATTR_4; // 扩展字段4
string JK_ATTR_5; // 扩展字段5
string JK_ATTR_6; // 扩展字段6 //20
string JK_ATTR_7; // 扩展字段7
string JK_ATTR_8; // 扩展字段8
string JK_ATTR_9; // 扩展字段9
string JK_ATTR_10; // 扩展字段10 //24
}JK_P_BOM_STRUCT1;
/**********************************************************
*
* 金卡 BOM_C结构中间表字段
*
***********************************************************/
char jk_c_bom_fields1[18][45] = {
"JK_BOM_ID", // 母件编码
"JK_BOM_REV", // BOM视图版本
"JK_BOM_CID", // 子件编码
"JK_SUPPLY_TYPE", // 供应类型
"JK_WAREHOUSE", // 仓库 //5
"JK_QUANTITY", // 基础用量/用量
"JK_REMARK", // 备注说明
"JK_ATTR_1", // 扩展字段1
"JK_ATTR_2", // 扩展字段2
"JK_ATTR_3", // 扩展字段3 //10
"JK_ATTR_4", // 扩展字段4
"JK_ATTR_5", // 扩展字段5
"JK_ATTR_6", // 扩展字段6
"JK_ATTR_7", // 扩展字段7
"JK_ATTR_8", // 扩展字段8 //15
"JK_ATTR_9", // 扩展字段9
"JK_ATTR_10", // 扩展字段10 //17
"JK_BOM_CWR"
};
/********************************************************
*
* 金卡 BOM_C结构存储最小单位
*
*********************************************************/
typedef struct{
string JK_BOM_ID; // 母件编码
string JK_BOM_REV; // BOM视图版本
string JK_BOM_CID; // 子件编码
string JK_SUPPLY_TYPE; // 供应类型
string JK_WAREHOUSE; // 仓库 //5
string JK_QUANTITY; // 基础用量/用量
string JK_REMARK; // 备注说明
string JK_ATTR_1; // 扩展字段1
string JK_ATTR_2; // 扩展字段2
string JK_ATTR_3; // 扩展字段3 //10
string JK_ATTR_4; // 扩展字段4
string JK_ATTR_5; // 扩展字段5
string JK_ATTR_6; // 扩展字段6
string JK_ATTR_7; // 扩展字段7
string JK_ATTR_8; // 扩展字段8 //15
string JK_ATTR_9; // 扩展字段9
string JK_ATTR_10; // 扩展字段10 //17
string JK_BOM_CWR;
}JK_C_BOM_STRUCT1;
/**********************************************************
*
* 金卡 BOM_SUB 结构中间表字段
*
***********************************************************/
char jk_sub_bom_fields1[17][45] = {
"JK_BOM_ID", // 母件编码
"JK_BOM_REV", // BOM视图版本
"JK_BOM_CID", // 子件编码
"JK_SUBSTITUTE_PART_ID", // 替代件编码
"JK_SUBSTITUTE_PART_INDEX", // 替代件次序 //5
"JK_SUBSTITUTE_PART_RATIO", // 替代件比例
"JK_SUBSTITUTE_PART_DATE", // 替代件生效时间
"JK_IS_GLOBAL", // 扩展字段1
"JK_ATTR_2", // 扩展字段2
"JK_ATTR_3", // 扩展字段3 //10
"JK_ATTR_4", // 扩展字段4
"JK_ATTR_5", // 扩展字段5
"JK_ATTR_6", // 扩展字段6
"JK_ATTR_7", // 扩展字段7
"JK_ATTR_8", // 扩展字段8 //15
"JK_ATTR_9", // 扩展字段9
"JK_ATTR_10" //扩展字段10 //17
};
/********************************************************
*
* 金卡 BOM_SUB 结构存储最小单位
*
*********************************************************/
typedef struct{
string JK_BOM_ID; // 母件编码
string JK_BOM_REV; // BOM视图版本
string JK_BOM_CID; // 子件编码
string JK_SUBSTITUTE_PART_ID; // 替代件编码
string JK_SUBSTITUTE_PART_INDEX; // 替代件次序 //5
string JK_SUBSTITUTE_PART_RATIO; // 替代件比例
string JK_SUBSTITUTE_PART_DATE; // 替代件生效时间
string JK_IS_GLOBAL; // 扩展字段1
string JK_ATTR_2; // 扩展字段2
string JK_ATTR_3; // 扩展字段3 //10
string JK_ATTR_4; // 扩展字段4
string JK_ATTR_5; // 扩展字段5
string JK_ATTR_6; // 扩展字段6
string JK_ATTR_7; // 扩展字段7
string JK_ATTR_8; // 扩展字段8 //15
string JK_ATTR_9; // 扩展字段9
string JK_ATTR_10; // 扩展字段10 //17
}JK_SUB_BOM_STRUCT1;
int sum1(int y,int m,int d)
{
unsigned char x[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int i,s=0;
for(i=1;i<y;i++)
if(i%4==0 && i%100!=0 || i%400==0)
s+=366;//闰年
else
s+=365;//平年
if(y%4==0 && y%100!=0 || y%400==0)
x[2]=29;
for(i=1;i<m;i++)
s+=x[i];//整月的天数
s+=d;//日的天数
return s;//返回总天数,相对公元1年
}