<?xml version="1.0" encoding="UTF-8" ?>
|
|
<sqls>
|
<dataSpace name="interface-io">
|
|
<sql name="interfaceSetOACode">
|
<![CDATA[
|
update so_order
|
left join mirror_oa_v_gmd_dmsorder on mirror_oa_v_gmd_dmsorder.requestname = so_order.id
|
set oa_code = clbm, oa_sync_state = if (clbm is null , '未同步' , '同步成功')
|
where oa_code is null
|
]]>
|
</sql>
|
|
<sql name="interfaceInsertOACompany">
|
<![CDATA[
|
INSERT INTO md_org
|
( id, is_master, state_code, state_name, source, code, ncc_code, name, short_name,
|
category_code, category_name, check_error, create_time, update_time, creator_id, creator_name )
|
select `分部主键` id,'T' is_master,'Open' state_code,'生效' state_name,'OA' source,`分部编码` code, null ncc_code,`分部简称` name,`分部简称` short_name,'Master' category_code,'中心公司' category_name, if(`分部编码` is null, 'T',null) check_error, `修改时间` create_time, `修改时间` update_time,'admin' creator_id,'admin' creator_name
|
from mirror_oa_v_gmd_company
|
where not EXISTS (
|
select 1 from md_org
|
where is_master = 'T' and md_org.id = mirror_oa_v_gmd_company.`分部主键`
|
)
|
]]>
|
</sql>
|
|
<sql name="interfaceSetCompanyNCCOde">
|
<![CDATA[
|
update md_org
|
inner join mirror_nc_v_org_orgs on md_org.name = mirror_nc_v_org_orgs.name
|
set md_org.ncc_code = mirror_nc_v_org_orgs.code , md_org.nc_id = mirror_nc_v_org_orgs.PK_ORG
|
where is_master = 'T' and nc_id is null
|
]]>
|
</sql>
|
|
</dataSpace>
|
|
<dataSpace name="interface-io-hospital">
|
|
<sql name="getUpdateHospital">
|
<![CDATA[
|
select md_hospital.id, mirror_oa_v_dms_hospital.*
|
from md_hospital
|
inner join mirror_oa_v_dms_hospital on mirror_oa_v_dms_hospital.YYBM = md_hospital.code
|
where state_code ='Open'
|
and (
|
(md_hospital.name != YYMC)
|
or (md_hospital.province != SF)
|
or (md_hospital.city != DQ)
|
or (md_hospital.county != XS)
|
or (md_hospital.address != DD)
|
)
|
]]>
|
</sql>
|
|
<sql name="getAppendHospital">
|
<![CDATA[
|
select YYBM id,null idx, YYBM code, YYMC name, 'Open' state_code, '生效' state_name,
|
null state_detail_code, null state_detail_name,null credit_code,null short_name,
|
null zip_code,null grade,null level_no,null category,null hospital_group,
|
SF province, DQ city, XS county, DD address, null longitude, null latitude,
|
'T' is_active, 'OA' creator_id,'OA同步' creator_name,now() create_time,now() update_time
|
from mirror_oa_v_dms_hospital
|
left join md_hospital on mirror_oa_v_dms_hospital.YYBM = md_hospital.code
|
where md_hospital.id is null
|
]]>
|
</sql>
|
|
</dataSpace>
|
|
<dataSpace name="interface-io-employee">
|
|
<sql name="interfaceAppendNewEmployee">
|
<![CDATA[
|
INSERT INTO md_employee (id, org_id, account_type_code, secret,
|
code, oa_account, name, job_title, mail, phone, is_active,
|
creator_id, creator_name, create_time, update_time)
|
select 主键 id , `所属分部` org_id, `账号类型` account_type_code, secret, `工号` code,
|
`OA账号` oa_account, `姓名` name, `部门名称` `job_title`, `邮箱` `mail`, `手机号` `phone`,
|
'T' `is_active`, 'admin' `creator_id`,'admin' `creator_name`,
|
now() `create_time`, `修改时间` `update_time`
|
from mirror_oa_v_gmd_hrmresource
|
where not exists (
|
select 1 from md_employee
|
where mirror_oa_v_gmd_hrmresource.`主键` = md_employee.id
|
)
|
]]>
|
</sql>
|
|
<sql name="interfaceUpdateEmployeeInfoOA">
|
<![CDATA[
|
update md_employee
|
left join mirror_oa_v_gmd_hrmresource oaEmployee on oaEmployee.`主键` = md_employee.id
|
inner join md_org on md_org.id = oaEmployee.`所属分部` and md_org.is_master = 'T'
|
set
|
md_employee.account_type_code = oaEmployee.`账号类型`,
|
md_employee.secret = oaEmployee.secret ,
|
md_employee.code = oaEmployee.`工号` ,
|
md_employee.oa_account = oaEmployee.`OA账号` ,
|
md_employee.job_title = oaEmployee.`部门名称` ,
|
md_employee.mail = oaEmployee.`邮箱` ,
|
md_employee.phone = oaEmployee.`手机号` ,
|
md_employee.org_id = md_org.id ,
|
md_employee.org_name = md_org.name ,
|
md_employee.job_title_code = oaEmployee.`所属部门` ,
|
md_employee.is_active = if(oaEmployee.`主键` is null, 'F', 'T')
|
]]>
|
</sql>
|
|
<sql name="interfaceInvalidEmployeeInfoOA">
|
<![CDATA[
|
update md_employee
|
left join mirror_oa_v_gmd_hrmresource oaEmployee on oaEmployee.`主键` = md_employee.id
|
left join md_org on md_org.id = oaEmployee.`所属分部` and md_org.is_master = 'T'
|
set
|
md_employee.is_active = if(oaEmployee.`主键` is null, 'F', 'T')
|
]]>
|
</sql>
|
|
<sql name="interfaceAppendNewUser">
|
<![CDATA[
|
insert into sys_user ( id, org_id, code, name, password, pass_need_change,
|
is_active, remark, create_time, update_time )
|
select UUID_SHORT() id, md_employee.org_id, md_employee.code, md_employee.code name, '123456' password,
|
'F' pass_need_change, 'T' is_active, md_employee.name remark,
|
md_employee.create_time,md_employee.update_time
|
from md_employee
|
where md_employee.is_active = 'T' and not exists (
|
select 1 from sys_user where md_employee.code = sys_user.code and sys_user.is_active = 'T'
|
)
|
group by md_employee.code
|
]]>
|
</sql>
|
|
<sql name="interfaceUpdateInvalidUser">
|
<![CDATA[
|
update sys_user
|
set is_active = 'F'
|
where not exists (
|
select 1 from md_employee
|
where md_employee.code = sys_user.code
|
and sys_user.is_active = 'T'
|
and md_employee.is_active = 'T'
|
) and employee_id is not null and sys_user.id <> 'admin'
|
]]>
|
</sql>
|
|
<sql name="interfaceEmptyNotExistsEmployeePosition">
|
<![CDATA[
|
delete from md_position_employee
|
where not exists (
|
select 1 from md_employee
|
where md_employee.id = md_position_employee.employee_id
|
and md_employee.is_active = 'T'
|
) and id != 'admin'
|
]]>
|
</sql>
|
|
<sql name="interfaceInValidNotExistsEmployeeUser">
|
<![CDATA[
|
delete from sys_user_employee
|
where not exists (
|
select 1 from md_employee
|
where md_employee.id = sys_user_employee.employee_id
|
and md_employee.is_active = 'T'
|
) and id != 'admin'
|
]]>
|
</sql>
|
|
<sql name="interfaceAppendNewEmployeeUser">
|
<![CDATA[
|
insert sys_user_employee (id, user_id,employee_id)
|
select md5(UUID_SHORT()) id, sys_user.id user_id, md_employee.id
|
from sys_user
|
inner join md_employee on md_employee.code = sys_user.code
|
where not exists (
|
select 1 from sys_user_employee
|
where md_employee.id = sys_user_employee.employee_id
|
and md_employee.is_active = 'T'
|
and sys_user_employee.user_id = sys_user.id
|
) and md_employee.is_active = 'T' and sys_user.is_active = 'T'
|
]]>
|
</sql>
|
|
<sql name="interfaceUpdateEmployeeInfoNC">
|
<![CDATA[
|
update md_employee
|
left join mirror_oa_v_gmd_hrmresource oaEmployee on oaEmployee.`主键` = md_employee.id
|
inner join md_org on md_org.id = oaEmployee.`所属分部` and md_org.is_master = 'T'
|
left join mirror_nc_v_psn_user ncUser on ncUser.`人员编码` = oaEmployee.`工号` and ncUser.`所属公司主键` = md_org.nc_id
|
left join mirror_nc_v_org_dept_v ncDept on ncDept.PK_DEPT = ncUser.`所属部门主键`
|
left join mirror_nc_v_org_dept_v ncUpDept on ncDept.PK_FATHERORG = ncUpDept.PK_DEPT
|
set
|
md_employee.nc_org_id = ncUser.`所属公司主键` ,
|
md_employee.nc_org_code = md_org.ncc_code ,
|
md_employee.nc_department_id = ncUser.`所属部门主键`,
|
md_employee.nc_department_code = ncDept.`CODE`,
|
md_employee.nc_employee_id = ncUser.`人员主键`,
|
md_employee.is_error = if(ncUser.人员主键 is null ,'T',null) ,
|
md_employee.error_message = if(ncUser.人员主键 is null ,'未匹配上NC数据',null) ,
|
md_employee.nc_region_id = ifnull(ncUpDept.PK_DEPT, ncDept.PK_DEPT),
|
md_employee.nc_region_code = ifnull(ncUpDept.`CODE`, ncDept.`CODE`) ,
|
md_employee.nc_region_name = ifnull(ncUpDept.`NAME`, ncDept.`NAME`),
|
md_employee.nc_area_id = if(ncUpDept.PK_DEPT is null ,'~', ncDept.PK_DEPT),
|
md_employee.nc_area_code = if(ncUpDept.PK_DEPT is null ,'~',ncDept.`CODE`),
|
md_employee.nc_area_name = if(ncUpDept.PK_DEPT is null ,'~',ncDept.`NAME`)
|
where ncDept.ENABLESTATE = '已启用'
|
]]>
|
</sql>
|
|
</dataSpace>
|
|
<dataSpace name="interface-io-org">
|
|
<sql name="interfaceAppendNewNCCOrg">
|
<![CDATA[
|
INSERT INTO `md_org_account_ncc` (`id`, `idx`, `company_id`, `company_name`, `code_ncc`, `org_id`, `nc_org_id`, `state_code`, `state_name`, `amt_credit_init`, `remark`, `create_time`, `update_time`)
|
select distinct concat('NCC-',customerOrg.`客户编码`,'-',company.`分部主键` ) `id`,
|
null `idx`, company.`分部主键` `company_id`, md_org.short_name `company_name`, customerOrg.`客户编码` `code_ncc`, customerOrg.`客户主键` `org_id`, customerOrg.`客户主键` `nc_org_id`, 'notExistsAccount' `state_code`,'DMS未开户' `state_name`, NULL, '' `remark`, customerOrg.`最后更新日期` `create_time`,customerOrg.`最后更新日期` `update_time`
|
from mirror_oa_v_gmd_company company
|
inner join (select * from md_org where is_master = 'T' ) md_org on md_org.id = company.`分部主键`
|
inner join mirror_nc_v_customer_org customerOrg on company.`分部简称` = customerOrg.`公司名称`
|
left join mirror_nc_v_customer customer on customerOrg.`客户主键` = customer.`客户主键`
|
where customerOrg.`客户是否启用` = '已启用' and not exists (
|
select 1 from md_org_account_ncc
|
where customerOrg.`客户主键` = md_org_account_ncc.nc_org_id )
|
]]>
|
</sql>
|
|
<sql name="interfaceUpdateOrg">
|
<![CDATA[
|
update md_org
|
inner join (
|
select distinct
|
customerOrg.org_id id, null idx, null, 'F' is_master, 'Open', '已生效', NULL state_detail_code,NULL state_detail_name, 'NCC' source,
|
customerOrg.org_id nc_id, customerOrg.code_ncc ncc_code, customer.`客户名称` name, customer.`客户名称` short_name,'Customer' category_code, '客户' category_name, customer.纳税人识别号 certificate_no, concat( customer.`客户名称` ,'营业执照' ) , customer.地区分类名称 province,
|
'' is_preload, '' is_frozen, now() create_time, now() update_time, 'admin' creator_id, 'admin' creator_name
|
from md_org_account_ncc customerOrg
|
inner join mirror_nc_v_customer customer on customerOrg.org_id = customer.客户主键
|
left join md_geo_province province on POSITION(customer.地区分类名称 IN province.name ) <>0
|
) org on md_org.license_business_no = org.certificate_no
|
set md_org.source = org.source,,
|
md_org.nc_id = org.nc_id,
|
md_org.ncc_code = org.ncc_code,
|
md_org.province = ifnull(md_org.province ,org.province),
|
md_org.name = org.name
|
]]>
|
</sql>
|
|
<sql name="interfaceAppendNewOrg">
|
<![CDATA[
|
INSERT INTO md_org (
|
code,
|
id, idx, oa_no, is_master, state_code, state_name, state_detail_code, state_detail_name, source,
|
nc_id, ncc_code, name, short_name, category_code, category_name, license_business_no, license_business_name,
|
province, is_preload, is_frozen,create_time, update_time, creator_id, creator_name)
|
select concat('MN0', code_next_sequence('Code-Org-MN')) code, org.*
|
from (
|
select distinct
|
customerOrg.org_id id, null idx, null, 'F' is_master, 'Open', '已生效', NULL state_detail_code,NULL state_detail_name, 'NCC' source,
|
customerOrg.org_id nc_id, customerOrg.code_ncc ncc_code, customer.`客户名称` name, customer.`客户名称` short_name,'Customer' category_code, '客户' category_name, customer.纳税人识别号 certificate_no, concat( customer.`客户名称` ,'营业执照' ) , customer.地区分类名称 province,
|
'' is_preload, '' is_frozen, now() create_time, now() update_time, 'admin' creator_id, 'admin' creator_name
|
from md_org_account_ncc customerOrg
|
inner join mirror_nc_v_customer customer on customerOrg.org_id = customer.客户主键
|
left join md_geo_province province on POSITION(customer.地区分类名称 IN province.name ) <>0
|
where not exists (
|
select 1 from md_org
|
where md_org.license_business_no = customer.纳税人识别号 )
|
) org
|
]]>
|
</sql>
|
|
<sql name="interfaceUpdateOrgLicense">
|
<![CDATA[
|
UPDATE md_org
|
inner join mirror_nc_v_gspcustomer gsp on gsp.`客户主键` = md_org.nc_id
|
set md_org.register_address = ifnull(md_org.register_address, ifnull(gsp.`注册地址`,'~') ) ,
|
license_business_no = ifnull(license_business_no, `营业执照编码` ) ,
|
license_business_name = concat(name, '营业执照' ) ,
|
license_business_date_from = ifnull(license_business_date_from, `营业执照经营期限自` ) ,
|
license_business_date_to = ifnull(license_business_date_to, if(length(`营业执照经营期限至`) != 10 , '9999-12-31',营业执照经营期限至)) ,
|
license_device_no = ifnull(license_device_no, `器械编号` ) ,
|
license_device_name = concat(name, '器械许可证' )
|
]]>
|
</sql>
|
|
<sql name="interfaceUpdateOrgAddress">
|
<![CDATA[
|
UPDATE md_org
|
inner join mirror_nc_view_custlinkinfo address on address.`PK_CUSTOMER` = md_org.nc_id
|
set md_org.receiver_phone = address.phone ,
|
md_org.receiver_name = address.name ,
|
md_org.receive_address = address.detailInfo
|
]]>
|
</sql>
|
|
</dataSpace>
|
|
<dataSpace name="interface-io-department">
|
|
<sql name="interfaceAppendNewNCDepartment">
|
<![CDATA[
|
INSERT INTO md_department_nc (id, idx, company_id, nc_company_id, nc_company_code, parent_nc_id, nc_id, code, name, pk_vid, enable_state, update_time)
|
select
|
PK_VID id, null idx, md_org.id company_id, PK_ORG nc_company_id, md_org.ncc_code nc_company_code,PK_FATHERORG parent_nc_id,PK_DEPT nc_id,
|
mirror_nc_v_org_dept_v.code, mirror_nc_v_org_dept_v.name, PK_VID, enablestate enable_state, TS update_time
|
from mirror_nc_v_org_dept_v
|
inner join md_org on md_org.is_master = 'T' and mirror_nc_v_org_dept_v.PK_ORG = md_org.nc_id
|
where not exists (
|
select 1 from md_department_nc
|
where md_department_nc.id = mirror_nc_v_org_dept_v.PK_VID
|
)
|
]]>
|
</sql>
|
|
<sql name="interfaceUpdateNCDepartment">
|
<![CDATA[
|
update md_department_nc
|
left join mirror_nc_v_org_dept_v on md_department_nc.id = mirror_nc_v_org_dept_v.PK_VID
|
inner join md_org on md_org.is_master = 'T' and mirror_nc_v_org_dept_v.PK_ORG = md_org.nc_id
|
set md_department_nc.company_id = md_org.id,
|
md_department_nc.nc_company_id = mirror_nc_v_org_dept_v.PK_ORG,
|
md_department_nc.nc_company_code = md_org.ncc_code,
|
md_department_nc.nc_id = mirror_nc_v_org_dept_v.PK_DEPT,
|
md_department_nc.code = mirror_nc_v_org_dept_v.code,
|
md_department_nc.name = mirror_nc_v_org_dept_v.name,
|
md_department_nc.enable_state = ifnull(mirror_nc_v_org_dept_v.enablestate,'已停用'),
|
md_department_nc.update_time = mirror_nc_v_org_dept_v.TS
|
]]>
|
</sql>
|
|
<sql name="interfaceAppendNewOADepartment">
|
<![CDATA[
|
INSERT INTO md_department_oa (
|
id, idx, company_id, company_name, code, name, parent_id, parent_code, level_no, update_time)
|
select mirror_oa_v_gmd_department.部门主键 id, null idx, 所属分部 company_id, 所属分部简称 company_name,
|
部门主键 code, 部门名称 name, 上级部门 parent_id, 上级部门 parent_code, 部门层级 level_no, 修改时间 update_time
|
from mirror_oa_v_gmd_department
|
where not exists (
|
select 1 from md_department_oa
|
where md_department_oa.id = mirror_oa_v_gmd_department.部门主键
|
)
|
]]>
|
</sql>
|
|
<sql name="interfaceUpdateOADepartment">
|
<![CDATA[
|
update md_department_oa
|
left join mirror_oa_v_gmd_department on md_department_oa.id = mirror_oa_v_gmd_department.部门主键
|
set md_department_oa.company_id = mirror_oa_v_gmd_department.所属分部,
|
md_department_oa.company_name = mirror_oa_v_gmd_department.所属分部简称,
|
md_department_oa.parent_id = mirror_oa_v_gmd_department.上级部门,
|
md_department_oa.parent_code = mirror_oa_v_gmd_department.上级部门,
|
md_department_oa.name = mirror_oa_v_gmd_department.部门名称,
|
md_department_oa.update_time = mirror_oa_v_gmd_department.修改时间
|
]]>
|
</sql>
|
|
</dataSpace>
|
|
|
|
<dataSpace name="interface-io-product">
|
|
<sql name="interfaceAppendNewProdcuct">
|
<![CDATA[
|
INSERT INTO md_prod_sku (id, idx, product_id, product_code, product_name, spec, unit, is_active, create_time, update_time)
|
select distinct 物料编码 id, null idx, md_bu_product.product_id, 物料编码 product_code, 物料名称 product_name,
|
型号 spec, 主单位 unit, 'T' is_active, TS create_time,TS update_time
|
from mirror_nc_v_db_material_org
|
inner join md_org on md_org.nc_id = mirror_nc_v_db_material_org.公司主键 and md_org.is_master = 'T'
|
left join md_bu_product on md_bu_product.product_name = 物料名称
|
where ENABLESTATE = '已启用'and 分类名称 = '03神经和心血管手术器械' and 型号 is not null and not exists(
|
select 1 from md_prod_sku
|
where md_prod_sku.id = mirror_nc_v_db_material_org.物料编码
|
)
|
]]>
|
</sql>
|
|
<sql name="interfaceUpdateInvaildProdcuct">
|
<![CDATA[
|
update md_prod_sku
|
set md_prod_sku.is_active = 'F'
|
where not EXISTS (
|
select 1 from mirror_nc_v_db_material_org
|
where md_prod_sku.id = mirror_nc_v_db_material_org.物料编码
|
and ENABLESTATE = '已启用'and 分类名称 = '03神经和心血管手术器械'
|
)
|
]]>
|
</sql>
|
|
</dataSpace>
|
</sqls>
|