Commit 828be6bc authored by 赵啸非's avatar 赵啸非

添加排序字段

parent e85e1d66
...@@ -75,3 +75,6 @@ ALTER TABLE mortals_sys_matter ADD COLUMN `areaLevel` tinyint(2) COMMENT ' ...@@ -75,3 +75,6 @@ ALTER TABLE mortals_sys_matter ADD COLUMN `areaLevel` tinyint(2) COMMENT '
INSERT INTO `mortals_sys_area` VALUES (null, ',16ca461e2c824257a50dd0c7fab6f2de', '达州东部经开区', 'gde17ba11bbf48568547c21b174c8a32', '16ca461e2c824257a50dd0c7fab6f2de', 'True', 'True', 'false', 'false', '511715000000', 3, '达州东部经开区', 'dzsgxjscyy.sczwfw.gov.cn', 1, '2025-03-20 10:20:10', NULL, '2025-03-20 10:20:10'); INSERT INTO `mortals_sys_area` VALUES (null, ',16ca461e2c824257a50dd0c7fab6f2de', '达州东部经开区', 'gde17ba11bbf48568547c21b174c8a32', '16ca461e2c824257a50dd0c7fab6f2de', 'True', 'True', 'false', 'false', '511715000000', 3, '达州东部经开区', 'dzsgxjscyy.sczwfw.gov.cn', 1, '2025-03-20 10:20:10', NULL, '2025-03-20 10:20:10');
ALTER TABLE mortals_ent_life_matter ADD COLUMN `num` int(4) NULL DEFAULT 0 COMMENT '数量';
\ No newline at end of file
...@@ -15,7 +15,7 @@ import lombok.Data; ...@@ -15,7 +15,7 @@ import lombok.Data;
* 企业周期事项主实体对象 * 企业周期事项主实体对象
* *
* @author zxfei * @author zxfei
* @date 2025-03-17 * @date 2025-04-09
*/ */
@Data @Data
public class EntLifeMatterEntity extends EntLifeMatterVo { public class EntLifeMatterEntity extends EntLifeMatterVo {
...@@ -45,6 +45,10 @@ public class EntLifeMatterEntity extends EntLifeMatterVo { ...@@ -45,6 +45,10 @@ public class EntLifeMatterEntity extends EntLifeMatterVo {
* 事项组名称 * 事项组名称
*/ */
private String matterGroupName; private String matterGroupName;
/**
* 数量
*/
private Integer num;
/** /**
* 企业周期事项子信息 * 企业周期事项子信息
*/ */
...@@ -79,5 +83,6 @@ public class EntLifeMatterEntity extends EntLifeMatterVo { ...@@ -79,5 +83,6 @@ public class EntLifeMatterEntity extends EntLifeMatterVo {
this.remark = ""; this.remark = "";
this.createUserName = ""; this.createUserName = "";
this.matterGroupName = ""; this.matterGroupName = "";
this.num = 0;
} }
} }
\ No newline at end of file
...@@ -7,7 +7,7 @@ import com.mortals.xhx.module.ent.model.EntLifeMatterEntity; ...@@ -7,7 +7,7 @@ import com.mortals.xhx.module.ent.model.EntLifeMatterEntity;
* 企业周期事项主查询对象 * 企业周期事项主查询对象
* *
* @author zxfei * @author zxfei
* @date 2025-03-17 * @date 2025-04-09
*/ */
public class EntLifeMatterQuery extends EntLifeMatterEntity { public class EntLifeMatterQuery extends EntLifeMatterEntity {
/** 开始 主键ID,主键,自增长 */ /** 开始 主键ID,主键,自增长 */
...@@ -102,6 +102,21 @@ public class EntLifeMatterQuery extends EntLifeMatterEntity { ...@@ -102,6 +102,21 @@ public class EntLifeMatterQuery extends EntLifeMatterEntity {
/** 事项组名称排除列表 */ /** 事项组名称排除列表 */
private List <String> matterGroupNameNotList; private List <String> matterGroupNameNotList;
/** 开始 数量 */
private Integer numStart;
/** 结束 数量 */
private Integer numEnd;
/** 增加 数量 */
private Integer numIncrement;
/** 数量列表 */
private List <Integer> numList;
/** 数量排除列表 */
private List <Integer> numNotList;
/** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */ /** OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) */
private List<EntLifeMatterQuery> orConditionList; private List<EntLifeMatterQuery> orConditionList;
...@@ -626,6 +641,87 @@ public class EntLifeMatterQuery extends EntLifeMatterEntity { ...@@ -626,6 +641,87 @@ public class EntLifeMatterQuery extends EntLifeMatterEntity {
this.matterGroupNameNotList = matterGroupNameNotList; this.matterGroupNameNotList = matterGroupNameNotList;
} }
/**
* 获取 开始 数量
* @return numStart
*/
public Integer getNumStart(){
return this.numStart;
}
/**
* 设置 开始 数量
* @param numStart
*/
public void setNumStart(Integer numStart){
this.numStart = numStart;
}
/**
* 获取 结束 数量
* @return $numEnd
*/
public Integer getNumEnd(){
return this.numEnd;
}
/**
* 设置 结束 数量
* @param numEnd
*/
public void setNumEnd(Integer numEnd){
this.numEnd = numEnd;
}
/**
* 获取 增加 数量
* @return numIncrement
*/
public Integer getNumIncrement(){
return this.numIncrement;
}
/**
* 设置 增加 数量
* @param numIncrement
*/
public void setNumIncrement(Integer numIncrement){
this.numIncrement = numIncrement;
}
/**
* 获取 数量
* @return numList
*/
public List<Integer> getNumList(){
return this.numList;
}
/**
* 设置 数量
* @param numList
*/
public void setNumList(List<Integer> numList){
this.numList = numList;
}
/**
* 获取 数量
* @return numNotList
*/
public List<Integer> getNumNotList(){
return this.numNotList;
}
/**
* 设置 数量
* @param numNotList
*/
public void setNumNotList(List<Integer> numNotList){
this.numNotList = numNotList;
}
/** /**
* 设置 主键ID,主键,自增长 * 设置 主键ID,主键,自增长
* @param id * @param id
...@@ -920,6 +1016,60 @@ public class EntLifeMatterQuery extends EntLifeMatterEntity { ...@@ -920,6 +1016,60 @@ public class EntLifeMatterQuery extends EntLifeMatterEntity {
return this; return this;
} }
/**
* 设置 数量
* @param num
*/
public EntLifeMatterQuery num(Integer num){
setNum(num);
return this;
}
/**
* 设置 开始 数量
* @param numStart
*/
public EntLifeMatterQuery numStart(Integer numStart){
this.numStart = numStart;
return this;
}
/**
* 设置 结束 数量
* @param numEnd
*/
public EntLifeMatterQuery numEnd(Integer numEnd){
this.numEnd = numEnd;
return this;
}
/**
* 设置 增加 数量
* @param numIncrement
*/
public EntLifeMatterQuery numIncrement(Integer numIncrement){
this.numIncrement = numIncrement;
return this;
}
/**
* 设置 数量
* @param numList
*/
public EntLifeMatterQuery numList(List<Integer> numList){
this.numList = numList;
return this;
}
/**
* 设置 数量
* @param numNotList
*/
public EntLifeMatterQuery numNotList(List<Integer> numNotList){
this.numNotList = numNotList;
return this;
}
/** /**
* 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4) * 获取 OR条件集合,列表项之间是OR,项内容之间是AND,如:(list[0].1 and list[0].2) or (list[1].3 and list[1].4)
* @return orConditionList * @return orConditionList
......
...@@ -28,6 +28,8 @@ import java.util.stream.Collectors; ...@@ -28,6 +28,8 @@ import java.util.stream.Collectors;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import static com.mortals.framework.model.OrderCol.DESCENDING;
/** /**
* EntLifeCycleService * EntLifeCycleService
* 企业生命周期 service实现 * 企业生命周期 service实现
...@@ -67,8 +69,12 @@ public class EntLifeCycleServiceImpl extends AbstractCRUDServiceImpl<EntLifeCycl ...@@ -67,8 +69,12 @@ public class EntLifeCycleServiceImpl extends AbstractCRUDServiceImpl<EntLifeCycl
private void fillSubData(List<EntLifeCycleEntity> list) { private void fillSubData(List<EntLifeCycleEntity> list) {
List<Long> idList = list.stream().map(i -> i.getId()).collect(Collectors.toList()); List<Long> idList = list.stream().map(i -> i.getId()).collect(Collectors.toList());
if (ObjectUtils.isEmpty(idList)) return; if (ObjectUtils.isEmpty(idList)) return;
EntLifeMatterQuery entLifeMatterQuery = new EntLifeMatterQuery();
List<OrderCol> orderColList = new ArrayList<>();
orderColList.add(new OrderCol("num",DESCENDING));
entLifeMatterQuery.setOrderColList(orderColList);
Map<Long, List<EntLifeMatterEntity>> entLifeMatterListMap = entLifeMatterService Map<Long, List<EntLifeMatterEntity>> entLifeMatterListMap = entLifeMatterService
.find(new EntLifeMatterQuery().lifeCycleIdList(idList)).parallelStream() .find(entLifeMatterQuery.lifeCycleIdList(idList)).parallelStream()
.collect(Collectors.groupingBy(EntLifeMatterEntity::getLifeCycleId)); .collect(Collectors.groupingBy(EntLifeMatterEntity::getLifeCycleId));
list.forEach(item -> item.setEntLifeMatterList(entLifeMatterListMap.get(item.getId()))); list.forEach(item -> item.setEntLifeMatterList(entLifeMatterListMap.get(item.getId())));
} }
......
package com.mortals.xhx.module.ent.web; package com.mortals.xhx.module.ent.web;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.OrderCol;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService; import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController; import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.ent.model.EntLifeMatterEntity; import com.mortals.xhx.module.ent.model.EntLifeMatterEntity;
import com.mortals.xhx.module.ent.service.EntLifeMatterService; import com.mortals.xhx.module.ent.service.EntLifeMatterService;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils; import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List; import java.util.*;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*; import static com.mortals.framework.ap.SysConstains.*;
import static com.mortals.framework.model.OrderCol.DESCENDING;
import com.mortals.xhx.common.code.*; import com.mortals.xhx.common.code.*;
/** /**
* * 企业周期事项主
* 企业周期事项主 *
* * @author zxfei
* @author zxfei * @date 2025-03-15
* @date 2025-03-15 */
*/
@RestController @RestController
@RequestMapping("ent/life/matter") @RequestMapping("ent/life/matter")
public class EntLifeMatterController extends BaseCRUDJsonBodyMappingController<EntLifeMatterService,EntLifeMatterEntity,Long> { public class EntLifeMatterController extends BaseCRUDJsonBodyMappingController<EntLifeMatterService, EntLifeMatterEntity, Long> {
@Autowired @Autowired
private ParamService paramService; private ParamService paramService;
public EntLifeMatterController(){ public EntLifeMatterController() {
super.setModuleDesc( "企业周期事项主"); super.setModuleDesc("企业周期事项主");
} }
@Override @Override
protected void init(Map<String, Object> model, Context context) { protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "areaLevel", AreaLevelEnum.getEnumMap()); this.addDict(model, "areaLevel", AreaLevelEnum.getEnumMap());
super.init(model, context); super.init(model, context);
} }
@Override
protected void doListBefore(EntLifeMatterEntity query, Map<String, Object> model, Context context) throws AppException {
super.doListBefore(query, model, context);
if (!ObjectUtils.isEmpty(query.getOrderColList())) {
List<OrderCol> orderColList = new ArrayList<>();
orderColList.add(new OrderCol("num", DESCENDING));
query.setOrderColList(orderColList);
}
}
} }
\ No newline at end of file
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
<result property="createTime" column="create_time" /> <result property="createTime" column="create_time" />
<result property="updateTime" column="update_time" /> <result property="updateTime" column="update_time" />
<result property="matterGroupName" column="matter_group_name" /> <result property="matterGroupName" column="matter_group_name" />
<result property="num" column="num" />
</resultMap> </resultMap>
<!-- 表所有列 --> <!-- 表所有列 -->
...@@ -50,6 +51,9 @@ ...@@ -50,6 +51,9 @@
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterGroupName') or colPickMode == 1 and data.containsKey('matterGroupName')))"> <if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('matterGroupName') or colPickMode == 1 and data.containsKey('matterGroupName')))">
a.matter_group_name, a.matter_group_name,
</if> </if>
<if test="(data == null) or (data != null and ( colPickMode == 0 and !data.containsKey('num') or colPickMode == 1 and data.containsKey('num')))">
a.num,
</if>
</trim> </trim>
</sql> </sql>
<!-- 子表所有列 --> <!-- 子表所有列 -->
...@@ -61,18 +65,18 @@ ...@@ -61,18 +65,18 @@
<!-- 新增 区分主键自增加还是业务插入 --> <!-- 新增 区分主键自增加还是业务插入 -->
<insert id="insert" parameterType="EntLifeMatterEntity" useGeneratedKeys="true" keyProperty="id"> <insert id="insert" parameterType="EntLifeMatterEntity" useGeneratedKeys="true" keyProperty="id">
insert into mortals_ent_life_matter insert into mortals_ent_life_matter
(life_cycle_id,life_cycle_name,dept_id,remark,create_user_id,create_user_name,create_time,update_time,matter_group_name) (life_cycle_id,life_cycle_name,dept_id,remark,create_user_id,create_user_name,create_time,update_time,matter_group_name,num)
VALUES VALUES
(#{lifeCycleId},#{lifeCycleName},#{deptId},#{remark},#{createUserId},#{createUserName},#{createTime},#{updateTime},#{matterGroupName}) (#{lifeCycleId},#{lifeCycleName},#{deptId},#{remark},#{createUserId},#{createUserName},#{createTime},#{updateTime},#{matterGroupName},#{num})
</insert> </insert>
<!-- 批量新增 --> <!-- 批量新增 -->
<insert id="insertBatch" parameterType="paramDto"> <insert id="insertBatch" parameterType="paramDto">
insert into mortals_ent_life_matter insert into mortals_ent_life_matter
(life_cycle_id,life_cycle_name,dept_id,remark,create_user_id,create_user_name,create_time,update_time,matter_group_name) (life_cycle_id,life_cycle_name,dept_id,remark,create_user_id,create_user_name,create_time,update_time,matter_group_name,num)
VALUES VALUES
<foreach collection="data.dataList" item="item" index="index" separator="," > <foreach collection="data.dataList" item="item" index="index" separator="," >
(#{item.lifeCycleId},#{item.lifeCycleName},#{item.deptId},#{item.remark},#{item.createUserId},#{item.createUserName},#{item.createTime},#{item.updateTime},#{item.matterGroupName}) (#{item.lifeCycleId},#{item.lifeCycleName},#{item.deptId},#{item.remark},#{item.createUserId},#{item.createUserName},#{item.createTime},#{item.updateTime},#{item.matterGroupName},#{item.num})
</foreach> </foreach>
</insert> </insert>
...@@ -118,6 +122,12 @@ ...@@ -118,6 +122,12 @@
<if test="(colPickMode==0 and data.containsKey('matterGroupName')) or (colPickMode==1 and !data.containsKey('matterGroupName'))"> <if test="(colPickMode==0 and data.containsKey('matterGroupName')) or (colPickMode==1 and !data.containsKey('matterGroupName'))">
a.matter_group_name=#{data.matterGroupName}, a.matter_group_name=#{data.matterGroupName},
</if> </if>
<if test="(colPickMode==0 and data.containsKey('num')) or (colPickMode==1 and !data.containsKey('num'))">
a.num=#{data.num},
</if>
<if test="(colPickMode==0 and data.containsKey('numIncrement')) or (colPickMode==1 and !data.containsKey('numIncrement'))">
a.num=ifnull(a.num,0) + #{data.numIncrement},
</if>
</trim> </trim>
<trim suffixOverrides="where" suffix=""> <trim suffixOverrides="where" suffix="">
where where
...@@ -208,6 +218,18 @@ ...@@ -208,6 +218,18 @@
</if> </if>
</foreach> </foreach>
</trim> </trim>
<trim prefix="num=(case" suffix="ELSE num end),">
<foreach collection="data.dataList" item="item" index="index" separator="" >
<choose>
<when test="(colPickMode==0 and item.containsKey('num')) or (colPickMode==1 and !item.containsKey('num'))">
when a.id=#{item.id} then #{item.num}
</when>
<when test="(colPickMode==0 and item.containsKey('numIncrement')) or (colPickMode==1 and !item.containsKey('numIncrement'))">
when a.id=#{item.id} then ifnull(a.num,0) + #{item.numIncrement}
</when>
</choose>
</foreach>
</trim>
</trim> </trim>
where id in where id in
<foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")"> <foreach collection="data.dataList" item="item" index="index" open="(" separator="," close=")">
...@@ -222,7 +244,7 @@ ...@@ -222,7 +244,7 @@
</select> </select>
<!-- 根据主健删除 --> <!-- 根据主健删除 -->
<delete id="deleteByKey" parameterType="paramDto"> <delete id="deleteByKey" parameterType="paramDto">
delete a.* from mortals_ent_life_matter as a where a.id=#{condition.id} delete from mortals_ent_life_matter as a where a.id=#{condition.id}
</delete> </delete>
<!-- 根据主健删除一批,针对单一主健有效 --> <!-- 根据主健删除一批,针对单一主健有效 -->
<delete id="deleteByKeys"> <delete id="deleteByKeys">
...@@ -551,6 +573,33 @@ ...@@ -551,6 +573,33 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="conditionParamRef.containsKey('num')">
<if test="conditionParamRef.num != null ">
${_conditionType_} a.num = #{${_conditionParam_}.num}
</if>
<if test="conditionParamRef.num == null">
${_conditionType_} a.num is null
</if>
</if>
<if test="conditionParamRef.containsKey('numList') and conditionParamRef.numList.size() > 0">
${_conditionType_} a.num in
<foreach collection="conditionParamRef.numList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('numNotList') and conditionParamRef.numNotList.size() > 0">
${_conditionType_} a.num not in
<foreach collection="conditionParamRef.numNotList" open="(" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
</if>
<if test="conditionParamRef.containsKey('numStart') and conditionParamRef.numStart != null">
${_conditionType_} a.num <![CDATA[ >= ]]> #{${_conditionParam_}.numStart}
</if>
<if test="conditionParamRef.containsKey('numEnd') and conditionParamRef.numEnd != null">
${_conditionType_} a.num <![CDATA[ <= ]]> #{${_conditionParam_}.numEnd}
</if>
</sql> </sql>
<sql id="_orderCols_"> <sql id="_orderCols_">
<if test="orderColList != null and !orderColList.isEmpty()"> <if test="orderColList != null and !orderColList.isEmpty()">
...@@ -583,6 +632,13 @@ ...@@ -583,6 +632,13 @@
</foreach> </foreach>
, ,
</if> </if>
<if test="conditionParamRef.containsKey('numList') and conditionParamRef.numList.size() > 0">
field(a.num,
<foreach collection="conditionParamRef.numList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<foreach collection="orderColList" open="" close="" index="index" item="item" separator=","> <foreach collection="orderColList" open="" close="" index="index" item="item" separator=",">
a.${item.colName} ${item.sortKind} a.${item.colName} ${item.sortKind}
...@@ -619,6 +675,13 @@ ...@@ -619,6 +675,13 @@
</foreach> </foreach>
, ,
</if> </if>
<if test="conditionParamRef.containsKey('numList') and conditionParamRef.numList.size() > 0">
field(a.num,
<foreach collection="conditionParamRef.numList" open="" close=")" index="index" item="item" separator=",">
#{item}
</foreach>
,
</if>
<trim suffixOverrides="," suffix=""> <trim suffixOverrides="," suffix="">
<if test="orderCol.containsKey('id')"> <if test="orderCol.containsKey('id')">
a.id a.id
...@@ -670,6 +733,11 @@ ...@@ -670,6 +733,11 @@
<if test='orderCol.matterGroupName != null and "DESC".equalsIgnoreCase(orderCol.matterGroupName)'>DESC</if> <if test='orderCol.matterGroupName != null and "DESC".equalsIgnoreCase(orderCol.matterGroupName)'>DESC</if>
, ,
</if> </if>
<if test="orderCol.containsKey('num')">
a.num
<if test='orderCol.num != null and "DESC".equalsIgnoreCase(orderCol.num)'>DESC</if>
,
</if>
</trim> </trim>
</if> </if>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment