From aaff4087695b652a79cc524bf108d60a8dd44501 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 24 一月 2024 14:35:23 +0800
Subject: [PATCH] 111
---
server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java | 50 +++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 45 insertions(+), 5 deletions(-)
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
index 3b4aaf7..0203ee3 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyChangeServiceImpl.java
@@ -158,9 +158,13 @@
multifileMapper.insert(param.getPidanFile());
update.setApplyId(model.getApplyId());
- long times = param.getApplyStartTime().getTime() - model.getValidTime().getTime();
- //澶勭悊鍔犲噺淇濇槑缁嗘暟鎹�
- dealDetailsValidTime(update,times);
+ if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
+ //濡傛灉鏄姞鍑忎繚鐢宠 澶勭悊鍔犲噺淇濇槑缁嗘暟鎹�
+ dealDetailsValidTime(update);
+ }else{
+ //濡傛灉鏄崲鍘傜敵璇� 澶勭悊鏄庣粏鏁版嵁
+ dealDetailsDUdata(update);
+ }
Constants.ApplyLogType applyLogType = Constants.ApplyLogType.CA_PLATFORM_APPROVE;
@@ -234,9 +238,45 @@
/**
* 澶勭悊鍔犲噺淇濇槑缁嗘暟鎹�
* @param update
- * @param times
*/
- private void dealDetailsValidTime(ApplyChange update,long times) {
+ private void dealDetailsDUdata(ApplyChange update ) {
+ List<ApplyChagneDetail> detailList = applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class,
+ new MPJLambdaWrapper<ApplyChagneDetail>()
+ .selectAll(ApplyChagneDetail.class)
+ .selectAs(Solutions::getTimeUnit,ApplyChagneDetail::getSolutionTimeUnit)
+ .selectAs(Solutions::getPrice,ApplyChagneDetail::getSolutionPrice)
+ .leftJoin(ApplyChange.class, ApplyChange::getId, ApplyChagneDetail::getApplyChangeId)
+ .leftJoin(Solutions.class, Solutions::getId, ApplyChange::getSolutionsId)
+ .eq(ApplyChagneDetail::getApplyChangeId,update.getId())
+ .eq(ApplyChagneDetail::getIsdeleted,Constants.ZERO) );
+ if(detailList ==null || detailList.size()==0){
+ return;
+ }
+ for(ApplyChagneDetail detail : detailList){
+ //鏌ヨ鍛樺伐鏄湪涓诲崟涓� 鏄惁瀛樺湪鐢熸晥涓殑鏁版嵁
+ ApplyDetail oldModel = applyDetailJoinMapper.selectOne(new QueryWrapper<ApplyDetail>().lambda()
+ .eq(ApplyDetail::getApplyId, update.getApplyId())
+ .eq(ApplyDetail::getMemberId, detail.getMemberId())
+ .orderByDesc(ApplyDetail::getCreateDate)
+ .last("limit 1"));
+ if(oldModel == null ){
+ throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛銆�"+detail.getMemberName()+"銆戝師淇濆崟淇℃伅鏈夎锛屽綋鍓嶇敵璇蜂笉鏀寔鍑忎繚澶勭悊锛�");
+ }
+ applyDetailJoinMapper.update(null, new UpdateWrapper<ApplyDetail>().lambda()
+ .set(ApplyDetail::getEditor,update.getEditor())
+ .set(ApplyDetail::getWorktypeId,detail.getWorktypeId())
+ .set(ApplyDetail::getDuId,detail.getDuId())
+ .set(ApplyDetail::getEditDate,update.getEditDate())
+ .eq(ApplyDetail::getId,oldModel.getApplyId())
+ );
+
+ }
+ }
+ /**
+ * 澶勭悊鍔犲噺淇濇槑缁嗘暟鎹�
+ * @param update
+ */
+ private void dealDetailsValidTime(ApplyChange update ) {
List<ApplyChagneDetail> detailList = applyChagneDetailJoinMapper.selectJoinList(ApplyChagneDetail.class,
new MPJLambdaWrapper<ApplyChagneDetail>()
.selectAll(ApplyChagneDetail.class)
--
Gitblit v1.9.3