From 57391775d5f5ae8a93b308d0b261b2244eb7579a Mon Sep 17 00:00:00 2001
From: 刘小明 <liuxm_a@163.com>
Date: 星期四, 16 一月 2025 09:24:26 +0800
Subject: [PATCH] 追溯小程序:产品列表,产品详情接口
---
pms-parent/pms-global/src/main/resources/mapper/PrOrderMapper.xml | 61 +++++++++++++++++++++++++-----
1 files changed, 50 insertions(+), 11 deletions(-)
diff --git a/pms-parent/pms-global/src/main/resources/mapper/PrOrderMapper.xml b/pms-parent/pms-global/src/main/resources/mapper/PrOrderMapper.xml
index 305b859..3a63783 100644
--- a/pms-parent/pms-global/src/main/resources/mapper/PrOrderMapper.xml
+++ b/pms-parent/pms-global/src/main/resources/mapper/PrOrderMapper.xml
@@ -12,6 +12,9 @@
<result property="director" column="director" jdbcType="VARCHAR"/>
<result property="dMobile" column="d_mobile" jdbcType="VARCHAR"/>
<result property="deliveryDate" column="delivery_date" jdbcType="VARCHAR"/>
+ <result property="deliveryAddress" column="delivery_address" jdbcType="VARCHAR"/>
+ <result property="recipient" column="recipient" jdbcType="VARCHAR"/>
+ <result property="rMobile" column="r_mobile" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="TINYINT"/>
<result property="creator" column="creator" jdbcType="VARCHAR"/>
<result property="dt" column="dt" jdbcType="TIMESTAMP"/>
@@ -21,9 +24,12 @@
<resultMap id="BaseResultMap2" type="com.dy.pmsGlobal.pojoPr.PrOrder" extends="BaseResultMap">
<collection property="items" ofType="com.dy.pmsGlobal.pojoPr.PrOrderItem" fetchType="eager" select="com.dy.pmsGlobal.daoPr.PrOrderItemMapper.selectItems" column="id" />
</resultMap>
+ <resultMap id="BaseResultMap3" type="com.dy.pmsGlobal.pojoPr.PrOrder" extends="BaseResultMap">
+ <collection property="items" ofType="com.dy.pmsGlobal.pojoPr.PrOrderItem" fetchType="eager" select="com.dy.pmsGlobal.daoPr.PrOrderItemMapper.selectDistinctPro" column="id" />
+ </resultMap>
<sql id="Base_Column_List">
id,`name`,customer_name,project_name,
- director,d_mobile,delivery_date,
+ director,d_mobile,delivery_date,delivery_address,recipient,r_mobile,
status,creator,dt,
deleted,remark
</sql>
@@ -38,7 +44,7 @@
</select>
<select id="exists" resultType="java.lang.Boolean">
select count(1) from pr_order where name = #{name}
- <if test="id != null and id !=''">
+ <if test="id != null">
and id != #{id}
</if>
</select>
@@ -107,7 +113,8 @@
</if>
</trim>
</select>
- <select id="selectAll" resultMap="BaseResultMap2">
+ <!--涓嬫媺鑿滃崟璁㈠崟-->
+ <select id="selectAll" resultType="com.dy.pmsGlobal.pojoPr.PrOrder">
select
<include refid="Base_Column_List" />
from pr_order p
@@ -137,6 +144,23 @@
</trim>
order by id desc
</select>
+ <select id="queryStatisticOrder" resultType="cn.hutool.json.JSONObject">
+ SELECT
+ count(1) AS total,
+ SUM(CASE WHEN delivery_date >= DATE_SUB(CURDATE(), INTERVAL 1 YEAR) THEN 1 ELSE 0 END) AS year_total,
+ SUM(CASE WHEN complete = 'complete' THEN 1 ELSE 0 END) AS complete,
+ SUM(CASE WHEN complete = 'uncomplete' THEN 1 ELSE 0 END) AS uncomplete
+ FROM(
+ SELECT po.id,po.delivery_date, CASE WHEN po.`status`= -1 OR poi.complete ='complete' THEN 'complete' ELSE 'uncomplete' END AS complete FROM
+ (SELECT id,`name`, `status`,delivery_date FROM pr_order WHERE deleted = 0) po
+ LEFT JOIN (
+ SELECT pr.order_id ,CASE WHEN COUNT(pr.order_id) - SUM(pr.flag) = 0 THEN 'complete' ELSE 'uncomplete' END AS complete
+ FROM
+ (SELECT item.order_id,item.pro_id,CASE WHEN item.complete_number - item.number >= 0 THEN 1 ELSE 0 END AS flag FROM
+ (SELECT order_id,pro_id, SUM(number) number,SUM(IFNULL(complete_number,0)) complete_number FROM pr_order_item GROUP BY order_id,pro_id) item
+ ) pr GROUP BY pr.order_id) poi
+ ON po.id = poi.order_id) statistic
+ </select>
<delete id="deleteByPrimaryKey" parameterType="java.lang.Long">
delete from pr_order
where id = #{id,jdbcType=BIGINT}
@@ -148,31 +172,37 @@
<insert id="insertSelective" keyColumn="id" keyProperty="id" parameterType="com.dy.pmsGlobal.pojoPr.PrOrder" useGeneratedKeys="true">
insert into pr_order
<trim prefix="(" suffix=")" suffixOverrides=",">
- <if test="id != null and id !=''">id,</if>
+ <if test="id != null">id,</if>
<if test="name != null and name !=''">name,</if>
<if test="customerName!= null and customerName !=''">customer_name,</if>
<if test="projectName!= null and projectName !=''">project_name,</if>
<if test="director != null and director !=''">director,</if>
<if test="dMobile != null and dMobile !=''">d_mobile,</if>
<if test="deliveryDate!= null and deliveryDate !=''">delivery_date,</if>
+ <if test="deliveryAddress!= null and deliveryAddress !=''">delivery_date,</if>
+ <if test="recipient!= null and recipient !=''">recipient,</if>
+ <if test="rMobile!= null and rMobile !=''">r_mobile,</if>
<if test="status != null">status,</if>
<if test="creator != null and creator !=''">creator,</if>
- <if test="dt != null and dt !=''">dt,</if>
- <if test="deleted != null and deleted !=''">deleted,</if>
+ <if test="dt != null">dt,</if>
+ <if test="deleted != null">deleted,</if>
<if test="remark != null and remark !=''">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
- <if test="id != null and id !=''">#{id,jdbcType=BIGINT},</if>
+ <if test="id != null">#{id,jdbcType=BIGINT},</if>
<if test="name != null and name !=''">#{name,jdbcType=VARCHAR},</if>
<if test="customerName!= null and customerName !=''">#{customerName,jdbcType=VARCHAR},</if>
<if test="projectName!= null and projectName !=''">#{projectName,jdbcType=VARCHAR},</if>
<if test="director != null and director !=''">#{director,jdbcType=VARCHAR},</if>
<if test="dMobile != null and dMobile !=''">#{dMobile,jdbcType=VARCHAR},</if>
<if test="deliveryDate!= null and deliveryDate !=''">#{deliveryDate,jdbcType=VARCHAR},</if>
+ <if test="deliveryAddress!= null and deliveryAddress !=''">#{deliveryAddress,jdbcType=VARCHAR},</if>
+ <if test="recipient!= null and recipient !=''">#{recipient,jdbcType=VARCHAR},</if>
+ <if test="rMobile!= null and rMobile !=''">#{rMobile,jdbcType=VARCHAR},</if>
<if test="status != null">#{status,jdbcType=TINYINT},</if>
<if test="creator != null and creator !=''">#{creator,jdbcType=VARCHAR},</if>
- <if test="dt != null and dt !=''">#{dt,jdbcType=TIMESTAMP},</if>
- <if test="deleted != null and deleted !=''">#{deleted,jdbcType=TINYINT},</if>
+ <if test="dt != null">#{dt,jdbcType=TIMESTAMP},</if>
+ <if test="deleted != null">#{deleted,jdbcType=TINYINT},</if>
<if test="remark != null and remark !=''">#{remark,jdbcType=VARCHAR},</if>
</trim>
</insert>
@@ -197,16 +227,25 @@
<if test="deliveryDate!= null and deliveryDate !=''">
delivery_date = #{deliveryDate,jdbcType=VARCHAR},
</if>
+ <if test="deliveryAddress!= null and deliveryAddress !=''">
+ delivery_date = #{deliveryAddress,jdbcType=VARCHAR},
+ </if>
+ <if test="recipient!= null and recipient !=''">
+ recipient = #{recipient,jdbcType=VARCHAR},
+ </if>
+ <if test="rMobile!= null and rMobile !=''">
+ r_mobile = #{rMobile,jdbcType=VARCHAR},
+ </if>
<if test="status != null">
status = #{status,jdbcType=TINYINT},
</if>
<if test="creator != null and creator !=''">
creator = #{creator,jdbcType=VARCHAR},
</if>
- <if test="dt != null and dt !=''">
+ <if test="dt != null">
dt = #{dt,jdbcType=TIMESTAMP},
</if>
- <if test="deleted != null and deleted !=''">
+ <if test="deleted != null">
deleted = #{deleted,jdbcType=TINYINT},
</if>
<if test="remark != null and remark !=''">
--
Gitblit v1.8.0