فهرست منبع

Merge branch 'feat-20220711-p2pamount'

shc 3 سال پیش
والد
کامیت
27160ed744

+ 71 - 7
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmScorePackageController.java

@@ -74,6 +74,7 @@ import java.time.temporal.TemporalAdjusters;
 import java.util.*;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 
@@ -110,6 +111,28 @@ public class WmScorePackageController {
 	private final StringRedisTemplate redisTemplate;
 
 
+	@PutMapping(value = "/p2p/amount")
+	@Transactional(rollbackFor = Exception.class)
+	public R<?> saveP2pAmount(@RequestBody WmScorePackage wmScorePackage) {
+		if (StrUtil.isBlank(wmScorePackage.getId()) || wmScorePackage.getP2pAmount() == null || wmScorePackage.getP2pDraft() == null) {
+			return R.failed("参数错误");
+		}
+
+		// 如果是草稿,放入缓存
+		if (wmScorePackage.getP2pDraft()){
+			redisTemplate.opsForValue().set(String.format("scorepackage:p2p:amount:%s", wmScorePackage.getId()), wmScorePackage.getP2pAmount().toString(), 180, TimeUnit.DAYS);
+			redisTemplate.opsForValue().set(String.format("scorepackage:p2p:desc:%s", wmScorePackage.getId()), wmScorePackage.getDescription(), 180, TimeUnit.DAYS);
+			return R.ok();
+		}
+
+		WmScorePackage sp = new WmScorePackage();
+		sp.setId(wmScorePackage.getId());
+		sp.setP2pAmount(wmScorePackage.getP2pAmount());
+		sp.setDescription(wmScorePackage.getDescription());
+		wmScorePackageService.updateById(sp);
+		return R.ok();
+	}
+
 	/**
 	 * 分页查询
 	 *
@@ -119,7 +142,7 @@ public class WmScorePackageController {
 	 */
 	@ApiOperation(value = "分页查询", notes = "分页查询")
 	@GetMapping("/page")
-	public R getWmScorePackagePage(Page page, WmScorePackage wmScorePackage) {
+	public R<?> getWmScorePackagePage(Page<WmScorePackage> page, WmScorePackage wmScorePackage) {
 
 		OrderItem orderItem = new OrderItem();
 		orderItem.setColumn("create_time");
@@ -171,8 +194,23 @@ public class WmScorePackageController {
 			}
 		}
 
+		wmScorePackageService.page(page, queryWrapper);
+		page.getRecords().forEach(r -> {
+			if (r.getP2pAmount() != null){
+				r.setP2pDraft(false);
+			} else {
+				String s = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:amount:%s", r.getId()));
+				String desc = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:desc:%s", r.getId()));
+				if (StrUtil.isNotBlank(s)){
+					r.setP2pAmount(new BigDecimal(s));
+					r.setDescription(desc);
+				}
+				r.setP2pDraft(true);
+			}
+
+		});
 
-		return R.ok(wmScorePackageService.page(page, queryWrapper));
+		return R.ok(page);
 	}
 
 
@@ -655,6 +693,21 @@ public class WmScorePackageController {
 			ext.setReportMqName(CacheConstants.EXPORT_NBA_REPORT_CACHE);
 			wmScorePackageService.getReportOpt(ext);
 		}
+
+		page1.getRecords().forEach(r -> {
+			if (r.getP2pAmount() != null){
+				r.setP2pDraft(false);
+			} else {
+				String s = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:amount:%s", r.getId()));
+				String desc = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:desc:%s", r.getId()));
+				if (StrUtil.isNotBlank(s)){
+					r.setP2pAmount(new BigDecimal(s));
+					r.setDescription(desc);
+				}
+				r.setP2pDraft(true);
+			}
+
+		});
 		return R.ok(page1);
 	}
 
@@ -1403,6 +1456,19 @@ public class WmScorePackageController {
 		try {
 			for (Future<WmScorePackage> future : futureList) {
 				WmScorePackage wmScorePackage = future.get();
+
+				if (wmScorePackage.getP2pAmount() != null){
+					wmScorePackage.setP2pDraft(false);
+				} else {
+					String s = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:amount:%s", wmScorePackage.getId()));
+					String desc = redisTemplate.opsForValue().get(String.format("scorepackage:p2p:desc:%s", wmScorePackage.getId()));
+					if (StrUtil.isNotBlank(s)){
+						wmScorePackage.setP2pAmount(new BigDecimal(s));
+						wmScorePackage.setDescription(desc);
+					}
+					wmScorePackage.setP2pDraft(true);
+				}
+
 				finalRecords.add(wmScorePackage);
 
 			}
@@ -2437,8 +2503,8 @@ public class WmScorePackageController {
 		LocalDateTime start = null;
 		LocalDateTime end = null;
 
-		if (StrUtil.isNotEmpty(monthStart) && StrUtil.isNotEmpty(monthEnd)){
-			start = LocalDateTime.of( LocalDate.parse(monthStart + "-01", DatePattern.NORM_DATE_FORMATTER), LocalTime.MIN);
+		if (StrUtil.isNotEmpty(monthStart) && StrUtil.isNotEmpty(monthEnd)) {
+			start = LocalDateTime.of(LocalDate.parse(monthStart + "-01", DatePattern.NORM_DATE_FORMATTER), LocalTime.MIN);
 			LocalDate e = LocalDate.parse(monthEnd + "-01", DatePattern.NORM_DATE_FORMATTER);
 			end = LocalDateTime.of(e.with(TemporalAdjusters.lastDayOfMonth()), LocalTime.MAX);
 
@@ -2450,7 +2516,7 @@ public class WmScorePackageController {
 				.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 );
+				.between(start != null && end != null, WmScorePackage::getCreateTime, start, end);
 
 		if (StringUtil.isEmpty(typeId)) {
 			queryWrapper.in(WmScorePackage::getTypeid, "3", "4");
@@ -2908,6 +2974,4 @@ public class WmScorePackageController {
 	}
 
 
-
-
 }

+ 9 - 0
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/entity/WmScorePackage.java

@@ -503,6 +503,15 @@ public class WmScorePackage extends Model<WmScorePackage> {
 	@TableField(exist = false)
 	private String reportMqName;
 
+	/**
+	 * 公对公结算记录
+	 */
+	@TableField(value = "p2p_amount")
+	public BigDecimal p2pAmount;
+
+	@TableField(exist = false)
+	public Boolean p2pDraft;
+
 	/**
 	 * 关联药品的生产厂商列表
 	 */

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

@@ -125,13 +125,43 @@
 	</select>
 
 	<select id="listWmScorePackageAndTaskExt" resultMap="wmScorePackageMap">
-		select id, task_rule_id, drug_ent_id, score_id, score_name, score, agent_type_id, level1_id, level2_id,
-		zb_id,score_package_status,settlement_date,
-		xxdb_id, typeid, package_finish_status, dept_id, del_flag, enable_flag, tenant_id, create_time,
-		create_user,send_package_dept_id,old_package,
-		update_time,
-		update_user,belong_date,allocation_date,score_package_name,package_type1,relation_score_id,ywctt,settle_status,finish_rate
-		,bb.ytj,bb.ysh,bb.dsh from wm_score_package LEFT JOIN (
+		select id,
+		       task_rule_id,
+		       drug_ent_id,
+		       score_id,
+		       score_name,
+		       score,
+		       agent_type_id,
+		       level1_id, level2_id,
+		       zb_id,
+		       score_package_status,
+		       settlement_date,
+		       xxdb_id,
+		       typeid,
+		       package_finish_status,
+		       dept_id,
+		       del_flag,
+		       enable_flag,
+		       tenant_id,
+		       create_time,
+		       create_user,
+		       send_package_dept_id,
+		       old_package,
+		       update_time,
+			   update_user,
+		       belong_date,
+		       allocation_date,
+		       score_package_name,
+		       package_type1,
+		       relation_score_id,
+		       ywctt,
+		       settle_status,
+		       finish_rate,
+		       p2p_amount,
+		       bb.ytj,
+		       bb.ysh,
+		       bb.dsh
+		from wm_score_package LEFT JOIN (
 		select score_package_id,sum(if(task_status>0,score,0)) ytj,sum(if(task_status=3,score,0))
 		ysh,sum(if(task_status=2,score,0)) dsh from wm_task where score_package_id is not null and wm_task.del_flag=0
 		and wm_task.enable_flag=0 group by score_package_id)
@@ -259,7 +289,7 @@
 		zb_id,score_package_status,settlement_date,
 		xxdb_id, typeid, package_finish_status, dept_id, del_flag, enable_flag, tenant_id, create_time,
 		create_user,send_package_dept_id,old_package,
-		update_time,
+		update_time,p2p_amount,
 		update_user,belong_date,allocation_date,score_package_name,package_type1,relation_score_id,ywctt,settle_status,finish_rate
 		,bb.ytj,bb.ysh,bb.dsh from wm_score_package LEFT JOIN (
 		select score_package_id,sum(if(task_status>0,score,0)) ytj,sum(if(task_status=3,score,0))