Browse Source

Merge branch 'feat-20230419-querycondition' into temp-pre

李学松 2 years ago
parent
commit
b07fe3a16e

+ 21 - 44
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -2560,7 +2560,8 @@ public class WmScorePackageController {
 								 @RequestParam(value = "typeid", required = false) String typeId,
 								 @RequestParam(value = "monthStart", required = false) String monthStart,
 								 @RequestParam(value = "monthEnd", required = false) String monthEnd,
-								 @RequestParam(value = "acceptUser", required = false) String acceptUser
+								 @RequestParam(value = "acceptUser", required = false) String acceptUser,
+								 @RequestParam(value = "relationScoreId", required = false) String relationScoreId
 	) {
 
 		Integer sendDeptId = SecurityUtils.getUser().getDeptId();
@@ -2576,19 +2577,19 @@ public class WmScorePackageController {
 
 		}
 
-		LambdaQueryWrapper<WmScorePackage> queryWrapper = Wrappers.<WmScorePackage>lambdaQuery()
-				.eq(WmScorePackage::getPackageType1, packageType1)
-				.eq(WmScorePackage::getPackageType2, packageType2)
-				.like(StrUtil.isNotEmpty(scorePackageName), WmScorePackage::getScorePackageName, scorePackageName)
-				.eq(scorePackageStatus != null, WmScorePackage::getScorePackageStatus, scorePackageStatus)
-				.eq(WmScorePackage::getSendPackageDeptId, sendDeptId)
-				.between(start != null && end != null, WmScorePackage::getCreateTime, start, end);
+		QueryWrapper<WmScorePackage> queryWrapper = Wrappers.<WmScorePackage>query()
+				.eq("p.package_type1", packageType1)
+				.eq("p.package_type2", packageType2)
+				.like(StrUtil.isNotBlank(scorePackageName), "p.score_package_name", scorePackageName)
+				.eq(scorePackageStatus != null, "p.score_package_status", scorePackageStatus)
+				.eq("p.send_package_dept_id", sendDeptId)
+				.between(start != null && end != null, "p.create_time", start, end);
 
 		if (StringUtil.isEmpty(typeId)) {
-			queryWrapper.in(WmScorePackage::getTypeid, "3", "4");
+			queryWrapper.in("p.typeid", "3", "4");
 		} else {
 			List<String> split = StrUtil.split(typeId, StrUtil.COMMA);
-			queryWrapper.in(WmScorePackage::getTypeid, split);
+			queryWrapper.in("p.typeid", split);
 		}
 
 		boolean onePersonScorePackageFlag = PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val().equals(String.valueOf(packageType1))
@@ -2605,18 +2606,19 @@ public class WmScorePackageController {
 			if (CollectionUtil.isNotEmpty(teamList)) {
 				// 如果配置了,则只查询所在团队下发的积分包
 				List<String> teamIdList = teamList.stream().map(wmTeam -> String.valueOf(wmTeam.getId())).collect(Collectors.toList());
-				queryWrapper.in(WmScorePackage::getPackageUserScope, teamIdList);
+				queryWrapper.in("p.package_user_scope", teamIdList);
 			}
 		}
 
 		Page<WmScorePackage> wmScorePackagePage = null;
-		if (StrUtil.isNotBlank(acceptUser)) {
+//		if (StrUtil.isNotBlank(acceptUser) || StrUtil.isNotBlank(relationScoreId)) {
 			// 带有接单对象acceptUser模糊查询的查询
-			wmScorePackagePage = wmScorePackageMapper.listScorePackage(new Page<>(current, size), queryWrapper.orderByDesc(WmScorePackage::getCreateTime), acceptUser);
-		} else {
-			wmScorePackagePage = wmScorePackageMapper.selectPage(new Page<>(current, size), queryWrapper
-					.orderByDesc(WmScorePackage::getCreateTime));
-		}
+			wmScorePackagePage = wmScorePackageMapper.listScorePackage(new Page<>(current, size),
+					queryWrapper.orderByDesc("p.create_time"), acceptUser, relationScoreId);
+//		} else {
+//			wmScorePackagePage = wmScorePackageMapper.selectPage(new Page<>(current, size), queryWrapper
+//					.orderByDesc("p.create_time"));
+//		}
 
 		List<WmScorePackage> pageRecords = wmScorePackagePage.getRecords();
 
@@ -2662,8 +2664,7 @@ public class WmScorePackageController {
 								 @RequestParam(value = "scorePackageStatus", required = false) Integer scorePackageStatus,
 								 @RequestParam(value = "typeid", required = false) String typeId,
 								 @RequestParam(value = "monthStart", required = false) String monthStart,
-								 @RequestParam(value = "monthEnd", required = false) String monthEnd,
-								 @RequestParam(value = "acceptUser", required = false) String acceptUser
+								 @RequestParam(value = "monthEnd", required = false) String monthEnd
 	) {
 
 		Integer sendDeptId = SecurityUtils.getUser().getDeptId();
@@ -2701,32 +2702,8 @@ public class WmScorePackageController {
 			queryWrapper.in(WmScorePackage::getTypeid, split);
 		}
 
-//		boolean onePersonScorePackageFlag = packageType1List.contains(PackageTypeEnum.TYPE1_SCOTE_PACKAGE.val())
-//				&& PackageTypeEnum.TYPE2_TASK_PACKAGE.val().equals(String.valueOf(packageType2));
-//		boolean multiPersonScorePackageFlag = packageType1List.contains(PackageTypeEnum.TYPE1_SCORE_AND_TASK_PACKAGE.val())
-//				&& PackageTypeEnum.TYPE2_SETTLE_PACKAGE.val().equals(String.valueOf(packageType2));
-//		if (onePersonScorePackageFlag || multiPersonScorePackageFlag) {
-//			// 如果是个人承接-按积分值/多人承接-按积分值,判断当前用户是否配置了团队负责人
-//			List<WmTeam> teamList = wmTeamService.list(Wrappers.<WmTeam>lambdaQuery()
-//					.eq(WmTeam::getDeptId, sendDeptId)
-//					.eq(WmTeam::getEnableFlag, EnableEnum.ENABLE.val())
-//					.eq(WmTeam::getDelFlag, DelEnum.NOT_DEL.val())
-//					.apply("FIND_IN_SET({0}, leader)", String.valueOf(userId)));
-//			if (CollectionUtil.isNotEmpty(teamList)) {
-//				// 如果配置了,则只查询所在团队下发的积分包
-//				List<String> teamIdList = teamList.stream().map(wmTeam -> String.valueOf(wmTeam.getId())).collect(Collectors.toList());
-//				queryWrapper.in(WmScorePackage::getPackageUserScope, teamIdList);
-//			}
-//		}
-
-		Page<WmScorePackage> wmScorePackagePage = null;
-		if (StrUtil.isNotBlank(acceptUser)) {
-			// 带有接单对象acceptUser模糊查询的查询
-			wmScorePackagePage = wmScorePackageMapper.listScorePackage(new Page<>(current, size), queryWrapper.orderByDesc(WmScorePackage::getCreateTime), acceptUser);
-		} else {
-			wmScorePackagePage = wmScorePackageMapper.selectPage(new Page<>(current, size), queryWrapper
+		Page<WmScorePackage> wmScorePackagePage = wmScorePackageMapper.selectPage(new Page<>(current, size), queryWrapper
 					.orderByDesc(WmScorePackage::getCreateTime));
-		}
 
 		List<WmScorePackage> pageRecords = wmScorePackagePage.getRecords();
 

+ 26 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmTaskTypeController.java

@@ -18,15 +18,19 @@
 package com.qunzhixinxi.hnqz.admin.controller;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qunzhixinxi.hnqz.admin.entity.WmDaAgent;
 import com.qunzhixinxi.hnqz.admin.entity.WmDaDrugEnt;
+import com.qunzhixinxi.hnqz.admin.entity.WmTask;
 import com.qunzhixinxi.hnqz.admin.entity.WmTaskTypeEntRef;
 import com.qunzhixinxi.hnqz.admin.entity.output.WmTaskTypeDeptOutput;
 import com.qunzhixinxi.hnqz.admin.entity.vo.WmTaskTypeVO;
+import com.qunzhixinxi.hnqz.admin.enums.TaskStatusEnum;
+import com.qunzhixinxi.hnqz.admin.mapper.WmTaskMapper;
 import com.qunzhixinxi.hnqz.admin.service.*;
 import com.qunzhixinxi.hnqz.common.core.util.R;
 import com.qunzhixinxi.hnqz.common.log.annotation.SysLog;
@@ -42,6 +46,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.time.LocalDateTime;
 import java.util.*;
+import java.util.stream.Collectors;
 
 
 /**
@@ -62,6 +67,7 @@ public class WmTaskTypeController {
 	private final WmTaskTypeEntRefService wmTaskTypeEntRefService;
 	private final WmDeptTaskTypeConfigService wmDeptTaskTypeConfigService;
 	private final WmTaskTypeSubCate2Service wmTaskTypeSubCate2Service;
+	private final WmTaskMapper wmTaskMapper;
 
 	/**
 	 * 分页查询
@@ -337,6 +343,26 @@ public class WmTaskTypeController {
 		return R.ok(wmTaskTypeService.list(Wrappers.query(wmDaDrugEnt)));
 	}
 
+	/**
+	 * 查询待审核的任务类型
+	 *
+	 * @param scorePackageId 积分包id
+	 * @return 列表数据
+	 */
+	@GetMapping("/list-package-task-type")
+	public R<?> listPackageTaskType(@RequestParam(value = "scorePackageId") String scorePackageId) {
+		// 获取待审核的任务
+		List<WmTask> wmTasks = wmTaskMapper.selectList(Wrappers.<WmTask>lambdaQuery()
+				.select(WmTask::getTaskTypeId)
+				.eq(WmTask::getScorePackageId, scorePackageId)
+				.eq(WmTask::getTaskStatus, TaskStatusEnum.UNDER_REVIEW.val()));
+		if (CollUtil.isEmpty(wmTasks)) {
+			return R.ok(Collections.emptyList());
+		}
+		Set<String> taskTypes = wmTasks.stream().map(WmTask::getTaskTypeId).collect(Collectors.toSet());
+		return R.ok(wmTaskTypeService.listByIds(taskTypes));
+	}
+
 	/**
 	 * 获取药企列表
 	 *

+ 5 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/input/WmScorePackageSettleInput.java

@@ -87,4 +87,9 @@ public class WmScorePackageSettleInput implements Serializable {
 	// 税源地
 	private SubjectLocation subjectLocation;
 
+	/**
+	 * 结算人员
+	 */
+	private String userNames;
+
 }

+ 27 - 4
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/mapper/WmScorePackageMapper.java

@@ -18,7 +18,6 @@
 package com.qunzhixinxi.hnqz.admin.mapper;
 
 import com.baomidou.mybatisplus.annotation.SqlParser;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
@@ -137,7 +136,23 @@ public interface WmScorePackageMapper extends DataScopeMapper<WmScorePackage> {
 
 	IPage<WmScorePackageApiOutput> getPackageListForReceive(Page page,@Param("query")WmScorePackage wmScorePackage);
 
-	Page<WmScorePackageSettleOutput> listPackageSettleList(Page<WmScorePackageSettleOutput> page, @Param("query")WmScorePackageSettleInput input);
+	/**
+	 * 积分包结算管理
+	 *
+	 * @param page
+	 * @param input
+	 * @return
+	 */
+	Page<WmScorePackageSettleOutput> listPackageSettleList(Page<WmScorePackageSettleOutput> page, @Param("query") WmScorePackageSettleInput input);
+
+	/**
+	 * 积分包结算管理2
+	 *
+	 * @param page
+	 * @param input
+	 * @return
+	 */
+	Page<WmScorePackageSettleOutput> listPackageSettleList2(Page<WmScorePackageSettleOutput> page, @Param("query") WmScorePackageSettleInput input);
 
 	/**
 	 * 结算包结算列表
@@ -147,6 +162,14 @@ public interface WmScorePackageMapper extends DataScopeMapper<WmScorePackage> {
 	 */
 	List<WmScorePackageSettleOutput> listAllPackageSettle(@Param("query")WmScorePackageSettleInput input);
 
+	/**
+	 * 结算包结算列表
+	 *
+	 * @param input
+	 * @return
+	 */
+	List<WmScorePackageSettleOutput> listAllPackageSettle2(@Param("query")WmScorePackageSettleInput input);
+
 	/**
 	 * 积分包列表查询-单独处理有acceptUser条件的情况
 	 *
@@ -155,6 +178,6 @@ public interface WmScorePackageMapper extends DataScopeMapper<WmScorePackage> {
 	 * @param acceptUser
 	 * @return
 	 */
-	Page<WmScorePackage> listScorePackage(Page<WmScorePackage> page, @Param(Constants.WRAPPER) LambdaQueryWrapper<WmScorePackage> queryWrapper,
-										  @Param("acceptUser") String acceptUser);
+	Page<WmScorePackage> listScorePackage(Page<WmScorePackage> page, @Param(Constants.WRAPPER) QueryWrapper<WmScorePackage> queryWrapper,
+										  @Param("acceptUser") String acceptUser, @Param("relationScoreId") String relationScoreId);
 }

+ 12 - 2
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmScorePackageServiceImpl.java

@@ -1499,7 +1499,12 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 	 */
 	@Override
 	public Page<WmScorePackageSettleOutput> listPackageSettleList(Page<WmScorePackageSettleOutput> page, WmScorePackageSettleInput input) {
-		Page<WmScorePackageSettleOutput> settleListPage = wmScorePackageMapper.listPackageSettleList(page, input);
+		Page<WmScorePackageSettleOutput> settleListPage = null;
+		if (StrUtil.isNotBlank(input.getUserNames())) {
+			settleListPage = wmScorePackageMapper.listPackageSettleList2(page, input);
+		} else {
+			settleListPage = wmScorePackageMapper.listPackageSettleList(page, input);
+		}
 		List<WmScorePackageSettleOutput> settleList = settleListPage.getRecords();
 		for (WmScorePackageSettleOutput ouPut : settleList) {
 			WmScorePackageStatus statusQuery = new WmScorePackageStatus();
@@ -1558,7 +1563,12 @@ public class WmScorePackageServiceImpl extends ServiceImpl<WmScorePackageMapper,
 	 */
 	@Override
 	public List<WmScorePackageSettleOutput> listAllPackageSettle(WmScorePackageSettleInput input) {
-		List<WmScorePackageSettleOutput> settleList = wmScorePackageMapper.listAllPackageSettle(input);
+		List<WmScorePackageSettleOutput> settleList = null;
+		if (StrUtil.isNotBlank(input.getUserNames())) {
+			settleList = wmScorePackageMapper.listAllPackageSettle2(input);
+		} else {
+			settleList = wmScorePackageMapper.listAllPackageSettle(input);
+		}
 		for (WmScorePackageSettleOutput ouPut : settleList) {
 			WmScorePackageStatus statusQuery = new WmScorePackageStatus();
 			statusQuery.setPackageId(ouPut.getId());

+ 133 - 8
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmScorePackageMapper.xml

@@ -1354,7 +1354,7 @@
 		order by p.create_time desc
 	</select>
 
-	<select id="listPackageSettleList2" resultType="com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput">
+	<!--<select id="listPackageSettleList2" resultType="com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput">
 		SELECT p.id, d. NAME packageEntName, p.score_package_name, p.create_time, p.package_status,
 		p.package_finish_status,
 		p.settle_status,p.invoice_category, p.settle_amount ,p.package_type1, p.score, wk.ytj, wk.ysh, wk.dsh
@@ -1408,7 +1408,7 @@
 		</if>
 		ORDER BY
 		p.create_time DESC
-	</select>
+	</select>-->
 
 	<!-- 积分包结算(分页) -->
 	<select id="listPackageSettleList" resultType="com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput">
@@ -1461,6 +1461,63 @@
 		p.create_time DESC
 	</select>
 
+	<!-- 积分包结算(分页) -->
+	<select id="listPackageSettleList2" resultType="com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput">
+		SELECT distinct
+		    p.id,
+			d.name packageEntName,
+			p.score_package_name,
+			p.create_time,
+			p.package_status,
+			p.package_finish_status,
+			p.settle_status,
+			p.invoice_category,
+			p.settle_amount ,
+			p.package_type1,
+			p.score,
+			p.package_type2,
+			p.sub_type,
+			p.source_type,
+			p.oms_order_sn
+		FROM wm_score_package p left join sys_dept d on p.send_package_dept_id = d.dept_id
+		left join wm_score_package_status ps on p.id = ps.package_id
+		left join sys_user su on ps.user_id = su.user_id
+		<where>
+			<if test="query.sendPackageDeptId != null and query.sendPackageDeptId != ''">
+				AND p.send_package_dept_id= #{query.sendPackageDeptId}
+			</if>
+			<if test="query.scorePackageName != null and query.scorePackageName != ''">
+				AND p.score_package_name like CONCAT('%',#{query.scorePackageName},'%')
+			</if>
+			<if test="query.belongDate != null and query.belongDate != ''">
+				AND p.belong_date= #{query.belongDate}
+			</if>
+			<if test="query.typeid != null and query.typeid != ''">
+				AND p.typeid= #{query.typeid}
+			</if>
+			<if test="query.packageType1 != null and query.packageType1 != ''">
+				AND p.package_type1= #{query.packageType1}
+			</if>
+			<if test="query.packageFinishStatus != null and query.packageFinishStatus != ''">
+				AND p.package_finish_status= #{query.packageFinishStatus}
+			</if>
+			<if test="query.packageType2 != null and query.packageType2 != ''">
+				AND p.package_type2= #{query.packageType2}
+			</if>
+			<if test="query.settleFlag != null and query.settleFlag != ''">
+				AND p.settle_flag= #{query.settleFlag}
+			</if>
+			<if test="query.subType != null and query.subType != ''">
+				AND p.sub_type= #{query.subType}
+			</if>
+			<if test="query.userNames != null">
+				AND su.realname like CONCAT('%',#{query.userNames},'%')
+			</if>
+		</where>
+		ORDER BY
+		p.create_time DESC
+	</select>
+
 	<!-- 积分包结算列表 -->
 	<select id="listAllPackageSettle" resultType="com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput">
 		SELECT p.id, d.name packageEntName, p.score_package_name, p.create_time, p.package_status,
@@ -1497,18 +1554,86 @@
 		p.create_time DESC
 	</select>
 
+	<!-- 积分包结算 -->
+	<select id="listAllPackageSettle2" resultType="com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput">
+		SELECT distinct
+		p.id,
+		d.name packageEntName,
+		p.score_package_name,
+		p.create_time,
+		p.package_status,
+		p.package_finish_status,
+		p.settle_status,
+		p.invoice_category,
+		p.settle_amount ,
+		p.package_type1,
+		p.score,
+		p.package_type2,
+		p.sub_type,
+		p.source_type,
+		p.oms_order_sn
+		FROM wm_score_package p left join sys_dept d on p.send_package_dept_id = d.dept_id
+		left join wm_score_package_status ps on p.id = ps.package_id
+		left join sys_user su on ps.user_id = su.user_id
+		<where>
+			<if test="query.sendPackageDeptId != null and query.sendPackageDeptId != ''">
+				AND p.send_package_dept_id= #{query.sendPackageDeptId}
+			</if>
+			<if test="query.scorePackageName != null and query.scorePackageName != ''">
+				AND p.score_package_name like CONCAT('%',#{query.scorePackageName},'%')
+			</if>
+			<if test="query.belongDate != null and query.belongDate != ''">
+				AND p.belong_date= #{query.belongDate}
+			</if>
+			<if test="query.typeid != null and query.typeid != ''">
+				AND p.typeid= #{query.typeid}
+			</if>
+			<if test="query.packageType1 != null and query.packageType1 != ''">
+				AND p.package_type1= #{query.packageType1}
+			</if>
+			<if test="query.packageFinishStatus != null and query.packageFinishStatus != ''">
+				AND p.package_finish_status= #{query.packageFinishStatus}
+			</if>
+			<if test="query.packageType2 != null and query.packageType2 != ''">
+				AND p.package_type2= #{query.packageType2}
+			</if>
+			<if test="query.settleFlag != null and query.settleFlag != ''">
+				AND p.settle_flag= #{query.settleFlag}
+			</if>
+			<if test="query.subType != null and query.subType != ''">
+				AND p.sub_type= #{query.subType}
+			</if>
+			<if test="query.userNames != null">
+				AND su.realname like CONCAT('%',#{query.userNames},'%')
+			</if>
+		</where>
+		ORDER BY
+		p.create_time DESC
+	</select>
+
 	<!-- 积分包列表查询 -->
 	<select id="listScorePackage" resultType="com.qunzhixinxi.hnqz.admin.entity.WmScorePackage">
 		SELECT p.*
 		FROM wm_score_package p
 				 LEFT JOIN wm_score_package_status ps on ps.package_id = p.id and ps.status = 2
 				 LEFT JOIN sys_user u on u.user_id = ps.user_id
-		WHERE u.realname LIKE CONCAT('%',#{acceptUser},'%')
-		<if test="ew != null">
-			<if test="ew.nonEmptyOfWhere">
-				AND
+			<if test="relationScoreId != null">
+				LEFT JOIN wm_score_package p2 on p2.id = p.relation_score_id
 			</if>
-			${ew.sqlSegment}
-		</if>
+		<where>
+			<if test="acceptUser != null">
+				u.realname LIKE CONCAT('%',#{acceptUser},'%')
+			</if>
+			<if test="relationScoreId != null">
+				p2.score_package_name LIKE CONCAT('%',#{relationScoreId},'%')
+			</if>
+
+			<if test="ew != null">
+				<if test="ew.nonEmptyOfWhere">
+					AND
+				</if>
+				${ew.sqlSegment}
+			</if>
+		</where>
 	</select>
 </mapper>

+ 3 - 0
hnqz-upms/hnqz-upms-biz/src/main/resources/mapper/WmTaskMapper.xml

@@ -998,6 +998,9 @@
 		<if test="query.taskUserId!=null and query.taskUserId!=''">
 			and  t.task_user_id = #{query.taskUserId}
 		</if>
+		<if test="query.taskTypeId != null">
+			and  t.task_type_id = #{query.taskTypeId}
+		</if>
 		order by t.lookinto_date
 
 	</select>