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

lab_gzf 发布系统代码

上级 fdbe8b2c
/**
* 实体
*
* @export
* @interface ProductSalesLiterature
*/
export interface ProductSalesLiterature {
/**
* 建立时间
*
* @returns {*}
* @memberof ProductSalesLiterature
*/
createdate?: any;
/**
* 建立人
*
* @returns {*}
* @memberof ProductSalesLiterature
*/
createman?: any;
/**
* 关系标识
*
* @returns {*}
* @memberof ProductSalesLiterature
*/
relationshipsid?: any;
/**
* 关系名称
*
* @returns {*}
* @memberof ProductSalesLiterature
*/
relationshipsname?: any;
/**
* 关系类型
*
* @returns {*}
* @memberof ProductSalesLiterature
*/
relationshipstype?: any;
/**
* 更新时间
*
* @returns {*}
* @memberof ProductSalesLiterature
*/
updatedate?: any;
/**
* 更新人
*
* @returns {*}
* @memberof ProductSalesLiterature
*/
updateman?: any;
/**
* 产品
*
* @returns {*}
* @memberof ProductSalesLiterature
*/
entityid?: any;
/**
* 销售宣传资料
*
* @returns {*}
* @memberof ProductSalesLiterature
*/
entity2id?: any;
/**
* 产品
*
* @returns {*}
* @memberof ProductSalesLiterature
*/
entityname?: any;
/**
* 销售宣传资料
*
* @returns {*}
* @memberof ProductSalesLiterature
*/
entity2name?: any;
}
\ No newline at end of file
/**
* 销售附件
*
* @export
* @interface SalesLiteratureItem
*/
export interface SalesLiteratureItem {
/**
* 作者姓名
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
authorname?: any;
/**
* Time Zone Rule Version Number
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
timezoneruleversionnumber?: any;
/**
* 标题
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
title?: any;
/**
* 文件大小(字节)
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
filesize?: any;
/**
* Mode
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
mode?: any;
/**
* 文件类型
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
filetypecode?: any;
/**
* Import Sequence Number
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
importsequencenumber?: any;
/**
* 销售宣传资料项
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
salesliteratureitemid?: any;
/**
* 更新时间
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
updatedate?: any;
/**
* 更新人
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
updateman?: any;
/**
* MIME 类型
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
mimetype?: any;
/**
* 建立人
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
createman?: any;
/**
* 关键字
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
keywords?: any;
/**
* FileType
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
filetype?: any;
/**
* 附加文档 URL
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
attacheddocumenturl?: any;
/**
* 显示销售宣传资料文档附件的编码内容。
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
documentbody?: any;
/**
* Version Number
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
versionnumber?: any;
/**
* 是否抽象
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
ibizabstract?: any;
/**
* Record Created On
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
overriddencreatedon?: any;
/**
* 向客户公开
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
customerviewable?: any;
/**
* 文件名
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
filename?: any;
/**
* 组织
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
organizationid?: any;
/**
* 建立时间
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
createdate?: any;
/**
* UTC Conversion Time Zone Code
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
utcconversiontimezonecode?: any;
/**
* 销售宣传资料
*
* @returns {*}
* @memberof SalesLiteratureItem
*/
salesliteratureid?: any;
}
\ No newline at end of file
......@@ -30,12 +30,14 @@ import quote_en_US from '@locale/lanres/entities/quote/quote_en_US';
import campaignactivity_en_US from '@locale/lanres/entities/campaign-activity/campaign-activity_en_US';
import listlead_en_US from '@locale/lanres/entities/list-lead/list-lead_en_US';
import opportunitycompetitor_en_US from '@locale/lanres/entities/opportunity-competitor/opportunity-competitor_en_US';
import salesliteratureitem_en_US from '@locale/lanres/entities/sales-literature-item/sales-literature-item_en_US';
import contact_en_US from '@locale/lanres/entities/contact/contact_en_US';
import product_en_US from '@locale/lanres/entities/product/product_en_US';
import competitor_en_US from '@locale/lanres/entities/competitor/competitor_en_US';
import account_en_US from '@locale/lanres/entities/account/account_en_US';
import salesorder_en_US from '@locale/lanres/entities/sales-order/sales-order_en_US';
import quotedetail_en_US from '@locale/lanres/entities/quote-detail/quote-detail_en_US';
import productsalesliterature_en_US from '@locale/lanres/entities/product-sales-literature/product-sales-literature_en_US';
import subject_en_US from '@locale/lanres/entities/subject/subject_en_US';
import components_en_US from '@locale/lanres/components/components_en_US';
import codelist_en_US from '@locale/lanres/codelist/codelist_en_US';
......@@ -174,12 +176,14 @@ export default {
campaignactivity: campaignactivity_en_US,
listlead: listlead_en_US,
opportunitycompetitor: opportunitycompetitor_en_US,
salesliteratureitem: salesliteratureitem_en_US,
contact: contact_en_US,
product: product_en_US,
competitor: competitor_en_US,
account: account_en_US,
salesorder: salesorder_en_US,
quotedetail: quotedetail_en_US,
productsalesliterature: productsalesliterature_en_US,
subject: subject_en_US,
},
components: components_en_US,
......
......@@ -30,12 +30,14 @@ import quote_zh_CN from '@locale/lanres/entities/quote/quote_zh_CN';
import campaignactivity_zh_CN from '@locale/lanres/entities/campaign-activity/campaign-activity_zh_CN';
import listlead_zh_CN from '@locale/lanres/entities/list-lead/list-lead_zh_CN';
import opportunitycompetitor_zh_CN from '@locale/lanres/entities/opportunity-competitor/opportunity-competitor_zh_CN';
import salesliteratureitem_zh_CN from '@locale/lanres/entities/sales-literature-item/sales-literature-item_zh_CN';
import contact_zh_CN from '@locale/lanres/entities/contact/contact_zh_CN';
import product_zh_CN from '@locale/lanres/entities/product/product_zh_CN';
import competitor_zh_CN from '@locale/lanres/entities/competitor/competitor_zh_CN';
import account_zh_CN from '@locale/lanres/entities/account/account_zh_CN';
import salesorder_zh_CN from '@locale/lanres/entities/sales-order/sales-order_zh_CN';
import quotedetail_zh_CN from '@locale/lanres/entities/quote-detail/quote-detail_zh_CN';
import productsalesliterature_zh_CN from '@locale/lanres/entities/product-sales-literature/product-sales-literature_zh_CN';
import subject_zh_CN from '@locale/lanres/entities/subject/subject_zh_CN';
import components_zh_CN from '@locale/lanres/components/components_zh_CN';
import codelist_zh_CN from '@locale/lanres/codelist/codelist_zh_CN';
......@@ -174,12 +176,14 @@ export default {
campaignactivity: campaignactivity_zh_CN,
listlead: listlead_zh_CN,
opportunitycompetitor: opportunitycompetitor_zh_CN,
salesliteratureitem: salesliteratureitem_zh_CN,
contact: contact_zh_CN,
product: product_zh_CN,
competitor: competitor_zh_CN,
account: account_zh_CN,
salesorder: salesorder_zh_CN,
quotedetail: quotedetail_zh_CN,
productsalesliterature: productsalesliterature_zh_CN,
subject: subject_zh_CN,
},
components: components_zh_CN,
......
export default {
fields: {
createdate: "建立时间",
createman: "建立人",
relationshipsid: "关系标识",
relationshipsname: "关系名称",
relationshipstype: "关系类型",
updatedate: "更新时间",
updateman: "更新人",
entityid: "产品",
entity2id: "销售宣传资料",
entityname: "产品",
entity2name: "销售宣传资料",
},
};
export default {
fields: {
createdate: "建立时间",
createman: "建立人",
relationshipsid: "关系标识",
relationshipsname: "关系名称",
relationshipstype: "关系类型",
updatedate: "更新时间",
updateman: "更新人",
entityid: "产品",
entity2id: "销售宣传资料",
entityname: "产品",
entity2name: "销售宣传资料",
},
};
\ No newline at end of file
export default {
fields: {
authorname: "作者姓名",
timezoneruleversionnumber: "Time Zone Rule Version Number",
title: "标题",
filesize: "文件大小(字节)",
mode: "Mode",
filetypecode: "文件类型",
importsequencenumber: "Import Sequence Number",
salesliteratureitemid: "销售宣传资料项",
updatedate: "更新时间",
updateman: "更新人",
mimetype: "MIME 类型",
createman: "建立人",
keywords: "关键字",
filetype: "FileType",
attacheddocumenturl: "附加文档 URL",
documentbody: "显示销售宣传资料文档附件的编码内容。",
versionnumber: "Version Number",
ibizabstract: "是否抽象",
overriddencreatedon: "Record Created On",
customerviewable: "向客户公开",
filename: "文件名",
organizationid: "组织",
createdate: "建立时间",
utcconversiontimezonecode: "UTC Conversion Time Zone Code",
salesliteratureid: "销售宣传资料",
},
};
export default {
fields: {
authorname: "作者姓名",
timezoneruleversionnumber: "Time Zone Rule Version Number",
title: "标题",
filesize: "文件大小(字节)",
mode: "Mode",
filetypecode: "文件类型",
importsequencenumber: "Import Sequence Number",
salesliteratureitemid: "销售宣传资料项",
updatedate: "更新时间",
updateman: "更新人",
mimetype: "MIME 类型",
createman: "建立人",
keywords: "关键字",
filetype: "FileType",
attacheddocumenturl: "附加文档 URL",
documentbody: "显示销售宣传资料文档附件的编码内容。",
versionnumber: "Version Number",
ibizabstract: "是否抽象",
overriddencreatedon: "Record Created On",
customerviewable: "向客户公开",
filename: "文件名",
organizationid: "组织",
createdate: "建立时间",
utcconversiontimezonecode: "UTC Conversion Time Zone Code",
salesliteratureid: "销售宣传资料",
},
};
\ No newline at end of file
......@@ -39,10 +39,12 @@ import './entity/quotes/quotes';
import './entity/campaign-activitys/campaign-activitys';
import './entity/list-leads/list-leads';
import './entity/opportunity-competitors/opportunity-competitors';
import './entity/sales-literature-items/sales-literature-items';
import './entity/contacts/contacts';
import './entity/products/products';
import './entity/competitors/competitors';
import './entity/accounts/accounts';
import './entity/sales-orders/sales-orders';
import './entity/quote-details/quote-details';
import './entity/product-sales-literatures/product-sales-literatures';
import './entity/subjects/subjects';
......@@ -71,12 +71,14 @@ export class EntityServiceRegister {
this.allEntityService.set('campaignactivity', () => import('@/service/campaign-activity/campaign-activity-service'));
this.allEntityService.set('listlead', () => import('@/service/list-lead/list-lead-service'));
this.allEntityService.set('opportunitycompetitor', () => import('@/service/opportunity-competitor/opportunity-competitor-service'));
this.allEntityService.set('salesliteratureitem', () => import('@/service/sales-literature-item/sales-literature-item-service'));
this.allEntityService.set('contact', () => import('@/service/contact/contact-service'));
this.allEntityService.set('product', () => import('@/service/product/product-service'));
this.allEntityService.set('competitor', () => import('@/service/competitor/competitor-service'));
this.allEntityService.set('account', () => import('@/service/account/account-service'));
this.allEntityService.set('salesorder', () => import('@/service/sales-order/sales-order-service'));
this.allEntityService.set('quotedetail', () => import('@/service/quote-detail/quote-detail-service'));
this.allEntityService.set('productsalesliterature', () => import('@/service/product-sales-literature/product-sales-literature-service'));
this.allEntityService.set('subject', () => import('@/service/subject/subject-service'));
}
......
import { Http,Util } from '@/utils';
import EntityService from '../entity-service';
/**
* 产品宣传资料服务对象基类
*
* @export
* @class ProductSalesLiteratureServiceBase
* @extends {EntityServie}
*/
export default class ProductSalesLiteratureServiceBase extends EntityService {
/**
* Creates an instance of ProductSalesLiteratureServiceBase.
*
* @param {*} [opts={}]
* @memberof ProductSalesLiteratureServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 初始化基础数据
*
* @memberof ProductSalesLiteratureServiceBase
*/
public initBasicData(){
this.APPLYDEKEY ='productsalesliterature';
this.APPDEKEY = 'relationshipsid';
this.APPDENAME = 'productsalesliteratures';
this.APPDETEXT = 'relationshipsname';
this.APPNAME = 'crm';
this.SYSTEMNAME = 'ibizbusinesscentral';
}
// 实体接口
/**
* Select接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ProductSalesLiteratureServiceBase
*/
public async Select(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().get(`/productsalesliteratures/${context.productsalesliterature}/select`,isloading);
}
/**
* Remove接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ProductSalesLiteratureServiceBase
*/
public async Remove(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().delete(`/productsalesliteratures/${context.productsalesliterature}`,isloading);
}
/**
* Get接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ProductSalesLiteratureServiceBase
*/
public async Get(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/productsalesliteratures/${context.productsalesliterature}`,isloading);
return res;
}
/**
* Update接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ProductSalesLiteratureServiceBase
*/
public async Update(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().put(`/productsalesliteratures/${context.productsalesliterature}`,data,isloading);
return res;
}
/**
* CheckKey接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ProductSalesLiteratureServiceBase
*/
public async CheckKey(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().post(`/productsalesliteratures/${context.productsalesliterature}/checkkey`,data,isloading);
}
/**
* GetDraft接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ProductSalesLiteratureServiceBase
*/
public async GetDraft(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/productsalesliteratures/getdraft`,isloading);
res.data.productsalesliterature = data.productsalesliterature;
return res;
}
/**
* Save接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ProductSalesLiteratureServiceBase
*/
public async Save(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/productsalesliteratures/${context.productsalesliterature}/save`,data,isloading);
return res;
}
/**
* Create接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ProductSalesLiteratureServiceBase
*/
public async Create(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
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(`/productsalesliteratures`,data,isloading);
return res;
}
/**
* FetchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ProductSalesLiteratureServiceBase
*/
public async FetchDefault(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let tempData:any = JSON.parse(JSON.stringify(data));
return Http.getInstance().get(`/productsalesliteratures/fetchdefault`,tempData,isloading);
}
}
\ No newline at end of file
import { Http,Util } from '@/utils';
import ProductSalesLiteratureServiceBase from './product-sales-literature-service-base';
/**
* 产品宣传资料服务对象
*
* @export
* @class ProductSalesLiteratureService
* @extends {ProductSalesLiteratureServiceBase}
*/
export default class ProductSalesLiteratureService extends ProductSalesLiteratureServiceBase {
/**
* Creates an instance of ProductSalesLiteratureService.
*
* @param {*} [opts={}]
* @memberof ProductSalesLiteratureService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
import { Http,Util } from '@/utils';
import EntityService from '../entity-service';
/**
* 销售附件服务对象基类
*
* @export
* @class SalesLiteratureItemServiceBase
* @extends {EntityServie}
*/
export default class SalesLiteratureItemServiceBase extends EntityService {
/**
* Creates an instance of SalesLiteratureItemServiceBase.
*
* @param {*} [opts={}]
* @memberof SalesLiteratureItemServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 初始化基础数据
*
* @memberof SalesLiteratureItemServiceBase
*/
public initBasicData(){
this.APPLYDEKEY ='salesliteratureitem';
this.APPDEKEY = 'salesliteratureitemid';
this.APPDENAME = 'salesliteratureitems';
this.APPDETEXT = 'title';
this.APPNAME = 'crm';
this.SYSTEMNAME = 'ibizbusinesscentral';
}
// 实体接口
/**
* Select接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SalesLiteratureItemServiceBase
*/
public async Select(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().get(`/salesliteratureitems/${context.salesliteratureitem}/select`,isloading);
}
/**
* Save接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SalesLiteratureItemServiceBase
*/
public async Save(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/salesliteratureitems/${context.salesliteratureitem}/save`,data,isloading);
return res;
}
/**
* Get接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SalesLiteratureItemServiceBase
*/
public async Get(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/salesliteratureitems/${context.salesliteratureitem}`,isloading);
return res;
}
/**
* GetDraft接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SalesLiteratureItemServiceBase
*/
public async GetDraft(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/salesliteratureitems/getdraft`,isloading);
res.data.salesliteratureitem = data.salesliteratureitem;
return res;
}
/**
* Remove接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SalesLiteratureItemServiceBase
*/
public async Remove(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().delete(`/salesliteratureitems/${context.salesliteratureitem}`,isloading);
}
/**
* Update接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SalesLiteratureItemServiceBase
*/
public async Update(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().put(`/salesliteratureitems/${context.salesliteratureitem}`,data,isloading);
return res;
}
/**
* CheckKey接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SalesLiteratureItemServiceBase
*/
public async CheckKey(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().post(`/salesliteratureitems/${context.salesliteratureitem}/checkkey`,data,isloading);
}
/**
* Create接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SalesLiteratureItemServiceBase
*/
public async Create(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
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(`/salesliteratureitems`,data,isloading);
return res;
}
/**
* FetchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof SalesLiteratureItemServiceBase
*/
public async FetchDefault(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let tempData:any = JSON.parse(JSON.stringify(data));
return Http.getInstance().get(`/salesliteratureitems/fetchdefault`,tempData,isloading);
}
}
\ No newline at end of file
import { Http,Util } from '@/utils';
import SalesLiteratureItemServiceBase from './sales-literature-item-service-base';
/**
* 销售附件服务对象
*
* @export
* @class SalesLiteratureItemService
* @extends {SalesLiteratureItemServiceBase}
*/
export default class SalesLiteratureItemService extends SalesLiteratureItemServiceBase {
/**
* Creates an instance of SalesLiteratureItemService.
*
* @param {*} [opts={}]
* @memberof SalesLiteratureItemService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
import { Environment } from '@/environments/environment';
import { UIActionTool,Util } from '@/utils';
import UIService from '../ui-service';
import { Subject } from 'rxjs';
import ProductSalesLiteratureService from '@/service/product-sales-literature/product-sales-literature-service';
/**
* 产品宣传资料UI服务对象基类
*
* @export
* @class ProductSalesLiteratureUIServiceBase
*/
export default class ProductSalesLiteratureUIServiceBase extends UIService {
/**
* 是否支持工作流
*
* @memberof ProductSalesLiteratureUIServiceBase
*/
public isEnableWorkflow:boolean = false;
/**
* 当前UI服务对应的数据服务对象
*
* @memberof ProductSalesLiteratureUIServiceBase
*/
public dataService:ProductSalesLiteratureService = new ProductSalesLiteratureService();
/**
* 所有关联视图
*
* @memberof ProductSalesLiteratureUIServiceBase
*/
public allViewMap: Map<string, Object> = new Map();
/**
* 状态值
*
* @memberof ProductSalesLiteratureUIServiceBase
*/
public stateValue: number = 0;
/**
* 状态属性
*
* @memberof ProductSalesLiteratureUIServiceBase
*/
public stateField: string = "";
/**
* 主状态属性集合
*
* @memberof ProductSalesLiteratureUIServiceBase
*/
public mainStateFields:Array<any> = [];
/**
* 主状态集合Map
*
* @memberof ProductSalesLiteratureUIServiceBase
*/
public allDeMainStateMap:Map<string,string> = new Map();
/**
* Creates an instance of ProductSalesLiteratureUIServiceBase.
*
* @param {*} [opts={}]
* @memberof ProductSalesLiteratureUIServiceBase
*/
constructor(opts: any = {}) {
super(opts);
this.initViewMap();
this.initDeMainStateMap();
}
/**
* 初始化视图Map
*
* @memberof ProductSalesLiteratureUIServiceBase
*/
public initViewMap(){
}
/**
* 初始化主状态集合
*
* @memberof ProductSalesLiteratureUIServiceBase
*/
public initDeMainStateMap(){
}
/**
* 获取指定数据的重定向页面
*
* @param srfkey 数据主键
* @param isEnableWorkflow 重定向视图是否需要处理流程中的数据
* @memberof ProductSalesLiteratureUIServiceBase
*/
public async getRDAppView(srfkey:string,isEnableWorkflow:boolean){
this.isEnableWorkflow = isEnableWorkflow;
// 进行数据查询
let result:any = await this.dataService.Get({productsalesliterature: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 ProductSalesLiteratureUIServiceBase
*/
public getRealDEType(entity:any){
}
/**
* 获取实体单数据实体视图预定义参数
*
* @param curData 当前数据
* @param bDataInWF 是否有数据在工作流中
* @param bWFMode 是否工作流模式
* @memberof ProductSalesLiteratureUIServiceBase
*/
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 ProductSalesLiteratureUIServiceBase
*/
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 ProductSalesLiteratureUIServiceBase from './product-sales-literature-ui-service-base';
/**
* 产品宣传资料UI服务对象
*
* @export
* @class ProductSalesLiteratureUIService
*/
export default class ProductSalesLiteratureUIService extends ProductSalesLiteratureUIServiceBase {
/**
* Creates an instance of ProductSalesLiteratureUIService.
*
* @param {*} [opts={}]
* @memberof ProductSalesLiteratureUIService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
import { Environment } from '@/environments/environment';
import { UIActionTool,Util } from '@/utils';
import UIService from '../ui-service';
import { Subject } from 'rxjs';
import SalesLiteratureItemService from '@/service/sales-literature-item/sales-literature-item-service';
/**
* 销售附件UI服务对象基类
*
* @export
* @class SalesLiteratureItemUIServiceBase
*/
export default class SalesLiteratureItemUIServiceBase extends UIService {
/**
* 是否支持工作流
*
* @memberof SalesLiteratureItemUIServiceBase
*/
public isEnableWorkflow:boolean = false;
/**
* 当前UI服务对应的数据服务对象
*
* @memberof SalesLiteratureItemUIServiceBase
*/
public dataService:SalesLiteratureItemService = new SalesLiteratureItemService();
/**
* 所有关联视图
*
* @memberof SalesLiteratureItemUIServiceBase
*/
public allViewMap: Map<string, Object> = new Map();
/**
* 状态值
*
* @memberof SalesLiteratureItemUIServiceBase
*/
public stateValue: number = 0;
/**
* 状态属性
*
* @memberof SalesLiteratureItemUIServiceBase
*/
public stateField: string = "";
/**
* 主状态属性集合
*
* @memberof SalesLiteratureItemUIServiceBase
*/
public mainStateFields:Array<any> = [];
/**
* 主状态集合Map
*
* @memberof SalesLiteratureItemUIServiceBase
*/
public allDeMainStateMap:Map<string,string> = new Map();
/**
* Creates an instance of SalesLiteratureItemUIServiceBase.
*
* @param {*} [opts={}]
* @memberof SalesLiteratureItemUIServiceBase
*/
constructor(opts: any = {}) {
super(opts);
this.initViewMap();
this.initDeMainStateMap();
}
/**
* 初始化视图Map
*
* @memberof SalesLiteratureItemUIServiceBase
*/
public initViewMap(){
}
/**
* 初始化主状态集合
*
* @memberof SalesLiteratureItemUIServiceBase
*/
public initDeMainStateMap(){
}
/**
* 获取指定数据的重定向页面
*
* @param srfkey 数据主键
* @param isEnableWorkflow 重定向视图是否需要处理流程中的数据
* @memberof SalesLiteratureItemUIServiceBase
*/
public async getRDAppView(srfkey:string,isEnableWorkflow:boolean){
this.isEnableWorkflow = isEnableWorkflow;
// 进行数据查询
let result:any = await this.dataService.Get({salesliteratureitem: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 SalesLiteratureItemUIServiceBase
*/
public getRealDEType(entity:any){
}
/**
* 获取实体单数据实体视图预定义参数
*
* @param curData 当前数据
* @param bDataInWF 是否有数据在工作流中
* @param bWFMode 是否工作流模式
* @memberof SalesLiteratureItemUIServiceBase
*/
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 SalesLiteratureItemUIServiceBase
*/
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 SalesLiteratureItemUIServiceBase from './sales-literature-item-ui-service-base';
/**
* 销售附件UI服务对象
*
* @export
* @class SalesLiteratureItemUIService
*/
export default class SalesLiteratureItemUIService extends SalesLiteratureItemUIServiceBase {
/**
* Creates an instance of SalesLiteratureItemUIService.
*
* @param {*} [opts={}]
* @memberof SalesLiteratureItemUIService
*/
constructor(opts: any = {}) {
super(opts);
}
}
\ No newline at end of file
......@@ -71,12 +71,14 @@ export class UIServiceRegister {
this.allUIService.set('campaignactivity', () => import('@/uiservice/campaign-activity/campaign-activity-ui-service'));
this.allUIService.set('listlead', () => import('@/uiservice/list-lead/list-lead-ui-service'));
this.allUIService.set('opportunitycompetitor', () => import('@/uiservice/opportunity-competitor/opportunity-competitor-ui-service'));
this.allUIService.set('salesliteratureitem', () => import('@/uiservice/sales-literature-item/sales-literature-item-ui-service'));
this.allUIService.set('contact', () => import('@/uiservice/contact/contact-ui-service'));
this.allUIService.set('product', () => import('@/uiservice/product/product-ui-service'));
this.allUIService.set('competitor', () => import('@/uiservice/competitor/competitor-ui-service'));
this.allUIService.set('account', () => import('@/uiservice/account/account-ui-service'));
this.allUIService.set('salesorder', () => import('@/uiservice/sales-order/sales-order-ui-service'));
this.allUIService.set('quotedetail', () => import('@/uiservice/quote-detail/quote-detail-ui-service'));
this.allUIService.set('productsalesliterature', () => import('@/uiservice/product-sales-literature/product-sales-literature-ui-service'));
this.allUIService.set('subject', () => import('@/uiservice/subject/subject-ui-service'));
}
......
......@@ -135,6 +135,10 @@ zuul:
path: /opportunitycompetitors/**
serviceId: ibizbusinesscentral-centralapi
stripPrefix: false
salesliteratureitem:
path: /salesliteratureitems/**
serviceId: ibizbusinesscentral-centralapi
stripPrefix: false
contact:
path: /contacts/**
serviceId: ibizbusinesscentral-centralapi
......@@ -159,6 +163,10 @@ zuul:
path: /quotedetails/**
serviceId: ibizbusinesscentral-centralapi
stripPrefix: false
productsalesliterature:
path: /productsalesliteratures/**
serviceId: ibizbusinesscentral-centralapi
stripPrefix: false
subject:
path: /subjects/**
serviceId: ibizbusinesscentral-centralapi
......
package cn.ibizlab.businesscentral.core.product.domain;
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 java.math.BigDecimal;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.util.ObjectUtils;
import org.springframework.util.DigestUtils;
import cn.ibizlab.businesscentral.util.domain.EntityBase;
import cn.ibizlab.businesscentral.util.annotation.DEField;
import cn.ibizlab.businesscentral.util.enums.DEPredefinedFieldType;
import cn.ibizlab.businesscentral.util.enums.DEFieldDefaultValueType;
import java.io.Serializable;
import lombok.*;
import org.springframework.data.annotation.Transient;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.baomidou.mybatisplus.annotation.*;
import cn.ibizlab.businesscentral.util.domain.EntityMP;
/**
* 实体[产品宣传资料]
*/
@Getter
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(value = "handler")
@TableName(value = "RELATIONSHIPS",resultMap = "ProductSalesLiteratureResultMap")
public class ProductSalesLiterature extends EntityMP implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 建立时间
*/
@DEField(preType = DEPredefinedFieldType.CREATEDATE)
@TableField(value = "createdate" , fill = FieldFill.INSERT)
@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;
/**
* 建立人
*/
@DEField(preType = DEPredefinedFieldType.CREATEMAN)
@TableField(value = "createman" , fill = FieldFill.INSERT)
@JSONField(name = "createman")
@JsonProperty("createman")
private String createman;
/**
* 关系标识
*/
@DEField(isKeyField=true)
@TableId(value= "relationshipsid",type=IdType.ASSIGN_UUID)
@JSONField(name = "relationshipsid")
@JsonProperty("relationshipsid")
private String relationshipsid;
/**
* 关系名称
*/
@TableField(value = "relationshipsname")
@JSONField(name = "relationshipsname")
@JsonProperty("relationshipsname")
private String relationshipsname;
/**
* 关系类型
*/
@DEField(defaultValue = "PRODUCTSALESLITERATURE")
@TableField(value = "relationshipstype")
@JSONField(name = "relationshipstype")
@JsonProperty("relationshipstype")
private String relationshipstype;
/**
* 更新时间
*/
@DEField(preType = DEPredefinedFieldType.UPDATEDATE)
@TableField(value = "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;
/**
* 更新人
*/
@DEField(preType = DEPredefinedFieldType.UPDATEMAN)
@TableField(value = "updateman")
@JSONField(name = "updateman")
@JsonProperty("updateman")
private String updateman;
/**
* 产品
*/
@TableField(value = "entityid")
@JSONField(name = "entityid")
@JsonProperty("entityid")
private String entityid;
/**
* 销售宣传资料
*/
@TableField(value = "entity2id")
@JSONField(name = "entity2id")
@JsonProperty("entity2id")
private String entity2id;
/**
* 产品
*/
@TableField(value = "entityname")
@JSONField(name = "entityname")
@JsonProperty("entityname")
private String entityname;
/**
* 销售宣传资料
*/
@TableField(value = "entity2name")
@JSONField(name = "entity2name")
@JsonProperty("entity2name")
private String entity2name;
/**
*
*/
@JsonIgnore
@JSONField(serialize = false)
@TableField(exist = false)
private cn.ibizlab.businesscentral.core.product.domain.Product product;
/**
*
*/
@JsonIgnore
@JSONField(serialize = false)
@TableField(exist = false)
private cn.ibizlab.businesscentral.core.sales.domain.SalesLiterature salesliterature;
/**
* 设置 [关系名称]
*/
public void setRelationshipsname(String relationshipsname){
this.relationshipsname = relationshipsname ;
this.modify("relationshipsname",relationshipsname);
}
/**
* 设置 [关系类型]
*/
public void setRelationshipstype(String relationshipstype){
this.relationshipstype = relationshipstype ;
this.modify("relationshipstype",relationshipstype);
}
/**
* 设置 [产品]
*/
public void setEntityid(String entityid){
this.entityid = entityid ;
this.modify("entityid",entityid);
}
/**
* 设置 [销售宣传资料]
*/
public void setEntity2id(String entity2id){
this.entity2id = entity2id ;
this.modify("entity2id",entity2id);
}
/**
* 设置 [产品]
*/
public void setEntityname(String entityname){
this.entityname = entityname ;
this.modify("entityname",entityname);
}
/**
* 设置 [销售宣传资料]
*/
public void setEntity2name(String entity2name){
this.entity2name = entity2name ;
this.modify("entity2name",entity2name);
}
}
package cn.ibizlab.businesscentral.core.product.filter;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import lombok.*;
import lombok.extern.slf4j.Slf4j;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.fastjson.annotation.JSONField;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import cn.ibizlab.businesscentral.util.filter.QueryWrapperContext;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.ibizlab.businesscentral.core.product.domain.ProductSalesLiterature;
/**
* 关系型数据实体[ProductSalesLiterature] 查询条件对象
*/
@Slf4j
@Data
public class ProductSalesLiteratureSearchContext extends QueryWrapperContext<ProductSalesLiterature> {
private String n_relationshipsname_like;//[关系名称]
public void setN_relationshipsname_like(String n_relationshipsname_like) {
this.n_relationshipsname_like = n_relationshipsname_like;
if(!ObjectUtils.isEmpty(this.n_relationshipsname_like)){
this.getSearchCond().like("relationshipsname", n_relationshipsname_like);
}
}
private String n_relationshipstype_eq;//[关系类型]
public void setN_relationshipstype_eq(String n_relationshipstype_eq) {
this.n_relationshipstype_eq = n_relationshipstype_eq;
if(!ObjectUtils.isEmpty(this.n_relationshipstype_eq)){
this.getSearchCond().eq("relationshipstype", n_relationshipstype_eq);
}
}
private String n_entityid_eq;//[产品]
public void setN_entityid_eq(String n_entityid_eq) {
this.n_entityid_eq = n_entityid_eq;
if(!ObjectUtils.isEmpty(this.n_entityid_eq)){
this.getSearchCond().eq("entityid", n_entityid_eq);
}
}
private String n_entity2id_eq;//[销售宣传资料]
public void setN_entity2id_eq(String n_entity2id_eq) {
this.n_entity2id_eq = n_entity2id_eq;
if(!ObjectUtils.isEmpty(this.n_entity2id_eq)){
this.getSearchCond().eq("entity2id", n_entity2id_eq);
}
}
private String n_entityname_eq;//[产品]
public void setN_entityname_eq(String n_entityname_eq) {
this.n_entityname_eq = n_entityname_eq;
if(!ObjectUtils.isEmpty(this.n_entityname_eq)){
this.getSearchCond().eq("entityname", n_entityname_eq);
}
}
private String n_entityname_like;//[产品]
public void setN_entityname_like(String n_entityname_like) {
this.n_entityname_like = n_entityname_like;
if(!ObjectUtils.isEmpty(this.n_entityname_like)){
this.getSearchCond().like("entityname", n_entityname_like);
}
}
private String n_entity2name_eq;//[销售宣传资料]
public void setN_entity2name_eq(String n_entity2name_eq) {
this.n_entity2name_eq = n_entity2name_eq;
if(!ObjectUtils.isEmpty(this.n_entity2name_eq)){
this.getSearchCond().eq("entity2name", n_entity2name_eq);
}
}
private String n_entity2name_like;//[销售宣传资料]
public void setN_entity2name_like(String n_entity2name_like) {
this.n_entity2name_like = n_entity2name_like;
if(!ObjectUtils.isEmpty(this.n_entity2name_like)){
this.getSearchCond().like("entity2name", n_entity2name_like);
}
}
/**
* 启用快速搜索
*/
public void setQuery(String query)
{
this.query=query;
if(!StringUtils.isEmpty(query)){
this.getSearchCond().and( wrapper ->
wrapper.like("relationshipsname", query)
);
}
}
}
package cn.ibizlab.businesscentral.core.product.mapper;
import java.util.List;
import org.apache.ibatis.annotations.*;
import java.util.Map;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import java.util.HashMap;
import org.apache.ibatis.annotations.Select;
import cn.ibizlab.businesscentral.core.product.domain.ProductSalesLiterature;
import cn.ibizlab.businesscentral.core.product.filter.ProductSalesLiteratureSearchContext;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject;
public interface ProductSalesLiteratureMapper extends BaseMapper<ProductSalesLiterature>{
Page<ProductSalesLiterature> searchDefault(IPage page, @Param("srf") ProductSalesLiteratureSearchContext context, @Param("ew") Wrapper<ProductSalesLiterature> wrapper) ;
@Override
ProductSalesLiterature selectById(Serializable id);
@Override
int insert(ProductSalesLiterature entity);
@Override
int updateById(@Param(Constants.ENTITY) ProductSalesLiterature entity);
@Override
int update(@Param(Constants.ENTITY) ProductSalesLiterature entity, @Param("ew") Wrapper<ProductSalesLiterature> updateWrapper);
@Override
int deleteById(Serializable id);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义更新SQL
* @param sql
* @return
*/
@Update("${sql}")
boolean updateBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义插入SQL
* @param sql
* @return
*/
@Insert("${sql}")
boolean insertBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义删除SQL
* @param sql
* @return
*/
@Delete("${sql}")
boolean deleteBySQL(@Param("sql") String sql, @Param("et")Map param);
List<ProductSalesLiterature> selectByEntityid(@Param("productid") Serializable productid) ;
List<ProductSalesLiterature> selectByEntity2id(@Param("salesliteratureid") Serializable salesliteratureid) ;
}
package cn.ibizlab.businesscentral.core.product.service;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.util.Collection;
import java.math.BigInteger;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import com.alibaba.fastjson.JSONObject;
import org.springframework.cache.annotation.CacheEvict;
import cn.ibizlab.businesscentral.core.product.domain.ProductSalesLiterature;
import cn.ibizlab.businesscentral.core.product.filter.ProductSalesLiteratureSearchContext;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[ProductSalesLiterature] 服务对象接口
*/
public interface IProductSalesLiteratureService extends IService<ProductSalesLiterature>{
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
ProductSalesLiterature get(String key) ;
boolean update(ProductSalesLiterature et) ;
void updateBatch(List<ProductSalesLiterature> list) ;
boolean checkKey(ProductSalesLiterature et) ;
ProductSalesLiterature getDraft(ProductSalesLiterature et) ;
boolean save(ProductSalesLiterature et) ;
void saveBatch(List<ProductSalesLiterature> list) ;
boolean create(ProductSalesLiterature et) ;
void createBatch(List<ProductSalesLiterature> list) ;
Page<ProductSalesLiterature> searchDefault(ProductSalesLiteratureSearchContext context) ;
List<ProductSalesLiterature> selectByEntityid(String productid) ;
void removeByEntityid(String productid) ;
List<ProductSalesLiterature> selectByEntity2id(String salesliteratureid) ;
void removeByEntity2id(String salesliteratureid) ;
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return select * from table where id = '1'
*/
List<JSONObject> select(String sql, Map param);
/**
*自定义SQL
* @param sql update table set name ='test' where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return update table set name ='test' where id = '1'
*/
boolean execute(String sql, Map param);
List<ProductSalesLiterature> getProductsalesliteratureByIds(List<String> ids) ;
List<ProductSalesLiterature> getProductsalesliteratureByEntities(List<ProductSalesLiterature> entities) ;
}
package cn.ibizlab.businesscentral.core.product.service.impl;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.Map;
import java.util.HashSet;
import java.util.HashMap;
import java.util.Collection;
import java.util.Objects;
import java.util.Optional;
import java.math.BigInteger;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cglib.beans.BeanCopier;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.util.ObjectUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.context.annotation.Lazy;
import cn.ibizlab.businesscentral.core.product.domain.ProductSalesLiterature;
import cn.ibizlab.businesscentral.core.product.filter.ProductSalesLiteratureSearchContext;
import cn.ibizlab.businesscentral.core.product.service.IProductSalesLiteratureService;
import cn.ibizlab.businesscentral.util.helper.CachedBeanCopier;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.ibizlab.businesscentral.core.product.mapper.ProductSalesLiteratureMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils;
/**
* 实体[产品宣传资料] 服务对象接口实现
*/
@Slf4j
@Service("ProductSalesLiteratureServiceImpl")
public class ProductSalesLiteratureServiceImpl extends ServiceImpl<ProductSalesLiteratureMapper, ProductSalesLiterature> implements IProductSalesLiteratureService {
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.product.service.IProductService productService;
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.sales.service.ISalesLiteratureService salesliteratureService;
protected int batchSize = 500;
@Override
@Transactional
public boolean remove(String key) {
boolean result=removeById(key);
return result ;
}
@Override
public void removeBatch(Collection<String> idList) {
removeByIds(idList);
}
@Override
@Transactional
public ProductSalesLiterature get(String key) {
ProductSalesLiterature et = getById(key);
if(et==null){
et=new ProductSalesLiterature();
et.setRelationshipsid(key);
}
else{
}
return et;
}
@Override
@Transactional
public boolean update(ProductSalesLiterature et) {
fillParentData(et);
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("relationshipsid",et.getRelationshipsid())))
return false;
CachedBeanCopier.copy(get(et.getRelationshipsid()),et);
return true;
}
@Override
public void updateBatch(List<ProductSalesLiterature> list) {
list.forEach(item->fillParentData(item));
updateBatchById(list,batchSize);
}
@Override
public boolean checkKey(ProductSalesLiterature et) {
return (!ObjectUtils.isEmpty(et.getRelationshipsid()))&&(!Objects.isNull(this.getById(et.getRelationshipsid())));
}
@Override
public ProductSalesLiterature getDraft(ProductSalesLiterature et) {
fillParentData(et);
return et;
}
@Override
@Transactional
public boolean save(ProductSalesLiterature et) {
if(!saveOrUpdate(et))
return false;
return true;
}
@Override
@Transactional(
rollbackFor = {Exception.class}
)
public boolean saveOrUpdate(ProductSalesLiterature et) {
if (null == et) {
return false;
} else {
return checkKey(et) ? this.update(et) : this.create(et);
}
}
@Override
public boolean saveBatch(Collection<ProductSalesLiterature> list) {
list.forEach(item->fillParentData(item));
saveOrUpdateBatch(list,batchSize);
return true;
}
@Override
public void saveBatch(List<ProductSalesLiterature> list) {
list.forEach(item->fillParentData(item));
saveOrUpdateBatch(list,batchSize);
}
@Override
@Transactional
public boolean create(ProductSalesLiterature et) {
fillParentData(et);
if(!this.retBool(this.baseMapper.insert(et)))
return false;
CachedBeanCopier.copy(get(et.getRelationshipsid()),et);
return true;
}
@Override
public void createBatch(List<ProductSalesLiterature> list) {
list.forEach(item->fillParentData(item));
this.saveBatch(list,batchSize);
}
@Override
public List<ProductSalesLiterature> selectByEntityid(String productid) {
return baseMapper.selectByEntityid(productid);
}
@Override
public void removeByEntityid(String productid) {
this.remove(new QueryWrapper<ProductSalesLiterature>().eq("entityid",productid));
}
@Override
public List<ProductSalesLiterature> selectByEntity2id(String salesliteratureid) {
return baseMapper.selectByEntity2id(salesliteratureid);
}
@Override
public void removeByEntity2id(String salesliteratureid) {
this.remove(new QueryWrapper<ProductSalesLiterature>().eq("entity2id",salesliteratureid));
}
/**
* 查询集合 DEFAULT
*/
@Override
public Page<ProductSalesLiterature> searchDefault(ProductSalesLiteratureSearchContext context) {
com.baomidou.mybatisplus.extension.plugins.pagination.Page<ProductSalesLiterature> pages=baseMapper.searchDefault(context.getPages(),context,context.getSelectCond());
return new PageImpl<ProductSalesLiterature>(pages.getRecords(), context.getPageable(), pages.getTotal());
}
/**
* 为当前实体填充父数据(外键值文本、外键值附加数据)
* @param et
*/
private void fillParentData(ProductSalesLiterature et){
//实体关系[DER1N_PRODUCTSALESLITERATURE_PRODUCT_ENTITYID]
if(!ObjectUtils.isEmpty(et.getEntityid())){
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.getEntityid());
et.setProduct(majorEntity);
product=majorEntity;
}
et.setEntityname(product.getProductname());
}
//实体关系[DER1N_PRODUCTSALESLITERATURE_SALESLITERATURE_ENTITY2ID]
if(!ObjectUtils.isEmpty(et.getEntity2id())){
cn.ibizlab.businesscentral.core.sales.domain.SalesLiterature salesliterature=et.getSalesliterature();
if(ObjectUtils.isEmpty(salesliterature)){
cn.ibizlab.businesscentral.core.sales.domain.SalesLiterature majorEntity=salesliteratureService.get(et.getEntity2id());
et.setSalesliterature(majorEntity);
salesliterature=majorEntity;
}
et.setEntity2name(salesliterature.getSalesliteraturename());
}
}
@Override
public List<JSONObject> select(String sql, Map param){
return this.baseMapper.selectBySQL(sql,param);
}
@Override
@Transactional
public boolean execute(String sql , Map param){
if (sql == null || sql.isEmpty()) {
return false;
}
if (sql.toLowerCase().trim().startsWith("insert")) {
return this.baseMapper.insertBySQL(sql,param);
}
if (sql.toLowerCase().trim().startsWith("update")) {
return this.baseMapper.updateBySQL(sql,param);
}
if (sql.toLowerCase().trim().startsWith("delete")) {
return this.baseMapper.deleteBySQL(sql,param);
}
log.warn("暂未支持的SQL语法");
return true;
}
@Override
public List<ProductSalesLiterature> getProductsalesliteratureByIds(List<String> ids) {
return this.listByIds(ids);
}
@Override
public List<ProductSalesLiterature> getProductsalesliteratureByEntities(List<ProductSalesLiterature> entities) {
List ids =new ArrayList();
for(ProductSalesLiterature entity : entities){
Serializable id=entity.getRelationshipsid();
if(!ObjectUtils.isEmpty(id)){
ids.add(id);
}
}
if(ids.size()>0)
return this.listByIds(ids);
else
return entities;
}
}
......@@ -67,6 +67,9 @@ public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> impl
protected cn.ibizlab.businesscentral.core.product.service.IProductPriceLevelService productpricelevelService;
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.product.service.IProductSalesLiteratureService productsalesliteratureService;
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.product.service.IProductSubstituteService productsubstituteService;
protected cn.ibizlab.businesscentral.core.product.service.IProductService productService = this;
......
package cn.ibizlab.businesscentral.core.sales.domain;
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 java.math.BigDecimal;
import java.text.SimpleDateFormat;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.util.ObjectUtils;
import org.springframework.util.DigestUtils;
import cn.ibizlab.businesscentral.util.domain.EntityBase;
import cn.ibizlab.businesscentral.util.annotation.DEField;
import cn.ibizlab.businesscentral.util.enums.DEPredefinedFieldType;
import cn.ibizlab.businesscentral.util.enums.DEFieldDefaultValueType;
import java.io.Serializable;
import lombok.*;
import org.springframework.data.annotation.Transient;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.baomidou.mybatisplus.annotation.*;
import cn.ibizlab.businesscentral.util.domain.EntityMP;
/**
* 实体[竞争对手宣传资料]
*/
@Getter
@Setter
@NoArgsConstructor
@JsonIgnoreProperties(value = "handler")
@TableName(value = "RELATIONSHIPS",resultMap = "CompetitorSalesLiteratureResultMap")
public class CompetitorSalesLiterature extends EntityMP implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 建立时间
*/
@DEField(preType = DEPredefinedFieldType.CREATEDATE)
@TableField(value = "createdate" , fill = FieldFill.INSERT)
@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;
/**
* 建立人
*/
@DEField(preType = DEPredefinedFieldType.CREATEMAN)
@TableField(value = "createman" , fill = FieldFill.INSERT)
@JSONField(name = "createman")
@JsonProperty("createman")
private String createman;
/**
* 关系标识
*/
@DEField(isKeyField=true)
@TableId(value= "relationshipsid",type=IdType.ASSIGN_UUID)
@JSONField(name = "relationshipsid")
@JsonProperty("relationshipsid")
private String relationshipsid;
/**
* 关系名称
*/
@TableField(value = "relationshipsname")
@JSONField(name = "relationshipsname")
@JsonProperty("relationshipsname")
private String relationshipsname;
/**
* 关系类型
*/
@DEField(defaultValue = "COMPETITORSALESLITERATURE")
@TableField(value = "relationshipstype")
@JSONField(name = "relationshipstype")
@JsonProperty("relationshipstype")
private String relationshipstype;
/**
* 更新时间
*/
@DEField(preType = DEPredefinedFieldType.UPDATEDATE)
@TableField(value = "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;
/**
* 更新人
*/
@DEField(preType = DEPredefinedFieldType.UPDATEMAN)
@TableField(value = "updateman")
@JSONField(name = "updateman")
@JsonProperty("updateman")
private String updateman;
/**
* 竞争对手
*/
@TableField(value = "entityid")
@JSONField(name = "entityid")
@JsonProperty("entityid")
private String entityid;
/**
* 销售宣传资料
*/
@TableField(value = "entity2id")
@JSONField(name = "entity2id")
@JsonProperty("entity2id")
private String entity2id;
/**
* 竞争对手
*/
@TableField(value = "entityname")
@JSONField(name = "entityname")
@JsonProperty("entityname")
private String entityname;
/**
* 销售宣传资料
*/
@TableField(value = "entity2name")
@JSONField(name = "entity2name")
@JsonProperty("entity2name")
private String entity2name;
/**
*
*/
@JsonIgnore
@JSONField(serialize = false)
@TableField(exist = false)
private cn.ibizlab.businesscentral.core.sales.domain.Competitor competitor;
/**
*
*/
@JsonIgnore
@JSONField(serialize = false)
@TableField(exist = false)
private cn.ibizlab.businesscentral.core.sales.domain.SalesLiterature salesliterature;
/**
* 设置 [关系名称]
*/
public void setRelationshipsname(String relationshipsname){
this.relationshipsname = relationshipsname ;
this.modify("relationshipsname",relationshipsname);
}
/**
* 设置 [关系类型]
*/
public void setRelationshipstype(String relationshipstype){
this.relationshipstype = relationshipstype ;
this.modify("relationshipstype",relationshipstype);
}
/**
* 设置 [竞争对手]
*/
public void setEntityid(String entityid){
this.entityid = entityid ;
this.modify("entityid",entityid);
}
/**
* 设置 [销售宣传资料]
*/
public void setEntity2id(String entity2id){
this.entity2id = entity2id ;
this.modify("entity2id",entity2id);
}
/**
* 设置 [竞争对手]
*/
public void setEntityname(String entityname){
this.entityname = entityname ;
this.modify("entityname",entityname);
}
/**
* 设置 [销售宣传资料]
*/
public void setEntity2name(String entity2name){
this.entity2name = entity2name ;
this.modify("entity2name",entity2name);
}
}
package cn.ibizlab.businesscentral.core.sales.filter;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import lombok.*;
import lombok.extern.slf4j.Slf4j;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.fastjson.annotation.JSONField;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import cn.ibizlab.businesscentral.util.filter.QueryWrapperContext;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import cn.ibizlab.businesscentral.core.sales.domain.CompetitorSalesLiterature;
/**
* 关系型数据实体[CompetitorSalesLiterature] 查询条件对象
*/
@Slf4j
@Data
public class CompetitorSalesLiteratureSearchContext extends QueryWrapperContext<CompetitorSalesLiterature> {
private String n_relationshipsname_like;//[关系名称]
public void setN_relationshipsname_like(String n_relationshipsname_like) {
this.n_relationshipsname_like = n_relationshipsname_like;
if(!ObjectUtils.isEmpty(this.n_relationshipsname_like)){
this.getSearchCond().like("relationshipsname", n_relationshipsname_like);
}
}
private String n_relationshipstype_eq;//[关系类型]
public void setN_relationshipstype_eq(String n_relationshipstype_eq) {
this.n_relationshipstype_eq = n_relationshipstype_eq;
if(!ObjectUtils.isEmpty(this.n_relationshipstype_eq)){
this.getSearchCond().eq("relationshipstype", n_relationshipstype_eq);
}
}
private String n_entityid_eq;//[竞争对手]
public void setN_entityid_eq(String n_entityid_eq) {
this.n_entityid_eq = n_entityid_eq;
if(!ObjectUtils.isEmpty(this.n_entityid_eq)){
this.getSearchCond().eq("entityid", n_entityid_eq);
}
}
private String n_entity2id_eq;//[销售宣传资料]
public void setN_entity2id_eq(String n_entity2id_eq) {
this.n_entity2id_eq = n_entity2id_eq;
if(!ObjectUtils.isEmpty(this.n_entity2id_eq)){
this.getSearchCond().eq("entity2id", n_entity2id_eq);
}
}
private String n_entityname_eq;//[竞争对手]
public void setN_entityname_eq(String n_entityname_eq) {
this.n_entityname_eq = n_entityname_eq;
if(!ObjectUtils.isEmpty(this.n_entityname_eq)){
this.getSearchCond().eq("entityname", n_entityname_eq);
}
}
private String n_entityname_like;//[竞争对手]
public void setN_entityname_like(String n_entityname_like) {
this.n_entityname_like = n_entityname_like;
if(!ObjectUtils.isEmpty(this.n_entityname_like)){
this.getSearchCond().like("entityname", n_entityname_like);
}
}
private String n_entity2name_eq;//[销售宣传资料]
public void setN_entity2name_eq(String n_entity2name_eq) {
this.n_entity2name_eq = n_entity2name_eq;
if(!ObjectUtils.isEmpty(this.n_entity2name_eq)){
this.getSearchCond().eq("entity2name", n_entity2name_eq);
}
}
private String n_entity2name_like;//[销售宣传资料]
public void setN_entity2name_like(String n_entity2name_like) {
this.n_entity2name_like = n_entity2name_like;
if(!ObjectUtils.isEmpty(this.n_entity2name_like)){
this.getSearchCond().like("entity2name", n_entity2name_like);
}
}
/**
* 启用快速搜索
*/
public void setQuery(String query)
{
this.query=query;
if(!StringUtils.isEmpty(query)){
this.getSearchCond().and( wrapper ->
wrapper.like("relationshipsname", query)
);
}
}
}
package cn.ibizlab.businesscentral.core.sales.mapper;
import java.util.List;
import org.apache.ibatis.annotations.*;
import java.util.Map;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import java.util.HashMap;
import org.apache.ibatis.annotations.Select;
import cn.ibizlab.businesscentral.core.sales.domain.CompetitorSalesLiterature;
import cn.ibizlab.businesscentral.core.sales.filter.CompetitorSalesLiteratureSearchContext;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import java.io.Serializable;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.alibaba.fastjson.JSONObject;
public interface CompetitorSalesLiteratureMapper extends BaseMapper<CompetitorSalesLiterature>{
Page<CompetitorSalesLiterature> searchDefault(IPage page, @Param("srf") CompetitorSalesLiteratureSearchContext context, @Param("ew") Wrapper<CompetitorSalesLiterature> wrapper) ;
@Override
CompetitorSalesLiterature selectById(Serializable id);
@Override
int insert(CompetitorSalesLiterature entity);
@Override
int updateById(@Param(Constants.ENTITY) CompetitorSalesLiterature entity);
@Override
int update(@Param(Constants.ENTITY) CompetitorSalesLiterature entity, @Param("ew") Wrapper<CompetitorSalesLiterature> updateWrapper);
@Override
int deleteById(Serializable id);
/**
* 自定义查询SQL
* @param sql
* @return
*/
@Select("${sql}")
List<JSONObject> selectBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义更新SQL
* @param sql
* @return
*/
@Update("${sql}")
boolean updateBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义插入SQL
* @param sql
* @return
*/
@Insert("${sql}")
boolean insertBySQL(@Param("sql") String sql, @Param("et")Map param);
/**
* 自定义删除SQL
* @param sql
* @return
*/
@Delete("${sql}")
boolean deleteBySQL(@Param("sql") String sql, @Param("et")Map param);
List<CompetitorSalesLiterature> selectByEntityid(@Param("competitorid") Serializable competitorid) ;
List<CompetitorSalesLiterature> selectByEntity2id(@Param("salesliteratureid") Serializable salesliteratureid) ;
}
package cn.ibizlab.businesscentral.core.sales.service;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.HashMap;
import java.util.Collection;
import java.math.BigInteger;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import com.alibaba.fastjson.JSONObject;
import org.springframework.cache.annotation.CacheEvict;
import cn.ibizlab.businesscentral.core.sales.domain.CompetitorSalesLiterature;
import cn.ibizlab.businesscentral.core.sales.filter.CompetitorSalesLiteratureSearchContext;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* 实体[CompetitorSalesLiterature] 服务对象接口
*/
public interface ICompetitorSalesLiteratureService extends IService<CompetitorSalesLiterature>{
boolean checkKey(CompetitorSalesLiterature et) ;
boolean update(CompetitorSalesLiterature et) ;
void updateBatch(List<CompetitorSalesLiterature> list) ;
CompetitorSalesLiterature get(String key) ;
boolean remove(String key) ;
void removeBatch(Collection<String> idList) ;
boolean create(CompetitorSalesLiterature et) ;
void createBatch(List<CompetitorSalesLiterature> list) ;
boolean save(CompetitorSalesLiterature et) ;
void saveBatch(List<CompetitorSalesLiterature> list) ;
CompetitorSalesLiterature getDraft(CompetitorSalesLiterature et) ;
Page<CompetitorSalesLiterature> searchDefault(CompetitorSalesLiteratureSearchContext context) ;
List<CompetitorSalesLiterature> selectByEntityid(String competitorid) ;
void removeByEntityid(String competitorid) ;
List<CompetitorSalesLiterature> selectByEntity2id(String salesliteratureid) ;
void removeByEntity2id(String salesliteratureid) ;
/**
*自定义查询SQL
* @param sql select * from table where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return select * from table where id = '1'
*/
List<JSONObject> select(String sql, Map param);
/**
*自定义SQL
* @param sql update table set name ='test' where id =#{et.param}
* @param param 参数列表 param.put("param","1");
* @return update table set name ='test' where id = '1'
*/
boolean execute(String sql, Map param);
List<CompetitorSalesLiterature> getCompetitorsalesliteratureByIds(List<String> ids) ;
List<CompetitorSalesLiterature> getCompetitorsalesliteratureByEntities(List<CompetitorSalesLiterature> entities) ;
}
package cn.ibizlab.businesscentral.core.sales.service.impl;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.Map;
import java.util.HashSet;
import java.util.HashMap;
import java.util.Collection;
import java.util.Objects;
import java.util.Optional;
import java.math.BigInteger;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cglib.beans.BeanCopier;
import org.springframework.stereotype.Service;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageImpl;
import org.springframework.data.domain.Pageable;
import org.springframework.util.ObjectUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.context.annotation.Lazy;
import cn.ibizlab.businesscentral.core.sales.domain.CompetitorSalesLiterature;
import cn.ibizlab.businesscentral.core.sales.filter.CompetitorSalesLiteratureSearchContext;
import cn.ibizlab.businesscentral.core.sales.service.ICompetitorSalesLiteratureService;
import cn.ibizlab.businesscentral.util.helper.CachedBeanCopier;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import cn.ibizlab.businesscentral.core.sales.mapper.CompetitorSalesLiteratureMapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.alibaba.fastjson.JSONObject;
import org.springframework.util.StringUtils;
/**
* 实体[竞争对手宣传资料] 服务对象接口实现
*/
@Slf4j
@Service("CompetitorSalesLiteratureServiceImpl")
public class CompetitorSalesLiteratureServiceImpl extends ServiceImpl<CompetitorSalesLiteratureMapper, CompetitorSalesLiterature> implements ICompetitorSalesLiteratureService {
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.sales.service.ICompetitorService competitorService;
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.sales.service.ISalesLiteratureService salesliteratureService;
protected int batchSize = 500;
@Override
public boolean checkKey(CompetitorSalesLiterature et) {
return (!ObjectUtils.isEmpty(et.getRelationshipsid()))&&(!Objects.isNull(this.getById(et.getRelationshipsid())));
}
@Override
@Transactional
public boolean update(CompetitorSalesLiterature et) {
fillParentData(et);
if(!update(et,(Wrapper) et.getUpdateWrapper(true).eq("relationshipsid",et.getRelationshipsid())))
return false;
CachedBeanCopier.copy(get(et.getRelationshipsid()),et);
return true;
}
@Override
public void updateBatch(List<CompetitorSalesLiterature> list) {
list.forEach(item->fillParentData(item));
updateBatchById(list,batchSize);
}
@Override
@Transactional
public CompetitorSalesLiterature get(String key) {
CompetitorSalesLiterature et = getById(key);
if(et==null){
et=new CompetitorSalesLiterature();
et.setRelationshipsid(key);
}
else{
}
return et;
}
@Override
@Transactional
public boolean remove(String key) {
boolean result=removeById(key);
return result ;
}
@Override
public void removeBatch(Collection<String> idList) {
removeByIds(idList);
}
@Override
@Transactional
public boolean create(CompetitorSalesLiterature et) {
fillParentData(et);
if(!this.retBool(this.baseMapper.insert(et)))
return false;
CachedBeanCopier.copy(get(et.getRelationshipsid()),et);
return true;
}
@Override
public void createBatch(List<CompetitorSalesLiterature> list) {
list.forEach(item->fillParentData(item));
this.saveBatch(list,batchSize);
}
@Override
@Transactional
public boolean save(CompetitorSalesLiterature et) {
if(!saveOrUpdate(et))
return false;
return true;
}
@Override
@Transactional(
rollbackFor = {Exception.class}
)
public boolean saveOrUpdate(CompetitorSalesLiterature et) {
if (null == et) {
return false;
} else {
return checkKey(et) ? this.update(et) : this.create(et);
}
}
@Override
public boolean saveBatch(Collection<CompetitorSalesLiterature> list) {
list.forEach(item->fillParentData(item));
saveOrUpdateBatch(list,batchSize);
return true;
}
@Override
public void saveBatch(List<CompetitorSalesLiterature> list) {
list.forEach(item->fillParentData(item));
saveOrUpdateBatch(list,batchSize);
}
@Override
public CompetitorSalesLiterature getDraft(CompetitorSalesLiterature et) {
fillParentData(et);
return et;
}
@Override
public List<CompetitorSalesLiterature> selectByEntityid(String competitorid) {
return baseMapper.selectByEntityid(competitorid);
}
@Override
public void removeByEntityid(String competitorid) {
this.remove(new QueryWrapper<CompetitorSalesLiterature>().eq("entityid",competitorid));
}
@Override
public List<CompetitorSalesLiterature> selectByEntity2id(String salesliteratureid) {
return baseMapper.selectByEntity2id(salesliteratureid);
}
@Override
public void removeByEntity2id(String salesliteratureid) {
this.remove(new QueryWrapper<CompetitorSalesLiterature>().eq("entity2id",salesliteratureid));
}
/**
* 查询集合 DEFAULT
*/
@Override
public Page<CompetitorSalesLiterature> searchDefault(CompetitorSalesLiteratureSearchContext context) {
com.baomidou.mybatisplus.extension.plugins.pagination.Page<CompetitorSalesLiterature> pages=baseMapper.searchDefault(context.getPages(),context,context.getSelectCond());
return new PageImpl<CompetitorSalesLiterature>(pages.getRecords(), context.getPageable(), pages.getTotal());
}
/**
* 为当前实体填充父数据(外键值文本、外键值附加数据)
* @param et
*/
private void fillParentData(CompetitorSalesLiterature et){
//实体关系[DER1N_COMPETITORSALESLITERATURE_COMPETITOR_ENTITYID]
if(!ObjectUtils.isEmpty(et.getEntityid())){
cn.ibizlab.businesscentral.core.sales.domain.Competitor competitor=et.getCompetitor();
if(ObjectUtils.isEmpty(competitor)){
cn.ibizlab.businesscentral.core.sales.domain.Competitor majorEntity=competitorService.get(et.getEntityid());
et.setCompetitor(majorEntity);
competitor=majorEntity;
}
et.setEntityname(competitor.getCompetitorname());
}
//实体关系[DER1N_COMPETITORSALESLITERATURE_SALESLITERATURE_ENTITY2ID]
if(!ObjectUtils.isEmpty(et.getEntity2id())){
cn.ibizlab.businesscentral.core.sales.domain.SalesLiterature salesliterature=et.getSalesliterature();
if(ObjectUtils.isEmpty(salesliterature)){
cn.ibizlab.businesscentral.core.sales.domain.SalesLiterature majorEntity=salesliteratureService.get(et.getEntity2id());
et.setSalesliterature(majorEntity);
salesliterature=majorEntity;
}
et.setEntity2name(salesliterature.getSalesliteraturename());
}
}
@Override
public List<JSONObject> select(String sql, Map param){
return this.baseMapper.selectBySQL(sql,param);
}
@Override
@Transactional
public boolean execute(String sql , Map param){
if (sql == null || sql.isEmpty()) {
return false;
}
if (sql.toLowerCase().trim().startsWith("insert")) {
return this.baseMapper.insertBySQL(sql,param);
}
if (sql.toLowerCase().trim().startsWith("update")) {
return this.baseMapper.updateBySQL(sql,param);
}
if (sql.toLowerCase().trim().startsWith("delete")) {
return this.baseMapper.deleteBySQL(sql,param);
}
log.warn("暂未支持的SQL语法");
return true;
}
@Override
public List<CompetitorSalesLiterature> getCompetitorsalesliteratureByIds(List<String> ids) {
return this.listByIds(ids);
}
@Override
public List<CompetitorSalesLiterature> getCompetitorsalesliteratureByEntities(List<CompetitorSalesLiterature> entities) {
List ids =new ArrayList();
for(CompetitorSalesLiterature entity : entities){
Serializable id=entity.getRelationshipsid();
if(!ObjectUtils.isEmpty(id)){
ids.add(id);
}
}
if(ids.size()>0)
return this.listByIds(ids);
else
return entities;
}
}
......@@ -44,6 +44,9 @@ import org.springframework.util.StringUtils;
@Service("CompetitorServiceImpl")
public class CompetitorServiceImpl extends ServiceImpl<CompetitorMapper, Competitor> implements ICompetitorService {
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.sales.service.ICompetitorSalesLiteratureService competitorsalesliteratureService;
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.sales.service.ILeadCompetitorService leadcompetitorService;
......
......@@ -44,6 +44,12 @@ import org.springframework.util.StringUtils;
@Service("SalesLiteratureServiceImpl")
public class SalesLiteratureServiceImpl extends ServiceImpl<SalesLiteratureMapper, SalesLiterature> implements ISalesLiteratureService {
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.sales.service.ICompetitorSalesLiteratureService competitorsalesliteratureService;
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.product.service.IProductSalesLiteratureService productsalesliteratureService;
@Autowired
@Lazy
protected cn.ibizlab.businesscentral.core.sales.service.ISalesLiteratureItemService salesliteratureitemService;
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.ibizlab.businesscentral.core.product.mapper.ProductSalesLiteratureMapper">
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
<select id="selectById" resultMap="ProductSalesLiteratureResultMap" databaseId="mysql">
<![CDATA[select t1.* from (SELECT t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`ENTITY2ID`, t1.`ENTITY2NAME`, t1.`ENTITYID`, t1.`ENTITYNAME`, t1.`RELATIONSHIPSID`, t1.`RELATIONSHIPSNAME`, t1.`RELATIONSHIPSTYPE`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `RELATIONSHIPS` t1 ) t1 where relationshipsid=#{id}]]>
</select>
<!--通过mybatis将查询结果注入到entity中,通过配置autoMapping="true"由mybatis自动处理映射关系 -->
<resultMap id="ProductSalesLiteratureResultMap" type="cn.ibizlab.businesscentral.core.product.domain.ProductSalesLiterature" autoMapping="true">
<id property="relationshipsid" column="relationshipsid" /><!--主键字段映射-->
<result property="entityid" column="entityid" />
<result property="entity2id" column="entity2id" />
<!--通过mybatis自动注入关系属性[主实体],fetchType="lazy"为懒加载配置 -->
<association property="product" javaType="cn.ibizlab.businesscentral.core.product.domain.Product" column="entityid" select="cn.ibizlab.businesscentral.core.product.mapper.ProductMapper.selectById" fetchType="lazy"></association>
<!--通过mybatis自动注入关系属性[主实体],fetchType="lazy"为懒加载配置 -->
<association property="salesliterature" javaType="cn.ibizlab.businesscentral.core.sales.domain.SalesLiterature" column="entity2id" select="cn.ibizlab.businesscentral.core.sales.mapper.SalesLiteratureMapper.selectById" fetchType="lazy"></association>
</resultMap>
<!--关系实体暴露select方法供主实体通过外键查询关系实体数据[实体关系名称:DER1N_PRODUCTSALESLITERATURE_PRODUCT_ENTITYID] -->
<select id="selectByEntityid" resultMap="ProductSalesLiteratureResultMap">
select t1.* from (
<include refid="Default" />
) t1
where entityid=#{productid}
</select>
<!--关系实体暴露select方法供主实体通过外键查询关系实体数据[实体关系名称:DER1N_PRODUCTSALESLITERATURE_SALESLITERATURE_ENTITY2ID] -->
<select id="selectByEntity2id" resultMap="ProductSalesLiteratureResultMap">
select t1.* from (
<include refid="Default" />
) t1
where entity2id=#{salesliteratureid}
</select>
<!--数据集合[Default]-->
<select id="searchDefault" parameterType="cn.ibizlab.businesscentral.core.product.filter.ProductSalesLiteratureSearchContext" resultMap="ProductSalesLiteratureResultMap">
select t1.* from (
<include refid="Default" />
)t1
<where><if test="ew!=null and ew.sqlSegment!=null and !ew.emptyOfWhere">${ew.sqlSegment}</if></where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">${ew.sqlSegment}</if>
</select>
<!--数据查询[Default]-->
<sql id="Default" databaseId="mysql">
<![CDATA[ SELECT t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`ENTITY2ID`, t1.`ENTITY2NAME`, t1.`ENTITYID`, t1.`ENTITYNAME`, t1.`RELATIONSHIPSID`, t1.`RELATIONSHIPSNAME`, t1.`RELATIONSHIPSTYPE`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `RELATIONSHIPS` t1
WHERE ( t1.`RELATIONSHIPSTYPE` = 'PRODUCTSALESLITERATURE' )
]]>
</sql>
<!--数据查询[View]-->
<sql id="View" databaseId="mysql">
<![CDATA[ SELECT t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`ENTITY2ID`, t1.`ENTITY2NAME`, t1.`ENTITYID`, t1.`ENTITYNAME`, t1.`RELATIONSHIPSID`, t1.`RELATIONSHIPSNAME`, t1.`RELATIONSHIPSTYPE`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `RELATIONSHIPS` t1
WHERE ( t1.`RELATIONSHIPSTYPE` = '' )
]]>
</sql>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.ibizlab.businesscentral.core.sales.mapper.CompetitorSalesLiteratureMapper">
<!--该方法用于重写mybatis中selectById方法,以实现查询逻辑属性-->
<select id="selectById" resultMap="CompetitorSalesLiteratureResultMap" databaseId="mysql">
<![CDATA[select t1.* from (SELECT t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`ENTITY2ID`, t1.`ENTITY2NAME`, t1.`ENTITYID`, t1.`ENTITYNAME`, t1.`RELATIONSHIPSID`, t1.`RELATIONSHIPSNAME`, t1.`RELATIONSHIPSTYPE`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `RELATIONSHIPS` t1 ) t1 where relationshipsid=#{id}]]>
</select>
<!--通过mybatis将查询结果注入到entity中,通过配置autoMapping="true"由mybatis自动处理映射关系 -->
<resultMap id="CompetitorSalesLiteratureResultMap" type="cn.ibizlab.businesscentral.core.sales.domain.CompetitorSalesLiterature" autoMapping="true">
<id property="relationshipsid" column="relationshipsid" /><!--主键字段映射-->
<result property="entityid" column="entityid" />
<result property="entity2id" column="entity2id" />
<!--通过mybatis自动注入关系属性[主实体],fetchType="lazy"为懒加载配置 -->
<association property="competitor" javaType="cn.ibizlab.businesscentral.core.sales.domain.Competitor" column="entityid" select="cn.ibizlab.businesscentral.core.sales.mapper.CompetitorMapper.selectById" fetchType="lazy"></association>
<!--通过mybatis自动注入关系属性[主实体],fetchType="lazy"为懒加载配置 -->
<association property="salesliterature" javaType="cn.ibizlab.businesscentral.core.sales.domain.SalesLiterature" column="entity2id" select="cn.ibizlab.businesscentral.core.sales.mapper.SalesLiteratureMapper.selectById" fetchType="lazy"></association>
</resultMap>
<!--关系实体暴露select方法供主实体通过外键查询关系实体数据[实体关系名称:DER1N_COMPETITORSALESLITERATURE_COMPETITOR_ENTITYID] -->
<select id="selectByEntityid" resultMap="CompetitorSalesLiteratureResultMap">
select t1.* from (
<include refid="Default" />
) t1
where entityid=#{competitorid}
</select>
<!--关系实体暴露select方法供主实体通过外键查询关系实体数据[实体关系名称:DER1N_COMPETITORSALESLITERATURE_SALESLITERATURE_ENTITY2ID] -->
<select id="selectByEntity2id" resultMap="CompetitorSalesLiteratureResultMap">
select t1.* from (
<include refid="Default" />
) t1
where entity2id=#{salesliteratureid}
</select>
<!--数据集合[Default]-->
<select id="searchDefault" parameterType="cn.ibizlab.businesscentral.core.sales.filter.CompetitorSalesLiteratureSearchContext" resultMap="CompetitorSalesLiteratureResultMap">
select t1.* from (
<include refid="Default" />
)t1
<where><if test="ew!=null and ew.sqlSegment!=null and !ew.emptyOfWhere">${ew.sqlSegment}</if></where>
<if test="ew!=null and ew.sqlSegment!=null and ew.emptyOfWhere">${ew.sqlSegment}</if>
</select>
<!--数据查询[Default]-->
<sql id="Default" databaseId="mysql">
<![CDATA[ SELECT t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`ENTITY2ID`, t1.`ENTITY2NAME`, t1.`ENTITYID`, t1.`ENTITYNAME`, t1.`RELATIONSHIPSID`, t1.`RELATIONSHIPSNAME`, t1.`RELATIONSHIPSTYPE`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `RELATIONSHIPS` t1
WHERE ( t1.`RELATIONSHIPSTYPE` = '' )
]]>
</sql>
<!--数据查询[View]-->
<sql id="View" databaseId="mysql">
<![CDATA[ SELECT t1.`CREATEDATE`, t1.`CREATEMAN`, t1.`ENTITY2ID`, t1.`ENTITY2NAME`, t1.`ENTITYID`, t1.`ENTITYNAME`, t1.`RELATIONSHIPSID`, t1.`RELATIONSHIPSNAME`, t1.`RELATIONSHIPSTYPE`, t1.`UPDATEDATE`, t1.`UPDATEMAN` FROM `RELATIONSHIPS` t1
WHERE ( t1.`RELATIONSHIPSTYPE` = '' )
]]>
</sql>
</mapper>
......@@ -260,6 +260,14 @@
"datascope":[{"id":"all","name":"全部数据"}, {"id":"createman","name":"创建人"}]
}
, {
"dename":"SalesLiteratureItem",
"delogicname":"销售附件",
"sysmoudle":{"id":"SALES","name":"Sales"},
"dedataset":[{"id":"Default" , "name":"DEFAULT"}],
"deaction":[{"id":"Save" , "name":"Save" , "type":"BUILTIN" },{"id":"Get" , "name":"Get" , "type":"BUILTIN" },{"id":"GetDraft" , "name":"GetDraft" , "type":"BUILTIN" },{"id":"Remove" , "name":"Remove" , "type":"BUILTIN" },{"id":"Update" , "name":"Update" , "type":"BUILTIN" },{"id":"CheckKey" , "name":"CheckKey" , "type":"BUILTIN" },{"id":"Create" , "name":"Create" , "type":"BUILTIN" }],
"datascope":[{"id":"all","name":"全部数据"}, {"id":"createman","name":"创建人"}]
}
, {
"dename":"Contact",
"delogicname":"联系人",
"sysmoudle":{"id":"BASE","name":"Base"},
......@@ -308,6 +316,14 @@
"datascope":[{"id":"all","name":"全部数据"}, {"id":"createman","name":"创建人"}]
}
, {
"dename":"ProductSalesLiterature",
"delogicname":"产品宣传资料",
"sysmoudle":{"id":"PRODUCT","name":"Product"},
"dedataset":[{"id":"Default" , "name":"DEFAULT"}],
"deaction":[{"id":"Remove" , "name":"Remove" , "type":"BUILTIN" },{"id":"Get" , "name":"Get" , "type":"BUILTIN" },{"id":"Update" , "name":"Update" , "type":"BUILTIN" },{"id":"CheckKey" , "name":"CheckKey" , "type":"BUILTIN" },{"id":"GetDraft" , "name":"GetDraft" , "type":"BUILTIN" },{"id":"Save" , "name":"Save" , "type":"BUILTIN" },{"id":"Create" , "name":"Create" , "type":"BUILTIN" }],
"datascope":[{"id":"all","name":"全部数据"}, {"id":"createman","name":"创建人"}]
}
, {
"dename":"Subject",
"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对象[ProductSalesLiteratureDTO]
*/
@Data
public class ProductSalesLiteratureDTO extends DTOBase implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 属性 [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;
/**
* 属性 [CREATEMAN]
*
*/
@JSONField(name = "createman")
@JsonProperty("createman")
private String createman;
/**
* 属性 [RELATIONSHIPSID]
*
*/
@JSONField(name = "relationshipsid")
@JsonProperty("relationshipsid")
private String relationshipsid;
/**
* 属性 [RELATIONSHIPSNAME]
*
*/
@JSONField(name = "relationshipsname")
@JsonProperty("relationshipsname")
private String relationshipsname;
/**
* 属性 [RELATIONSHIPSTYPE]
*
*/
@JSONField(name = "relationshipstype")
@JsonProperty("relationshipstype")
private String relationshipstype;
/**
* 属性 [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;
/**
* 属性 [UPDATEMAN]
*
*/
@JSONField(name = "updateman")
@JsonProperty("updateman")
private String updateman;
/**
* 属性 [ENTITYID]
*
*/
@JSONField(name = "entityid")
@JsonProperty("entityid")
private String entityid;
/**
* 属性 [ENTITY2ID]
*
*/
@JSONField(name = "entity2id")
@JsonProperty("entity2id")
private String entity2id;
/**
* 属性 [ENTITYNAME]
*
*/
@JSONField(name = "entityname")
@JsonProperty("entityname")
private String entityname;
/**
* 属性 [ENTITY2NAME]
*
*/
@JSONField(name = "entity2name")
@JsonProperty("entity2name")
private String entity2name;
/**
* 设置 [RELATIONSHIPSNAME]
*/
public void setRelationshipsname(String relationshipsname){
this.relationshipsname = relationshipsname ;
this.modify("relationshipsname",relationshipsname);
}
/**
* 设置 [RELATIONSHIPSTYPE]
*/
public void setRelationshipstype(String relationshipstype){
this.relationshipstype = relationshipstype ;
this.modify("relationshipstype",relationshipstype);
}
/**
* 设置 [ENTITYID]
*/
public void setEntityid(String entityid){
this.entityid = entityid ;
this.modify("entityid",entityid);
}
/**
* 设置 [ENTITY2ID]
*/
public void setEntity2id(String entity2id){
this.entity2id = entity2id ;
this.modify("entity2id",entity2id);
}
/**
* 设置 [ENTITYNAME]
*/
public void setEntityname(String entityname){
this.entityname = entityname ;
this.modify("entityname",entityname);
}
/**
* 设置 [ENTITY2NAME]
*/
public void setEntity2name(String entity2name){
this.entity2name = entity2name ;
this.modify("entity2name",entity2name);
}
}
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对象[SalesLiteratureItemDTO]
*/
@Data
public class SalesLiteratureItemDTO extends DTOBase implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 属性 [AUTHORNAME]
*
*/
@JSONField(name = "authorname")
@JsonProperty("authorname")
private String authorname;
/**
* 属性 [TIMEZONERULEVERSIONNUMBER]
*
*/
@JSONField(name = "timezoneruleversionnumber")
@JsonProperty("timezoneruleversionnumber")
private Integer timezoneruleversionnumber;
/**
* 属性 [TITLE]
*
*/
@JSONField(name = "title")
@JsonProperty("title")
private String title;
/**
* 属性 [FILESIZE]
*
*/
@JSONField(name = "filesize")
@JsonProperty("filesize")
private Integer filesize;
/**
* 属性 [MODE]
*
*/
@JSONField(name = "mode")
@JsonProperty("mode")
private String mode;
/**
* 属性 [FILETYPECODE]
*
*/
@JSONField(name = "filetypecode")
@JsonProperty("filetypecode")
private String filetypecode;
/**
* 属性 [IMPORTSEQUENCENUMBER]
*
*/
@JSONField(name = "importsequencenumber")
@JsonProperty("importsequencenumber")
private Integer importsequencenumber;
/**
* 属性 [SALESLITERATUREITEMID]
*
*/
@JSONField(name = "salesliteratureitemid")
@JsonProperty("salesliteratureitemid")
private String salesliteratureitemid;
/**
* 属性 [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;
/**
* 属性 [UPDATEMAN]
*
*/
@JSONField(name = "updateman")
@JsonProperty("updateman")
private String updateman;
/**
* 属性 [MIMETYPE]
*
*/
@JSONField(name = "mimetype")
@JsonProperty("mimetype")
private String mimetype;
/**
* 属性 [CREATEMAN]
*
*/
@JSONField(name = "createman")
@JsonProperty("createman")
private String createman;
/**
* 属性 [KEYWORDS]
*
*/
@JSONField(name = "keywords")
@JsonProperty("keywords")
private String keywords;
/**
* 属性 [FILETYPE]
*
*/
@JSONField(name = "filetype")
@JsonProperty("filetype")
private Integer filetype;
/**
* 属性 [ATTACHEDDOCUMENTURL]
*
*/
@JSONField(name = "attacheddocumenturl")
@JsonProperty("attacheddocumenturl")
private String attacheddocumenturl;
/**
* 属性 [DOCUMENTBODY]
*
*/
@JSONField(name = "documentbody")
@JsonProperty("documentbody")
private String documentbody;
/**
* 属性 [VERSIONNUMBER]
*
*/
@JSONField(name = "versionnumber")
@JsonProperty("versionnumber")
private BigInteger versionnumber;
/**
* 属性 [ABSTRACT]
*
*/
@JSONField(name = "ibizabstract")
@JsonProperty("ibizabstract")
private String ibizabstract;
/**
* 属性 [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;
/**
* 属性 [CUSTOMERVIEWABLE]
*
*/
@JSONField(name = "customerviewable")
@JsonProperty("customerviewable")
private Integer customerviewable;
/**
* 属性 [FILENAME]
*
*/
@JSONField(name = "filename")
@JsonProperty("filename")
private String filename;
/**
* 属性 [ORGANIZATIONID]
*
*/
@JSONField(name = "organizationid")
@JsonProperty("organizationid")
private String organizationid;
/**
* 属性 [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;
/**
* 属性 [UTCCONVERSIONTIMEZONECODE]
*
*/
@JSONField(name = "utcconversiontimezonecode")
@JsonProperty("utcconversiontimezonecode")
private Integer utcconversiontimezonecode;
/**
* 属性 [SALESLITERATUREID]
*
*/
@JSONField(name = "salesliteratureid")
@JsonProperty("salesliteratureid")
private String salesliteratureid;
/**
* 设置 [AUTHORNAME]
*/
public void setAuthorname(String authorname){
this.authorname = authorname ;
this.modify("authorname",authorname);
}
/**
* 设置 [TIMEZONERULEVERSIONNUMBER]
*/
public void setTimezoneruleversionnumber(Integer timezoneruleversionnumber){
this.timezoneruleversionnumber = timezoneruleversionnumber ;
this.modify("timezoneruleversionnumber",timezoneruleversionnumber);
}
/**
* 设置 [TITLE]
*/
public void setTitle(String title){
this.title = title ;
this.modify("title",title);
}
/**
* 设置 [FILESIZE]
*/
public void setFilesize(Integer filesize){
this.filesize = filesize ;
this.modify("filesize",filesize);
}
/**
* 设置 [MODE]
*/
public void setMode(String mode){
this.mode = mode ;
this.modify("mode",mode);
}
/**
* 设置 [FILETYPECODE]
*/
public void setFiletypecode(String filetypecode){
this.filetypecode = filetypecode ;
this.modify("filetypecode",filetypecode);
}
/**
* 设置 [IMPORTSEQUENCENUMBER]
*/
public void setImportsequencenumber(Integer importsequencenumber){
this.importsequencenumber = importsequencenumber ;
this.modify("importsequencenumber",importsequencenumber);
}
/**
* 设置 [MIMETYPE]
*/
public void setMimetype(String mimetype){
this.mimetype = mimetype ;
this.modify("mimetype",mimetype);
}
/**
* 设置 [KEYWORDS]
*/
public void setKeywords(String keywords){
this.keywords = keywords ;
this.modify("keywords",keywords);
}
/**
* 设置 [FILETYPE]
*/
public void setFiletype(Integer filetype){
this.filetype = filetype ;
this.modify("filetype",filetype);
}
/**
* 设置 [ATTACHEDDOCUMENTURL]
*/
public void setAttacheddocumenturl(String attacheddocumenturl){
this.attacheddocumenturl = attacheddocumenturl ;
this.modify("attacheddocumenturl",attacheddocumenturl);
}
/**
* 设置 [DOCUMENTBODY]
*/
public void setDocumentbody(String documentbody){
this.documentbody = documentbody ;
this.modify("documentbody",documentbody);
}
/**
* 设置 [VERSIONNUMBER]
*/
public void setVersionnumber(BigInteger versionnumber){
this.versionnumber = versionnumber ;
this.modify("versionnumber",versionnumber);
}
/**
* 设置 [ABSTRACT]
*/
public void setIbizabstract(String ibizabstract){
this.ibizabstract = ibizabstract ;
this.modify("abstract",ibizabstract);
}
/**
* 设置 [OVERRIDDENCREATEDON]
*/
public void setOverriddencreatedon(Timestamp overriddencreatedon){
this.overriddencreatedon = overriddencreatedon ;
this.modify("overriddencreatedon",overriddencreatedon);
}
/**
* 设置 [CUSTOMERVIEWABLE]
*/
public void setCustomerviewable(Integer customerviewable){
this.customerviewable = customerviewable ;
this.modify("customerviewable",customerviewable);
}
/**
* 设置 [FILENAME]
*/
public void setFilename(String filename){
this.filename = filename ;
this.modify("filename",filename);
}
/**
* 设置 [ORGANIZATIONID]
*/
public void setOrganizationid(String organizationid){
this.organizationid = organizationid ;
this.modify("organizationid",organizationid);
}
/**
* 设置 [UTCCONVERSIONTIMEZONECODE]
*/
public void setUtcconversiontimezonecode(Integer utcconversiontimezonecode){
this.utcconversiontimezonecode = utcconversiontimezonecode ;
this.modify("utcconversiontimezonecode",utcconversiontimezonecode);
}
/**
* 设置 [SALESLITERATUREID]
*/
public void setSalesliteratureid(String salesliteratureid){
this.salesliteratureid = salesliteratureid ;
this.modify("salesliteratureid",salesliteratureid);
}
}
package cn.ibizlab.businesscentral.centralapi.mapping;
import org.mapstruct.*;
import cn.ibizlab.businesscentral.core.product.domain.ProductSalesLiterature;
import cn.ibizlab.businesscentral.centralapi.dto.ProductSalesLiteratureDTO;
import cn.ibizlab.businesscentral.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface ProductSalesLiteratureMapping extends MappingBase<ProductSalesLiteratureDTO, ProductSalesLiterature> {
}
package cn.ibizlab.businesscentral.centralapi.mapping;
import org.mapstruct.*;
import cn.ibizlab.businesscentral.core.sales.domain.SalesLiteratureItem;
import cn.ibizlab.businesscentral.centralapi.dto.SalesLiteratureItemDTO;
import cn.ibizlab.businesscentral.util.domain.MappingBase;
import org.mapstruct.factory.Mappers;
@Mapper(componentModel = "spring", uses = {},
nullValuePropertyMappingStrategy = NullValuePropertyMappingStrategy.IGNORE,
nullValueCheckStrategy = NullValueCheckStrategy.ALWAYS)
public interface SalesLiteratureItemMapping extends MappingBase<SalesLiteratureItemDTO, SalesLiteratureItem> {
}
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册