From 1e91dc33009cfdc951b2642877f40280b51c3089 Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期五, 28 二月 2025 15:17:01 +0800 Subject: [PATCH] zjh20250228 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java | 157 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 125 insertions(+), 32 deletions(-) diff --git a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java index fe83d88..df245be 100644 --- a/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java +++ b/ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java @@ -1,10 +1,7 @@ package com.ltkj.web.controller.system; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.concurrent.*; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -14,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ltkj.common.core.domain.entity.SysDept; import com.ltkj.common.core.redis.RedisCache; +import com.ltkj.common.utils.SecurityUtils; import com.ltkj.common.utils.bean.BeanUtils; import com.ltkj.framework.datasource.DynamicDataSourceContextHolder; import com.ltkj.hosp.domain.*; @@ -25,6 +23,10 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; +import jodd.util.StringUtil; +import lombok.extern.slf4j.Slf4j; +import net.sf.ehcache.constructs.scheduledrefresh.OverseerJob; +import org.apache.ibatis.session.SqlSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.transaction.annotation.Transactional; @@ -44,6 +46,7 @@ @RestController @RequestMapping("/hosp/project") @Api(tags = "浣撴椤圭洰绠$悊") +@Slf4j public class TjProjectController extends BaseController { @Resource private ITjProjectService tjProjectService; @@ -67,6 +70,8 @@ private TestMapper testMapper; @Resource private RedisCache redisCache; + @Autowired + private TjProjectXgjlService xgjlService; @GetMapping("/getTjHyBgList") @@ -88,7 +93,7 @@ List<TjProject> tjProjects = tjProjectService.getDxTjProjectList(); String config = configService.selectConfigByKey("tj_dxsxtj"); if (null != config && config.equals("N")) { - tjProjects = tjProjectService.getOpenDxTjProjectList(); + tjProjects = tjProjectService.getOpenDxTjProjectList(null); } if (tjProjects != null) { for (TjProject project : tjProjects) { @@ -269,11 +274,11 @@ @Log(title = "浣撴椤圭洰", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody @ApiParam(value = "浣撴椤圭洰瀵硅薄") TjProject tjProject) { - if (null != tjProject.getConsumablesList() && tjProject.getConsumablesList().size() > 0) { + if (null != tjProject.getConsumablesList() && !tjProject.getConsumablesList().isEmpty()) { tjProject.setProPrice(BigDecimal.valueOf(0.00)); tjProject.setProStandard(0); } - if (null != tjProject.getTjStandardList() && tjProject.getTjStandardList().size() > 0) { + if (null != tjProject.getTjStandardList() && !tjProject.getTjStandardList().isEmpty()) { tjProject.setProStandard(1); } tjProject.setProEngName(PinyinUtil.getFirstLetter(tjProject.getProName(),"")); @@ -285,7 +290,7 @@ dictProSfxmService.save(proSfxm); } List<TjConsumables> consumablesList = tjProject.getConsumablesList(); - if (null != consumablesList && consumablesList.size() > 0) { + if (null != consumablesList && !consumablesList.isEmpty()) { for (TjConsumables tjConsumables : consumablesList) { TjProConsumables proConsumables = new TjProConsumables(); proConsumables.setProId(tjProject.getProId()); @@ -294,7 +299,7 @@ } } List<TjStandard> tjStandardList = tjProject.getTjStandardList(); - if (null != tjStandardList && tjStandardList.size() > 0) { + if (null != tjStandardList && !tjStandardList.isEmpty()) { for (TjStandard tjStandard : tjStandardList) { TjStandard tjStandard1 = new TjStandard(); BeanUtils.copyBeanProp(tjStandard1, tjStandard); @@ -307,23 +312,25 @@ } Long proParentId = tjProject.getProParentId(); if (null != proParentId && proParentId != 0) { - LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); - wq.eq(TjProject::getProParentId, proParentId); - List<TjProject> projectList = tjProjectService.list(wq); - if (null != projectList && projectList.size() > 0) { +// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); +// wq.eq(TjProject::getProParentId, proParentId); +// wq.eq(TjProject::getProStatus,0); +// List<TjProject> projectList = tjProjectService.list(wq); + List<TjProject> projectList = tjProjectService.getTjProjectListBySoneId(String.valueOf(proParentId)); + if (null != projectList && !projectList.isEmpty()) { BigDecimal bigDecimal = new BigDecimal("0.00"); for (TjProject project : projectList) { if (project.getProPrice() != null) { - bigDecimal = bigDecimal.add(project.getProPrice()); + bigDecimal = bigDecimal.add(project.getProPrice().multiply(new BigDecimal(project.getSl()))); } } - if (tjProject.getProPrice() != null) { - bigDecimal.add(tjProject.getProPrice()); - } +// if (tjProject.getProPrice() != null) { +// bigDecimal.add(tjProject.getProPrice()); +// } TjProject byId = tjProjectService.getById(proParentId); tjProject.setIsSampling(byId.getIsSampling()); tjProjectService.updateById(tjProject); - byId.setProPrice(bigDecimal.setScale(2, BigDecimal.ROUND_DOWN)); + byId.setProPrice(bigDecimal); tjProjectService.updateById(byId); } } @@ -340,18 +347,39 @@ @Log(title = "浣撴椤圭洰", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation(value = "淇敼浣撴椤圭洰") + @Transactional public AjaxResult edit(@RequestBody @ApiParam(value = "浣撴椤圭洰瀵硅薄") TjProject tjProject) { + TjProject ytjproject = tjProjectService.getById(tjProject.getProId()); + if(null==ytjproject)return AjaxResult.error(); if (tjProject.getProStatus() == 1) { LambdaQueryWrapper<TjPackageProject> wq1 = new LambdaQueryWrapper<>(); wq1.eq(TjPackageProject::getProId, tjProject.getProId()); List<TjPackageProject> list1 = ppservice.list(wq1); - if (null != list1 && list1.size() > 0) { + if (null != list1 && !list1.isEmpty()) { return AjaxResult.error("璇ラ」鐩鍦ㄥ椁愪腑浣跨敤,鏆傛椂涓嶈兘鍋滅敤"); + } + if(tjProject.getProParentId() !=0){ + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + wq.eq(TjProject::getProParentId, tjProject.getProParentId()); + wq.eq(TjProject::getProStatus,0); + List<TjProject> list = tjProjectService.list(wq); + if (null != list && !list.isEmpty()) { + int i = list.size(); + if(i<2) return AjaxResult.error("鑷冲皯淇濈暀涓�涓瓙椤圭洰,涓嶅彲鍏ㄩ儴鍋滅敤!!!"); + } } } tjProject.setProEngName(PinyinUtil.getFirstLetter(tjProject.getProName(),"")); + Date date=new Date(); if (tjProject.getProParentId() == 0) { if (tjProjectService.updateById(tjProject)) { + if(ytjproject.getProPrice().compareTo(tjProject.getProPrice())!=0){ + TjProjectXgjl xgjl=new TjProjectXgjl(); + BeanUtils.copyBeanProp(xgjl,ytjproject); + xgjl.setCreateTime(date); + xgjl.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName()); + xgjlService.save(xgjl); + } if (dictProSfxmService.deletedProSfxm(tjProject.getProId())) { if (null != tjProject.getSfxmId()) { DictProSfxm proSfxm = new DictProSfxm(); @@ -360,8 +388,12 @@ dictProSfxmService.save(proSfxm); } } - List<TjProject> list = tjProjectService.getTjProjectListBySoneId(String.valueOf(tjProject.getProId())); - if (null != list && list.size() > 0) { + LambdaQueryWrapper<TjProject> wqq = new LambdaQueryWrapper<>(); + wqq.eq(TjProject::getProParentId,tjProject.getProId()); + if(ytjproject.getProStatus()==0) + wqq.eq(TjProject::getProStatus,0); + List<TjProject> list = tjProjectService.list(wqq); + if (null != list && !list.isEmpty()) { for (TjProject project : list) { project.setDeptId(tjProject.getDeptId()); project.setProType(tjProject.getProType()); @@ -372,7 +404,7 @@ } } List<TjConsumables> consumablesList = tjProject.getConsumablesList(); - if (null != consumablesList && consumablesList.size() > 0) { + if (null != consumablesList && !consumablesList.isEmpty()) { LambdaQueryWrapper<TjProConsumables> wq = new LambdaQueryWrapper<>(); wq.eq(TjProConsumables::getProId, tjProject.getProId()); proConsumablesService.remove(wq); @@ -395,6 +427,14 @@ tjProject.setIsSampling(byId1.getIsSampling()); } if (tjProjectService.updateById(tjProject)) { + if(ytjproject.getProPrice().compareTo(tjProject.getProPrice())!=0){ + TjProjectXgjl xgjl=new TjProjectXgjl(); + BeanUtils.copyBeanProp(xgjl,ytjproject); + xgjl.setCreateTime(date); + xgjl.setCreateBy(SecurityUtils.getLoginUser().getUser().getNickName()); + xgjlService.save(xgjl); + } + if (dictProSfxmService.deletedProSfxm(tjProject.getProId())) { if (null != tjProject.getSfxmId()) { DictProSfxm proSfxm = new DictProSfxm(); @@ -404,7 +444,7 @@ } } List<TjStandard> tjStandardList = tjProject.getTjStandardList(); - if (null != tjStandardList && tjStandardList.size() > 0) { + if (null != tjStandardList && !tjStandardList.isEmpty()) { for (TjStandard tjStandard : tjStandardList) { if (null == tjStandard.getTjSex()) { tjStandard.setTjSex(null); @@ -418,17 +458,19 @@ } Long proParentId = tjProject.getProParentId(); if (null != proParentId) { - LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); - wq.eq(TjProject::getProParentId, proParentId); - List<TjProject> projectList = tjProjectService.list(wq); - if (null != projectList && projectList.size() > 0) { +// LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); +// wq.eq(TjProject::getProParentId, proParentId); +// wq.eq(TjProject::getProStatus,0); +// List<TjProject> projectList = tjProjectService.list(wq); + List<TjProject> projectList = tjProjectService.getTjProjectListBySoneId(String.valueOf(proParentId)); + if (null != projectList && !projectList.isEmpty()) { BigDecimal bigDecimal = new BigDecimal("0.00"); for (TjProject project : projectList) { - bigDecimal = bigDecimal.add(project.getProPrice()); + bigDecimal = bigDecimal.add(project.getProPrice().multiply(new BigDecimal(project.getSl()))); } - bigDecimal.add(tjProject.getProPrice()); +// bigDecimal.add(tjProject.getProPrice()); TjProject byId = tjProjectService.getById(proParentId); - byId.setProPrice(bigDecimal.setScale(2, BigDecimal.ROUND_DOWN)); + byId.setProPrice(bigDecimal); tjProjectService.updateById(byId); } } @@ -544,19 +586,45 @@ * 閫夋嫨浣撴椤圭洰閫夊崟椤规椂璋冪敤鐨勬帴鍙� */ @GetMapping("/getProParentIdDxList") - @ApiOperation(value = "閫夋嫨浣撴椤圭洰(鎵�鏈夋湇椤圭洰)閫夊崟椤规椂璋冪敤鐨勬帴鍙�") + @ApiOperation(value = "閫夋嫨浣撴椤圭洰(鎵�鏈夐〉闈㈤」鐩�)閫夊崟椤规椂璋冪敤鐨勬帴鍙�") public AjaxResult getProParentIdDxList() { List<TjProject> tjProjects = tjProjectService.getDxTjProjectList(); String config = configService.selectConfigByKey("tj_dxsxtj"); if (null != config && config.equals("N")) { - tjProjects = tjProjectService.getOpenDxTjProjectList(); + tjProjects = tjProjectService.getOpenDxTjProjectList(null); } String key = configService.selectConfigByKey("is_open_sfxm"); Map<String, Object> map = new HashMap<>(); + map.put("list", tjProjects); map.put("key", key); return AjaxResult.success(map); } + + + @GetMapping("/getProParentIdDxListByFenYe") + @ApiOperation(value = "閫夋嫨浣撴椤圭洰(鎵�鏈夐〉闈㈤」鐩�)閫夊崟椤规椂璋冪敤鐨勬帴鍙�(鏈夊垎椤�)") + public AjaxResult getProParentIdDxListByFenYe(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "10") int pageSize,String nr) { + List<TjProject> tjProjects = tjProjectService.getDxTjProjectList(); + String config = configService.selectConfigByKey("tj_dxsxtj"); + if (null != config && config.equals("N")) { + tjProjects = tjProjectService.getOpenDxTjProjectList(nr); + } + String key = configService.selectConfigByKey("is_open_sfxm"); + Map<String, Object> map = new HashMap<>(); + + if(null !=tjProjects && !tjProjects.isEmpty()){ + List<TjProject> collect = tjProjects.stream().skip((long) (page - 1) * pageSize).limit(pageSize).collect(Collectors.toList()); + map.put("total", tjProjects.size()); + map.put("list", collect); + }else { + map.put("total",0); + map.put("list", tjProjects); + } + map.put("key", key); + return AjaxResult.success(map); + } + @GetMapping("/getProSonDxList") @ApiOperation(value = "閫夋嫨浣撴椤圭洰(鏍规嵁鐖堕」id閫夋嫨瀛愰」)閫夊崟椤规椂璋冪敤鐨勬帴鍙�") @@ -569,4 +637,29 @@ return AjaxResult.success(map); } + + @GetMapping("/plxgpym") + @ApiOperation(value = "鎵归噺淇敼鎷奸煶鐮�") + public AjaxResult plxgpym(@RequestParam String tbname,@RequestParam String zd,@RequestParam String pymzd) { + String sql="SELECT 1"; + try { + sql="SELECT "+ zd +","+ pymzd +" FROM "+tbname; + + List<Map<String,Object>> projectList = tjProjectService.zdysqlcx(sql); + if(null !=projectList && !projectList.isEmpty()){ + for (Map<String, Object> map : projectList) { + Object zd1 = map.get(zd); + if(null !=zd1 && StringUtil.isNotBlank(zd1.toString())){ + String letter = PinyinUtil.getFirstLetter(zd1.toString(), ""); + sql="UPDATE "+ tbname +" "+ " set " +pymzd+" = "+ "'" +letter+"'"+" where "+zd+" = "+"'"+zd1+"'" ; + tjProjectService.zdysqlxg(sql); + } + } + } + return AjaxResult.success(projectList); + } catch (Exception e) { + log.info("sql鏌ヨ澶辫触"+ sql); + throw new RuntimeException(e); + } + } } -- Gitblit v1.8.0