123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- <!DOCTYPE mapper
- PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
- "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="com.bosshand.virgo.api.dao.WorkOrderDao">
- <resultMap type="com.bosshand.virgo.api.model.WorkOrder" id="workOrderResult">
- <id column="id" property="id"/>
- <result column="projectId" property="projectId"/>
- <result column="projectItemTargetRoomIds" property="projectItemTargetRoomIds"/>
- <result column="tenantType" property="tenantType"/>
- <result column="merchantId" property="merchantId"/>
- <result column="merchantName" property="merchantName"/>
- <result column="clientId" property="clientId"/>
- <result column="clientName" property="clientName"/>
- <result column="userId" property="userId"/>
- <result column="contractId" property="contractId"/>
- <result column="contractCode" property="contractCode"/>
- <result column="deviceName" property="deviceName"/>
- <result column="followUpPerson" property="followUpPerson"/>
- <result column="followUpPersonName" property="followUpPersonName"/>
- <result column="followUpPersonPhone" property="followUpPersonPhone"/>
- <result column="workWay" property="workWay"/>
- <result column="compendious" property="compendious"/>
- <result column="picture" property="picture"/>
- <result column="date" property="date"/>
- <result column="name" property="name"/>
- <result column="type" property="type"/>
- <result column="status" property="status"/>
- <result column="attachment" property="attachment"/>
- <result column="data" property="data"/>
- </resultMap>
- <insert id="insert" parameterType="com.bosshand.virgo.api.model.WorkOrder" useGeneratedKeys="true" keyProperty="id">
- INSERT INTO work_order(`projectId`, `projectItemTargetRoomIds`, `tenantType`, `merchantId`, `clientId`, `userId`, `contractId`, `contractCode`, `deviceName`, `followUpPerson`,
- `workWay`, `compendious`, `picture`, `date`, `name`, `type`, `status`, `attachment`, `data`)
- VALUES (#{projectId}, #{projectItemTargetRoomIds}, #{tenantType}, #{merchantId}, #{clientId}, #{userId}, #{contractId}, #{contractCode}, #{deviceName}, #{followUpPerson},
- #{workWay}, #{compendious}, #{picture}, now(), #{name}, #{type}, #{status}, #{attachment}, #{data})
- </insert>
- <delete id="delete">
- DELETE from work_order where id=#{id}
- </delete>
- <update id="update" parameterType="com.bosshand.virgo.api.model.WorkOrder">
- UPDATE work_order
- <trim prefix="set" suffixOverrides=",">
- <if test="projectId!=0">projectId=#{projectId},</if>
- <if test="projectItemTargetRoomIds!=null">projectItemTargetRoomIds=#{projectItemTargetRoomIds},</if>
- <if test="tenantType!=null">tenantType=#{tenantType},</if>
- <if test="merchantId!=0">merchantId=#{merchantId},</if>
- <if test="clientId!=0">clientId=#{clientId},</if>
- <if test="userId!=0">userId=#{userId},</if>
- <if test="contractId!=0">contractId=#{contractId},</if>
- <if test="contractCode!=null">contractCode=#{contractCode},</if>
- <if test="deviceName!=null">deviceName=#{deviceName},</if>
- <if test="followUpPerson!=0">followUpPerson=#{followUpPerson},</if>
- <if test="workWay!=null">workWay=#{workWay},</if>
- <if test="compendious!=null">compendious=#{compendious},</if>
- <if test="picture!=null">picture=#{picture},</if>
- <if test="name!=null">name=#{name},</if>
- <if test="type!=null">type=#{type},</if>
- <if test="status!=null">status=#{status},</if>
- <if test="attachment!=null">attachment=#{attachment},</if>
- <if test="data!=null">data=#{data},</if>
- </trim>
- WHERE id=#{id}
- </update>
- <sql id="query">
- SELECT a.*, b.name as followUpPersonName, b.phone as followUpPersonPhone, c.name as merchantName, d.name as clientName FROM work_order a
- LEFT JOIN mgr_user b ON a.followUpPerson = b.id
- LEFT JOIN merchant c ON a.merchantId = c.id
- LEFT JOIN mgr_client d ON a.clientId = d.id
- </sql>
- <select id="get" resultMap="workOrderResult">
- <include refid="query"/>
- where a.id = #{id}
- </select>
- <select id="getTotalCount" parameterType="com.bosshand.virgo.api.model.WorkOrder" resultType="Integer">
- SELECT count(*) FROM work_order
- <where>
- <if test="projectId!=0">and projectId=#{projectId}</if>
- <if test="projectItemTargetRoomIds != null">and
- <foreach item="projectItemTargetRoomId" collection="projectItemTargetRoomIds.split(',')" open="(" separator=" or " close=")">
- FIND_IN_SET (#{projectItemTargetRoomId}, projectItemTargetRoomIds)
- </foreach>
- </if>
- <if test="tenantType!=null">and tenantType=#{tenantType}</if>
- <if test="merchantId!=0">and merchantId=#{merchantId}</if>
- <if test="clientId!=0">and clientId=#{clientId}</if>
- <if test="userId!=0">and userId=#{userId}</if>
- <if test="contractId!=0">and contractId=#{contractId}</if>
- <if test="contractCode!=null">and contractCode=#{contractCode}</if>
- <if test="deviceName!=null">and deviceName=#{deviceName}</if>
- <if test="followUpPerson!=0">and followUpPerson=#{followUpPerson}</if>
- <if test="workWay!=null">and workWay=#{workWay}</if>
- <if test="compendious!=null">and compendious=#{compendious}</if>
- <if test="picture!=null">and picture=#{picture}</if>
- <if test="name!=null">and name=#{name}</if>
- <if test="type!=null">and type=#{type}</if>
- <if test="status!=null">and status=#{status}</if>
- <if test="statusList!=null"> and status in
- <foreach item="item" index="index" collection="statusList" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="attachment!=null">and attachment=#{attachment}</if>
- <if test="data!=null">and data=#{data}</if>
- </where>
- </select>
- <select id="getLimit" resultMap="workOrderResult">
- <include refid="query"/>
- <where>
- <if test="p.projectId!=0">and a.projectId=#{p.projectId}</if>
- <if test="p.projectItemTargetRoomIds != null">and
- <foreach item="projectItemTargetRoomId" collection="p.projectItemTargetRoomIds.split(',')" open="(" separator=" or " close=")">
- FIND_IN_SET (#{projectItemTargetRoomId}, a.projectItemTargetRoomIds)
- </foreach>
- </if>
- <if test="p.tenantType!=null">and a.tenantType=#{p.tenantType}</if>
- <if test="p.merchantId!=0">and a.merchantId=#{p.merchantId}</if>
- <if test="p.clientId!=0">and a.clientId=#{p.clientId}</if>
- <if test="p.userId!=0">and a.userId=#{p.userId}</if>
- <if test="p.contractId!=0">and a.contractId=#{p.contractId}</if>
- <if test="p.contractCode!=null">and a.contractCode=#{p.contractCode}</if>
- <if test="p.deviceName!=null">and a.deviceName=#{p.deviceName}</if>
- <if test="p.followUpPerson!=0">and a.followUpPerson=#{p.followUpPerson}</if>
- <if test="p.workWay!=null">and a.workWay=#{p.workWay}</if>
- <if test="p.compendious!=null">and a.compendious=#{p.compendious}</if>
- <if test="p.picture!=null">and a.picture=#{p.picture}</if>
- <if test="p.name!=null">and a.name=#{p.name}</if>
- <if test="p.type!=null">and a.type=#{p.type}</if>
- <if test="p.status!=null">and a.status=#{p.status}</if>
- <if test="p.statusList!=null"> and a.status in
- <foreach item="item" index="index" collection="p.statusList" open="(" separator="," close=")">
- #{item}
- </foreach>
- </if>
- <if test="p.attachment!=null">and a.attachment=#{p.attachment}</if>
- <if test="p.data!=null">and a.data=#{p.data}</if>
- </where>
- order by a.date desc
- limit #{currIndex} , #{pageSize}
- </select>
- <select id="getList" resultMap="workOrderResult">
- SELECT * FROM work_order
- <where>
- <if test="projectItemTargetRoomIds != null">and
- <foreach item="projectItemTargetRoomId" collection="projectItemTargetRoomIds.split(',')" open="(" separator=" or " close=")">
- FIND_IN_SET (#{projectItemTargetRoomId}, projectItemTargetRoomIds)
- </foreach>
- </if>
- </where>
- </select>
- <select id="projectCount" resultType="map">
- SELECT COUNT(`id`) as totalNumber, COUNT(if(`status`=3,true,null)) as completedNumber, COUNT(if(`status`!=3,true,null)) as incompleteNumber
- FROM work_order WHERE projectId = #{projectId} and type in (${types})
- </select>
- </mapper>
|