提交 4a96b2a1 编写于 作者: ibizdev's avatar ibizdev

lab_gzf 发布系统代码

上级 08888428
......@@ -2654,6 +2654,83 @@
}
]
},
{
"srfkey": "Invoice__ShippingMethodCode",
"emptytext": "未定义",
"codelisttype":"static",
"items": [
{
"id": "2",
"label": "DHL",
"text": "DHL",
"data":"",
"codename":"Item_2",
"value": "2",
"disabled": false
}
, {
"id": "3",
"label": "FedEx",
"text": "FedEx",
"data":"",
"codename":"Item_3",
"value": "3",
"disabled": false
}
, {
"id": "6",
"label": "Full Load",
"text": "Full Load",
"data":"",
"codename":"Item_6",
"value": "6",
"disabled": false
}
, {
"id": "4",
"label": "UPS",
"text": "UPS",
"data":"",
"codename":"Item_4",
"value": "4",
"disabled": false
}
, {
"id": "7",
"label": "Will Call",
"text": "Will Call",
"data":"",
"codename":"Item_7",
"value": "7",
"disabled": false
}
, {
"id": "1",
"label": "航空运输",
"text": "航空运输",
"data":"",
"codename":"Item_1",
"value": "1",
"disabled": false
}
, {
"id": "5",
"label": "邮递",
"text": "邮递",
"data":"",
"codename":"Item_5",
"value": "5",
"disabled": false
}
]
},
{
"srfkey": "Lead__StatusCode",
"emptytext": "未定义",
......@@ -2731,6 +2808,53 @@
}
]
},
{
"srfkey": "Invoice__PaymentTermsCode",
"emptytext": "未定义",
"codelisttype":"static",
"items": [
{
"id": "2",
"label": "2/10 N30",
"text": "2/10 N30",
"data":"",
"codename":"Item_2",
"value": "2",
"disabled": false
}
, {
"id": "1",
"label": "N30",
"text": "N30",
"data":"",
"codename":"Item_1",
"value": "1",
"disabled": false
}
, {
"id": "3",
"label": "N45",
"text": "N45",
"data":"",
"codename":"Item_3",
"value": "3",
"disabled": false
}
, {
"id": "4",
"label": "N60",
"text": "N60",
"data":"",
"codename":"Item_4",
"value": "4",
"disabled": false
}
]
},
{
"srfkey": "Account__PreferredContactMethodCode",
"emptytext": "未定义",
......
......@@ -109,6 +109,16 @@
"viewtag": "0f4dc7da727ad15a2cad62fe966a633c",
"memo": "系统自动添加"
},
"invoicequickcreateview": {
"title": "快速新建",
"caption": "发票",
"viewtype": "DEOPTVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceQuickCreateView",
"viewfilename": "invoice-quick-create-view",
"viewtag": "0fc09bf520af62b4d89aef845fc72636",
"memo": ""
},
"salesordereditview": {
"title": "订单编辑视图",
"caption": "订单",
......@@ -279,6 +289,16 @@
"viewtag": "2b787c59ba090b37b9a1ba8f8ba045b4",
"memo": ""
},
"invoicedetailinvoiceprogridview": {
"title": "发票产品表格视图",
"caption": "发票产品",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceDetailInvoiceProGridView",
"viewfilename": "invoice-detail-invoice-pro-grid-view",
"viewtag": "2bb0e34c7ae753e03404e4d96b17e90c",
"memo": ""
},
"listleadbylist": {
"title": "营销列表-潜在客户(根据营销列表)",
"caption": "潜在客户",
......@@ -489,6 +509,16 @@
"viewtag": "4799b0e7139b537ebe9313a004daa0ac",
"memo": "系统自动添加"
},
"invoicedetaileditview": {
"title": "发票产品编辑视图",
"caption": "发票产品",
"viewtype": "DEEDITVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceDetailEditView",
"viewfilename": "invoice-detail-edit-view",
"viewtag": "485d1a17354fe57fd79dde512adb715b",
"memo": "系统自动添加"
},
"listaccounteditview": {
"title": "营销列表-账户编辑视图",
"caption": "营销列表-账户",
......@@ -779,6 +809,16 @@
"viewtag": "75b6e6474d2b1adcae64bafd60edb618",
"memo": "系统自动添加"
},
"invoicesummaryview": {
"title": "发票数据看板视图",
"caption": "发票",
"viewtype": "DEPORTALVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceSummaryView",
"viewfilename": "invoice-summary-view",
"viewtag": "77ef5d53fe0cadbe03c9d2f9d25c804b",
"memo": ""
},
"goaleditview": {
"title": "目标编辑视图",
"caption": "目标",
......@@ -1209,6 +1249,16 @@
"viewtag": "aaa875342bd9286a39c2d193a150afc4",
"memo": ""
},
"invoiceinfoview": {
"title": "发票信息",
"caption": "发票",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceInfoView",
"viewfilename": "invoice-info-view",
"viewtag": "ab653866ca40a1cefde21241ac5ba44c",
"memo": ""
},
"competitorinfo": {
"title": "竞争对手",
"caption": "竞争对手",
......@@ -1379,6 +1429,16 @@
"viewtag": "c74c14188b89f72079643170a83c25f5",
"memo": ""
},
"salesorderpickupgridview": {
"title": "订单选择表格视图",
"caption": "订单",
"viewtype": "DEPICKUPGRIDVIEW",
"viewmodule": "Sales",
"viewname": "SalesOrderPickupGridView",
"viewfilename": "sales-order-pickup-grid-view",
"viewtag": "c78a9fa4a75c9a957de0bacd4c0c911c",
"memo": "系统自动添加"
},
"listcontacteditview": {
"title": "营销列表-联系人编辑视图",
"caption": "营销列表-联系人",
......@@ -1459,6 +1519,16 @@
"viewtag": "e0aef8c0d1f1ae28f628a0541b118961",
"memo": ""
},
"invoiceinfo_invoiceview": {
"title": "发票编辑视图",
"caption": "发票",
"viewtype": "DEEDITVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceInfo_InvoiceView",
"viewfilename": "invoice-info-invoice-view",
"viewtag": "e167550b61bf1bd019a8e522b8fccc21",
"memo": ""
},
"accountinfo_contactsetting": {
"title": "客户编辑视图",
"caption": "客户",
......@@ -1520,7 +1590,7 @@
"memo": "系统自动添加"
},
"salesorderquickcreateview": {
"title": "订单选项操作视图",
"title": "快速新建",
"caption": "订单",
"viewtype": "DEOPTVIEW",
"viewmodule": "Sales",
......@@ -1549,6 +1619,16 @@
"viewtag": "f63525be2835a01da997d7f059efb09f",
"memo": "系统自动添加"
},
"salesorderpickupview": {
"title": "订单数据选择视图",
"caption": "订单",
"viewtype": "DEPICKUPVIEW",
"viewmodule": "Sales",
"viewname": "SalesOrderPickupView",
"viewfilename": "sales-order-pickup-view",
"viewtag": "f6f91153f3caa976cf7f552636f7e012",
"memo": "系统自动添加"
},
"taskeditview": {
"title": "任务编辑视图",
"caption": "任务",
......
/**
* 发票产品
*
* @export
* @interface InvoiceDetail
*/
export interface InvoiceDetail {
/**
* 更新时间
*
* @returns {*}
* @memberof InvoiceDetail
*/
updatedate?: any;
/**
* 名称
*
* @returns {*}
* @memberof InvoiceDetail
*/
invoicedetailname?: any;
/**
* 负责人类型
*
* @returns {*}
* @memberof InvoiceDetail
*/
owneridtype?: any;
/**
* 延期交货数量
*
* @returns {*}
* @memberof InvoiceDetail
*/
quantitybackordered?: any;
/**
* 产品类型
*
* @returns {*}
* @memberof InvoiceDetail
*/
producttypecode?: any;
/**
* 发票状态
*
* @returns {*}
* @memberof InvoiceDetail
*/
invoicestatecode?: any;
/**
* Time Zone Rule Version Number
*
* @returns {*}
* @memberof InvoiceDetail
*/
timezoneruleversionnumber?: any;
/**
* 送至省/市/自治区
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_stateorprovince?: any;
/**
* 金额 (Base)
*
* @returns {*}
* @memberof InvoiceDetail
*/
baseamount_base?: any;
/**
* 送货地址
*
* @returns {*}
* @memberof InvoiceDetail
*/
willcall?: any;
/**
* Record Created On
*
* @returns {*}
* @memberof InvoiceDetail
*/
overriddencreatedon?: any;
/**
* 父捆绑销售
*
* @returns {*}
* @memberof InvoiceDetail
*/
parentbundleid?: any;
/**
* Import Sequence Number
*
* @returns {*}
* @memberof InvoiceDetail
*/
importsequencenumber?: any;
/**
* 属性配置
*
* @returns {*}
* @memberof InvoiceDetail
*/
propertyconfigurationstatus?: any;
/**
* 更新人
*
* @returns {*}
* @memberof InvoiceDetail
*/
updateman?: any;
/**
* 单价 (Base)
*
* @returns {*}
* @memberof InvoiceDetail
*/
priceperunit_base?: any;
/**
* 送至国家/地区
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_country?: any;
/**
* 已复制
*
* @returns {*}
* @memberof InvoiceDetail
*/
copied?: any;
/**
* 明细项目编号
*
* @returns {*}
* @memberof InvoiceDetail
*/
lineitemnumber?: any;
/**
* 单价
*
* @returns {*}
* @memberof InvoiceDetail
*/
priceperunit?: any;
/**
* 批发折扣 (Base)
*
* @returns {*}
* @memberof InvoiceDetail
*/
volumediscountamount_base?: any;
/**
* 送货地的传真号码
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_fax?: any;
/**
* 送至街道 1
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_line1?: any;
/**
* 说明
*
* @returns {*}
* @memberof InvoiceDetail
*/
description?: any;
/**
* 货运条款
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_freighttermscode?: any;
/**
* 负责人
*
* @returns {*}
* @memberof InvoiceDetail
*/
ownerid?: any;
/**
* 税 (Base)
*
* @returns {*}
* @memberof InvoiceDetail
*/
tax_base?: any;
/**
* 送货地的电话号码
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_telephone?: any;
/**
* 定价
*
* @returns {*}
* @memberof InvoiceDetail
*/
priceoverridden?: any;
/**
* 交付时间
*
* @returns {*}
* @memberof InvoiceDetail
*/
actualdeliveryon?: any;
/**
* 送货地的名称
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_name?: any;
/**
* 建立人
*
* @returns {*}
* @memberof InvoiceDetail
*/
createman?: any;
/**
* 金额
*
* @returns {*}
* @memberof InvoiceDetail
*/
baseamount?: any;
/**
* 运货跟踪号码
*
* @returns {*}
* @memberof InvoiceDetail
*/
shippingtrackingnumber?: any;
/**
* 发票产品
*
* @returns {*}
* @memberof InvoiceDetail
*/
invoicedetailid?: any;
/**
* 汇率
*
* @returns {*}
* @memberof InvoiceDetail
*/
exchangerate?: any;
/**
* 送至街道 3
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_line3?: any;
/**
* 负责人
*
* @returns {*}
* @memberof InvoiceDetail
*/
owneridyominame?: any;
/**
* 捆绑销售项关联
*
* @returns {*}
* @memberof InvoiceDetail
*/
productassociationid?: any;
/**
* 送货地的邮政编码
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_postalcode?: any;
/**
* 建立时间
*
* @returns {*}
* @memberof InvoiceDetail
*/
createdate?: any;
/**
* 选择产品
*
* @returns {*}
* @memberof InvoiceDetail
*/
productoverridden?: any;
/**
* 销售员
*
* @returns {*}
* @memberof InvoiceDetail
*/
salesrepid?: any;
/**
* SalesRepIdYomiName
*
* @returns {*}
* @memberof InvoiceDetail
*/
salesrepidyominame?: any;
/**
* UTC Conversion Time Zone Code
*
* @returns {*}
* @memberof InvoiceDetail
*/
utcconversiontimezonecode?: any;
/**
* 应收净额
*
* @returns {*}
* @memberof InvoiceDetail
*/
extendedamount?: any;
/**
* 目录外产品
*
* @returns {*}
* @memberof InvoiceDetail
*/
productdescription?: any;
/**
* 送至街道 2
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_line2?: any;
/**
* 零售折扣
*
* @returns {*}
* @memberof InvoiceDetail
*/
manualdiscountamount?: any;
/**
* 序号
*
* @returns {*}
* @memberof InvoiceDetail
*/
sequencenumber?: any;
/**
* 已发货数量
*
* @returns {*}
* @memberof InvoiceDetail
*/
quantityshipped?: any;
/**
* 已取消数量
*
* @returns {*}
* @memberof InvoiceDetail
*/
quantitycancelled?: any;
/**
* 定价错误
*
* @returns {*}
* @memberof InvoiceDetail
*/
pricingerrorcode?: any;
/**
* Version Number
*
* @returns {*}
* @memberof InvoiceDetail
*/
versionnumber?: any;
/**
* SkipPriceCalculation
*
* @returns {*}
* @memberof InvoiceDetail
*/
skippricecalculation?: any;
/**
* 数量
*
* @returns {*}
* @memberof InvoiceDetail
*/
quantity?: any;
/**
* 税
*
* @returns {*}
* @memberof InvoiceDetail
*/
tax?: any;
/**
* 应收净额 (Base)
*
* @returns {*}
* @memberof InvoiceDetail
*/
extendedamount_base?: any;
/**
* 批发折扣
*
* @returns {*}
* @memberof InvoiceDetail
*/
volumediscountamount?: any;
/**
* 送至市/县
*
* @returns {*}
* @memberof InvoiceDetail
*/
shipto_city?: any;
/**
* 发票价格已锁定
*
* @returns {*}
* @memberof InvoiceDetail
*/
invoiceispricelocked?: any;
/**
* 货币
*
* @returns {*}
* @memberof InvoiceDetail
*/
transactioncurrencyid?: any;
/**
* Order Product Id
*
* @returns {*}
* @memberof InvoiceDetail
*/
salesorderdetailid?: any;
/**
* Parent bundle product
*
* @returns {*}
* @memberof InvoiceDetail
*/
parentbundleidref?: any;
/**
* 现有产品
*
* @returns {*}
* @memberof InvoiceDetail
*/
productid?: any;
/**
* 发票编码
*
* @returns {*}
* @memberof InvoiceDetail
*/
invoiceid?: any;
/**
* 计价单位
*
* @returns {*}
* @memberof InvoiceDetail
*/
uomid?: any;
/**
* 产品名称
*
* @returns {*}
* @memberof InvoiceDetail
*/
productname?: any;
/**
* 计价单位
*
* @returns {*}
* @memberof InvoiceDetail
*/
uomname?: any;
}
\ No newline at end of file
......@@ -3,6 +3,7 @@ import campaignlist_en_US from '@locale/lanres/entities/campaign-list/campaign-l
import task_en_US from '@locale/lanres/entities/task/task_en_US';
import letter_en_US from '@locale/lanres/entities/letter/letter_en_US';
import pricelevel_en_US from '@locale/lanres/entities/price-level/price-level_en_US';
import invoicedetail_en_US from '@locale/lanres/entities/invoice-detail/invoice-detail_en_US';
import email_en_US from '@locale/lanres/entities/email/email_en_US';
import serviceappointment_en_US from '@locale/lanres/entities/service-appointment/service-appointment_en_US';
import uom_en_US from '@locale/lanres/entities/uom/uom_en_US';
......@@ -145,6 +146,7 @@ export default {
task: task_en_US,
letter: letter_en_US,
pricelevel: pricelevel_en_US,
invoicedetail: invoicedetail_en_US,
email: email_en_US,
serviceappointment: serviceappointment_en_US,
uom: uom_en_US,
......
......@@ -3,6 +3,7 @@ import campaignlist_zh_CN from '@locale/lanres/entities/campaign-list/campaign-l
import task_zh_CN from '@locale/lanres/entities/task/task_zh_CN';
import letter_zh_CN from '@locale/lanres/entities/letter/letter_zh_CN';
import pricelevel_zh_CN from '@locale/lanres/entities/price-level/price-level_zh_CN';
import invoicedetail_zh_CN from '@locale/lanres/entities/invoice-detail/invoice-detail_zh_CN';
import email_zh_CN from '@locale/lanres/entities/email/email_zh_CN';
import serviceappointment_zh_CN from '@locale/lanres/entities/service-appointment/service-appointment_zh_CN';
import uom_zh_CN from '@locale/lanres/entities/uom/uom_zh_CN';
......@@ -145,6 +146,7 @@ export default {
task: task_zh_CN,
letter: letter_zh_CN,
pricelevel: pricelevel_zh_CN,
invoicedetail: invoicedetail_zh_CN,
email: email_zh_CN,
serviceappointment: serviceappointment_zh_CN,
uom: uom_zh_CN,
......
......@@ -361,6 +361,16 @@ export default {
'CAMPAIGNRESPONSE': "市场活动响应",
empty: "",
},
Invoice__ShippingMethodCode: {
'2': "DHL",
'3': "FedEx",
'6': "Full Load",
'4': "UPS",
'7': "Will Call",
'1': "航空运输",
'5': "邮递",
empty: "",
},
Lead__StatusCode: {
'6': "不再感兴趣",
'4': "丢单",
......@@ -371,6 +381,13 @@ export default {
'5': "无法联系",
empty: "",
},
Invoice__PaymentTermsCode: {
'2': "2/10 N30",
'1': "N30",
'3': "N45",
'4': "N60",
empty: "",
},
Account__PreferredContactMethodCode: {
'1': "任何方式",
'4': "传真",
......
......@@ -361,6 +361,16 @@ export default {
'CAMPAIGNRESPONSE': "市场活动响应",
empty: "",
},
Invoice__ShippingMethodCode: {
'2': "DHL",
'3': "FedEx",
'6': "Full Load",
'4': "UPS",
'7': "Will Call",
'1': "航空运输",
'5': "邮递",
empty: "",
},
Lead__StatusCode: {
'6': "不再感兴趣",
'4': "丢单",
......@@ -371,6 +381,13 @@ export default {
'5': "无法联系",
empty: "",
},
Invoice__PaymentTermsCode: {
'2': "2/10 N30",
'1': "N30",
'3': "N45",
'4': "N60",
empty: "",
},
Account__PreferredContactMethodCode: {
'1': "任何方式",
'4': "传真",
......
export default {
fields: {
updatedate: "更新时间",
invoicedetailname: "名称",
owneridtype: "负责人类型",
quantitybackordered: "延期交货数量",
producttypecode: "产品类型",
invoicestatecode: "发票状态",
timezoneruleversionnumber: "Time Zone Rule Version Number",
shipto_stateorprovince: "送至省/市/自治区",
baseamount_base: "金额 (Base)",
willcall: "送货地址",
overriddencreatedon: "Record Created On",
parentbundleid: "父捆绑销售",
importsequencenumber: "Import Sequence Number",
propertyconfigurationstatus: "属性配置",
updateman: "更新人",
priceperunit_base: "单价 (Base)",
shipto_country: "送至国家/地区",
copied: "已复制",
lineitemnumber: "明细项目编号",
priceperunit: "单价",
volumediscountamount_base: "批发折扣 (Base)",
shipto_fax: "送货地的传真号码",
shipto_line1: "送至街道 1",
description: "说明",
shipto_freighttermscode: "货运条款",
ownerid: "负责人",
tax_base: "税 (Base)",
shipto_telephone: "送货地的电话号码",
priceoverridden: "定价",
actualdeliveryon: "交付时间",
shipto_name: "送货地的名称",
createman: "建立人",
baseamount: "金额",
shippingtrackingnumber: "运货跟踪号码",
invoicedetailid: "发票产品",
exchangerate: "汇率",
shipto_line3: "送至街道 3",
owneridyominame: "负责人",
productassociationid: "捆绑销售项关联",
shipto_postalcode: "送货地的邮政编码",
createdate: "建立时间",
productoverridden: "选择产品",
salesrepid: "销售员",
salesrepidyominame: "SalesRepIdYomiName",
utcconversiontimezonecode: "UTC Conversion Time Zone Code",
extendedamount: "应收净额",
productdescription: "目录外产品",
shipto_line2: "送至街道 2",
manualdiscountamount: "零售折扣",
sequencenumber: "序号",
quantityshipped: "已发货数量",
quantitycancelled: "已取消数量",
pricingerrorcode: "定价错误",
versionnumber: "Version Number",
skippricecalculation: "SkipPriceCalculation",
quantity: "数量",
tax: "税",
extendedamount_base: "应收净额 (Base)",
volumediscountamount: "批发折扣",
shipto_city: "送至市/县",
invoiceispricelocked: "发票价格已锁定",
transactioncurrencyid: "货币",
salesorderdetailid: "Order Product Id",
parentbundleidref: "Parent bundle product",
productid: "现有产品",
invoiceid: "发票编码",
uomid: "计价单位",
productname: "产品名称",
uomname: "计价单位",
},
views: {
invoiceprogridview: {
caption: "发票产品",
title: "发票产品表格视图",
},
editview: {
caption: "发票产品",
title: "发票产品编辑视图",
},
},
main_form: {
details: {
group1: "invoicedetail基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "发票产品",
srfmajortext: "名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
productname: "产品名称",
priceperunit: "单价",
quantity: "数量",
uomname: "计价单位",
manualdiscountamount: "零售折扣",
tax: "税",
productid: "现有产品",
invoicedetailid: "发票产品",
uomid: "计价单位",
},
uiactions: {
},
},
invoiceproductgrid_grid: {
columns: {
productname: "产品名称",
priceperunit: "单价",
quantity: "数量",
manualdiscountamount: "零售折扣",
extendedamount: "应收净额",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
},
uiactions: {
},
},
invoiceprogridviewtoolbar_toolbar: {
tbitem4: {
caption: "Edit",
tip: "Edit {0}",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "Remove {0}",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "Export {0} Data To Excel",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "Filter",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "Save",
},
tbitem4: {
caption: "Save And New",
tip: "Save And New",
},
tbitem5: {
caption: "Save And Close",
tip: "Save And Close Window",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem7: {
caption: "Remove And Close",
tip: "Remove And Close Window",
},
tbitem8: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "New",
tip: "New",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "Copy",
tip: "Copy {0}",
},
},
};
export default {
fields: {
updatedate: "更新时间",
invoicedetailname: "名称",
owneridtype: "负责人类型",
quantitybackordered: "延期交货数量",
producttypecode: "产品类型",
invoicestatecode: "发票状态",
timezoneruleversionnumber: "Time Zone Rule Version Number",
shipto_stateorprovince: "送至省/市/自治区",
baseamount_base: "金额 (Base)",
willcall: "送货地址",
overriddencreatedon: "Record Created On",
parentbundleid: "父捆绑销售",
importsequencenumber: "Import Sequence Number",
propertyconfigurationstatus: "属性配置",
updateman: "更新人",
priceperunit_base: "单价 (Base)",
shipto_country: "送至国家/地区",
copied: "已复制",
lineitemnumber: "明细项目编号",
priceperunit: "单价",
volumediscountamount_base: "批发折扣 (Base)",
shipto_fax: "送货地的传真号码",
shipto_line1: "送至街道 1",
description: "说明",
shipto_freighttermscode: "货运条款",
ownerid: "负责人",
tax_base: "税 (Base)",
shipto_telephone: "送货地的电话号码",
priceoverridden: "定价",
actualdeliveryon: "交付时间",
shipto_name: "送货地的名称",
createman: "建立人",
baseamount: "金额",
shippingtrackingnumber: "运货跟踪号码",
invoicedetailid: "发票产品",
exchangerate: "汇率",
shipto_line3: "送至街道 3",
owneridyominame: "负责人",
productassociationid: "捆绑销售项关联",
shipto_postalcode: "送货地的邮政编码",
createdate: "建立时间",
productoverridden: "选择产品",
salesrepid: "销售员",
salesrepidyominame: "SalesRepIdYomiName",
utcconversiontimezonecode: "UTC Conversion Time Zone Code",
extendedamount: "应收净额",
productdescription: "目录外产品",
shipto_line2: "送至街道 2",
manualdiscountamount: "零售折扣",
sequencenumber: "序号",
quantityshipped: "已发货数量",
quantitycancelled: "已取消数量",
pricingerrorcode: "定价错误",
versionnumber: "Version Number",
skippricecalculation: "SkipPriceCalculation",
quantity: "数量",
tax: "税",
extendedamount_base: "应收净额 (Base)",
volumediscountamount: "批发折扣",
shipto_city: "送至市/县",
invoiceispricelocked: "发票价格已锁定",
transactioncurrencyid: "货币",
salesorderdetailid: "Order Product Id",
parentbundleidref: "Parent bundle product",
productid: "现有产品",
invoiceid: "发票编码",
uomid: "计价单位",
productname: "产品名称",
uomname: "计价单位",
},
views: {
invoiceprogridview: {
caption: "发票产品",
title: "发票产品表格视图",
},
editview: {
caption: "发票产品",
title: "发票产品编辑视图",
},
},
main_form: {
details: {
group1: "invoicedetail基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "发票产品",
srfmajortext: "名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
productname: "产品名称",
priceperunit: "单价",
quantity: "数量",
uomname: "计价单位",
manualdiscountamount: "零售折扣",
tax: "税",
productid: "现有产品",
invoicedetailid: "发票产品",
uomid: "计价单位",
},
uiactions: {
},
},
invoiceproductgrid_grid: {
columns: {
productname: "产品名称",
priceperunit: "单价",
quantity: "数量",
manualdiscountamount: "零售折扣",
extendedamount: "应收净额",
},
uiactions: {
},
},
default_searchform: {
details: {
formpage1: "常规条件",
},
uiactions: {
},
},
invoiceprogridviewtoolbar_toolbar: {
tbitem4: {
caption: "编辑",
tip: "编辑",
},
tbitem7: {
caption: "-",
tip: "",
},
tbitem8: {
caption: "删除",
tip: "删除",
},
tbitem9: {
caption: "-",
tip: "",
},
tbitem13: {
caption: "导出",
tip: "导出",
},
tbitem10: {
caption: "-",
tip: "",
},
tbitem19: {
caption: "过滤",
tip: "过滤",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "保存",
tip: "保存",
},
tbitem4: {
caption: "保存并新建",
tip: "保存并新建",
},
tbitem5: {
caption: "保存并关闭",
tip: "保存并关闭",
},
tbitem6: {
caption: "-",
tip: "",
},
tbitem7: {
caption: "删除并关闭",
tip: "删除并关闭",
},
tbitem8: {
caption: "-",
tip: "",
},
tbitem12: {
caption: "新建",
tip: "新建",
},
tbitem13: {
caption: "-",
tip: "",
},
tbitem14: {
caption: "拷贝",
tip: "拷贝",
},
},
};
\ No newline at end of file
......@@ -99,10 +99,26 @@ export default {
caption: "发票",
title: "发票编辑视图",
},
quickcreateview: {
caption: "发票",
title: "快速新建",
},
summaryview: {
caption: "发票",
title: "发票数据看板视图",
},
infoview: {
caption: "发票",
title: "发票信息",
},
gridview: {
caption: "发票",
title: "发票表格视图",
},
info_invoiceview: {
caption: "发票",
title: "发票编辑视图",
},
},
main_form: {
details: {
......@@ -128,6 +144,76 @@ export default {
uiactions: {
},
},
quickcreate_form: {
details: {
group1: "发票基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "发票",
srfmajortext: "发票名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
invoicenumber: "发票编码",
invoicename: "发票名称",
transactioncurrencyname: "货币",
pricelevelname: "价目表",
transactioncurrencyid: "货币",
pricelevelid: "价目表",
invoiceid: "发票",
},
uiactions: {
},
},
info_form: {
details: {
group1: "发票基本信息",
grouppanel1: "详细信息",
grouppanel3: "发票金额",
grouppanel2: "销售信息",
grouppanel4: "帐单地址",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "发票",
srfmajortext: "发票名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
invoicenumber: "发票编码",
invoicename: "发票名称",
transactioncurrencyname: "货币",
pricelevelname: "价目表",
datedelivered: "交付日期",
duedate: "截止日期",
shippingmethodcode: "送货方式",
paymenttermscode: "付款条件",
description: "说明",
totallineitemamount: "明细金额总计",
discountpercentage: "发票折扣(%)",
discountamount: "发票折扣金额",
totalamountlessfreight: "折后金额总计",
freightamount: "运费金额",
totalamount: "总金额",
opportunityname: "商机",
salesordername: "订单",
customerid: "客户",
billto_country: "国家/地区",
billto_stateorprovince: "省/市/自治区",
billto_city: "市/县",
billto_line1: "街道",
salesorderid: "订单",
transactioncurrencyid: "货币",
opportunityid: "商机",
pricelevelid: "价目表",
invoiceid: "发票",
},
uiactions: {
},
},
main_grid: {
columns: {
invoicename: "发票名称",
......
......@@ -98,10 +98,26 @@ export default {
caption: "发票",
title: "发票编辑视图",
},
quickcreateview: {
caption: "发票",
title: "快速新建",
},
summaryview: {
caption: "发票",
title: "发票数据看板视图",
},
infoview: {
caption: "发票",
title: "发票信息",
},
gridview: {
caption: "发票",
title: "发票表格视图",
},
info_invoiceview: {
caption: "发票",
title: "发票编辑视图",
},
},
main_form: {
details: {
......@@ -127,6 +143,76 @@ export default {
uiactions: {
},
},
quickcreate_form: {
details: {
group1: "发票基本信息",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "发票",
srfmajortext: "发票名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
invoicenumber: "发票编码",
invoicename: "发票名称",
transactioncurrencyname: "货币",
pricelevelname: "价目表",
transactioncurrencyid: "货币",
pricelevelid: "价目表",
invoiceid: "发票",
},
uiactions: {
},
},
info_form: {
details: {
group1: "发票基本信息",
grouppanel1: "详细信息",
grouppanel3: "发票金额",
grouppanel2: "销售信息",
grouppanel4: "帐单地址",
formpage1: "基本信息",
srfupdatedate: "更新时间",
srforikey: "",
srfkey: "发票",
srfmajortext: "发票名称",
srftempmode: "",
srfuf: "",
srfdeid: "",
srfsourcekey: "",
invoicenumber: "发票编码",
invoicename: "发票名称",
transactioncurrencyname: "货币",
pricelevelname: "价目表",
datedelivered: "交付日期",
duedate: "截止日期",
shippingmethodcode: "送货方式",
paymenttermscode: "付款条件",
description: "说明",
totallineitemamount: "明细金额总计",
discountpercentage: "发票折扣(%)",
discountamount: "发票折扣金额",
totalamountlessfreight: "折后金额总计",
freightamount: "运费金额",
totalamount: "总金额",
opportunityname: "商机",
salesordername: "订单",
customerid: "客户",
billto_country: "国家/地区",
billto_stateorprovince: "省/市/自治区",
billto_city: "市/县",
billto_line1: "街道",
salesorderid: "订单",
transactioncurrencyid: "货币",
opportunityid: "商机",
pricelevelid: "价目表",
invoiceid: "发票",
},
uiactions: {
},
},
main_grid: {
columns: {
invoicename: "发票名称",
......
......@@ -117,6 +117,10 @@ export default {
caption: "订单",
title: "订单数据看板视图",
},
pickupgridview: {
caption: "订单",
title: "订单选择表格视图",
},
gridview: {
caption: "订单",
title: "订单表格视图",
......@@ -127,7 +131,11 @@ export default {
},
quickcreateview: {
caption: "订单",
title: "订单选项操作视图",
title: "快速新建",
},
pickupview: {
caption: "订单",
title: "订单数据选择视图",
},
},
main_form: {
......
......@@ -116,6 +116,10 @@ export default {
caption: "订单",
title: "订单数据看板视图",
},
pickupgridview: {
caption: "订单",
title: "订单选择表格视图",
},
gridview: {
caption: "订单",
title: "订单表格视图",
......@@ -126,7 +130,11 @@ export default {
},
quickcreateview: {
caption: "订单",
title: "订单选项操作视图",
title: "快速新建",
},
pickupview: {
caption: "订单",
title: "订单数据选择视图",
},
},
main_form: {
......
......@@ -2662,6 +2662,83 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
},
]
},
{
srfkey: 'Invoice__ShippingMethodCode',
emptytext: '未定义',
"codelisttype":"static",
items: [
{
id: '2',
label: "DHL",
text: "DHL",
"data":"",
"codename":"Item_2",
value: '2',
disabled: false,
},
{
id: '3',
label: "FedEx",
text: "FedEx",
"data":"",
"codename":"Item_3",
value: '3',
disabled: false,
},
{
id: '6',
label: "Full Load",
text: "Full Load",
"data":"",
"codename":"Item_6",
value: '6',
disabled: false,
},
{
id: '4',
label: "UPS",
text: "UPS",
"data":"",
"codename":"Item_4",
value: '4',
disabled: false,
},
{
id: '7',
label: "Will Call",
text: "Will Call",
"data":"",
"codename":"Item_7",
value: '7',
disabled: false,
},
{
id: '1',
label: "航空运输",
text: "航空运输",
"data":"",
"codename":"Item_1",
value: '1',
disabled: false,
},
{
id: '5',
label: "邮递",
text: "邮递",
"data":"",
"codename":"Item_5",
value: '5',
disabled: false,
},
]
},
{
srfkey: 'Lead__StatusCode',
emptytext: '未定义',
......@@ -2739,6 +2816,53 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
},
]
},
{
srfkey: 'Invoice__PaymentTermsCode',
emptytext: '未定义',
"codelisttype":"static",
items: [
{
id: '2',
label: "2/10 N30",
text: "2/10 N30",
"data":"",
"codename":"Item_2",
value: '2',
disabled: false,
},
{
id: '1',
label: "N30",
text: "N30",
"data":"",
"codename":"Item_1",
value: '1',
disabled: false,
},
{
id: '3',
label: "N45",
text: "N45",
"data":"",
"codename":"Item_3",
value: '3',
disabled: false,
},
{
id: '4',
label: "N60",
text: "N60",
"data":"",
"codename":"Item_4",
value: '4',
disabled: false,
},
]
},
{
srfkey: 'Account__PreferredContactMethodCode',
emptytext: '未定义',
......
import qs from 'qs';
import { MockAdapter } from '@/mock/mock-adapter';
const mock = MockAdapter.getInstance();
// 模拟数据
const mockDatas: Array<any> = [
];
//getwflink
mock.onGet(new RegExp(/^\/wfcore\/ibizbusinesscentral-app-crm\/invoicedetails\/[a-zA-Z0-9\-\;]+\/usertasks\/[a-zA-Z0-9\-\;]+\/ways$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: getwflink");
console.table({url:config.url, method: config.method, data:config.data});
console.groupEnd();
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, {}];
}
return [status,[
{"sequenceFlowId":"dfdsfdsfdsfdsfds","sequenceFlowName":"同意",
"taskId":"aaaaddddccccddddd","processDefinitionKey":"support-workorders-approve-v1",
"processInstanceId":"ddlfldldfldsfds","refViewKey":""},
{"sequenceFlowId":"ddssdfdfdfdfsfdf","sequenceFlowName":"不同意",
"taskId":"aaaaddddccccddddd","processDefinitionKey":"support-workorders-approve-v1",
"processInstanceId":"ddfdsldlfdlldsf","refViewKey":"workorder_ltform_editview"}
]];
});
// getwfstep
mock.onGet(new RegExp(/^\/wfcore\/ibizbusinesscentral-app-crm\/invoicedetails\/process-definitions-nodes$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: getwfstep");
console.table({url:config.url, method: config.method, data:config.data});
console.groupEnd();
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, {}];
}
return [status, [
{"userTaskId":"sddfddfd-dfdf-fdfd-fdf-dfdfd",
"userTaskName":"待审",
"cnt":0,
"processDefinitionKey":"support-workorders-approve-v1",
"processDefinitionName":"工单审批流程v1"
},
{"userTaskId":"sddfddfd-dfdf-fdfd-fdf-87927",
"userTaskName":"待分配",
"cnt":3,
"processDefinitionKey":"support-workorders-approve-v1",
"processDefinitionName":"工单审批流程v1"}
]];
});
// createBatch
mock.onPost(new RegExp(/^\/invoicedetails\/batch$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: createBatch");
console.table({url:config.url, method: config.method, data:config.data});
console.groupEnd();
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, {}];
}
return [status, {}];
});
// updateBatch
mock.onPut(new RegExp(/^\/invoicedetails\/batch$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: updateBatch");
console.table({url:config.url, method: config.method, data:config.data});
console.groupEnd();
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, {}];
}
return [status, {}];
});
// removeBatch
mock.onDelete(new RegExp(/^\/invoicedetails\/batch$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: removeBatch");
console.table({url:config.url, method: config.method, data:config.data});
console.groupEnd();
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, {}];
}
return [status, {}];
});
// Select
mock.onGet(new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})\/select$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: Select");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoiceid','invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})\/select$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
let items = mockDatas ? mockDatas : [];
let _items = items.find((item: any) => Object.is(item.invoicedetailid, tempValue.invoicedetailid));
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(_items);
console.groupEnd();
console.groupEnd();
return [status, _items];
});
// Select
mock.onGet(new RegExp(/^\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})\/select$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: Select");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})\/select$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
let items = mockDatas ? mockDatas : [];
let _items = items.find((item: any) => Object.is(item.invoicedetailid, tempValue.invoicedetailid));
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(_items);
console.groupEnd();
console.groupEnd();
return [status, _items];
});
// CheckKey
mock.onPost(new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})\/checkkey$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: CheckKey");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoiceid','invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})\/checkkey$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table({});
console.groupEnd();
console.groupEnd();
return [status, {}];
});
// CheckKey
mock.onPost(new RegExp(/^\/invoicedetails\/?([a-zA-Z0-9\-\;]{0,35})\/checkkey$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: CheckKey");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})\/checkkey$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.invoicedetailid, tempValue.invoicedetailid));
let data = JSON.parse(config.data);
mockDatas.forEach((item)=>{
if(item['invoicedetailid'] == tempValue['invoicedetailid'] ){
for(let value in data){
if(item.hasOwnProperty(value)){
item[value] = data[value];
}
}
}
})
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(data);
console.groupEnd();
console.groupEnd();
return [status, data];
});
// Update
mock.onPut(new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: Update");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoiceid','invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table({});
console.groupEnd();
console.groupEnd();
return [status, {}];
});
// Update
mock.onPut(new RegExp(/^\/invoicedetails\/?([a-zA-Z0-9\-\;]{0,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: Update");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.invoicedetailid, tempValue.invoicedetailid));
let data = JSON.parse(config.data);
mockDatas.forEach((item)=>{
if(item['invoicedetailid'] == tempValue['invoicedetailid'] ){
for(let value in data){
if(item.hasOwnProperty(value)){
item[value] = data[value];
}
}
}
})
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(data);
console.groupEnd();
console.groupEnd();
return [status, data];
});
// Create
mock.onPost(new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: Create");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoiceid','invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table({});
console.groupEnd();
console.groupEnd();
return [status, {}];
});
// Create
mock.onPost(new RegExp(/^\/invoicedetails\/?([a-zA-Z0-9\-\;]{0,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: Create");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(mockDatas[0]);
console.groupEnd();
console.groupEnd();
return [status, mockDatas[0]];
});
// GetDraft
mock.onGet(new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/getdraft$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: GetDraft");
console.table({url:config.url, method: config.method, data:config.data});
// GetDraft
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table({});
console.groupEnd();
console.groupEnd();
return [status, {}];
});
// GetDraft
mock.onGet(new RegExp(/^\/invoicedetails\/getdraft$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: GetDraft");
console.table({url:config.url, method: config.method, data:config.data});
// GetDraft
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table({});
console.groupEnd();
console.groupEnd();
return [status, {}];
});
// Save
mock.onPost(new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})\/save$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: Save");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoiceid','invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})\/save$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table({});
console.groupEnd();
console.groupEnd();
return [status, {}];
});
// Save
mock.onPost(new RegExp(/^\/invoicedetails\/?([a-zA-Z0-9\-\;]{0,35})\/save$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: Save");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})\/save$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
//let items = mockDatas ? mockDatas : [];
//let _items = items.find((item: any) => Object.is(item.invoicedetailid, tempValue.invoicedetailid));
let data = JSON.parse(config.data);
mockDatas.forEach((item)=>{
if(item['invoicedetailid'] == tempValue['invoicedetailid'] ){
for(let value in data){
if(item.hasOwnProperty(value)){
item[value] = data[value];
}
}
}
})
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(data);
console.groupEnd();
console.groupEnd();
return [status, data];
});
// FetchDefault
mock.onGet(new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/fetchdefault$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoiceid'];
let tempValue: any = {};
const matchArray:any = new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/fetchdefault$/).exec(config.url);
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
let items = mockDatas ? mockDatas : [];
if (items.length > 0 && paramArray.length > 0) {
paramArray.forEach((paramkey: any) => {
if (tempValue[paramkey] && tempValue[paramkey].indexOf(";") > 0) {
let keysGrounp: Array<any> = tempValue[paramkey].split(new RegExp(/[\;]/));
let tempArray: Array<any> = [];
keysGrounp.forEach((singlekey: any) => {
let _items = items.filter((item: any) => { return item[paramkey] == singlekey });
if(_items.length >0){
tempArray.push(..._items);
}
})
items = tempArray;
} else {
items = items.filter((item: any) => { return item[paramkey] == tempValue[paramkey] });
}
})
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(items);
console.groupEnd();
console.groupEnd();
return [status, items];
});
// FetchDefault
mock.onGet(new RegExp(/^\/invoicedetails\/fetchdefault$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(mockDatas);
console.groupEnd();
console.groupEnd();
return [status, mockDatas ? mockDatas : []];
});
// FetchDefault
mock.onGet(new RegExp(/^\/invoicedetails\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
let url = config.url.split('?')[1];
let params = qs.parse(url);
Object.assign(config, params);
}
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
let total = mockDatas.length;
let records: Array<any> = [];
if(!config.page || !config.size){
records = mockDatas;
}else{
if((config.page-1)*config.size < total){
records = mockDatas.slice(config.page,config.size);
}
}
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(records ? records : []);
console.groupEnd();
console.groupEnd();
return [status, records ? records : []];
});
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// URI参数传递情况未实现
// Get
mock.onGet(new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: Get");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoiceid','invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
let items = mockDatas ? mockDatas : [];
let _items = items.find((item: any) => Object.is(item.invoicedetailid, tempValue.invoicedetailid));
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(_items?_items:{});
console.groupEnd();
console.groupEnd();
return [status, _items?_items:{}];
});
// Get
mock.onGet(new RegExp(/^\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: Get");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
let items = mockDatas ? mockDatas : [];
let _items = items.find((item: any) => Object.is(item.invoicedetailid, tempValue.invoicedetailid));
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(_items?_items:{});
console.groupEnd();
console.groupEnd();
return [status, _items?_items:{}];
});
// Remove
mock.onDelete(new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: Remove");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoiceid','invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoices\/([a-zA-Z0-9\-\;]{1,35})\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
let items = mockDatas ? mockDatas : [];
let _items = items.find((item: any) => Object.is(item.invoicedetailid, tempValue.invoicedetailid));
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(_items?_items:{});
console.groupEnd();
console.groupEnd();
return [status, _items?_items:{}];
});
// Remove
mock.onDelete(new RegExp(/^\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/)).reply((config: any) => {
console.groupCollapsed("实体:invoicedetail 方法: Remove");
console.table({url:config.url, method: config.method, data:config.data});
let status = MockAdapter.mockStatus(config);
if (status !== 200) {
return [status, null];
}
const paramArray:Array<any> = ['invoicedetailid'];
const matchArray:any = new RegExp(/^\/invoicedetails\/([a-zA-Z0-9\-\;]{1,35})$/).exec(config.url);
let tempValue: any = {};
if(matchArray && matchArray.length >1 && paramArray && paramArray.length >0){
paramArray.forEach((item: any, index: number) => {
Object.defineProperty(tempValue, item, {
enumerable: true,
value: matchArray[index + 1]
});
});
}
let items = mockDatas ? mockDatas : [];
let _items = items.find((item: any) => Object.is(item.invoicedetailid, tempValue.invoicedetailid));
console.groupCollapsed("response数据 status: "+status+" data: ");
console.table(_items?_items:{});
console.groupEnd();
console.groupEnd();
return [status, _items?_items:{}];
});
......@@ -12,6 +12,7 @@ import './entity/campaign-lists/campaign-lists';
import './entity/tasks/tasks';
import './entity/letters/letters';
import './entity/price-levels/price-levels';
import './entity/invoice-details/invoice-details';
import './entity/emails/emails';
import './entity/service-appointments/service-appointments';
import './entity/uoms/uoms';
......
......@@ -95,6 +95,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "QuoteDetailEditView",
"viewtag": "0f4dc7da727ad15a2cad62fe966a633c"
},
"invoicequickcreateview": {
"title": "快速新建",
"caption": "发票",
"viewtype": "DEOPTVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceQuickCreateView",
"viewtag": "0fc09bf520af62b4d89aef845fc72636"
},
"salesordereditview": {
"title": "订单编辑视图",
"caption": "订单",
......@@ -231,6 +239,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ContactInfo_Book",
"viewtag": "2b787c59ba090b37b9a1ba8f8ba045b4"
},
"invoicedetailinvoiceprogridview": {
"title": "发票产品表格视图",
"caption": "发票产品",
"viewtype": "DEGRIDVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceDetailInvoiceProGridView",
"viewtag": "2bb0e34c7ae753e03404e4d96b17e90c"
},
"listleadbylist": {
"title": "营销列表-潜在客户(根据营销列表)",
"caption": "潜在客户",
......@@ -399,6 +415,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ListAccountByList",
"viewtag": "4799b0e7139b537ebe9313a004daa0ac"
},
"invoicedetaileditview": {
"title": "发票产品编辑视图",
"caption": "发票产品",
"viewtype": "DEEDITVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceDetailEditView",
"viewtag": "485d1a17354fe57fd79dde512adb715b"
},
"listaccounteditview": {
"title": "营销列表-账户编辑视图",
"caption": "营销列表-账户",
......@@ -631,6 +655,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ContactEditAddress",
"viewtag": "75b6e6474d2b1adcae64bafd60edb618"
},
"invoicesummaryview": {
"title": "发票数据看板视图",
"caption": "发票",
"viewtype": "DEPORTALVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceSummaryView",
"viewtag": "77ef5d53fe0cadbe03c9d2f9d25c804b"
},
"goaleditview": {
"title": "目标编辑视图",
"caption": "目标",
......@@ -975,6 +1007,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "ListContactInner",
"viewtag": "aaa875342bd9286a39c2d193a150afc4"
},
"invoiceinfoview": {
"title": "发票信息",
"caption": "发票",
"viewtype": "DETABEXPVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceInfoView",
"viewtag": "ab653866ca40a1cefde21241ac5ba44c"
},
"competitorinfo": {
"title": "竞争对手",
"caption": "竞争对手",
......@@ -1111,6 +1151,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "OpportunityInfo_Product",
"viewtag": "c74c14188b89f72079643170a83c25f5"
},
"salesorderpickupgridview": {
"title": "订单选择表格视图",
"caption": "订单",
"viewtype": "DEPICKUPGRIDVIEW",
"viewmodule": "Sales",
"viewname": "SalesOrderPickupGridView",
"viewtag": "c78a9fa4a75c9a957de0bacd4c0c911c"
},
"listcontacteditview": {
"title": "营销列表-联系人编辑视图",
"caption": "营销列表-联系人",
......@@ -1175,6 +1223,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "InvoiceGridView",
"viewtag": "e0aef8c0d1f1ae28f628a0541b118961"
},
"invoiceinfo_invoiceview": {
"title": "发票编辑视图",
"caption": "发票",
"viewtype": "DEEDITVIEW",
"viewmodule": "Finance",
"viewname": "InvoiceInfo_InvoiceView",
"viewtag": "e167550b61bf1bd019a8e522b8fccc21"
},
"accountinfo_contactsetting": {
"title": "客户编辑视图",
"caption": "客户",
......@@ -1224,7 +1280,7 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewtag": "e7ed63c9b06815f5310c4fff23b93c8b"
},
"salesorderquickcreateview": {
"title": "订单选项操作视图",
"title": "快速新建",
"caption": "订单",
"viewtype": "DEOPTVIEW",
"viewmodule": "Sales",
......@@ -1247,6 +1303,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "CampaignInfo_Schedule",
"viewtag": "f63525be2835a01da997d7f059efb09f"
},
"salesorderpickupview": {
"title": "订单数据选择视图",
"caption": "订单",
"viewtype": "DEPICKUPVIEW",
"viewmodule": "Sales",
"viewname": "SalesOrderPickupView",
"viewtag": "f6f91153f3caa976cf7f552636f7e012"
},
"taskeditview": {
"title": "任务编辑视图",
"caption": "任务",
......
<studio-view-style2 viewName="opportunityinfo_abstract" viewTitle="商机编辑视图" class='deeditview opportunity-info-abstract'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
<view_form
:viewState="viewState"
:viewparams="viewparams"
......
......@@ -4,7 +4,7 @@ import SalesOrderService from '@/service/sales-order/sales-order-service';
import OptionViewEngine from '@engine/view/option-view-engine';
/**
* 订单选项操作视图视图基类
* 快速新建视图基类
*
* @export
* @class SalesOrderQuickCreateViewBase
......
<studio-view-style2 viewName="salesorderquickcreateview" viewTitle="订单选项操作视图" class='deoptview sales-order-quick-create-view'>
<studio-view-style2 viewName="salesorderquickcreateview" viewTitle="快速新建" class='deoptview sales-order-quick-create-view'>
<template slot='title'>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</template>
......
......@@ -6,7 +6,7 @@ import { SalesOrderQuickCreateViewBase } from './sales-order-quick-create-view-b
import view_form from '@widgets/sales-order/quick-create-form/quick-create-form.vue';
/**
* 订单选项操作视图视图
* 快速新建视图
*
* @export
* @class SalesOrderQuickCreateView
......
......@@ -44,6 +44,7 @@ export class EntityServiceRegister {
this.allEntityService.set('task', () => import('@/service/task/task-service'));
this.allEntityService.set('letter', () => import('@/service/letter/letter-service'));
this.allEntityService.set('pricelevel', () => import('@/service/price-level/price-level-service'));
this.allEntityService.set('invoicedetail', () => import('@/service/invoice-detail/invoice-detail-service'));
this.allEntityService.set('email', () => import('@/service/email/email-service'));
this.allEntityService.set('serviceappointment', () => import('@/service/service-appointment/service-appointment-service'));
this.allEntityService.set('uom', () => import('@/service/uom/uom-service'));
......
import { Http,Util } from '@/utils';
import EntityService from '../entity-service';
/**
* 发票产品服务对象基类
*
* @export
* @class InvoiceDetailServiceBase
* @extends {EntityServie}
*/
export default class InvoiceDetailServiceBase extends EntityService {
/**
* Creates an instance of InvoiceDetailServiceBase.
*
* @param {*} [opts={}]
* @memberof InvoiceDetailServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 初始化基础数据
*
* @memberof InvoiceDetailServiceBase
*/
public initBasicData(){
this.APPLYDEKEY ='invoicedetail';
this.APPDEKEY = 'invoicedetailid';
this.APPDENAME = 'invoicedetails';
this.APPDETEXT = 'invoicedetailname';
this.APPNAME = 'crm';
this.SYSTEMNAME = 'ibizbusinesscentral';
}
// 实体接口
/**
* Select接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async Select(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && context.invoicedetail){
return Http.getInstance().get(`/invoices/${context.invoice}/invoicedetails/${context.invoicedetail}/select`,isloading);
}
return Http.getInstance().get(`/invoicedetails/${context.invoicedetail}/select`,isloading);
}
/**
* CheckKey接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async CheckKey(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && context.invoicedetail){
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/invoices/${context.invoice}/invoicedetails/${context.invoicedetail}/checkkey`,data,isloading);
return res;
}
return Http.getInstance().post(`/invoicedetails/${context.invoicedetail}/checkkey`,data,isloading);
}
/**
* Get接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async Get(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && context.invoicedetail){
let res:any = await Http.getInstance().get(`/invoices/${context.invoice}/invoicedetails/${context.invoicedetail}`,isloading);
return res;
}
let res:any = await Http.getInstance().get(`/invoicedetails/${context.invoicedetail}`,isloading);
return res;
}
/**
* Update接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async Update(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && context.invoicedetail){
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().put(`/invoices/${context.invoice}/invoicedetails/${context.invoicedetail}`,data,isloading);
return res;
}
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().put(`/invoicedetails/${context.invoicedetail}`,data,isloading);
return res;
}
/**
* Create接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async Create(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && true){
let masterData:any = {};
Object.assign(data,masterData);
if(!data.srffrontuf || data.srffrontuf !== "1"){
data[this.APPDEKEY] = null;
}
if(data.srffrontuf){
delete data.srffrontuf;
}
let tempContext:any = JSON.parse(JSON.stringify(context));
let res:any = await Http.getInstance().post(`/invoices/${context.invoice}/invoicedetails`,data,isloading);
return res;
}
let masterData:any = {};
Object.assign(data,masterData);
if(!data.srffrontuf || data.srffrontuf !== "1"){
data[this.APPDEKEY] = null;
}
if(data.srffrontuf){
delete data.srffrontuf;
}
let tempContext:any = JSON.parse(JSON.stringify(context));
let res:any = await Http.getInstance().post(`/invoicedetails`,data,isloading);
return res;
}
/**
* GetDraft接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async GetDraft(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && true){
let res:any = await Http.getInstance().get(`/invoices/${context.invoice}/invoicedetails/getdraft`,isloading);
res.data.invoicedetail = data.invoicedetail;
return res;
}
let res:any = await Http.getInstance().get(`/invoicedetails/getdraft`,isloading);
res.data.invoicedetail = data.invoicedetail;
return res;
}
/**
* Save接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async Save(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && context.invoicedetail){
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/invoices/${context.invoice}/invoicedetails/${context.invoicedetail}/save`,data,isloading);
return res;
}
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/invoicedetails/${context.invoicedetail}/save`,data,isloading);
return res;
}
/**
* Remove接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async Remove(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && context.invoicedetail){
return Http.getInstance().delete(`/invoices/${context.invoice}/invoicedetails/${context.invoicedetail}`,isloading);
}
return Http.getInstance().delete(`/invoicedetails/${context.invoicedetail}`,isloading);
}
/**
* FetchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof InvoiceDetailServiceBase
*/
public async FetchDefault(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
if(context.invoice && true){
let tempData:any = JSON.parse(JSON.stringify(data));
return Http.getInstance().get(`/invoices/${context.invoice}/invoicedetails/fetchdefault`,tempData,isloading);
}
let tempData:any = JSON.parse(JSON.stringify(data));
return Http.getInstance().get(`/invoicedetails/fetchdefault`,tempData,isloading);
}
}
\ No newline at end of file
import { Http,Util } from '@/utils';
import InvoiceDetailServiceBase from './invoice-detail-service-base';
/**
* 发票产品服务对象
*
* @export
* @class InvoiceDetailService
* @extends {InvoiceDetailServiceBase}
*/
export default class InvoiceDetailService extends InvoiceDetailServiceBase {
/**
* Creates an instance of InvoiceDetailService.
*
* @param {*} [opts={}]
* @memberof InvoiceDetailService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
......@@ -62,6 +62,21 @@ export default class InvoiceServiceBase extends EntityService {
*/
public async Create(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
let invoicedetailsData:any = [];
if(!Object.is(this.tempStorage.getItem(context.srfsessionkey+'_invoicedetails'),'undefined')){
invoicedetailsData = JSON.parse(this.tempStorage.getItem(context.srfsessionkey+'_invoicedetails') as any);
if(invoicedetailsData && invoicedetailsData.length && invoicedetailsData.length > 0){
invoicedetailsData.forEach((item:any) => {
if(item.srffrontuf){
if(Object.is(item.srffrontuf,"0")){
item.invoicedetailid = null;
}
delete item.srffrontuf;
}
});
}
}
masterData.invoicedetails = invoicedetailsData;
Object.assign(data,masterData);
if(!data.srffrontuf || data.srffrontuf !== "1"){
data[this.APPDEKEY] = null;
......@@ -71,6 +86,7 @@ export default class InvoiceServiceBase extends EntityService {
}
let tempContext:any = JSON.parse(JSON.stringify(context));
let res:any = await Http.getInstance().post(`/invoices`,data,isloading);
this.tempStorage.setItem(tempContext.srfsessionkey+'_invoicedetails',JSON.stringify(res.data.invoicedetails));
return res;
}
......@@ -86,6 +102,7 @@ export default class InvoiceServiceBase extends EntityService {
public async GetDraft(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/invoices/getdraft`,isloading);
res.data.invoice = data.invoice;
this.tempStorage.setItem(context.srfsessionkey+'_invoicedetails',JSON.stringify(res.data.invoicedetails));
return res;
}
......@@ -100,8 +117,24 @@ export default class InvoiceServiceBase extends EntityService {
*/
public async Update(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
let invoicedetailsData:any = [];
if(!Object.is(this.tempStorage.getItem(context.srfsessionkey+'_invoicedetails'),'undefined')){
invoicedetailsData = JSON.parse(this.tempStorage.getItem(context.srfsessionkey+'_invoicedetails') as any);
if(invoicedetailsData && invoicedetailsData.length && invoicedetailsData.length > 0){
invoicedetailsData.forEach((item:any) => {
if(item.srffrontuf){
if(Object.is(item.srffrontuf,"0")){
item.invoicedetailid = null;
}
delete item.srffrontuf;
}
});
}
}
masterData.invoicedetails = invoicedetailsData;
Object.assign(data,masterData);
let res:any = await Http.getInstance().put(`/invoices/${context.invoice}`,data,isloading);
this.tempStorage.setItem(context.srfsessionkey+'_invoicedetails',JSON.stringify(res.data.invoicedetails));
return res;
}
......@@ -142,8 +175,24 @@ export default class InvoiceServiceBase extends EntityService {
*/
public async Save(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
let invoicedetailsData:any = [];
if(!Object.is(this.tempStorage.getItem(context.srfsessionkey+'_invoicedetails'),'undefined')){
invoicedetailsData = JSON.parse(this.tempStorage.getItem(context.srfsessionkey+'_invoicedetails') as any);
if(invoicedetailsData && invoicedetailsData.length && invoicedetailsData.length > 0){
invoicedetailsData.forEach((item:any) => {
if(item.srffrontuf){
if(Object.is(item.srffrontuf,"0")){
item.invoicedetailid = null;
}
delete item.srffrontuf;
}
});
}
}
masterData.invoicedetails = invoicedetailsData;
Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/invoices/${context.invoice}/save`,data,isloading);
this.tempStorage.setItem(context.srfsessionkey+'_invoicedetails',JSON.stringify(res.data.invoicedetails));
return res;
}
......@@ -158,6 +207,7 @@ export default class InvoiceServiceBase extends EntityService {
*/
public async Get(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/invoices/${context.invoice}`,isloading);
this.tempStorage.setItem(context.srfsessionkey+'_invoicedetails',JSON.stringify(res.data.invoicedetails));
return res;
}
......
......@@ -174,8 +174,11 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'aa79d35850f36fbc1a5085353ecd5af5',
'66b3d6f7e15711b61132066ba3a95f91',
'c74c14188b89f72079643170a83c25f5',
'a95d7d9111bc13a8b73a11ee1e4ff92a',
'893e62d6fbdc4580de7e3e802aec9108',
'a5213905238dbc5d8e1a505029105cc9',
],
},
{
......
import { Environment } from '@/environments/environment';
import { UIActionTool,Util } from '@/utils';
import UIService from '../ui-service';
import { Subject } from 'rxjs';
import InvoiceDetailService from '@/service/invoice-detail/invoice-detail-service';
/**
* 发票产品UI服务对象基类
*
* @export
* @class InvoiceDetailUIServiceBase
*/
export default class InvoiceDetailUIServiceBase extends UIService {
/**
* 是否支持工作流
*
* @memberof InvoiceDetailUIServiceBase
*/
public isEnableWorkflow:boolean = false;
/**
* 当前UI服务对应的数据服务对象
*
* @memberof InvoiceDetailUIServiceBase
*/
public dataService:InvoiceDetailService = new InvoiceDetailService();
/**
* 所有关联视图
*
* @memberof InvoiceDetailUIServiceBase
*/
public allViewMap: Map<string, Object> = new Map();
/**
* 状态值
*
* @memberof InvoiceDetailUIServiceBase
*/
public stateValue: number = 0;
/**
* 状态属性
*
* @memberof InvoiceDetailUIServiceBase
*/
public stateField: string = "";
/**
* 主状态属性集合
*
* @memberof InvoiceDetailUIServiceBase
*/
public mainStateFields:Array<any> = [];
/**
* 主状态集合Map
*
* @memberof InvoiceDetailUIServiceBase
*/
public allDeMainStateMap:Map<string,string> = new Map();
/**
* Creates an instance of InvoiceDetailUIServiceBase.
*
* @param {*} [opts={}]
* @memberof InvoiceDetailUIServiceBase
*/
constructor(opts: any = {}) {
super(opts);
this.initViewMap();
this.initDeMainStateMap();
}
/**
* 初始化视图Map
*
* @memberof InvoiceDetailUIServiceBase
*/
public initViewMap(){
this.allViewMap.set(':',{viewname:'invoiceprogridview',srfappde:'invoicedetails'});
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'invoicedetails'});
}
/**
* 初始化主状态集合
*
* @memberof InvoiceDetailUIServiceBase
*/
public initDeMainStateMap(){
}
/**
* 获取指定数据的重定向页面
*
* @param srfkey 数据主键
* @param isEnableWorkflow 重定向视图是否需要处理流程中的数据
* @memberof InvoiceDetailUIServiceBase
*/
public async getRDAppView(srfkey:string,isEnableWorkflow:boolean){
this.isEnableWorkflow = isEnableWorkflow;
// 进行数据查询
let result:any = await this.dataService.Get({invoicedetail:srfkey});
const curData:any = result.data;
//判断当前数据模式,默认为true,todo
const iRealDEModel:boolean = true;
let bDataInWF:boolean = false;
let bWFMode:any = false;
// 计算数据模式
if (this.isEnableWorkflow) {
bDataInWF = await this.dataService.testDataInWF({stateValue:this.stateValue,stateField:this.stateField},curData);
if (bDataInWF) {
bDataInWF = true;
bWFMode = await this.dataService.testUserExistWorklist(null,curData);
}
}
let strPDTViewParam:string = await this.getDESDDEViewPDTParam(curData, bDataInWF, bWFMode);
//若不是当前数据模式,处理strPDTViewParam,todo
//查找视图
//返回视图
return this.allViewMap.get(strPDTViewParam);
}
/**
* 获取实际的数据类型
*
* @memberof InvoiceDetailUIServiceBase
*/
public getRealDEType(entity:any){
}
/**
* 获取实体单数据实体视图预定义参数
*
* @param curData 当前数据
* @param bDataInWF 是否有数据在工作流中
* @param bWFMode 是否工作流模式
* @memberof InvoiceDetailUIServiceBase
*/
public async getDESDDEViewPDTParam(curData:any, bDataInWF:boolean, bWFMode:boolean){
let strPDTParam:string = '';
if (bDataInWF) {
// 判断数据是否在流程中
}
//多表单,todo
const isEnableMultiForm:boolean = false;
const multiFormDEField:string|null =null;
if (isEnableMultiForm && multiFormDEField) {
const objFormValue:string = curData[multiFormDEField];
if(!Environment.isAppMode){
return 'MOBEDITVIEW'+objFormValue;
}
return 'EDITVIEW'+objFormValue;
}
if(!Environment.isAppMode){
if(this.getDEMainStateTag(curData)){
return `MOBEDITVIEW:MSTAG:${ await this.getDEMainStateTag(curData)}`;
}
return 'MOBEDITVIEW:';
}
if(this.getDEMainStateTag(curData)){
return `EDITVIEW:MSTAG:${ await this.getDEMainStateTag(curData)}`;
}
return 'EDITVIEW:';
}
/**
* 获取数据对象的主状态标识
*
* @param curData 当前数据
* @memberof InvoiceDetailUIServiceBase
*/
public async getDEMainStateTag(curData:any){
if(this.mainStateFields.length === 0) return null;
this.mainStateFields.forEach((singleMainField:any) =>{
if(!(singleMainField in curData)){
console.error(`当前数据对象不包含属性singleMainField,可能会发生错误`);
}
})
let strTag:String = "";
for (let i = 0; i <= 1; i++) {
let strTag:string = (curData[this.mainStateFields[0]])?(i == 0) ? curData[this.mainStateFields[0]] : "":"";
if (this.mainStateFields.length >= 2) {
for (let j = 0; j <= 1; j++) {
let strTag2:string = (curData[this.mainStateFields[1]])?`${strTag}__${(j == 0) ? curData[this.mainStateFields[1]] : ""}`:strTag;
if (this.mainStateFields.length >= 3) {
for (let k = 0; k <= 1; k++) {
let strTag3:string = (curData[this.mainStateFields[2]])?`${strTag2}__${(k == 0) ? curData[this.mainStateFields[2]] : ""}`:strTag2;
// 判断是否存在
return this.allDeMainStateMap.get(strTag3);
}
}else{
return this.allDeMainStateMap.get(strTag2);
}
}
}else{
return this.allDeMainStateMap.get(strTag);
}
}
return null;
}
}
\ No newline at end of file
import InvoiceDetailUIServiceBase from './invoice-detail-ui-service-base';
/**
* 发票产品UI服务对象
*
* @export
* @class InvoiceDetailUIService
*/
export default class InvoiceDetailUIService extends InvoiceDetailUIServiceBase {
/**
* Creates an instance of InvoiceDetailUIService.
*
* @param {*} [opts={}]
* @memberof InvoiceDetailUIService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
......@@ -80,7 +80,11 @@ export default class InvoiceUIServiceBase extends UIService {
*/
public initViewMap(){
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'quickcreateview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'summaryview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'infoview',srfappde:'invoices'});
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'invoices'});
this.allViewMap.set(':',{viewname:'info_invoiceview',srfappde:'invoices'});
}
/**
......
......@@ -82,9 +82,11 @@ export default class SalesOrderUIServiceBase extends UIService {
this.allViewMap.set('EDITVIEW:',{viewname:'editview',srfappde:'salesorders'});
this.allViewMap.set(':',{viewname:'infoview',srfappde:'salesorders'});
this.allViewMap.set(':',{viewname:'summaryview',srfappde:'salesorders'});
this.allViewMap.set(':',{viewname:'pickupgridview',srfappde:'salesorders'});
this.allViewMap.set('MDATAVIEW:',{viewname:'gridview',srfappde:'salesorders'});
this.allViewMap.set(':',{viewname:'info_soview',srfappde:'salesorders'});
this.allViewMap.set(':',{viewname:'quickcreateview',srfappde:'salesorders'});
this.allViewMap.set('PICKUPVIEW:',{viewname:'pickupview',srfappde:'salesorders'});
}
/**
......
......@@ -44,6 +44,7 @@ export class UIServiceRegister {
this.allUIService.set('task', () => import('@/uiservice/task/task-ui-service'));
this.allUIService.set('letter', () => import('@/uiservice/letter/letter-ui-service'));
this.allUIService.set('pricelevel', () => import('@/uiservice/price-level/price-level-ui-service'));
this.allUIService.set('invoicedetail', () => import('@/uiservice/invoice-detail/invoice-detail-ui-service'));
this.allUIService.set('email', () => import('@/uiservice/email/email-ui-service'));
this.allUIService.set('serviceappointment', () => import('@/uiservice/service-appointment/service-appointment-ui-service'));
this.allUIService.set('uom', () => import('@/uiservice/uom/uom-ui-service'));
......
......@@ -3,7 +3,7 @@
import { Component } from 'vue-property-decorator';
import { VueLifeCycleProcessing } from '@/studio-core';
import { AbstractInfoDashboardBase } from './abstract-info-dashboard-base';
import view_dashboard_sysportlet2 from '@widgets/opportunity/view-opp-pro-portlet/view-opp-pro-portlet.vue';
import view_dashboard_sysportlet2 from '@widgets/activity-pointer/list-by-parent-key-portlet/list-by-parent-key-portlet.vue';
import view_dashboard_sysportlet1 from '@widgets/opportunity/view-opp-abs-portlet/view-opp-abs-portlet.vue';
......
......@@ -27,6 +27,10 @@ zuul:
path: /pricelevels/**
serviceId: ibizbusinesscentral-centralapi
stripPrefix: false
invoicedetail:
path: /invoicedetails/**
serviceId: ibizbusinesscentral-centralapi
stripPrefix: false
email:
path: /emails/**
serviceId: ibizbusinesscentral-centralapi
......
......@@ -129,13 +129,6 @@ public class InvoiceDetail extends EntityMP implements Serializable {
@JSONField(name = "parentbundleid")
@JsonProperty("parentbundleid")
private String parentbundleid;
/**
* Product Name
*/
@TableField(value = "productname")
@JSONField(name = "productname")
@JsonProperty("productname")
private String productname;
/**
* Import Sequence Number
*/
......@@ -545,6 +538,20 @@ public class InvoiceDetail extends EntityMP implements Serializable {
@JSONField(name = "uomid")
@JsonProperty("uomid")
private String uomid;
/**
* 产品名称
*/
@TableField(value = "productname")
@JSONField(name = "productname")
@JsonProperty("productname")
private String productname;
/**
* 计价单位
*/
@TableField(value = "uomname")
@JSONField(name = "uomname")
@JsonProperty("uomname")
private String uomname;
/**
*
......@@ -694,14 +701,6 @@ public class InvoiceDetail extends EntityMP implements Serializable {
this.modify("parentbundleid",parentbundleid);
}
/**
* 设置 [Product Name]
*/
public void setProductname(String productname){
this.productname = productname ;
this.modify("productname",productname);
}
/**
* 设置 [Import Sequence Number]
*/
......@@ -1120,6 +1119,22 @@ public class InvoiceDetail extends EntityMP implements Serializable {
this.modify("uomid",uomid);
}
/**
* 设置 [产品名称]
*/
public void setProductname(String productname){
this.productname = productname ;
this.modify("productname",productname);
}
/**
* 设置 [计价单位]
*/
public void setUomname(String uomname){
this.uomname = uomname ;
this.modify("uomname",uomname);
}
}
......
......@@ -118,6 +118,34 @@ public class InvoiceDetailSearchContext extends QueryWrapperContext<InvoiceDetai
this.getSearchCond().eq("uomid", n_uomid_eq);
}
}
private String n_productname_eq;//[产品名称]
public void setN_productname_eq(String n_productname_eq) {
this.n_productname_eq = n_productname_eq;
if(!ObjectUtils.isEmpty(this.n_productname_eq)){
this.getSearchCond().eq("productname", n_productname_eq);
}
}
private String n_productname_like;//[产品名称]
public void setN_productname_like(String n_productname_like) {
this.n_productname_like = n_productname_like;
if(!ObjectUtils.isEmpty(this.n_productname_like)){
this.getSearchCond().like("productname", n_productname_like);
}
}
private String n_uomname_eq;//[计价单位]
public void setN_uomname_eq(String n_uomname_eq) {
this.n_uomname_eq = n_uomname_eq;
if(!ObjectUtils.isEmpty(this.n_uomname_eq)){
this.getSearchCond().eq("uomname", n_uomname_eq);
}
}
private String n_uomname_like;//[计价单位]
public void setN_uomname_like(String n_uomname_like) {
this.n_uomname_like = n_uomname_like;
if(!ObjectUtils.isEmpty(this.n_uomname_like)){
this.getSearchCond().like("uomname", n_uomname_like);
}
}
/**
* 启用快速搜索
......
......@@ -84,6 +84,7 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I
@Override
@Transactional
public boolean update(InvoiceDetail et) {
fillParentData(et);
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("invoicedetailid",et.getInvoicedetailid())))
return false;
CachedBeanCopier.copy(get(et.getInvoicedetailid()),et);
......@@ -92,12 +93,14 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I
@Override
public void updateBatch(List<InvoiceDetail> list) {
list.forEach(item->fillParentData(item));
updateBatchById(list,batchSize);
}
@Override
@Transactional
public boolean create(InvoiceDetail et) {
fillParentData(et);
if(!this.retBool(this.baseMapper.insert(et)))
return false;
CachedBeanCopier.copy(get(et.getInvoicedetailid()),et);
......@@ -106,11 +109,13 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I
@Override
public void createBatch(List<InvoiceDetail> list) {
list.forEach(item->fillParentData(item));
this.saveBatch(list,batchSize);
}
@Override
public InvoiceDetail getDraft(InvoiceDetail et) {
fillParentData(et);
return et;
}
......@@ -136,12 +141,14 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I
@Override
public boolean saveBatch(Collection<InvoiceDetail> list) {
list.forEach(item->fillParentData(item));
saveOrUpdateBatch(list,batchSize);
return true;
}
@Override
public void saveBatch(List<InvoiceDetail> list) {
list.forEach(item->fillParentData(item));
saveOrUpdateBatch(list,batchSize);
}
......@@ -230,6 +237,32 @@ public class InvoiceDetailServiceImpl extends ServiceImpl<InvoiceDetailMapper, I
/**
* 为当前实体填充父数据(外键值文本、外键值附加数据)
* @param et
*/
private void fillParentData(InvoiceDetail et){
//实体关系[DER1N_INVOICEDETAIL__PRODUCT__PRODUCTID]
if(!ObjectUtils.isEmpty(et.getProductid())){
cn.ibizlab.businesscentral.core.product.domain.Product product=et.getProduct();
if(ObjectUtils.isEmpty(product)){
cn.ibizlab.businesscentral.core.product.domain.Product majorEntity=productService.get(et.getProductid());
et.setProduct(majorEntity);
product=majorEntity;
}
et.setProductname(product.getProductname());
}
//实体关系[DER1N_INVOICEDETAIL__UOM__UOMID]
if(!ObjectUtils.isEmpty(et.getUomid())){
cn.ibizlab.businesscentral.core.base.domain.Uom uom=et.getUom();
if(ObjectUtils.isEmpty(uom)){
cn.ibizlab.businesscentral.core.base.domain.Uom majorEntity=uomService.get(et.getUomid());
et.setUom(majorEntity);
uom=majorEntity;
}
et.setUomname(uom.getUomname());
}
}
......
......@@ -2418,7 +2418,7 @@
<!--输出实体[INVOICE]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-invoice-12-33">
<changeSet author="a_LAB01_e85d8801c" id="tab-invoice-30-33">
<createTable tableName="INVOICE">
<column name="BILLTO_LINE1" remarks="" type="VARCHAR(250)">
</column>
......@@ -2870,7 +2870,7 @@
<!--输出实体[INVOICEDETAIL]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-invoicedetail-4-40">
<changeSet author="a_LAB01_e85d8801c" id="tab-invoicedetail-16-40">
<createTable tableName="INVOICEDETAIL">
<column name="UPDATEDATE" remarks="" type="DATETIME">
</column>
......@@ -2896,8 +2896,6 @@
</column>
<column name="PARENTBUNDLEID" remarks="" type="VARCHAR(60)">
</column>
<column name="PRODUCTNAME" remarks="" type="VARCHAR(500)">
</column>
<column name="IMPORTSEQUENCENUMBER" remarks="" type="INT">
</column>
<column name="PROPERTYCONFIGURATIONSTATUS" remarks="" type="VARCHAR(30)">
......@@ -3009,6 +3007,10 @@
</column>
<column name="UOMID" remarks="" type="VARCHAR(60)">
</column>
<column name="PRODUCTNAME" remarks="" type="VARCHAR(100)">
</column>
<column name="UOMNAME" remarks="" type="VARCHAR(100)">
</column>
</createTable>
</changeSet>
......@@ -8557,7 +8559,7 @@
<!--输出实体[SALESORDER]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-salesorder-39-95">
<changeSet author="a_LAB01_e85d8801c" id="tab-salesorder-45-95">
<createTable tableName="SALESORDER">
<column name="ENTITYIMAGE" remarks="" type="VARCHAR(100)">
</column>
......@@ -10426,7 +10428,7 @@
<!--输出实体[OPPORTUNITY]数据结构 -->
<changeSet author="a_LAB01_e85d8801c" id="tab-opportunity-106-122">
<changeSet author="a_LAB01_e85d8801c" id="tab-opportunity-107-122">
<createTable tableName="OPPORTUNITY">
<column name="DECISIONMAKER" remarks="" type="INT">
</column>
......@@ -10975,19 +10977,19 @@
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="SLAKPIINSTANCE" constraintName="DER1N_SLAKPIINSTANCE__TRANSACT" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet>
<!--输出实体[INVOICE]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-invoice-12-190">
<changeSet author="a_LAB01_e85d8801c" id="fk-invoice-30-190">
<addForeignKeyConstraint baseColumnNames="OPPORTUNITYID" baseTableName="INVOICE" constraintName="DER1N_INVOICE__OPPORTUNITY__OP" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="OPPORTUNITYID" referencedTableName="OPPORTUNITY" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-invoice-12-191">
<changeSet author="a_LAB01_e85d8801c" id="fk-invoice-30-191">
<addForeignKeyConstraint baseColumnNames="PRICELEVELID" baseTableName="INVOICE" constraintName="DER1N_INVOICE__PRICELEVEL__PRI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="PRICELEVELID" referencedTableName="PRICELEVEL" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-invoice-12-192">
<changeSet author="a_LAB01_e85d8801c" id="fk-invoice-30-192">
<addForeignKeyConstraint baseColumnNames="SALESORDERID" baseTableName="INVOICE" constraintName="DER1N_INVOICE__SALESORDER__SAL" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SALESORDERID" referencedTableName="SALESORDER" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-invoice-12-193">
<changeSet author="a_LAB01_e85d8801c" id="fk-invoice-30-193">
<addForeignKeyConstraint baseColumnNames="SLAID" baseTableName="INVOICE" constraintName="DER1N_INVOICE__SLA__SLAID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAID" referencedTableName="SLA" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-invoice-12-194">
<changeSet author="a_LAB01_e85d8801c" id="fk-invoice-30-194">
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="INVOICE" constraintName="DER1N_INVOICE__TRANSACTIONCURR" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet>
<!--输出实体[TASK]外键关系 -->
......@@ -11021,22 +11023,22 @@
<addForeignKeyConstraint baseColumnNames="PRODUCTID" baseTableName="T_INVENTORY" constraintName="DER1N_INVENTORY_PRODUCT_PRODUC" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="PRODUCTID" referencedTableName="PRODUCT" validate="true"/>
</changeSet>
<!--输出实体[INVOICEDETAIL]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-invoicedetail-4-203">
<changeSet author="a_LAB01_e85d8801c" id="fk-invoicedetail-16-203">
<addForeignKeyConstraint baseColumnNames="PARENTBUNDLEIDREF" baseTableName="INVOICEDETAIL" constraintName="DER1N_INVOICEDETAIL__INVOICEDE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="INVOICEDETAILID" referencedTableName="INVOICEDETAIL" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-invoicedetail-4-204">
<changeSet author="a_LAB01_e85d8801c" id="fk-invoicedetail-16-204">
<addForeignKeyConstraint baseColumnNames="INVOICEID" baseTableName="INVOICEDETAIL" constraintName="DER1N_INVOICEDETAIL__INVOICE__" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="INVOICEID" referencedTableName="INVOICE" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-invoicedetail-4-205">
<changeSet author="a_LAB01_e85d8801c" id="fk-invoicedetail-16-205">
<addForeignKeyConstraint baseColumnNames="PRODUCTID" baseTableName="INVOICEDETAIL" constraintName="DER1N_INVOICEDETAIL__PRODUCT__" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="PRODUCTID" referencedTableName="PRODUCT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-invoicedetail-4-206">
<changeSet author="a_LAB01_e85d8801c" id="fk-invoicedetail-16-206">
<addForeignKeyConstraint baseColumnNames="SALESORDERDETAILID" baseTableName="INVOICEDETAIL" constraintName="DER1N_INVOICEDETAIL__SALESORDE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SALESORDERDETAILID" referencedTableName="SALESORDERDETAIL" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-invoicedetail-4-207">
<changeSet author="a_LAB01_e85d8801c" id="fk-invoicedetail-16-207">
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="INVOICEDETAIL" constraintName="DER1N_INVOICEDETAIL__TRANSACTI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-invoicedetail-4-208">
<changeSet author="a_LAB01_e85d8801c" id="fk-invoicedetail-16-208">
<addForeignKeyConstraint baseColumnNames="UOMID" baseTableName="INVOICEDETAIL" constraintName="DER1N_INVOICEDETAIL__UOM__UOMI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="UOMID" referencedTableName="UOM" validate="true"/>
</changeSet>
<!--输出实体[BOOKABLERES]外键关系 -->
......@@ -11484,22 +11486,22 @@
<addForeignKeyConstraint baseColumnNames="RESOURCECATEGORY" baseTableName="BOOKABLERESCATEGORYASSN" constraintName="DER1N_BOOKABLERESCATEGORYASSN_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="BOOKABLERESCATEGORYID" referencedTableName="BOOKABLERESCATEGORY" validate="true"/>
</changeSet>
<!--输出实体[SALESORDER]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-salesorder-39-360">
<changeSet author="a_LAB01_e85d8801c" id="fk-salesorder-45-360">
<addForeignKeyConstraint baseColumnNames="CAMPAIGNID" baseTableName="SALESORDER" constraintName="DER1N_SALESORDER__CAMPAIGN__CA" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CAMPAIGNID" referencedTableName="CAMPAIGN" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-salesorder-39-361">
<changeSet author="a_LAB01_e85d8801c" id="fk-salesorder-45-361">
<addForeignKeyConstraint baseColumnNames="OPPORTUNITYID" baseTableName="SALESORDER" constraintName="DER1N_SALESORDER__OPPORTUNITY_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="OPPORTUNITYID" referencedTableName="OPPORTUNITY" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-salesorder-39-362">
<changeSet author="a_LAB01_e85d8801c" id="fk-salesorder-45-362">
<addForeignKeyConstraint baseColumnNames="PRICELEVELID" baseTableName="SALESORDER" constraintName="DER1N_SALESORDER__PRICELEVEL__" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="PRICELEVELID" referencedTableName="PRICELEVEL" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-salesorder-39-363">
<changeSet author="a_LAB01_e85d8801c" id="fk-salesorder-45-363">
<addForeignKeyConstraint baseColumnNames="QUOTEID" baseTableName="SALESORDER" constraintName="DER1N_SALESORDER__QUOTE__QUOTE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="QUOTEID" referencedTableName="QUOTE" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-salesorder-39-364">
<changeSet author="a_LAB01_e85d8801c" id="fk-salesorder-45-364">
<addForeignKeyConstraint baseColumnNames="SLAID" baseTableName="SALESORDER" constraintName="DER1N_SALESORDER__SLA__SLAID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAID" referencedTableName="SLA" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-salesorder-39-365">
<changeSet author="a_LAB01_e85d8801c" id="fk-salesorder-45-365">
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="SALESORDER" constraintName="DER1N_SALESORDER__TRANSACTIONC" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet>
<!--输出实体[LEADADDRESS]外键关系 -->
......@@ -11649,25 +11651,25 @@
<!--输出实体[RELATIONSHIPS]外键关系 -->
<!--输出实体[CONNECTIONROLE]外键关系 -->
<!--输出实体[OPPORTUNITY]外键关系 -->
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-106-408">
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-107-408">
<addForeignKeyConstraint baseColumnNames="PARENTACCOUNTID" baseTableName="OPPORTUNITY" constraintName="DER1N_OPPORTUNITY__ACCOUNT__PA" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ACCOUNTID" referencedTableName="ACCOUNT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-106-409">
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-107-409">
<addForeignKeyConstraint baseColumnNames="CAMPAIGNID" baseTableName="OPPORTUNITY" constraintName="DER1N_OPPORTUNITY__CAMPAIGN__C" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CAMPAIGNID" referencedTableName="CAMPAIGN" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-106-410">
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-107-410">
<addForeignKeyConstraint baseColumnNames="PARENTCONTACTID" baseTableName="OPPORTUNITY" constraintName="DER1N_OPPORTUNITY__CONTACT__PA" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="CONTACTID" referencedTableName="CONTACT" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-106-411">
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-107-411">
<addForeignKeyConstraint baseColumnNames="ORIGINATINGLEADID" baseTableName="OPPORTUNITY" constraintName="DER1N_OPPORTUNITY__LEAD__ORIGI" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="LEADID" referencedTableName="LEAD" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-106-412">
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-107-412">
<addForeignKeyConstraint baseColumnNames="PRICELEVELID" baseTableName="OPPORTUNITY" constraintName="DER1N_OPPORTUNITY__PRICELEVEL_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="PRICELEVELID" referencedTableName="PRICELEVEL" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-106-413">
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-107-413">
<addForeignKeyConstraint baseColumnNames="SLAID" baseTableName="OPPORTUNITY" constraintName="DER1N_OPPORTUNITY__SLA__SLAID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SLAID" referencedTableName="SLA" validate="true"/>
</changeSet>
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-106-414">
<changeSet author="a_LAB01_e85d8801c" id="fk-opportunity-107-414">
<addForeignKeyConstraint baseColumnNames="TRANSACTIONCURRENCYID" baseTableName="OPPORTUNITY" constraintName="DER1N_OPPORTUNITY__TRANSACTION" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TRANSACTIONCURRENCYID" referencedTableName="TRANSACTIONCURRENCY" validate="true"/>
</changeSet>
<!--输出实体[OPPORTUNITYCOMPETITOR]外键关系 -->
......
......@@ -5,7 +5,7 @@
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
<select id="selectById" resultMap="InvoiceDetailResultMap" databaseId="mysql">
<![CDATA[select t1.* from (SELECT t1.`ACTUALDELIVERYON`, t1.`BASEAMOUNT`, t1.`BASEAMOUNT_BASE`, t1.`COPIED`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`EXCHANGERATE`, t1.`EXTENDEDAMOUNT`, t1.`EXTENDEDAMOUNT_BASE`, t1.`IMPORTSEQUENCENUMBER`, t1.`INVOICEDETAILID`, t1.`INVOICEDETAILNAME`, t1.`INVOICEID`, t1.`INVOICEISPRICELOCKED`, t1.`INVOICESTATECODE`, t1.`LINEITEMNUMBER`, t1.`MANUALDISCOUNTAMOUNT`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PARENTBUNDLEID`, t1.`PARENTBUNDLEIDREF`, t1.`PRICEOVERRIDDEN`, t1.`PRICEPERUNIT`, t1.`PRICEPERUNIT_BASE`, t1.`PRICINGERRORCODE`, t1.`PRODUCTASSOCIATIONID`, t1.`PRODUCTDESCRIPTION`, t1.`PRODUCTID`, t1.`PRODUCTNAME`, t1.`PRODUCTOVERRIDDEN`, t1.`PRODUCTTYPECODE`, t1.`PROPERTYCONFIGURATIONSTATUS`, t1.`QUANTITY`, t1.`QUANTITYBACKORDERED`, t1.`QUANTITYCANCELLED`, t1.`QUANTITYSHIPPED`, t1.`SALESORDERDETAILID`, t1.`SALESREPID`, t1.`SALESREPIDYOMINAME`, t1.`SEQUENCENUMBER`, t1.`SHIPPINGTRACKINGNUMBER`, t1.`SHIPTO_CITY`, t1.`SHIPTO_COUNTRY`, t1.`SHIPTO_FAX`, t1.`SHIPTO_FREIGHTTERMSCODE`, t1.`SHIPTO_LINE1`, t1.`SHIPTO_LINE2`, t1.`SHIPTO_LINE3`, t1.`SHIPTO_NAME`, t1.`SHIPTO_POSTALCODE`, t1.`SHIPTO_STATEORPROVINCE`, t1.`SHIPTO_TELEPHONE`, t1.`SKIPPRICECALCULATION`, t1.`TAX`, t1.`TAX_BASE`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`UOMID`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`VOLUMEDISCOUNTAMOUNT`, t1.`VOLUMEDISCOUNTAMOUNT_BASE`, t1.`WILLCALL` FROM `INVOICEDETAIL` t1 ) t1 where invoicedetailid=#{id}]]>
<![CDATA[select t1.* from (SELECT t1.`ACTUALDELIVERYON`, t1.`BASEAMOUNT`, t1.`BASEAMOUNT_BASE`, t1.`COPIED`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`EXCHANGERATE`, t1.`EXTENDEDAMOUNT`, t1.`EXTENDEDAMOUNT_BASE`, t1.`IMPORTSEQUENCENUMBER`, t1.`INVOICEDETAILID`, t1.`INVOICEDETAILNAME`, t1.`INVOICEID`, t1.`INVOICEISPRICELOCKED`, t1.`INVOICESTATECODE`, t1.`LINEITEMNUMBER`, t1.`MANUALDISCOUNTAMOUNT`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PARENTBUNDLEID`, t1.`PARENTBUNDLEIDREF`, t1.`PRICEOVERRIDDEN`, t1.`PRICEPERUNIT`, t1.`PRICEPERUNIT_BASE`, t1.`PRICINGERRORCODE`, t1.`PRODUCTASSOCIATIONID`, t1.`PRODUCTDESCRIPTION`, t1.`PRODUCTID`, t1.`PRODUCTNAME`, t1.`PRODUCTOVERRIDDEN`, t1.`PRODUCTTYPECODE`, t1.`PROPERTYCONFIGURATIONSTATUS`, t1.`QUANTITY`, t1.`QUANTITYBACKORDERED`, t1.`QUANTITYCANCELLED`, t1.`QUANTITYSHIPPED`, t1.`SALESORDERDETAILID`, t1.`SALESREPID`, t1.`SALESREPIDYOMINAME`, t1.`SEQUENCENUMBER`, t1.`SHIPPINGTRACKINGNUMBER`, t1.`SHIPTO_CITY`, t1.`SHIPTO_COUNTRY`, t1.`SHIPTO_FAX`, t1.`SHIPTO_FREIGHTTERMSCODE`, t1.`SHIPTO_LINE1`, t1.`SHIPTO_LINE2`, t1.`SHIPTO_LINE3`, t1.`SHIPTO_NAME`, t1.`SHIPTO_POSTALCODE`, t1.`SHIPTO_STATEORPROVINCE`, t1.`SHIPTO_TELEPHONE`, t1.`SKIPPRICECALCULATION`, t1.`TAX`, t1.`TAX_BASE`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`UOMID`, t1.`UOMNAME`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`VOLUMEDISCOUNTAMOUNT`, t1.`VOLUMEDISCOUNTAMOUNT_BASE`, t1.`WILLCALL` FROM `INVOICEDETAIL` t1 ) t1 where invoicedetailid=#{id}]]>
</select>
<!--通过mybatis将查询结果注入到entity中,通过配置autoMapping="true"由mybatis自动处理映射关系 -->
......@@ -103,12 +103,12 @@
<!--数据查询[Default]-->
<sql id="Default" databaseId="mysql">
<![CDATA[ SELECT t1.`ACTUALDELIVERYON`, t1.`BASEAMOUNT`, t1.`BASEAMOUNT_BASE`, t1.`COPIED`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`EXCHANGERATE`, t1.`EXTENDEDAMOUNT`, t1.`EXTENDEDAMOUNT_BASE`, t1.`IMPORTSEQUENCENUMBER`, t1.`INVOICEDETAILID`, t1.`INVOICEDETAILNAME`, t1.`INVOICEID`, t1.`INVOICEISPRICELOCKED`, t1.`INVOICESTATECODE`, t1.`LINEITEMNUMBER`, t1.`MANUALDISCOUNTAMOUNT`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PARENTBUNDLEID`, t1.`PARENTBUNDLEIDREF`, t1.`PRICEOVERRIDDEN`, t1.`PRICEPERUNIT`, t1.`PRICEPERUNIT_BASE`, t1.`PRICINGERRORCODE`, t1.`PRODUCTASSOCIATIONID`, t1.`PRODUCTDESCRIPTION`, t1.`PRODUCTID`, t1.`PRODUCTNAME`, t1.`PRODUCTOVERRIDDEN`, t1.`PRODUCTTYPECODE`, t1.`PROPERTYCONFIGURATIONSTATUS`, t1.`QUANTITY`, t1.`QUANTITYBACKORDERED`, t1.`QUANTITYCANCELLED`, t1.`QUANTITYSHIPPED`, t1.`SALESORDERDETAILID`, t1.`SALESREPID`, t1.`SALESREPIDYOMINAME`, t1.`SEQUENCENUMBER`, t1.`SHIPPINGTRACKINGNUMBER`, t1.`SHIPTO_CITY`, t1.`SHIPTO_COUNTRY`, t1.`SHIPTO_FAX`, t1.`SHIPTO_FREIGHTTERMSCODE`, t1.`SHIPTO_LINE1`, t1.`SHIPTO_LINE2`, t1.`SHIPTO_LINE3`, t1.`SHIPTO_NAME`, t1.`SHIPTO_POSTALCODE`, t1.`SHIPTO_STATEORPROVINCE`, t1.`SHIPTO_TELEPHONE`, t1.`SKIPPRICECALCULATION`, t1.`TAX`, t1.`TAX_BASE`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`UOMID`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`VOLUMEDISCOUNTAMOUNT`, t1.`VOLUMEDISCOUNTAMOUNT_BASE`, t1.`WILLCALL` FROM `INVOICEDETAIL` t1
<![CDATA[ SELECT t1.`ACTUALDELIVERYON`, t1.`BASEAMOUNT`, t1.`BASEAMOUNT_BASE`, t1.`COPIED`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`EXCHANGERATE`, t1.`EXTENDEDAMOUNT`, t1.`EXTENDEDAMOUNT_BASE`, t1.`IMPORTSEQUENCENUMBER`, t1.`INVOICEDETAILID`, t1.`INVOICEDETAILNAME`, t1.`INVOICEID`, t1.`INVOICEISPRICELOCKED`, t1.`INVOICESTATECODE`, t1.`LINEITEMNUMBER`, t1.`MANUALDISCOUNTAMOUNT`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PARENTBUNDLEID`, t1.`PARENTBUNDLEIDREF`, t1.`PRICEOVERRIDDEN`, t1.`PRICEPERUNIT`, t1.`PRICEPERUNIT_BASE`, t1.`PRICINGERRORCODE`, t1.`PRODUCTASSOCIATIONID`, t1.`PRODUCTDESCRIPTION`, t1.`PRODUCTID`, t1.`PRODUCTNAME`, t1.`PRODUCTOVERRIDDEN`, t1.`PRODUCTTYPECODE`, t1.`PROPERTYCONFIGURATIONSTATUS`, t1.`QUANTITY`, t1.`QUANTITYBACKORDERED`, t1.`QUANTITYCANCELLED`, t1.`QUANTITYSHIPPED`, t1.`SALESORDERDETAILID`, t1.`SALESREPID`, t1.`SALESREPIDYOMINAME`, t1.`SEQUENCENUMBER`, t1.`SHIPPINGTRACKINGNUMBER`, t1.`SHIPTO_CITY`, t1.`SHIPTO_COUNTRY`, t1.`SHIPTO_FAX`, t1.`SHIPTO_FREIGHTTERMSCODE`, t1.`SHIPTO_LINE1`, t1.`SHIPTO_LINE2`, t1.`SHIPTO_LINE3`, t1.`SHIPTO_NAME`, t1.`SHIPTO_POSTALCODE`, t1.`SHIPTO_STATEORPROVINCE`, t1.`SHIPTO_TELEPHONE`, t1.`SKIPPRICECALCULATION`, t1.`TAX`, t1.`TAX_BASE`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`UOMID`, t1.`UOMNAME`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`VOLUMEDISCOUNTAMOUNT`, t1.`VOLUMEDISCOUNTAMOUNT_BASE`, t1.`WILLCALL` FROM `INVOICEDETAIL` t1
]]>
</sql>
<!--数据查询[View]-->
<sql id="View" databaseId="mysql">
<![CDATA[ SELECT t1.`ACTUALDELIVERYON`, t1.`BASEAMOUNT`, t1.`BASEAMOUNT_BASE`, t1.`COPIED`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`EXCHANGERATE`, t1.`EXTENDEDAMOUNT`, t1.`EXTENDEDAMOUNT_BASE`, t1.`IMPORTSEQUENCENUMBER`, t1.`INVOICEDETAILID`, t1.`INVOICEDETAILNAME`, t1.`INVOICEID`, t1.`INVOICEISPRICELOCKED`, t1.`INVOICESTATECODE`, t1.`LINEITEMNUMBER`, t1.`MANUALDISCOUNTAMOUNT`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PARENTBUNDLEID`, t1.`PARENTBUNDLEIDREF`, t1.`PRICEOVERRIDDEN`, t1.`PRICEPERUNIT`, t1.`PRICEPERUNIT_BASE`, t1.`PRICINGERRORCODE`, t1.`PRODUCTASSOCIATIONID`, t1.`PRODUCTDESCRIPTION`, t1.`PRODUCTID`, t1.`PRODUCTNAME`, t1.`PRODUCTOVERRIDDEN`, t1.`PRODUCTTYPECODE`, t1.`PROPERTYCONFIGURATIONSTATUS`, t1.`QUANTITY`, t1.`QUANTITYBACKORDERED`, t1.`QUANTITYCANCELLED`, t1.`QUANTITYSHIPPED`, t1.`SALESORDERDETAILID`, t1.`SALESREPID`, t1.`SALESREPIDYOMINAME`, t1.`SEQUENCENUMBER`, t1.`SHIPPINGTRACKINGNUMBER`, t1.`SHIPTO_CITY`, t1.`SHIPTO_COUNTRY`, t1.`SHIPTO_FAX`, t1.`SHIPTO_FREIGHTTERMSCODE`, t1.`SHIPTO_LINE1`, t1.`SHIPTO_LINE2`, t1.`SHIPTO_LINE3`, t1.`SHIPTO_NAME`, t1.`SHIPTO_POSTALCODE`, t1.`SHIPTO_STATEORPROVINCE`, t1.`SHIPTO_TELEPHONE`, t1.`SKIPPRICECALCULATION`, t1.`TAX`, t1.`TAX_BASE`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`UOMID`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`VOLUMEDISCOUNTAMOUNT`, t1.`VOLUMEDISCOUNTAMOUNT_BASE`, t1.`WILLCALL` FROM `INVOICEDETAIL` t1
<![CDATA[ SELECT t1.`ACTUALDELIVERYON`, t1.`BASEAMOUNT`, t1.`BASEAMOUNT_BASE`, t1.`COPIED`, t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`DESCRIPTION`, t1.`EXCHANGERATE`, t1.`EXTENDEDAMOUNT`, t1.`EXTENDEDAMOUNT_BASE`, t1.`IMPORTSEQUENCENUMBER`, t1.`INVOICEDETAILID`, t1.`INVOICEDETAILNAME`, t1.`INVOICEID`, t1.`INVOICEISPRICELOCKED`, t1.`INVOICESTATECODE`, t1.`LINEITEMNUMBER`, t1.`MANUALDISCOUNTAMOUNT`, t1.`OVERRIDDENCREATEDON`, t1.`OWNERID`, t1.`OWNERIDTYPE`, t1.`OWNERIDYOMINAME`, t1.`PARENTBUNDLEID`, t1.`PARENTBUNDLEIDREF`, t1.`PRICEOVERRIDDEN`, t1.`PRICEPERUNIT`, t1.`PRICEPERUNIT_BASE`, t1.`PRICINGERRORCODE`, t1.`PRODUCTASSOCIATIONID`, t1.`PRODUCTDESCRIPTION`, t1.`PRODUCTID`, t1.`PRODUCTNAME`, t1.`PRODUCTOVERRIDDEN`, t1.`PRODUCTTYPECODE`, t1.`PROPERTYCONFIGURATIONSTATUS`, t1.`QUANTITY`, t1.`QUANTITYBACKORDERED`, t1.`QUANTITYCANCELLED`, t1.`QUANTITYSHIPPED`, t1.`SALESORDERDETAILID`, t1.`SALESREPID`, t1.`SALESREPIDYOMINAME`, t1.`SEQUENCENUMBER`, t1.`SHIPPINGTRACKINGNUMBER`, t1.`SHIPTO_CITY`, t1.`SHIPTO_COUNTRY`, t1.`SHIPTO_FAX`, t1.`SHIPTO_FREIGHTTERMSCODE`, t1.`SHIPTO_LINE1`, t1.`SHIPTO_LINE2`, t1.`SHIPTO_LINE3`, t1.`SHIPTO_NAME`, t1.`SHIPTO_POSTALCODE`, t1.`SHIPTO_STATEORPROVINCE`, t1.`SHIPTO_TELEPHONE`, t1.`SKIPPRICECALCULATION`, t1.`TAX`, t1.`TAX_BASE`, t1.`TIMEZONERULEVERSIONNUMBER`, t1.`TRANSACTIONCURRENCYID`, t1.`UOMID`, t1.`UOMNAME`, t1.`UPDATEDATE`, t1.`UPDATEMAN`, t1.`UTCCONVERSIONTIMEZONECODE`, t1.`VERSIONNUMBER`, t1.`VOLUMEDISCOUNTAMOUNT`, t1.`VOLUMEDISCOUNTAMOUNT_BASE`, t1.`WILLCALL` FROM `INVOICEDETAIL` t1
]]>
</sql>
</mapper>
......
......@@ -44,6 +44,14 @@
"datascope":[{"id":"all","name":"全部数据"}, {"id":"createman","name":"创建人"}]
}
, {
"dename":"InvoiceDetail",
"delogicname":"发票产品",
"sysmoudle":{"id":"FINANCE","name":"Finance"},
"dedataset":[{"id":"Default" , "name":"DEFAULT"}],
"deaction":[{"id":"CheckKey" , "name":"CheckKey" , "type":"BUILTIN" },{"id":"Get" , "name":"Get" , "type":"BUILTIN" },{"id":"Update" , "name":"Update" , "type":"BUILTIN" },{"id":"Create" , "name":"Create" , "type":"BUILTIN" },{"id":"GetDraft" , "name":"GetDraft" , "type":"BUILTIN" },{"id":"Save" , "name":"Save" , "type":"BUILTIN" },{"id":"Remove" , "name":"Remove" , "type":"BUILTIN" }],
"datascope":[{"id":"all","name":"全部数据"}, {"id":"createman","name":"创建人"}]
}
, {
"dename":"Email",
"delogicname":"电子邮件",
"sysmoudle":{"id":"BASE","name":"Base"},
......
package cn.ibizlab.businesscentral.centralapi.dto;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.math.BigInteger;
import java.util.Map;
import java.util.HashMap;
import java.io.Serializable;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.fastjson.annotation.JSONField;
import cn.ibizlab.businesscentral.util.domain.DTOBase;
import lombok.Data;
/**
* 服务DTO对象[InvoiceDetailDTO]
*/
@Data
public class InvoiceDetailDTO extends DTOBase implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 属性 [UPDATEDATE]
*
*/
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
@JSONField(name = "updatedate" , format="yyyy-MM-dd HH:mm:ss")
@JsonProperty("updatedate")
private Timestamp updatedate;
/**
* 属性 [INVOICEDETAILNAME]
*
*/
@JSONField(name = "invoicedetailname")
@JsonProperty("invoicedetailname")
private String invoicedetailname;
/**
* 属性 [OWNERIDTYPE]
*
*/
@JSONField(name = "owneridtype")
@JsonProperty("owneridtype")
private String owneridtype;
/**
* 属性 [QUANTITYBACKORDERED]
*
*/
@JSONField(name = "quantitybackordered")
@JsonProperty("quantitybackordered")
private BigDecimal quantitybackordered;
/**
* 属性 [PRODUCTTYPECODE]
*
*/
@JSONField(name = "producttypecode")
@JsonProperty("producttypecode")
private String producttypecode;
/**
* 属性 [INVOICESTATECODE]
*
*/
@JSONField(name = "invoicestatecode")
@JsonProperty("invoicestatecode")
private String invoicestatecode;
/**
* 属性 [TIMEZONERULEVERSIONNUMBER]
*
*/
@JSONField(name = "timezoneruleversionnumber")
@JsonProperty("timezoneruleversionnumber")
private Integer timezoneruleversionnumber;
/**
* 属性 [SHIPTO_STATEORPROVINCE]
*
*/
@JSONField(name = "shipto_stateorprovince")
@JsonProperty("shipto_stateorprovince")
private String shiptoStateorprovince;
/**
* 属性 [BASEAMOUNT_BASE]
*
*/
@JSONField(name = "baseamount_base")
@JsonProperty("baseamount_base")
private BigDecimal baseamountBase;
/**
* 属性 [WILLCALL]
*
*/
@JSONField(name = "willcall")
@JsonProperty("willcall")
private Integer willcall;
/**
* 属性 [OVERRIDDENCREATEDON]
*
*/
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
@JSONField(name = "overriddencreatedon" , format="yyyy-MM-dd HH:mm:ss")
@JsonProperty("overriddencreatedon")
private Timestamp overriddencreatedon;
/**
* 属性 [PARENTBUNDLEID]
*
*/
@JSONField(name = "parentbundleid")
@JsonProperty("parentbundleid")
private String parentbundleid;
/**
* 属性 [IMPORTSEQUENCENUMBER]
*
*/
@JSONField(name = "importsequencenumber")
@JsonProperty("importsequencenumber")
private Integer importsequencenumber;
/**
* 属性 [PROPERTYCONFIGURATIONSTATUS]
*
*/
@JSONField(name = "propertyconfigurationstatus")
@JsonProperty("propertyconfigurationstatus")
private String propertyconfigurationstatus;
/**
* 属性 [UPDATEMAN]
*
*/
@JSONField(name = "updateman")
@JsonProperty("updateman")
private String updateman;
/**
* 属性 [PRICEPERUNIT_BASE]
*
*/
@JSONField(name = "priceperunit_base")
@JsonProperty("priceperunit_base")
private BigDecimal priceperunitBase;
/**
* 属性 [SHIPTO_COUNTRY]
*
*/
@JSONField(name = "shipto_country")
@JsonProperty("shipto_country")
private String shiptoCountry;
/**
* 属性 [COPIED]
*
*/
@JSONField(name = "copied")
@JsonProperty("copied")
private Integer copied;
/**
* 属性 [LINEITEMNUMBER]
*
*/
@JSONField(name = "lineitemnumber")
@JsonProperty("lineitemnumber")
private Integer lineitemnumber;
/**
* 属性 [PRICEPERUNIT]
*
*/
@JSONField(name = "priceperunit")
@JsonProperty("priceperunit")
private BigDecimal priceperunit;
/**
* 属性 [VOLUMEDISCOUNTAMOUNT_BASE]
*
*/
@JSONField(name = "volumediscountamount_base")
@JsonProperty("volumediscountamount_base")
private BigDecimal volumediscountamountBase;
/**
* 属性 [SHIPTO_FAX]
*
*/
@JSONField(name = "shipto_fax")
@JsonProperty("shipto_fax")
private String shiptoFax;
/**
* 属性 [SHIPTO_LINE1]
*
*/
@JSONField(name = "shipto_line1")
@JsonProperty("shipto_line1")
private String shiptoLine1;
/**
* 属性 [DESCRIPTION]
*
*/
@JSONField(name = "description")
@JsonProperty("description")
private String description;
/**
* 属性 [SHIPTO_FREIGHTTERMSCODE]
*
*/
@JSONField(name = "shipto_freighttermscode")
@JsonProperty("shipto_freighttermscode")
private String shiptoFreighttermscode;
/**
* 属性 [OWNERID]
*
*/
@JSONField(name = "ownerid")
@JsonProperty("ownerid")
private String ownerid;
/**
* 属性 [TAX_BASE]
*
*/
@JSONField(name = "tax_base")
@JsonProperty("tax_base")
private BigDecimal taxBase;
/**
* 属性 [SHIPTO_TELEPHONE]
*
*/
@JSONField(name = "shipto_telephone")
@JsonProperty("shipto_telephone")
private String shiptoTelephone;
/**
* 属性 [PRICEOVERRIDDEN]
*
*/
@JSONField(name = "priceoverridden")
@JsonProperty("priceoverridden")
private Integer priceoverridden;
/**
* 属性 [ACTUALDELIVERYON]
*
*/
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
@JSONField(name = "actualdeliveryon" , format="yyyy-MM-dd HH:mm:ss")
@JsonProperty("actualdeliveryon")
private Timestamp actualdeliveryon;
/**
* 属性 [SHIPTO_NAME]
*
*/
@JSONField(name = "shipto_name")
@JsonProperty("shipto_name")
private String shiptoName;
/**
* 属性 [CREATEMAN]
*
*/
@JSONField(name = "createman")
@JsonProperty("createman")
private String createman;
/**
* 属性 [BASEAMOUNT]
*
*/
@JSONField(name = "baseamount")
@JsonProperty("baseamount")
private BigDecimal baseamount;
/**
* 属性 [SHIPPINGTRACKINGNUMBER]
*
*/
@JSONField(name = "shippingtrackingnumber")
@JsonProperty("shippingtrackingnumber")
private String shippingtrackingnumber;
/**
* 属性 [INVOICEDETAILID]
*
*/
@JSONField(name = "invoicedetailid")
@JsonProperty("invoicedetailid")
private String invoicedetailid;
/**
* 属性 [EXCHANGERATE]
*
*/
@JSONField(name = "exchangerate")
@JsonProperty("exchangerate")
private BigDecimal exchangerate;
/**
* 属性 [SHIPTO_LINE3]
*
*/
@JSONField(name = "shipto_line3")
@JsonProperty("shipto_line3")
private String shiptoLine3;
/**
* 属性 [OWNERIDYOMINAME]
*
*/
@JSONField(name = "owneridyominame")
@JsonProperty("owneridyominame")
private String owneridyominame;
/**
* 属性 [PRODUCTASSOCIATIONID]
*
*/
@JSONField(name = "productassociationid")
@JsonProperty("productassociationid")
private String productassociationid;
/**
* 属性 [SHIPTO_POSTALCODE]
*
*/
@JSONField(name = "shipto_postalcode")
@JsonProperty("shipto_postalcode")
private String shiptoPostalcode;
/**
* 属性 [CREATEDATE]
*
*/
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", locale = "zh" , timezone="GMT+8")
@JSONField(name = "createdate" , format="yyyy-MM-dd HH:mm:ss")
@JsonProperty("createdate")
private Timestamp createdate;
/**
* 属性 [PRODUCTOVERRIDDEN]
*
*/
@JSONField(name = "productoverridden")
@JsonProperty("productoverridden")
private Integer productoverridden;
/**
* 属性 [SALESREPID]
*
*/
@JSONField(name = "salesrepid")
@JsonProperty("salesrepid")
private String salesrepid;
/**
* 属性 [SALESREPIDYOMINAME]
*
*/
@JSONField(name = "salesrepidyominame")
@JsonProperty("salesrepidyominame")
private String salesrepidyominame;
/**
* 属性 [UTCCONVERSIONTIMEZONECODE]
*
*/
@JSONField(name = "utcconversiontimezonecode")
@JsonProperty("utcconversiontimezonecode")
private Integer utcconversiontimezonecode;
/**
* 属性 [EXTENDEDAMOUNT]
*
*/
@JSONField(name = "extendedamount")
@JsonProperty("extendedamount")
private BigDecimal extendedamount;
/**
* 属性 [PRODUCTDESCRIPTION]
*
*/
@JSONField(name = "productdescription")
@JsonProperty("productdescription")
private String productdescription;
/**
* 属性 [SHIPTO_LINE2]
*
*/
@JSONField(name = "shipto_line2")
@JsonProperty("shipto_line2")
private String shiptoLine2;
/**
* 属性 [MANUALDISCOUNTAMOUNT]
*
*/
@JSONField(name = "manualdiscountamount")
@JsonProperty("manualdiscountamount")
private BigDecimal manualdiscountamount;
/**
* 属性 [SEQUENCENUMBER]
*
*/
@JSONField(name = "sequencenumber")
@JsonProperty("sequencenumber")
private Integer sequencenumber;
/**
* 属性 [QUANTITYSHIPPED]
*
*/
@JSONField(name = "quantityshipped")
@JsonProperty("quantityshipped")
private BigDecimal quantityshipped;
/**
* 属性 [QUANTITYCANCELLED]
*
*/
@JSONField(name = "quantitycancelled")
@JsonProperty("quantitycancelled")
private BigDecimal quantitycancelled;
/**
* 属性 [PRICINGERRORCODE]
*
*/
@JSONField(name = "pricingerrorcode")
@JsonProperty("pricingerrorcode")
private String pricingerrorcode;
/**
* 属性 [VERSIONNUMBER]
*
*/
@JSONField(name = "versionnumber")
@JsonProperty("versionnumber")
private BigInteger versionnumber;
/**
* 属性 [SKIPPRICECALCULATION]
*
*/
@JSONField(name = "skippricecalculation")
@JsonProperty("skippricecalculation")
private String skippricecalculation;
/**
* 属性 [QUANTITY]
*
*/
@JSONField(name = "quantity")
@JsonProperty("quantity")
private BigDecimal quantity;
/**
* 属性 [TAX]
*
*/
@JSONField(name = "tax")
@JsonProperty("tax")
private BigDecimal tax;
/**
* 属性 [EXTENDEDAMOUNT_BASE]
*
*/
@JSONField(name = "extendedamount_base")
@JsonProperty("extendedamount_base")
private BigDecimal extendedamountBase;
/**
* 属性 [VOLUMEDISCOUNTAMOUNT]
*
*/
@JSONField(name = "volumediscountamount")
@JsonProperty("volumediscountamount")
private BigDecimal volumediscountamount;
/**
* 属性 [SHIPTO_CITY]
*
*/
@JSONField(name = "shipto_city")
@JsonProperty("shipto_city")
private String shiptoCity;
/**
* 属性 [INVOICEISPRICELOCKED]
*
*/
@JSONField(name = "invoiceispricelocked")
@JsonProperty("invoiceispricelocked")
private Integer invoiceispricelocked;
/**
* 属性 [TRANSACTIONCURRENCYID]
*
*/
@JSONField(name = "transactioncurrencyid")
@JsonProperty("transactioncurrencyid")
private String transactioncurrencyid;
/**
* 属性 [SALESORDERDETAILID]
*
*/
@JSONField(name = "salesorderdetailid")
@JsonProperty("salesorderdetailid")
private String salesorderdetailid;
/**
* 属性 [PARENTBUNDLEIDREF]
*
*/
@JSONField(name = "parentbundleidref")
@JsonProperty("parentbundleidref")
private String parentbundleidref;
/**
* 属性 [PRODUCTID]
*
*/
@JSONField(name = "productid")
@JsonProperty("productid")
private String productid;
/**
* 属性 [INVOICEID]
*
*/
@JSONField(name = "invoiceid")
@JsonProperty("invoiceid")
private String invoiceid;
/**
* 属性 [UOMID]
*
*/
@JSONField(name = "uomid")
@JsonProperty("uomid")
private String uomid;
/**
* 属性 [PRODUCTNAME]
*
*/
@JSONField(name = "productname")
@JsonProperty("productname")
private String productname;
/**
* 属性 [UOMNAME]
*
*/
@JSONField(name = "uomname")
@JsonProperty("uomname")
private String uomname;
/**
* 设置 [INVOICEDETAILNAME]
*/
public void setInvoicedetailname(String invoicedetailname){
this.invoicedetailname = invoicedetailname ;
this.modify("invoicedetailname",invoicedetailname);
}
/**
* 设置 [OWNERIDTYPE]
*/
public void setOwneridtype(String owneridtype){
this.owneridtype = owneridtype ;
this.modify("owneridtype",owneridtype);
}
/**
* 设置 [QUANTITYBACKORDERED]
*/
public void setQuantitybackordered(BigDecimal quantitybackordered){
this.quantitybackordered = quantitybackordered ;
this.modify("quantitybackordered",quantitybackordered);
}
/**
* 设置 [PRODUCTTYPECODE]
*/
public void setProducttypecode(String producttypecode){
this.producttypecode = producttypecode ;
this.modify("producttypecode",producttypecode);
}
/**
* 设置 [INVOICESTATECODE]
*/
public void setInvoicestatecode(String invoicestatecode){
this.invoicestatecode = invoicestatecode ;
this.modify("invoicestatecode",invoicestatecode);
}
/**
* 设置 [TIMEZONERULEVERSIONNUMBER]
*/
public void setTimezoneruleversionnumber(Integer timezoneruleversionnumber){
this.timezoneruleversionnumber = timezoneruleversionnumber ;
this.modify("timezoneruleversionnumber",timezoneruleversionnumber);
}
/**
* 设置 [SHIPTO_STATEORPROVINCE]
*/
public void setShiptoStateorprovince(String shiptoStateorprovince){
this.shiptoStateorprovince = shiptoStateorprovince ;
this.modify("shipto_stateorprovince",shiptoStateorprovince);
}
/**
* 设置 [BASEAMOUNT_BASE]
*/
public void setBaseamountBase(BigDecimal baseamountBase){
this.baseamountBase = baseamountBase ;
this.modify("baseamount_base",baseamountBase);
}
/**
* 设置 [WILLCALL]
*/
public void setWillcall(Integer willcall){
this.willcall = willcall ;
this.modify("willcall",willcall);
}
/**
* 设置 [OVERRIDDENCREATEDON]
*/
public void setOverriddencreatedon(Timestamp overriddencreatedon){
this.overriddencreatedon = overriddencreatedon ;
this.modify("overriddencreatedon",overriddencreatedon);
}
/**
* 设置 [PARENTBUNDLEID]
*/
public void setParentbundleid(String parentbundleid){
this.parentbundleid = parentbundleid ;
this.modify("parentbundleid",parentbundleid);
}
/**
* 设置 [IMPORTSEQUENCENUMBER]
*/
public void setImportsequencenumber(Integer importsequencenumber){
this.importsequencenumber = importsequencenumber ;
this.modify("importsequencenumber",importsequencenumber);
}
/**
* 设置 [PROPERTYCONFIGURATIONSTATUS]
*/
public void setPropertyconfigurationstatus(String propertyconfigurationstatus){
this.propertyconfigurationstatus = propertyconfigurationstatus ;
this.modify("propertyconfigurationstatus",propertyconfigurationstatus);
}
/**
* 设置 [PRICEPERUNIT_BASE]
*/
public void setPriceperunitBase(BigDecimal priceperunitBase){
this.priceperunitBase = priceperunitBase ;
this.modify("priceperunit_base",priceperunitBase);
}
/**
* 设置 [SHIPTO_COUNTRY]
*/
public void setShiptoCountry(String shiptoCountry){
this.shiptoCountry = shiptoCountry ;
this.modify("shipto_country",shiptoCountry);
}
/**
* 设置 [COPIED]
*/
public void setCopied(Integer copied){
this.copied = copied ;
this.modify("copied",copied);
}
/**
* 设置 [LINEITEMNUMBER]
*/
public void setLineitemnumber(Integer lineitemnumber){
this.lineitemnumber = lineitemnumber ;
this.modify("lineitemnumber",lineitemnumber);
}
/**
* 设置 [PRICEPERUNIT]
*/
public void setPriceperunit(BigDecimal priceperunit){
this.priceperunit = priceperunit ;
this.modify("priceperunit",priceperunit);
}
/**
* 设置 [VOLUMEDISCOUNTAMOUNT_BASE]
*/
public void setVolumediscountamountBase(BigDecimal volumediscountamountBase){
this.volumediscountamountBase = volumediscountamountBase ;
this.modify("volumediscountamount_base",volumediscountamountBase);
}
/**
* 设置 [SHIPTO_FAX]
*/
public void setShiptoFax(String shiptoFax){
this.shiptoFax = shiptoFax ;
this.modify("shipto_fax",shiptoFax);
}
/**
* 设置 [SHIPTO_LINE1]
*/
public void setShiptoLine1(String shiptoLine1){
this.shiptoLine1 = shiptoLine1 ;
this.modify("shipto_line1",shiptoLine1);
}
/**
* 设置 [DESCRIPTION]
*/
public void setDescription(String description){
this.description = description ;
this.modify("description",description);
}
/**
* 设置 [SHIPTO_FREIGHTTERMSCODE]
*/
public void setShiptoFreighttermscode(String shiptoFreighttermscode){
this.shiptoFreighttermscode = shiptoFreighttermscode ;
this.modify("shipto_freighttermscode",shiptoFreighttermscode);
}
/**
* 设置 [OWNERID]
*/
public void setOwnerid(String ownerid){
this.ownerid = ownerid ;
this.modify("ownerid",ownerid);
}
/**
* 设置 [TAX_BASE]
*/
public void setTaxBase(BigDecimal taxBase){
this.taxBase = taxBase ;
this.modify("tax_base",taxBase);
}
/**
* 设置 [SHIPTO_TELEPHONE]
*/
public void setShiptoTelephone(String shiptoTelephone){
this.shiptoTelephone = shiptoTelephone ;
this.modify("shipto_telephone",shiptoTelephone);
}
/**
* 设置 [PRICEOVERRIDDEN]
*/
public void setPriceoverridden(Integer priceoverridden){
this.priceoverridden = priceoverridden ;
this.modify("priceoverridden",priceoverridden);
}
/**
* 设置 [ACTUALDELIVERYON]
*/
public void setActualdeliveryon(Timestamp actualdeliveryon){
this.actualdeliveryon = actualdeliveryon ;
this.modify("actualdeliveryon",actualdeliveryon);
}
/**
* 设置 [SHIPTO_NAME]
*/
public void setShiptoName(String shiptoName){
this.shiptoName = shiptoName ;
this.modify("shipto_name",shiptoName);
}
/**
* 设置 [BASEAMOUNT]
*/
public void setBaseamount(BigDecimal baseamount){
this.baseamount = baseamount ;
this.modify("baseamount",baseamount);
}
/**
* 设置 [SHIPPINGTRACKINGNUMBER]
*/
public void setShippingtrackingnumber(String shippingtrackingnumber){
this.shippingtrackingnumber = shippingtrackingnumber ;
this.modify("shippingtrackingnumber",shippingtrackingnumber);
}
/**
* 设置 [EXCHANGERATE]
*/
public void setExchangerate(BigDecimal exchangerate){
this.exchangerate = exchangerate ;
this.modify("exchangerate",exchangerate);
}
/**
* 设置 [SHIPTO_LINE3]
*/
public void setShiptoLine3(String shiptoLine3){
this.shiptoLine3 = shiptoLine3 ;
this.modify("shipto_line3",shiptoLine3);
}
/**
* 设置 [OWNERIDYOMINAME]
*/
public void setOwneridyominame(String owneridyominame){
this.owneridyominame = owneridyominame ;
this.modify("owneridyominame",owneridyominame);
}
/**
* 设置 [PRODUCTASSOCIATIONID]
*/
public void setProductassociationid(String productassociationid){
this.productassociationid = productassociationid ;
this.modify("productassociationid",productassociationid);
}
/**
* 设置 [SHIPTO_POSTALCODE]
*/
public void setShiptoPostalcode(String shiptoPostalcode){
this.shiptoPostalcode = shiptoPostalcode ;
this.modify("shipto_postalcode",shiptoPostalcode);
}
/**
* 设置 [PRODUCTOVERRIDDEN]
*/
public void setProductoverridden(Integer productoverridden){
this.productoverridden = productoverridden ;
this.modify("productoverridden",productoverridden);
}
/**
* 设置 [SALESREPID]
*/
public void setSalesrepid(String salesrepid){
this.salesrepid = salesrepid ;
this.modify("salesrepid",salesrepid);
}
/**
* 设置 [SALESREPIDYOMINAME]
*/
public void setSalesrepidyominame(String salesrepidyominame){
this.salesrepidyominame = salesrepidyominame ;
this.modify("salesrepidyominame",salesrepidyominame);
}
/**
* 设置 [UTCCONVERSIONTIMEZONECODE]
*/
public void setUtcconversiontimezonecode(Integer utcconversiontimezonecode){
this.utcconversiontimezonecode = utcconversiontimezonecode ;
this.modify("utcconversiontimezonecode",utcconversiontimezonecode);
}
/**
* 设置 [EXTENDEDAMOUNT]
*/
public void setExtendedamount(BigDecimal extendedamount){
this.extendedamount = extendedamount ;
this.modify("extendedamount",extendedamount);
}
/**
* 设置 [PRODUCTDESCRIPTION]
*/
public void setProductdescription(String productdescription){
this.productdescription = productdescription ;
this.modify("productdescription",productdescription);
}
/**
* 设置 [SHIPTO_LINE2]
*/
public void setShiptoLine2(String shiptoLine2){
this.shiptoLine2 = shiptoLine2 ;
this.modify("shipto_line2",shiptoLine2);
}
/**
* 设置 [MANUALDISCOUNTAMOUNT]
*/
public void setManualdiscountamount(BigDecimal manualdiscountamount){
this.manualdiscountamount = manualdiscountamount ;
this.modify("manualdiscountamount",manualdiscountamount);
}
/**
* 设置 [SEQUENCENUMBER]
*/
public void setSequencenumber(Integer sequencenumber){
this.sequencenumber = sequencenumber ;
this.modify("sequencenumber",sequencenumber);
}
/**
* 设置 [QUANTITYSHIPPED]
*/
public void setQuantityshipped(BigDecimal quantityshipped){
this.quantityshipped = quantityshipped ;
this.modify("quantityshipped",quantityshipped);
}
/**
* 设置 [QUANTITYCANCELLED]
*/
public void setQuantitycancelled(BigDecimal quantitycancelled){
this.quantitycancelled = quantitycancelled ;
this.modify("quantitycancelled",quantitycancelled);
}
/**
* 设置 [PRICINGERRORCODE]
*/
public void setPricingerrorcode(String pricingerrorcode){
this.pricingerrorcode = pricingerrorcode ;
this.modify("pricingerrorcode",pricingerrorcode);
}
/**
* 设置 [VERSIONNUMBER]
*/
public void setVersionnumber(BigInteger versionnumber){
this.versionnumber = versionnumber ;
this.modify("versionnumber",versionnumber);
}
/**
* 设置 [SKIPPRICECALCULATION]
*/
public void setSkippricecalculation(String skippricecalculation){
this.skippricecalculation = skippricecalculation ;
this.modify("skippricecalculation",skippricecalculation);
}
/**
* 设置 [QUANTITY]
*/
public void setQuantity(BigDecimal quantity){
this.quantity = quantity ;
this.modify("quantity",quantity);
}
/**
* 设置 [TAX]
*/
public void setTax(BigDecimal tax){
this.tax = tax ;
this.modify("tax",tax);
}
/**
* 设置 [EXTENDEDAMOUNT_BASE]
*/
public void setExtendedamountBase(BigDecimal extendedamountBase){
this.extendedamountBase = extendedamountBase ;
this.modify("extendedamount_base",extendedamountBase);
}
/**
* 设置 [VOLUMEDISCOUNTAMOUNT]
*/
public void setVolumediscountamount(BigDecimal volumediscountamount){
this.volumediscountamount = volumediscountamount ;
this.modify("volumediscountamount",volumediscountamount);
}
/**
* 设置 [SHIPTO_CITY]
*/
public void setShiptoCity(String shiptoCity){
this.shiptoCity = shiptoCity ;
this.modify("shipto_city",shiptoCity);
}
/**
* 设置 [INVOICEISPRICELOCKED]
*/
public void setInvoiceispricelocked(Integer invoiceispricelocked){
this.invoiceispricelocked = invoiceispricelocked ;
this.modify("invoiceispricelocked",invoiceispricelocked);
}
/**
* 设置 [TRANSACTIONCURRENCYID]
*/
public void setTransactioncurrencyid(String transactioncurrencyid){
this.transactioncurrencyid = transactioncurrencyid ;
this.modify("transactioncurrencyid",transactioncurrencyid);
}
/**
* 设置 [SALESORDERDETAILID]
*/
public void setSalesorderdetailid(String salesorderdetailid){
this.salesorderdetailid = salesorderdetailid ;
this.modify("salesorderdetailid",salesorderdetailid);
}
/**
* 设置 [PARENTBUNDLEIDREF]
*/
public void setParentbundleidref(String parentbundleidref){
this.parentbundleidref = parentbundleidref ;
this.modify("parentbundleidref",parentbundleidref);
}
/**
* 设置 [PRODUCTID]
*/
public void setProductid(String productid){
this.productid = productid ;
this.modify("productid",productid);
}
/**
* 设置 [INVOICEID]
*/
public void setInvoiceid(String invoiceid){
this.invoiceid = invoiceid ;
this.modify("invoiceid",invoiceid);
}
/**
* 设置 [UOMID]
*/
public void setUomid(String uomid){
this.uomid = uomid ;
this.modify("uomid",uomid);
}
/**
* 设置 [PRODUCTNAME]
*/
public void setProductname(String productname){
this.productname = productname ;
this.modify("productname",productname);
}
/**
* 设置 [UOMNAME]
*/
public void setUomname(String uomname){
this.uomname = uomname ;
this.modify("uomname",uomname);
}
}
package cn.ibizlab.businesscentral.centralapi.mapping;
import org.mapstruct.*;
import cn.ibizlab.businesscentral.core.finance.domain.InvoiceDetail;
import cn.ibizlab.businesscentral.centralapi.dto.InvoiceDetailDTO;
import cn.ibizlab.businesscentral.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface InvoiceDetailMapping extends MappingBase<InvoiceDetailDTO, InvoiceDetail> {
}
package cn.ibizlab.businesscentral.centralapi.rest;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.math.BigInteger;
import java.util.HashMap;
import lombok.extern.slf4j.Slf4j;
import com.alibaba.fastjson.JSONObject;
import javax.servlet.ServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cglib.beans.BeanCopier;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.http.HttpStatus;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.util.StringUtils;
import org.springframework.context.annotation.Lazy;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.security.access.prepost.PostAuthorize;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import cn.ibizlab.businesscentral.centralapi.dto.*;
import cn.ibizlab.businesscentral.centralapi.mapping.*;
import cn.ibizlab.businesscentral.core.finance.domain.InvoiceDetail;
import cn.ibizlab.businesscentral.core.finance.service.IInvoiceDetailService;
import cn.ibizlab.businesscentral.core.finance.filter.InvoiceDetailSearchContext;
import cn.ibizlab.businesscentral.util.annotation.VersionCheck;
@Slf4j
@Api(tags = {"发票产品" })
@RestController("CentralApi-invoicedetail")
@RequestMapping("")
public class InvoiceDetailResource {
@Autowired
public IInvoiceDetailService invoicedetailService;
@Autowired
@Lazy
public InvoiceDetailMapping invoicedetailMapping;
@ApiOperation(value = "检查发票产品", tags = {"发票产品" }, notes = "检查发票产品")
@RequestMapping(method = RequestMethod.POST, value = "/invoicedetails/checkkey")
public ResponseEntity<Boolean> checkKey(@RequestBody InvoiceDetailDTO invoicedetaildto) {
return ResponseEntity.status(HttpStatus.OK).body(invoicedetailService.checkKey(invoicedetailMapping.toDomain(invoicedetaildto)));
}
@PostAuthorize("hasPermission(this.invoicedetailMapping.toDomain(returnObject.body),'iBizBusinessCentral-InvoiceDetail-Get')")
@ApiOperation(value = "获取发票产品", tags = {"发票产品" }, notes = "获取发票产品")
@RequestMapping(method = RequestMethod.GET, value = "/invoicedetails/{invoicedetail_id}")
public ResponseEntity<InvoiceDetailDTO> get(@PathVariable("invoicedetail_id") String invoicedetail_id) {
InvoiceDetail domain = invoicedetailService.get(invoicedetail_id);
InvoiceDetailDTO dto = invoicedetailMapping.toDto(domain);
return ResponseEntity.status(HttpStatus.OK).body(dto);
}
@VersionCheck(entity = "invoicedetail" , versionfield = "updatedate")
@PreAuthorize("hasPermission(this.invoicedetailService.get(#invoicedetail_id),'iBizBusinessCentral-InvoiceDetail-Update')")
@ApiOperation(value = "更新发票产品", tags = {"发票产品" }, notes = "更新发票产品")
@RequestMapping(method = RequestMethod.PUT, value = "/invoicedetails/{invoicedetail_id}")
@Transactional
public ResponseEntity<InvoiceDetailDTO> update(@PathVariable("invoicedetail_id") String invoicedetail_id, @RequestBody InvoiceDetailDTO invoicedetaildto) {
InvoiceDetail domain = invoicedetailMapping.toDomain(invoicedetaildto);
domain .setInvoicedetailid(invoicedetail_id);
invoicedetailService.update(domain );
InvoiceDetailDTO dto = invoicedetailMapping.toDto(domain );
return ResponseEntity.status(HttpStatus.OK).body(dto);
}
@PreAuthorize("hasPermission(this.invoicedetailService.getInvoicedetailByEntities(this.invoicedetailMapping.toDomain(#invoicedetaildtos)),'iBizBusinessCentral-InvoiceDetail-Update')")
@ApiOperation(value = "批量更新发票产品", tags = {"发票产品" }, notes = "批量更新发票产品")
@RequestMapping(method = RequestMethod.PUT, value = "/invoicedetails/batch")
public ResponseEntity<Boolean> updateBatch(@RequestBody List<InvoiceDetailDTO> invoicedetaildtos) {
invoicedetailService.updateBatch(invoicedetailMapping.toDomain(invoicedetaildtos));
return ResponseEntity.status(HttpStatus.OK).body(true);
}
@PreAuthorize("hasPermission(this.invoicedetailMapping.toDomain(#invoicedetaildto),'iBizBusinessCentral-InvoiceDetail-Create')")
@ApiOperation(value = "新建发票产品", tags = {"发票产品" }, notes = "新建发票产品")
@RequestMapping(method = RequestMethod.POST, value = "/invoicedetails")
@Transactional
public ResponseEntity<InvoiceDetailDTO> create(@RequestBody InvoiceDetailDTO invoicedetaildto) {
InvoiceDetail domain = invoicedetailMapping.toDomain(invoicedetaildto);
invoicedetailService.create(domain);
InvoiceDetailDTO dto = invoicedetailMapping.toDto(domain);
return ResponseEntity.status(HttpStatus.OK).body(dto);
}
@PreAuthorize("hasPermission(this.invoicedetailMapping.toDomain(#invoicedetaildtos),'iBizBusinessCentral-InvoiceDetail-Create')")
@ApiOperation(value = "批量新建发票产品", tags = {"发票产品" }, notes = "批量新建发票产品")
@RequestMapping(method = RequestMethod.POST, value = "/invoicedetails/batch")
public ResponseEntity<Boolean> createBatch(@RequestBody List<InvoiceDetailDTO> invoicedetaildtos) {
invoicedetailService.createBatch(invoicedetailMapping.toDomain(invoicedetaildtos));
return ResponseEntity.status(HttpStatus.OK).body(true);
}
@ApiOperation(value = "获取发票产品草稿", tags = {"发票产品" }, notes = "获取发票产品草稿")
@RequestMapping(method = RequestMethod.GET, value = "/invoicedetails/getdraft")
public ResponseEntity<InvoiceDetailDTO> getDraft() {
return ResponseEntity.status(HttpStatus.OK).body(invoicedetailMapping.toDto(invoicedetailService.getDraft(new InvoiceDetail())));
}
@PreAuthorize("hasPermission(this.invoicedetailMapping.toDomain(#invoicedetaildto),'iBizBusinessCentral-InvoiceDetail-Save')")
@ApiOperation(value = "保存发票产品", tags = {"发票产品" }, notes = "保存发票产品")
@RequestMapping(method = RequestMethod.POST, value = "/invoicedetails/save")
public ResponseEntity<Boolean> save(@RequestBody InvoiceDetailDTO invoicedetaildto) {
return ResponseEntity.status(HttpStatus.OK).body(invoicedetailService.save(invoicedetailMapping.toDomain(invoicedetaildto)));
}
@PreAuthorize("hasPermission(this.invoicedetailMapping.toDomain(#invoicedetaildtos),'iBizBusinessCentral-InvoiceDetail-Save')")
@ApiOperation(value = "批量保存发票产品", tags = {"发票产品" }, notes = "批量保存发票产品")
@RequestMapping(method = RequestMethod.POST, value = "/invoicedetails/savebatch")
public ResponseEntity<Boolean> saveBatch(@RequestBody List<InvoiceDetailDTO> invoicedetaildtos) {
invoicedetailService.saveBatch(invoicedetailMapping.toDomain(invoicedetaildtos));
return ResponseEntity.status(HttpStatus.OK).body(true);
}
@PreAuthorize("hasPermission(this.invoicedetailService.get(#invoicedetail_id),'iBizBusinessCentral-InvoiceDetail-Remove')")
@ApiOperation(value = "删除发票产品", tags = {"发票产品" }, notes = "删除发票产品")
@RequestMapping(method = RequestMethod.DELETE, value = "/invoicedetails/{invoicedetail_id}")
@Transactional
public ResponseEntity<Boolean> remove(@PathVariable("invoicedetail_id") String invoicedetail_id) {
return ResponseEntity.status(HttpStatus.OK).body(invoicedetailService.remove(invoicedetail_id));
}
@PreAuthorize("hasPermission(this.invoicedetailService.getInvoicedetailByIds(#ids),'iBizBusinessCentral-InvoiceDetail-Remove')")
@ApiOperation(value = "批量删除发票产品", tags = {"发票产品" }, notes = "批量删除发票产品")
@RequestMapping(method = RequestMethod.DELETE, value = "/invoicedetails/batch")
public ResponseEntity<Boolean> removeBatch(@RequestBody List<String> ids) {
invoicedetailService.removeBatch(ids);
return ResponseEntity.status(HttpStatus.OK).body(true);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','iBizBusinessCentral-InvoiceDetail-searchDefault-all')")
@ApiOperation(value = "获取DEFAULT", tags = {"发票产品" } ,notes = "获取DEFAULT")
@RequestMapping(method= RequestMethod.GET , value="/invoicedetails/fetchdefault")
public ResponseEntity<List<InvoiceDetailDTO>> fetchDefault(InvoiceDetailSearchContext context) {
Page<InvoiceDetail> domains = invoicedetailService.searchDefault(context) ;
List<InvoiceDetailDTO> list = invoicedetailMapping.toDto(domains.getContent());
return ResponseEntity.status(HttpStatus.OK)
.header("x-page", String.valueOf(context.getPageable().getPageNumber()))
.header("x-per-page", String.valueOf(context.getPageable().getPageSize()))
.header("x-total", String.valueOf(domains.getTotalElements()))
.body(list);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','iBizBusinessCentral-InvoiceDetail-searchDefault-all')")
@ApiOperation(value = "查询DEFAULT", tags = {"发票产品" } ,notes = "查询DEFAULT")
@RequestMapping(method= RequestMethod.POST , value="/invoicedetails/searchdefault")
public ResponseEntity<Page<InvoiceDetailDTO>> searchDefault(@RequestBody InvoiceDetailSearchContext context) {
Page<InvoiceDetail> domains = invoicedetailService.searchDefault(context) ;
return ResponseEntity.status(HttpStatus.OK)
.body(new PageImpl(invoicedetailMapping.toDto(domains.getContent()), context.getPageable(), domains.getTotalElements()));
}
@ApiOperation(value = "根据发票检查发票产品", tags = {"发票产品" }, notes = "根据发票检查发票产品")
@RequestMapping(method = RequestMethod.POST, value = "/invoices/{invoice_id}/invoicedetails/checkkey")
public ResponseEntity<Boolean> checkKeyByInvoice(@PathVariable("invoice_id") String invoice_id, @RequestBody InvoiceDetailDTO invoicedetaildto) {
return ResponseEntity.status(HttpStatus.OK).body(invoicedetailService.checkKey(invoicedetailMapping.toDomain(invoicedetaildto)));
}
@PostAuthorize("hasPermission(this.invoicedetailMapping.toDomain(returnObject.body),'iBizBusinessCentral-InvoiceDetail-Get')")
@ApiOperation(value = "根据发票获取发票产品", tags = {"发票产品" }, notes = "根据发票获取发票产品")
@RequestMapping(method = RequestMethod.GET, value = "/invoices/{invoice_id}/invoicedetails/{invoicedetail_id}")
public ResponseEntity<InvoiceDetailDTO> getByInvoice(@PathVariable("invoice_id") String invoice_id, @PathVariable("invoicedetail_id") String invoicedetail_id) {
InvoiceDetail domain = invoicedetailService.get(invoicedetail_id);
InvoiceDetailDTO dto = invoicedetailMapping.toDto(domain);
return ResponseEntity.status(HttpStatus.OK).body(dto);
}
@VersionCheck(entity = "invoicedetail" , versionfield = "updatedate")
@PreAuthorize("hasPermission(this.invoicedetailService.get(#invoicedetail_id),'iBizBusinessCentral-InvoiceDetail-Update')")
@ApiOperation(value = "根据发票更新发票产品", tags = {"发票产品" }, notes = "根据发票更新发票产品")
@RequestMapping(method = RequestMethod.PUT, value = "/invoices/{invoice_id}/invoicedetails/{invoicedetail_id}")
@Transactional
public ResponseEntity<InvoiceDetailDTO> updateByInvoice(@PathVariable("invoice_id") String invoice_id, @PathVariable("invoicedetail_id") String invoicedetail_id, @RequestBody InvoiceDetailDTO invoicedetaildto) {
InvoiceDetail domain = invoicedetailMapping.toDomain(invoicedetaildto);
domain.setInvoiceid(invoice_id);
domain.setInvoicedetailid(invoicedetail_id);
invoicedetailService.update(domain);
InvoiceDetailDTO dto = invoicedetailMapping.toDto(domain);
return ResponseEntity.status(HttpStatus.OK).body(dto);
}
@PreAuthorize("hasPermission(this.invoicedetailService.getInvoicedetailByEntities(this.invoicedetailMapping.toDomain(#invoicedetaildtos)),'iBizBusinessCentral-InvoiceDetail-Update')")
@ApiOperation(value = "根据发票批量更新发票产品", tags = {"发票产品" }, notes = "根据发票批量更新发票产品")
@RequestMapping(method = RequestMethod.PUT, value = "/invoices/{invoice_id}/invoicedetails/batch")
public ResponseEntity<Boolean> updateBatchByInvoice(@PathVariable("invoice_id") String invoice_id, @RequestBody List<InvoiceDetailDTO> invoicedetaildtos) {
List<InvoiceDetail> domainlist=invoicedetailMapping.toDomain(invoicedetaildtos);
for(InvoiceDetail domain:domainlist){
domain.setInvoiceid(invoice_id);
}
invoicedetailService.updateBatch(domainlist);
return ResponseEntity.status(HttpStatus.OK).body(true);
}
@PreAuthorize("hasPermission(this.invoicedetailMapping.toDomain(#invoicedetaildto),'iBizBusinessCentral-InvoiceDetail-Create')")
@ApiOperation(value = "根据发票建立发票产品", tags = {"发票产品" }, notes = "根据发票建立发票产品")
@RequestMapping(method = RequestMethod.POST, value = "/invoices/{invoice_id}/invoicedetails")
@Transactional
public ResponseEntity<InvoiceDetailDTO> createByInvoice(@PathVariable("invoice_id") String invoice_id, @RequestBody InvoiceDetailDTO invoicedetaildto) {
InvoiceDetail domain = invoicedetailMapping.toDomain(invoicedetaildto);
domain.setInvoiceid(invoice_id);
invoicedetailService.create(domain);
InvoiceDetailDTO dto = invoicedetailMapping.toDto(domain);
return ResponseEntity.status(HttpStatus.OK).body(dto);
}
@PreAuthorize("hasPermission(this.invoicedetailMapping.toDomain(#invoicedetaildtos),'iBizBusinessCentral-InvoiceDetail-Create')")
@ApiOperation(value = "根据发票批量建立发票产品", tags = {"发票产品" }, notes = "根据发票批量建立发票产品")
@RequestMapping(method = RequestMethod.POST, value = "/invoices/{invoice_id}/invoicedetails/batch")
public ResponseEntity<Boolean> createBatchByInvoice(@PathVariable("invoice_id") String invoice_id, @RequestBody List<InvoiceDetailDTO> invoicedetaildtos) {
List<InvoiceDetail> domainlist=invoicedetailMapping.toDomain(invoicedetaildtos);
for(InvoiceDetail domain:domainlist){
domain.setInvoiceid(invoice_id);
}
invoicedetailService.createBatch(domainlist);
return ResponseEntity.status(HttpStatus.OK).body(true);
}
@ApiOperation(value = "根据发票获取发票产品草稿", tags = {"发票产品" }, notes = "根据发票获取发票产品草稿")
@RequestMapping(method = RequestMethod.GET, value = "/invoices/{invoice_id}/invoicedetails/getdraft")
public ResponseEntity<InvoiceDetailDTO> getDraftByInvoice(@PathVariable("invoice_id") String invoice_id) {
InvoiceDetail domain = new InvoiceDetail();
domain.setInvoiceid(invoice_id);
return ResponseEntity.status(HttpStatus.OK).body(invoicedetailMapping.toDto(invoicedetailService.getDraft(domain)));
}
@PreAuthorize("hasPermission(this.invoicedetailMapping.toDomain(#invoicedetaildto),'iBizBusinessCentral-InvoiceDetail-Save')")
@ApiOperation(value = "根据发票保存发票产品", tags = {"发票产品" }, notes = "根据发票保存发票产品")
@RequestMapping(method = RequestMethod.POST, value = "/invoices/{invoice_id}/invoicedetails/save")
public ResponseEntity<Boolean> saveByInvoice(@PathVariable("invoice_id") String invoice_id, @RequestBody InvoiceDetailDTO invoicedetaildto) {
InvoiceDetail domain = invoicedetailMapping.toDomain(invoicedetaildto);
domain.setInvoiceid(invoice_id);
return ResponseEntity.status(HttpStatus.OK).body(invoicedetailService.save(domain));
}
@PreAuthorize("hasPermission(this.invoicedetailMapping.toDomain(#invoicedetaildtos),'iBizBusinessCentral-InvoiceDetail-Save')")
@ApiOperation(value = "根据发票批量保存发票产品", tags = {"发票产品" }, notes = "根据发票批量保存发票产品")
@RequestMapping(method = RequestMethod.POST, value = "/invoices/{invoice_id}/invoicedetails/savebatch")
public ResponseEntity<Boolean> saveBatchByInvoice(@PathVariable("invoice_id") String invoice_id, @RequestBody List<InvoiceDetailDTO> invoicedetaildtos) {
List<InvoiceDetail> domainlist=invoicedetailMapping.toDomain(invoicedetaildtos);
for(InvoiceDetail domain:domainlist){
domain.setInvoiceid(invoice_id);
}
invoicedetailService.saveBatch(domainlist);
return ResponseEntity.status(HttpStatus.OK).body(true);
}
@PreAuthorize("hasPermission(this.invoicedetailService.get(#invoicedetail_id),'iBizBusinessCentral-InvoiceDetail-Remove')")
@ApiOperation(value = "根据发票删除发票产品", tags = {"发票产品" }, notes = "根据发票删除发票产品")
@RequestMapping(method = RequestMethod.DELETE, value = "/invoices/{invoice_id}/invoicedetails/{invoicedetail_id}")
@Transactional
public ResponseEntity<Boolean> removeByInvoice(@PathVariable("invoice_id") String invoice_id, @PathVariable("invoicedetail_id") String invoicedetail_id) {
return ResponseEntity.status(HttpStatus.OK).body(invoicedetailService.remove(invoicedetail_id));
}
@PreAuthorize("hasPermission(this.invoicedetailService.getInvoicedetailByIds(#ids),'iBizBusinessCentral-InvoiceDetail-Remove')")
@ApiOperation(value = "根据发票批量删除发票产品", tags = {"发票产品" }, notes = "根据发票批量删除发票产品")
@RequestMapping(method = RequestMethod.DELETE, value = "/invoices/{invoice_id}/invoicedetails/batch")
public ResponseEntity<Boolean> removeBatchByInvoice(@RequestBody List<String> ids) {
invoicedetailService.removeBatch(ids);
return ResponseEntity.status(HttpStatus.OK).body(true);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','iBizBusinessCentral-InvoiceDetail-searchDefault-all')")
@ApiOperation(value = "根据发票获取DEFAULT", tags = {"发票产品" } ,notes = "根据发票获取DEFAULT")
@RequestMapping(method= RequestMethod.GET , value="/invoices/{invoice_id}/invoicedetails/fetchdefault")
public ResponseEntity<List<InvoiceDetailDTO>> fetchInvoiceDetailDefaultByInvoice(@PathVariable("invoice_id") String invoice_id,InvoiceDetailSearchContext context) {
context.setN_invoiceid_eq(invoice_id);
Page<InvoiceDetail> domains = invoicedetailService.searchDefault(context) ;
List<InvoiceDetailDTO> list = invoicedetailMapping.toDto(domains.getContent());
return ResponseEntity.status(HttpStatus.OK)
.header("x-page", String.valueOf(context.getPageable().getPageNumber()))
.header("x-per-page", String.valueOf(context.getPageable().getPageSize()))
.header("x-total", String.valueOf(domains.getTotalElements()))
.body(list);
}
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','iBizBusinessCentral-InvoiceDetail-searchDefault-all')")
@ApiOperation(value = "根据发票查询DEFAULT", tags = {"发票产品" } ,notes = "根据发票查询DEFAULT")
@RequestMapping(method= RequestMethod.POST , value="/invoices/{invoice_id}/invoicedetails/searchdefault")
public ResponseEntity<Page<InvoiceDetailDTO>> searchInvoiceDetailDefaultByInvoice(@PathVariable("invoice_id") String invoice_id, @RequestBody InvoiceDetailSearchContext context) {
context.setN_invoiceid_eq(invoice_id);
Page<InvoiceDetail> domains = invoicedetailService.searchDefault(context) ;
return ResponseEntity.status(HttpStatus.OK)
.body(new PageImpl(invoicedetailMapping.toDto(domains.getContent()), context.getPageable(), domains.getTotalElements()));
}
}
......@@ -55,6 +55,10 @@ public class AppController {
appData.put("unires",uniRes);
appData.put("appmenu",appMenu);
appData.put("enablepermissionvalid",enablePermissionValid);
if(curUser.getSuperuser()==1)
appData.put("enablepermissionvalid",false);
else
appData.put("enablepermissionvalid",enablePermissionValid);
return ResponseEntity.status(HttpStatus.OK).body(appData);
}
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册