From 5db66ef6fb108de06df182189d822f3f5ebdd557 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 23 一月 2024 16:52:53 +0800 Subject: [PATCH] 开发业务接口 --- 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