From 27f6edfba4c47caaa62750abe79f366be5076d95 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期一, 25 十一月 2024 14:19:09 +0800 Subject: [PATCH] 开发更新 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java | 133 +++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 130 insertions(+), 3 deletions(-) diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java index 15da9a9..bf37d57 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/YwContractServiceImpl.java @@ -1,5 +1,6 @@ package com.doumee.service.business.impl; +import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.model.LoginUserInfo; @@ -50,6 +51,8 @@ @Autowired private MultifileMapper multifileMapper; @Autowired + private YwWorkorderLogMapper ywWorkorderLogMapper; + @Autowired private CompanyMapper companyMapper; @Autowired private YwProjectMapper projectMapper; @@ -62,6 +65,8 @@ @Autowired private MemberMapper memberMapper; + @Autowired + private SystemDictDataBiz systemDictDataBiz; @Override @Transactional(rollbackFor = {BusinessException.class,Exception.class}) public Integer create(YwContract model) { @@ -77,6 +82,30 @@ ywContractMapper.insert(model); dealDetailListBiz(model);//澶勭悊鏉℃淇℃伅 dealMultifileBiz(model);//澶勭悊闄勪欢淇℃伅 + dealLogBiz(model,Constants.YwLogType.CONTRACT_CREATE,null,null);//璁板綍鏂板缓鏃ュ織 + return model.getId(); + } + /** + * 閫�绉熸彁浜� + * @param model + * @return + */ + @Override + @Transactional(rollbackFor = {BusinessException.class,Exception.class}) + public Integer backRent(YwContract model){ + isParamValidCreated(model); + + model.setCreator(model.getLoginUserInfo().getId()); + model.setIsdeleted(Constants.ZERO); + model.setCreateDate(new Date()); + model.setStatus(Constants.ZERO); + model.setEditDate(model.getCreateDate()); + model.setEditor(model.getCreator()); + model.setStatus(Constants.ZERO);//寰呮墽琛� + ywContractMapper.insert(model); + dealDetailListBiz(model);//澶勭悊鏉℃淇℃伅 + dealMultifileBiz(model);//澶勭悊闄勪欢淇℃伅 + dealLogBiz(model,Constants.YwLogType.CONTRACT_CREATE,null,null);//璁板綍鏂板缓鏃ュ織 return model.getId(); } @@ -400,7 +429,28 @@ return data; } + private void initFiles(YwContract model) { + List<Multifile> multifiles = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda() + .eq(Multifile::getObjId, model.getId() ) + .in(Multifile::getObjType, Arrays.asList(new Integer[]{Constants.MultiFile.YW_CONTRACT_FILE.getKey()})) + .eq(Multifile::getIsdeleted,Constants.ZERO)); + if(multifiles!=null){ + String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + +systemDictDataBiz.queryByCode(Constants.FTP,Constants.YW_CONTRACT_FILE).getCode(); + for(Multifile f : multifiles){ + if(StringUtils.isBlank(f.getFileurl())){ + continue; + } + f.setFileurlFull(path+f.getFileurl()); + //鐜板満鎯呭喌 + if(model.getFileList() == null){ + model.setFileList(new ArrayList<>()); + } + model.getFileList().add(f); + } + } + } private void dealMultifileBiz(YwContract model) { @@ -416,7 +466,7 @@ multifile.setIsdeleted(Constants.ZERO); multifile.setObjId(model.getId()); multifile.setCreator(model.getCreator()); - multifile.setObjType(Constants.MultiFile.YW_WORKORDER_PROBLEM.getKey()); + multifile.setObjType(Constants.MultiFile.YW_CONTRACT_FILE.getKey()); multifile.setSortnum(i+1); fileList.add(multifile); } @@ -594,10 +644,87 @@ this.updateById(ywContract); } } - + private void dealLogBiz(YwContract model,Constants.YwLogType type,String param1,String param2) { + YwWorkorderLog log = new YwWorkorderLog(); + log.setCreateDate(model.getEditDate()); + log.setCreator(model.getCreator()); + log.setJobId(model.getId()); + log.setIsdeleted(Constants.ZERO); + log.setObjId(model.getId()+""); + log.setObjType(type.getKey()); + log.setParam1(param1); + log.setParam2(param2); + log.setTitle(type.getNoteinfo()); + ywWorkorderLogMapper.insert(log); + } @Override public YwContract findById(Integer id) { - return ywContractMapper.selectById(id); + MPJLambdaWrapper<YwContract> queryWrapper = new MPJLambdaWrapper<>(); + queryWrapper.selectAll(YwContract.class ) + .selectAs(Company::getName,YwContract::getCompanyName ) + .selectAs(SystemUser::getRealname,YwContract::getUserName ) + .selectAs(YwCustomer::getName,YwContract::getRenterName ) + .selectAs(YwProject::getName,YwContract::getProjectName ) + .select("t4.realname",YwContract::getCreatorName ) + .leftJoin(Company.class,Company::getId,YwContract::getCompanyId) + .leftJoin(SystemUser.class,SystemUser::getId,YwContract::getUserId) + .leftJoin(SystemUser.class,SystemUser::getId,YwContract::getCreator) + .leftJoin(YwProject.class,YwProject::getId,YwContract::getProjectId) + .leftJoin(YwCustomer.class,YwCustomer::getId,YwContract::getRenterId); + YwContract model = ywContractMapper.selectJoinOne(YwContract.class,queryWrapper); + if(model != null){ + //鍚堝悓闄勪欢 + initFiles(model); + //鏌ヨ鎴挎簮淇℃伅鏁版嵁 + MPJLambdaWrapper<YwRoom> rw = new MPJLambdaWrapper<>(); + rw.selectAll(YwRoom.class ) + .selectAs(YwProject::getName,YwRoom::getProjectName) + .selectAs(YwFloor::getName,YwRoom::getFloorName) + .selectAs(YwBuilding::getName,YwRoom::getBuildingName) + .leftJoin(YwProject.class,YwProject::getId,YwRoom::getProjectId) + .leftJoin(YwBuilding.class,YwBuilding::getId,YwRoom::getBuildingId) + .leftJoin(YwFloor.class,YwFloor::getId,YwRoom::getFloor) + .eq(YwRoom::getIsdeleted,Constants.ZERO) + .exists("(select a.id from yw_contract_room a where a.isdeleted=1 and a.room_id=t.id and a.contract_id="+model.getId()+")"); + model.setRoomList(roomMapper.selectJoinList(YwRoom.class,rw)); + + //鏌ヨ绉熻硟鏉℃淇℃伅 + MPJLambdaWrapper<YwContractDetail> dw = new MPJLambdaWrapper<>(); + dw.selectAll(YwContractDetail.class ) + .eq(YwContractDetail::getIsdeleted,Constants.ZERO) + .eq(YwContractDetail::getContractId,model.getId()) + .in(YwContractDetail::getType,Constants.ZERO,Constants.TWO) + .orderByAsc(YwContractDetail::getSortnum); + model.setZlDetailList(ywContractDetailMapper.selectJoinList(YwContractDetail.class,dw)); + //鏌ヨ鐗╂キ鏉℃淇℃伅 + dw = new MPJLambdaWrapper<>(); + dw.selectAll(YwContractDetail.class ) + .eq(YwContractDetail::getIsdeleted,Constants.ZERO) + .eq(YwContractDetail::getContractId,model.getId()) + .in(YwContractDetail::getType,Constants.ONE,Constants.THREE) + .orderByAsc(YwContractDetail::getSortnum); + model.setWyDetailList(ywContractDetailMapper.selectJoinList(YwContractDetail.class,dw)); + + //鏌ヨ鎿嶄綔鏃ュ織璁板綍 + YwWorkorderLog log = new YwWorkorderLog(); + log.setJobId(model.getId()); + log.setIsdeleted(Constants.ZERO); + model.setLogList(ywWorkorderLogMapper.selectList(new QueryWrapper<YwWorkorderLog>(log) + .lambda() + .in(YwWorkorderLog::getObjType,Constants.YwLogType.CONTRACT_BACK.getKey() + ,Constants.YwLogType.CONTRACT_CREATE.getKey() + ,Constants.YwLogType.CONTRACT_UPDATE.getKey()) + .orderByAsc(YwWorkorderLog::getCreateDate))); + + //鏌ヨ璐﹀崟闆嗗悎 + model.setBillList(ywContractBillMapper.selectJoinList(YwContractBill.class,new MPJLambdaWrapper<YwContractBill>() + .selectAll(YwContractBill.class ) + .eq( YwContractBill::getContractId,model.getId()) + .eq(YwContractBill::getIsdeleted,Constants.ZERO) + .orderByAsc(YwContractBill::getSortnum,YwContractBill::getCreateDate))); + } + + return model; } @Override -- Gitblit v1.9.3