123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799 |
- <?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="com.dayou.mapper.PersonalMapper">
- <!-- 通用查询映射结果 -->
- <resultMap id="BaseResultMap" type="com.dayou.entity.Personal">
- <result column="id" property="id" />
- <result column="created" property="created" />
- <result column="modified" property="modified" />
- <result column="deleted" property="deleted" />
- <result column="order_id" property="orderId" />
- <result column="location" property="location" />
- <result column="evaluate_aim" property="evaluateAim" />
- <result column="purpose" property="purpose" />
- <result column="clientele_type" property="clienteleType" />
- <result column="clientele_id" property="clienteleId" />
- <result column="clientele_sub_id" property="clienteleSubId" />
- <result column="clientele_contact_id" property="clienteleContactId" />
- <result column="agent" property="agent" />
- <result column="loan_nature" property="loanNature" />
- <result column="loan_aim" property="loanAim" />
- <result column="loan_limit" property="loanLimit" />
- <result column="loan_period" property="loanPeriod" />
- <result column="loan_expire" property="loanExpire" />
- <result column="bailorA" property="bailorA" />
- <result column="bailorB" property="bailorB" />
- <result column="bailorA_tel" property="bailoraTel" />
- <result column="bailorB_tel" property="bailorbTel" />
- <result column="terminal_clientele_type" property="terminalClienteleType" />
- <result column="terminal_clientele_contact_id" property="terminalClienteleContactId" />
- <result column="terminal_clientele_id" property="terminalClienteleId" />
- <result column="credentials" property="credentials" />
- <result column="client_manager_id" property="clientManagerId" />
- <result column="outward_staff" property="outwardStaff" />
- <result column="inward_staff" property="inwardStaff" />
- <result column="pricing_staff" property="pricingStaff" />
- <result column="remark" property="remark" />
- <result column="save_file_check" property="saveFileCheck" />
- <result column="if_save_file" property="ifSaveFile" />
- <result column="save_file_date" property="saveFileDate" />
- </resultMap>
- <!-- 通用查询结果列 -->
- <sql id="Base_Column_List">
- id,
- created,
- modified,
- deleted,
- order_id, location, evaluate_aim, purpose, clientele_type, clientele_id, clientele_sub_id, clientele_contact_id, agent, loan_nature, loan_aim, loan_limit, loan_period, loan_expire, bailorA, bailorB, bailorA_tel, bailorB_tel, terminal_clientele_type, terminal_clientele_contact_id, terminal_clientele_id, credentials, is_online, client_manager_id, outward_staff, inward_staff, pricing_staff, remark
- </sql>
- <sql id="Common_query_sql">
- SELECT
- wf.id AS currentNodeId,
- wf.node_id,
- wf.business_id,
- wf.business_sub_id,
- wf.modified AS nodeTime,
- wn.NAME as currentNodeName,
- wn.CODE currentNodeCode,
- p.id,
- p.order_id,
- p.location,
- p.agent,
- p.bailorA,
- p.bailorB,
- p.bailorA_tel,
- p.bailorB_tel,
- p.client_manager_id,
- p.remark,
- pt.acreage,
- pt.price,
- pt.amount,
- cc1.NAME AS clientName,
- cc2.NAME AS clientSubName,
- cl1.NAME AS contactName,
- cl1.mobile AS contactTel,
- u.NAME AS clientManager,
- u1.NAME AS outwardStaffName,
- u2.NAME AS inwardStaffName,
- u3.NAME AS pricingStaffName,
- u4.name as handlerName,
- u4.id as handlerId,
- p.created,
- c.comments
- FROM
- work_flow_node_instance wf
- LEFT JOIN work_node wn ON wn.id = wf.node_id
- LEFT JOIN work_task_record wtr ON wtr.instance_id = wf.id
- LEFT JOIN user u4 ON u4.id = wtr.handler_id
- LEFT JOIN personal p ON p.id = wf.business_id
- LEFT JOIN personal_target pt ON pt.personal_id = wf.business_id
- LEFT JOIN customer_company cc1 ON cc1.id = p.clientele_id
- LEFT JOIN customer_company cc2 ON cc2.id = p.clientele_sub_id
- LEFT JOIN customer_linkman cl1 ON cl1.id = p.clientele_contact_id
- LEFT JOIN user u ON u.id = p.client_manager_id
- LEFT JOIN user u1 ON u1.id = p.outward_staff
- LEFT JOIN user u2 ON u2.id = p.inward_staff
- LEFT JOIN user u3 ON u3.id = p.pricing_staff
- left join (
- select business_id,comments from work_flow_log where concat(business_id,modified) in (
- select concat(business_id,max(modified)) from work_flow_log where business_type = 'PERSONAL_BUSINESS' and comments is not null group BY business_id
- )
- ) c on p.id = c.business_id
- WHERE
- wf.business_type = "PERSONAL_BUSINESS"
- AND wf.state = 'PENDING'
- AND wf.deleted = 0
- AND wn.deleted = 0
- AND p.deleted = 0
- </sql>
- <select id="xSelectPage" parameterType="com.dayou.vo.PersonalVO" resultType="com.dayou.vo.PersonalVO">
- <include refid="Common_query_sql" />
- <if test="keyword!=null and keyword!='' ">
- and (
- p.location like concat ('%',#{keyword},'%')
- or p.order_id like concat('%',#{keyword},'%')
- or p.agent like concat('%',#{keyword},'%')
- or p.bailorA like concat('%',#{keyword},'%')
- or p.bailorB like concat('%',#{keyword},'%')
- or cc1.name like concat('%',#{keyword},'%')
- or cc2.name like concat('%',#{keyword},'%')
- or cl1.name like concat('%',#{keyword},'%')
- or p.bailorA_tel like concat('%',#{keyword},'%')
- or p.bailorB_tel like concat('%',#{keyword},'%')
- )
- </if>
- <if test="personal!=null and personal.startDate!=null and personal.startDate!=''">
- and p.created >= #{personal.startDate}
- </if>
- <if test="personal!=null and personal.endDate!=null and personal.endDate!=''">
- and p.created <= #{personal.endDate}
- </if>
- <if test="personal!=null and personal.nodeId!=null">
- and wn.id = #{personal.nodeId}
- </if>
- <if test="personal!=null and personal.clientName!=null and personal.clientName!=''">
- and cc1.NAME like concat('%',#{personal.clientName},'%')
- </if>
- <if test="personal!=null and personal.clientSubName!=null and personal.clientSubName!=''">
- and cc2.NAME like concat('%',#{personal.clientSubName},'%')
- </if>
- <if test="personal!=null and personal.clientManager!=null and personal.clientManager!='' ">
- and u.name like concat('%',#{personal.clientManager},'%')
- </if>
- <if test="personal!=null and personal.outwardStaffName!=null and personal.outwardStaffName!='' ">
- and u1.name like concat('%',#{personal.outwardStaffName},'%')
- </if>
- <if test="personal!=null and personal.inwardStaffName!=null and personal.inwardStaffName!='' ">
- and u2.name like concat('%',#{personal.inwardStaffName},'%')
- </if>
- <if test="personal!=null and personal.pricingStaffName!=null and personal.pricingStaffName!='' ">
- and u3.name like concat('%',#{personal.pricingStaffName},'%')
- </if>
- <if test="personal!=null and personal.handlerName!=null and personal.handlerName!='' ">
- and u4.name like concat('%',#{personal.handlerName},'%')
- </if>
- <if test="personal!=null and personal.isCancellation!=null and personal.isCancellation==true">
- and u4.name = '项目作废'
- </if>
- <if test="personal!=null and personal.isCancellation!=null and personal.isCancellation==false">
- and u4.name != '项目作废'
- </if>
- <if test="personal!=null and personal.userIds!=null and personal.userIds.size!=0">
- and p.client_manager_id in
- <foreach collection="personal.userIds" open="(" close=")" separator="," item="userId">
- #{userId}
- </foreach>
- </if>
- order by wf.modified DESC
- </select>
- <select id="getTerminatedPage" resultType="com.dayou.vo.PersonalVO">
- SELECT
- wf.id AS currentNodeId,
- wf.node_id,
- wf.business_id,
- wf.business_sub_id,
- wf.modified AS nodeTime,
- wn.NAME as currentNodeName,
- wn.CODE currentNodeCode,
- p.id,
- p.order_id,
- p.location,
- p.agent,
- p.bailorA,
- p.bailorB,
- p.bailorA_tel,
- p.bailorB_tel,
- p.client_manager_id,
- p.remark,
- pt.acreage,
- pt.price,
- pt.amount,
- cc1.NAME AS clientName,
- cc2.NAME AS clientSubName,
- cl1.NAME AS contactName,
- cl1.mobile AS contactTel,
- u.NAME AS clientManager,
- u1.NAME AS outwardStaffName,
- u2.NAME AS inwardStaffName,
- u3.NAME AS pricingStaffName,
- u4.name as handlerName,
- u4.id as handlerId,
- p.created,
- wf.comment as comments
- FROM
- work_flow_node_instance wf
- LEFT JOIN work_node wn ON wn.id = wf.node_id
- LEFT JOIN work_task_record wtr ON wtr.instance_id = wf.id
- LEFT JOIN user u4 ON u4.id = wtr.handler_id
- LEFT JOIN personal p ON p.id = wf.business_id
- LEFT JOIN personal_target pt ON pt.personal_id = wf.business_id
- LEFT JOIN customer_company cc1 ON cc1.id = p.clientele_id
- LEFT JOIN customer_company cc2 ON cc2.id = p.clientele_sub_id
- LEFT JOIN customer_linkman cl1 ON cl1.id = p.clientele_contact_id
- LEFT JOIN user u ON u.id = p.client_manager_id
- LEFT JOIN user u1 ON u1.id = p.outward_staff
- LEFT JOIN user u2 ON u2.id = p.inward_staff
- LEFT JOIN user u3 ON u3.id = p.pricing_staff
- WHERE wf.business_type = 'PERSONAL_BUSINESS'
- AND wf.state = 'CLOSED'
- AND wf.deleted = 0
- AND wn.deleted = 0
- AND p.deleted = 0
- <if test="keyword!=null and keyword!='' ">
- and (
- p.location like concat ('%',#{keyword},'%')
- or p.order_id like concat('%',#{keyword},'%')
- or p.agent like concat('%',#{keyword},'%')
- or p.bailorA like concat('%',#{keyword},'%')
- or p.bailorB like concat('%',#{keyword},'%')
- or cc1.name like concat('%',#{keyword},'%')
- or cc2.name like concat('%',#{keyword},'%')
- or cl1.name like concat('%',#{keyword},'%')
- or p.bailorA_tel like concat('%',#{keyword},'%')
- or p.bailorB_tel like concat('%',#{keyword},'%')
- )
- </if>
- <if test="personal!=null and personal.startDate!=null and personal.startDate!=''">
- and p.created >= #{personal.startDate}
- </if>
- <if test="personal!=null and personal.endDate!=null and personal.endDate!=''">
- and p.created <= #{personal.endDate}
- </if>
- <if test="personal!=null and personal.nodeId!=null">
- and wn.id = #{personal.nodeId}
- </if>
- <if test="personal!=null and personal.clientName!=null and personal.clientName!=''">
- and cc1.NAME like concat('%',#{personal.clientName},'%')
- </if>
- <if test="personal!=null and personal.clientSubName!=null and personal.clientSubName!=''">
- and cc2.NAME like concat('%',#{personal.clientSubName},'%')
- </if>
- <if test="personal!=null and personal.clientManager!=null and personal.clientManager!='' ">
- and u.name like concat('%',#{personal.clientManager},'%')
- </if>
- <if test="personal!=null and personal.outwardStaffName!=null and personal.outwardStaffName!='' ">
- and u1.name like concat('%',#{personal.outwardStaffName},'%')
- </if>
- <if test="personal!=null and personal.inwardStaffName!=null and personal.inwardStaffName!='' ">
- and u2.name like concat('%',#{personal.inwardStaffName},'%')
- </if>
- <if test="personal!=null and personal.pricingStaffName!=null and personal.pricingStaffName!='' ">
- and u3.name like concat('%',#{personal.pricingStaffName},'%')
- </if>
- <if test="personal!=null and personal.handlerName!=null and personal.handlerName!='' ">
- and u4.name like concat('%',#{personal.handlerName},'%')
- </if>
- <if test="personal!=null and personal.isCancellation!=null and personal.isCancellation==true">
- and u4.name = '项目作废'
- </if>
- <if test="personal!=null and personal.isCancellation!=null and personal.isCancellation==false">
- and u4.name != '项目作废'
- </if>
- <if test="personal!=null and personal.userIds!=null and personal.userIds.size!=0">
- and p.client_manager_id in
- <foreach collection="personal.userIds" open="(" close=")" separator="," item="userId">
- #{userId}
- </foreach>
- </if>
- order by wf.modified desc
- </select>
- <select id="getDetail" parameterType="java.lang.Long" resultType="com.dayou.vo.PersonalVO">
- SELECT
- p.*,
- cc1.NAME AS clientName,
- cc2.NAME AS clientSubName,
- cl1.NAME AS contactName,
- cl1.mobile AS contactTel,
- cl1.duty AS cDuty,
- cl1.department as cDepartment,
- u.NAME AS clientManager,
- u1.NAME AS outwardStaffName,
- u2.NAME AS inwardStaffName,
- u3.NAME AS pricingStaffName,
- cc3.name as tTerminalClienteleName,
- cc3.phone as tCompanyMobile,
- cl2.name as tTerminalClienteleContactName,
- cl2.mobile as tMobile
- FROM
- personal p
- LEFT JOIN personal_target pt ON p.id = pt.personal_id
- LEFT JOIN customer_company cc1 ON cc1.id = p.clientele_id
- LEFT JOIN customer_company cc2 ON cc2.id = p.clientele_sub_id
- LEFT JOIN customer_linkman cl1 ON cl1.id = p.clientele_contact_id
- left join customer_company cc3 on cc3.id = p.terminal_clientele_id
- left join customer_linkman cl2 on cl2.id = p.terminal_clientele_contact_id
- LEFT JOIN user u ON u.id = p.client_manager_id
- LEFT JOIN user u1 ON u1.id = p.outward_staff
- LEFT JOIN user u2 ON u2.id = p.inward_staff
- LEFT JOIN user u3 ON u3.id = p.pricing_staff
- where p.deleted = 0 and p.id = #{id}
- </select>
- <select id="getByTargetId" parameterType="java.lang.Long" resultType="com.dayou.entity.Personal">
- select id,credentials from personal where id = (select personal_id from personal_target where id = #{targetId} and deleted = 0) and deleted = 0
- </select>
- <select id="waitingSaveFile" parameterType="com.dayou.vo.PersonalVO" resultType="com.dayou.vo.PersonalVO">
- select
- wf.id AS currentNodeId,
- wtr.id as taskId,
- wtr.created as taskCreated,
- p.id,
- p.order_id,
- p.location,
- pt.acreage,
- pt.price,
- pt.amount,
- cc1.NAME AS clientName,
- cc2.NAME AS clientSubName,
- u.NAME AS clientManager,
- u1.NAME AS outwardStaffName,
- u2.NAME AS inwardStaffName,
- u3.NAME AS pricingStaffName,
- p.created,
- o.real_amount
- from (select id,node_id,business_id from work_flow_node_instance where business_type = "PERSONAL_BUSINESS" and state = 'PENDING' and deleted = 0) wf
- LEFT JOIN work_node wn ON wn.id = wf.node_id
- LEFT JOIN work_task_record wtr ON wtr.instance_id = wf.id
- LEFT JOIN personal p ON p.id = wf.business_id
- LEFT JOIN personal_target pt ON pt.personal_id = wf.business_id
- LEFT JOIN customer_company cc1 ON cc1.id = p.clientele_id
- LEFT JOIN customer_company cc2 ON cc2.id = p.clientele_sub_id
- LEFT JOIN user u ON u.id = p.client_manager_id
- LEFT JOIN user u1 ON u1.id = p.outward_staff
- LEFT JOIN user u2 ON u2.id = p.inward_staff
- LEFT JOIN user u3 ON u3.id = p.pricing_staff
- left join (select business_id,real_amount from order_fund where business_type='PERSONAL_BUSINESS' and deleted = 0) o on o.business_id = p.id
- where wn.code = 'BUSINESS_ARCHIVING'
- AND wn.deleted = 0
- AND p.deleted = 0
- <if test="keyword!=null and keyword!='' ">
- and (
- p.location like concat ('%',#{keyword},'%')
- or p.order_id like concat('%',#{keyword},'%')
- or cc1.name like concat('%',#{keyword},'%')
- or cc2.name like concat('%',#{keyword},'%')
- or p.bailorA_tel like concat('%',#{keyword},'%')
- or p.bailorB_tel like concat('%',#{keyword},'%')
- )
- </if>
- order by p.order_id DESC
- </select>
- <update id="updateSaveFileInfo" parameterType="java.util.List">
- update personal set if_save_file = 1 ,save_file_date= now() where id in (
- <foreach collection="list" index="index" item="item" separator=",">
- #{item}
- </foreach>
- )
- </update>
- <select id="saveFileDone" parameterType="com.dayou.vo.PersonalVO" resultType="com.dayou.vo.PersonalVO">
- select
- p.id,
- p.order_id,
- p.location,
- pt.acreage,
- pt.price,
- pt.amount,
- cc1.NAME AS clientName,
- cc2.NAME AS clientSubName,
- u.NAME AS clientManager,
- u1.NAME AS outwardStaffName,
- u2.NAME AS inwardStaffName,
- u3.NAME AS pricingStaffName,
- p.created,
- o.real_amount,
- p.save_file_date
- from
- personal p
- LEFT JOIN personal_target pt ON pt.personal_id = p.id
- LEFT JOIN customer_company cc1 ON cc1.id = p.clientele_id
- LEFT JOIN customer_company cc2 ON cc2.id = p.clientele_sub_id
- LEFT JOIN user u ON u.id = p.client_manager_id
- LEFT JOIN user u1 ON u1.id = p.outward_staff
- LEFT JOIN user u2 ON u2.id = p.inward_staff
- LEFT JOIN user u3 ON u3.id = p.pricing_staff
- left join (select business_id,real_amount from order_fund where business_type='PERSONAL_BUSINESS' and deleted = 0) o on o.business_id = p.id
- where
- p.deleted = 0 and p.if_save_file = 1 and pt.deleted= 0
- <if test="keyword!=null and keyword!='' ">
- and (
- p.location like concat ('%',#{keyword},'%')
- or p.order_id like concat('%',#{keyword},'%')
- or p.bailorA like concat('%',#{keyword},'%')
- or p.bailorB like concat('%',#{keyword},'%')
- or cc1.name like concat('%',#{keyword},'%')
- or cc2.name like concat('%',#{keyword},'%')
- or p.bailorA_tel like concat('%',#{keyword},'%')
- or p.bailorB_tel like concat('%',#{keyword},'%')
- )
- </if>
- <if test="personal!=null and personal.startDate!=null and personal.startDate!=''">
- and p.created >= #{personal.startDate}
- </if>
- <if test="personal!=null and personal.endDate!=null and personal.endDate!=''">
- and p.created <= #{personal.endDate}
- </if>
- <if test="personal!=null and personal.clientName!=null and personal.clientName!=''">
- and cc1.NAME like concat('%',#{personal.clientName},'%')
- </if>
- <if test="personal!=null and personal.clientSubName!=null and personal.clientSubName!=''">
- and cc2.NAME like concat('%',#{personal.clientSubName},'%')
- </if>
- <if test="personal!=null and personal.clientManager!=null and personal.clientManager!='' ">
- and u.name like concat('%',#{personal.clientManager},'%')
- </if>
- <if test="personal!=null and personal.outwardStaffName!=null and personal.outwardStaffName!='' ">
- and u1.name like concat('%',#{personal.outwardStaffName},'%')
- </if>
- <if test="personal!=null and personal.inwardStaffName!=null and personal.inwardStaffName!='' ">
- and u2.name like concat('%',#{personal.inwardStaffName},'%')
- </if>
- <if test="personal!=null and personal.pricingStaffName!=null and personal.pricingStaffName!='' ">
- and u3.name like concat('%',#{personal.pricingStaffName},'%')
- </if>
- </select>
- <sql id="myOrderSql">
- select
- p.id,
- p.order_id,
- p.location,
- p.location as orderName,
- pt.acreage,
- pt.price,
- pt.amount,
- cc1.NAME AS clientName,
- cc2.NAME AS clientSubName,
- p.agent,
- cl.name as contactName,
- p.bailorA,
- p.bailorB,
- cl.mobile as contactTel,
- u1.NAME AS outwardStaffName,
- u2.NAME AS inwardStaffName,
- u3.NAME AS pricingStaffName,
- p.created,
- o.real_amount,
- o.should_amount,
- p.save_file_date,
- o.id as orderFundId,
- fi.invoiceAmount,
- pp.productions
- from
- personal p
- LEFT JOIN personal_target pt ON pt.personal_id = p.id
- LEFT JOIN customer_company cc1 ON cc1.id = p.clientele_id
- LEFT JOIN customer_company cc2 ON cc2.id = p.clientele_sub_id
- left join customer_linkman cl on cl.id = p.clientele_contact_id
- LEFT JOIN user u1 ON u1.id = p.outward_staff
- LEFT JOIN user u2 ON u2.id = p.inward_staff
- LEFT JOIN user u3 ON u3.id = p.pricing_staff
- left join (select id,business_id,real_amount,should_amount from order_fund where business_type='PERSONAL_BUSINESS' and deleted = 0) o on o.business_id = p.id
- left join (select sum(real_amount) as invoiceAmount,order_fund_id from finance_invoice where state ='已开票' and deleted = 0 GROUP BY order_fund_id) fi on fi.order_fund_id = o.id
- LEFT JOIN ( SELECT target_id, GROUP_CONCAT( case production when 'STATEMENT' then '意见书' when 'FINAL' then '结果报告' when 'TECHNIC' then '技术报告' when 'LETTER' then '复评函' end )as productions FROM personal_production WHERE deleted = 0 AND production_time IS NOT NULL GROUP BY target_id ) pp on pp.target_id = pt.id
- where
- p.deleted = 0 and p.client_manager_id = #{personal.clientManagerId}
- <if test="keyword!=null and keyword!='' ">
- and (
- p.location like concat ('%',#{keyword},'%')
- or p.order_id like concat('%',#{keyword},'%')
- or p.agent like concat('%',#{keyword},'%')
- or p.bailorA like concat('%',#{keyword},'%')
- or p.bailorB like concat('%',#{keyword},'%')
- or cc1.name like concat('%',#{keyword},'%')
- or cc2.name like concat('%',#{keyword},'%')
- or p.bailorA_tel like concat('%',#{keyword},'%')
- or p.bailorB_tel like concat('%',#{keyword},'%')
- )
- </if>
- <if test="personal!=null and personal.orderId!=null">
- AND p.order_id like concat('%',#{personal.orderId},'%')
- </if>
- <if test="personal!=null and personal.bailor!=null">
- AND (
- p.bailorA like concat('%',#{personal.bailor},'%')
- or p.bailorB like concat('%',#{personal.bailor},'%')
- )
- </if>
- <if test="personal!=null and personal.clientName!=null">
- AND cc1.name like concat('%',#{personal.clientName},'%')
- </if>
- <if test="personal!=null and personal.clientSubName!=null">
- AND cc2.name like concat('%',#{personal.clientSubName},'%')
- </if>
- <if test="personal!=null and personal.shouldAmount!=null">
- AND o.should_amount = #{personal.shouldAmount}
- </if>
- <if test="personal!=null and personal.invoiceAmountCondition!=null">
- AND fi.invoiceAmount = #{personal.invoiceAmountCondition}
- </if>
- <if test="personal!=null and personal.startDate!=null and personal.startDate!=''">
- and p.created >= #{personal.startDate}
- </if>
- <if test="personal!=null and personal.endDate!=null and personal.endDate!=''">
- and p.created <= #{personal.endDate}
- </if>
- <if test="personal!=null and personal.nodeCode!=null and personal.nodeCode!=''">
- and wn.code = #{personal.nodeCode}
- </if>
- <if test="personal!=null and personal.clientName!=null and personal.clientName!=''">
- and cc1.NAME like concat('%',#{personal.clientName},'%')
- </if>
- <if test="personal!=null and personal.clientSubName!=null and personal.clientSubName!=''">
- and cc2.NAME like concat('%',#{personal.clientSubName},'%')
- </if>
- <if test="personal!=null and personal.productions!=null and personal.productions!='' ">
- and pp.productions like concat('%',#{personal.productions},'%')
- </if>
- ORDER BY
- <if test="personal!=null and personal.invoiceAmount!=null">
- fi.invoiceAmount=${personal.invoiceAmount} desc,
- </if>
- p.created DESC
- </sql>
- <select id="myOrder" parameterType="com.dayou.vo.PersonalVO" resultType="com.dayou.vo.PersonalVO">
- <include refid="myOrderSql"/>
- </select>
- <select id="exportMyOrder" resultType="com.dayou.vo.PersonalVO">
- <include refid="myOrderSql"/>
- </select>
- <select id="waitingAllotOrderPage" resultType="com.dayou.vo.PersonalVO">
- SELECT
- wfni.*,
- p.location,
- p.clientele_type,
- p.agent,
- p.bailorA,
- p.bailorA_tel,
- p.bailorB,
- p.bailorB_tel,
- cc1.NAME AS clientName,
- cc2.NAME AS clientSubName,
- cl1.NAME AS contactName,
- cl1.mobile AS contactTel,
- u.NAME AS clientManager,
- c.comments
- FROM
- ( SELECT wf.id as currentNodeId, wn.name as currentNodeName,wf.node_id, wf.business_id as id, wf.business_sub_id as orderId FROM work_flow_node_instance wf
- left join work_node wn on (wn.id = wf.node_id and wf.flow_id = wn.flow_id)
- WHERE wf.business_type = 'PERSONAL_BUSINESS' AND wf.state = 'PENDING' AND wf.deleted = 0 and wn.code = 'DEPARTMENT_ALLOCATION') wfni
- LEFT JOIN personal p ON p.id = wfni.id
- LEFT JOIN customer_company cc1 ON cc1.id = p.clientele_id
- LEFT JOIN customer_company cc2 ON cc2.id = p.clientele_sub_id
- LEFT JOIN customer_linkman cl1 ON cl1.id = p.clientele_contact_id
- LEFT JOIN `user` u ON u.id = p.client_manager_id
- left join (
- select business_id,comments from work_flow_log where concat(business_id,created) in (
- select concat(business_id,max(created)) from work_flow_log where business_type = 'PERSONAL_BUSINESS' and comments is not null group BY business_id
- )
- ) c on c.business_id = p.id
- WHERE
- p.deleted = 0
- <if test="keyword!=null and keyword!='' ">
- and (
- p.location like concat ('%',#{keyword},'%')
- or p.order_id like concat('%',#{keyword},'%')
- or p.agent like concat('%',#{keyword},'%')
- or p.bailorA like concat('%',#{keyword},'%')
- or p.bailorB like concat('%',#{keyword},'%')
- or cc1.name like concat('%',#{keyword},'%')
- or cc2.name like concat('%',#{keyword},'%')
- or cl1.name like concat('%',#{keyword},'%')
- or p.bailorA_tel like concat('%',#{keyword},'%')
- or p.bailorB_tel like concat('%',#{keyword},'%')
- )
- </if>
- order by p.created DESC
- </select>
- <update id="batchUpdateOutWardStaffId">
- update personal set outward_staff = #{userId} ,pricing_staff = #{priceStaffId} where id in (
- <foreach collection="list" item="item" separator="," index="index">
- #{item}
- </foreach>
- )
- </update>
- <select id="selectOrder" parameterType="com.dayou.vo.PersonalVO" resultType="com.dayou.vo.PersonalVO">
- SELECT
- p.id,
- p.order_id,
- p.location,
- p.agent,
- p.bailorA,
- p.bailorB,
- p.bailorA_tel,
- p.bailorB_tel,
- p.client_manager_id,
- p.remark,
- pt.acreage,
- pt.price,
- pt.amount,
- ps.created AS valueTiming,
- found.real_amount,
- cc1.NAME AS clientName,
- cc2.NAME AS clientSubName,
- cl1.NAME AS contactName,
- cl1.mobile AS contactTel,
- u.NAME AS clientManager,
- u1.NAME AS outwardStaffName,
- u2.NAME AS inwardStaffName,
- u3.NAME AS pricingStaffName,
- p.created,
- p.created as xCreated,
- pp.productions,
- p.evaluate_aim
- FROM
- personal p
- LEFT JOIN (select id, personal_id,acreage,price,amount,created from personal_target where deleted = 0) pt ON pt.personal_id = p.id
- LEFT JOIN (
- SELECT
- f.business_id,
- f.real_amount
- FROM
- order_fund f
- WHERE
- f.business_type = 'PERSONAL_BUSINESS'
- AND f.deleted = 0
- ) found ON found.business_id = p.id
- left join (select personal_id, created from personal_scene) ps on ps.personal_id = p.id
- LEFT JOIN (select id,name from customer_company where deleted=0) cc1 ON cc1.id = p.clientele_id
- LEFT JOIN (select id,name from customer_company where deleted=0) cc2 ON cc2.id = p.clientele_sub_id
- LEFT JOIN (select id,name,mobile from customer_linkman where deleted = 0) cl1 ON cl1.id = p.clientele_contact_id
- LEFT JOIN (select id,name from user where deleted = 0) u ON u.id = p.client_manager_id
- LEFT JOIN (select id,name from user where deleted = 0) u1 ON u1.id = p.outward_staff
- LEFT JOIN (select id,name from user where deleted = 0) u2 ON u2.id = p.inward_staff
- LEFT JOIN (select id,name from user where deleted = 0) u3 ON u3.id = p.pricing_staff
- LEFT JOIN ( SELECT target_id, GROUP_CONCAT( case production when 'STATEMENT' then '意见书' when 'FINAL' then '结果报告' when 'TECHNIC' then '技术报告' end )as productions FROM personal_production WHERE deleted = 0 AND production_time IS NOT NULL GROUP BY target_id ) pp on pp.target_id = pt.id
- WHERE
- p.deleted = 0
- <if test="keyword!=null and keyword!='' ">
- and (
- p.location like concat ('%',#{keyword},'%')
- or p.order_id like concat('%',#{keyword},'%')
- or p.agent like concat('%',#{keyword},'%')
- or p.bailorA like concat('%',#{keyword},'%')
- or p.bailorB like concat('%',#{keyword},'%')
- or cc1.name like concat('%',#{keyword},'%')
- or cc2.name like concat('%',#{keyword},'%')
- or cl1.name like concat('%',#{keyword},'%')
- or p.bailorA_tel like concat('%',#{keyword},'%')
- or p.bailorB_tel like concat('%',#{keyword},'%')
- )
- </if>
- <if test="personal!=null and personal.personalRealAmount!=null and personal.personalRealAmount==true ">
- and (found.real_amount is not null and found.real_amount !=0)
- </if>
- <if test="personal!=null and personal.personalRealAmount!=null and personal.personalRealAmount==false ">
- and (found.real_amount is null or found.real_amount=0)
- </if>
- <if test="personal!=null and personal.startDate!=null and personal.startDate!=''">
- and p.created >= #{personal.startDate}
- </if>
- <if test="personal!=null and personal.endDate!=null and personal.endDate!=''">
- and p.created <= #{personal.endDate}
- </if>
- <if test="personal!=null and personal.clientName!=null and personal.clientName!=''">
- and cc1.NAME like concat('%',#{personal.clientName},'%')
- </if>
- <if test="personal!=null and personal.clientSubName!=null and personal.clientSubName!=''">
- and cc2.NAME like concat('%',#{personal.clientSubName},'%')
- </if>
- <if test="personal!=null and personal.clientManager!=null and personal.clientManager!='' ">
- and u.name like concat('%',#{personal.clientManager},'%')
- </if>
- <if test="personal!=null and personal.outwardStaffName!=null and personal.outwardStaffName!='' ">
- and u1.name like concat('%',#{personal.outwardStaffName},'%')
- </if>
- <if test="personal!=null and personal.inwardStaffName!=null and personal.inwardStaffName!='' ">
- and u2.name like concat('%',#{personal.inwardStaffName},'%')
- </if>
- <if test="personal!=null and personal.pricingStaffName!=null and personal.pricingStaffName!='' ">
- and u3.name like concat('%',#{personal.pricingStaffName},'%')
- </if>
- <if test="personal!=null and personal.handlerName!=null and personal.handlerName!='' ">
- and u4.name like concat('%',#{personal.handlerName},'%')
- </if>
- <if test="personal!=null and personal.productions!=null and personal.productions!='' ">
- and pp.productions like concat('%',#{personal.productions},'%')
- </if>
- <if test="personal!=null and personal.evaluateAim!=null and personal.evaluateAim!='' ">
- and p.evaluate_aim = #{personal.evaluateAim}
- </if>
- order by p.created desc
- </select>
- <select id="getAllOrderCount" parameterType="com.dayou.vo.PersonalVO" resultType="java.lang.Long">
- SELECT
- count(1)
- FROM
- personal p
- LEFT JOIN (select id, personal_id,acreage,price,amount,created from personal_target where deleted = 0) pt ON pt.personal_id = p.id
- LEFT JOIN (
- SELECT
- f.business_id,
- f.real_amount
- FROM
- order_fund f
- WHERE
- f.business_type = 'PERSONAL_BUSINESS'
- AND f.deleted = 0
- ) found ON found.business_id = p.id
- left join (select personal_id, created from personal_scene) ps on ps.personal_id = p.id
- LEFT JOIN (select id,name from customer_company where deleted=0) cc1 ON cc1.id = p.clientele_id
- LEFT JOIN (select id,name from customer_company where deleted=0) cc2 ON cc2.id = p.clientele_sub_id
- LEFT JOIN (select id,name,mobile from customer_linkman where deleted = 0) cl1 ON cl1.id = p.clientele_contact_id
- LEFT JOIN (select id,name from user where deleted = 0) u ON u.id = p.client_manager_id
- LEFT JOIN (select id,name from user where deleted = 0) u1 ON u1.id = p.outward_staff
- LEFT JOIN (select id,name from user where deleted = 0) u2 ON u2.id = p.inward_staff
- LEFT JOIN (select id,name from user where deleted = 0) u3 ON u3.id = p.pricing_staff
- LEFT JOIN ( SELECT target_id, GROUP_CONCAT( case production when 'STATEMENT' then '意见书' when 'FINAL' then '结果报告' when 'TECHNIC' then '技术报告' when 'LETTER' then '复评函' end )as productions FROM personal_production WHERE deleted = 0 AND production_time IS NOT NULL GROUP BY target_id ) pp on pp.target_id = pt.id
- WHERE
- p.deleted = 0
- <if test="keyword!=null and keyword!='' ">
- and (
- p.location like concat ('%',#{keyword},'%')
- or p.order_id like concat('%',#{keyword},'%')
- or p.agent like concat('%',#{keyword},'%')
- or p.bailorA like concat('%',#{keyword},'%')
- or p.bailorB like concat('%',#{keyword},'%')
- or cc1.name like concat('%',#{keyword},'%')
- or cc2.name like concat('%',#{keyword},'%')
- or cl1.name like concat('%',#{keyword},'%')
- or p.bailorA_tel like concat('%',#{keyword},'%')
- or p.bailorB_tel like concat('%',#{keyword},'%')
- )
- </if>
- <if test="personal!=null and personal.personalRealAmount!=null and personal.personalRealAmount==true ">
- and (found.real_amount is not null and found.real_amount !=0)
- </if>
- <if test="personal!=null and personal.personalRealAmount!=null and personal.personalRealAmount==false ">
- and (found.real_amount is null or found.real_amount=0)
- </if>
- <if test="personal!=null and personal.startDate!=null and personal.startDate!=''">
- and p.created >= #{personal.startDate}
- </if>
- <if test="personal!=null and personal.endDate!=null and personal.endDate!=''">
- and p.created <= #{personal.endDate}
- </if>
- <if test="personal!=null and personal.clientName!=null and personal.clientName!=''">
- and cc1.NAME like concat('%',#{personal.clientName},'%')
- </if>
- <if test="personal!=null and personal.clientSubName!=null and personal.clientSubName!=''">
- and cc2.NAME like concat('%',#{personal.clientSubName},'%')
- </if>
- <if test="personal!=null and personal.clientManager!=null and personal.clientManager!='' ">
- and u.name like concat('%',#{personal.clientManager},'%')
- </if>
- <if test="personal!=null and personal.outwardStaffName!=null and personal.outwardStaffName!='' ">
- and u1.name like concat('%',#{personal.outwardStaffName},'%')
- </if>
- <if test="personal!=null and personal.inwardStaffName!=null and personal.inwardStaffName!='' ">
- and u2.name like concat('%',#{personal.inwardStaffName},'%')
- </if>
- <if test="personal!=null and personal.pricingStaffName!=null and personal.pricingStaffName!='' ">
- and u3.name like concat('%',#{personal.pricingStaffName},'%')
- </if>
- <if test="personal!=null and personal.handlerName!=null and personal.handlerName!='' ">
- and u4.name like concat('%',#{personal.handlerName},'%')
- </if>
- <if test="personal!=null and personal.evaluateAim!=null and personal.evaluateAim!='' ">
- and p.evaluate_aim = #{personal.evaluateAim}
- </if>
- <if test="personal!=null and personal.productions!=null and personal.productions!='' ">
- and pp.productions like concat('%',#{personal.productions},'%')
- </if>
- order by p.created desc
- </select>
- </mapper>
|