From 1b7ed7edb09aaecf68ddf3396ee007bc6eadf52a Mon Sep 17 00:00:00 2001 From: zjh <1084500556@qq.com> Date: 星期一, 30 十二月 2024 17:04:09 +0800 Subject: [PATCH] zjh202412030 --- ltkj-admin/src/main/java/com/ltkj/web/controller/system/TjProjectController.java | 158 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 114 insertions(+), 44 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 cbcdb7a..1c856e1 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,18 +1,17 @@ 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; import javax.servlet.http.HttpServletResponse; +import cn.hutool.extra.pinyin.PinyinUtil; 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.*; @@ -24,8 +23,13 @@ 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; import org.springframework.web.bind.annotation.*; import com.ltkj.common.annotation.Log; import com.ltkj.common.core.controller.BaseController; @@ -42,6 +46,7 @@ @RestController @RequestMapping("/hosp/project") @Api(tags = "浣撴椤圭洰绠$悊") +@Slf4j public class TjProjectController extends BaseController { @Resource private ITjProjectService tjProjectService; @@ -65,6 +70,8 @@ private TestMapper testMapper; @Resource private RedisCache redisCache; + @Autowired + private TjProjectXgjlService xgjlService; @GetMapping("/getTjHyBgList") @@ -83,36 +90,23 @@ @GetMapping("/getDxList") @ApiOperation(value = "閫夋嫨浣撴椤圭洰閫夊崟椤规椂璋冪敤鐨勬帴鍙�") public AjaxResult getDxList() { -// LambdaQueryWrapper<TjProject> wq0 = new LambdaQueryWrapper<>(); -// wq0.eq(TjProject::getProParentId, 0); List<TjProject> tjProjects = tjProjectService.getDxTjProjectList(); String config = configService.selectConfigByKey("tj_dxsxtj"); - if(null !=config && config.equals("N")){ + if (null != config && config.equals("N")) { tjProjects = tjProjectService.getOpenDxTjProjectList(); } - //涓婇潰鐨勬崲sql -// final List<TjProject> tjProjects = tjProjectService.getProBySqlAndName(proName, checkType, deptId); - if (tjProjects != null) { for (TjProject project : tjProjects) { List<TjProject> projectList = tjProjectService.getTjProjectListBySoneId(String.valueOf(project.getProId())); project.setTjProjectList(projectList); - -// SysDept sysDept = deptService.selectDeptById(project.getDeptId()); -// if (sysDept!=null){ -// project.setDeptName(sysDept.getDeptName()); -// } } } String key = configService.selectConfigByKey("is_open_sfxm"); - Map<String,Object> map=new HashMap<>(); - map.put("list",tjProjects); - map.put("key",key); + Map<String, Object> map = new HashMap<>(); + map.put("list", tjProjects); + map.put("key", key); return AjaxResult.success(map); } - - - /** @@ -150,18 +144,18 @@ */ @GetMapping("/getAllChildListById") @ApiOperation(value = "鏌ヨ椤圭洰瀛愰」") - public AjaxResult getAllChildListById(@RequestParam(required = false)String proId, + public AjaxResult getAllChildListById(@RequestParam(required = false) String proId, @RequestParam(required = false) String proName, @RequestParam(required = false) String checkType) { - LambdaQueryWrapper<TjProject> wq=new LambdaQueryWrapper<>(); - if (proId!=null){ - wq.eq(TjProject::getProParentId,proId); + LambdaQueryWrapper<TjProject> wq = new LambdaQueryWrapper<>(); + if (proId != null) { + wq.eq(TjProject::getProParentId, proId); } - if (proName!=null){ - wq.like(TjProject::getProName,proName); + if (proName != null) { + wq.like(TjProject::getProName, proName); } - if (checkType!=null){ - wq.eq(TjProject::getProCheckType,checkType); + if (checkType != null) { + wq.eq(TjProject::getProCheckType, checkType); } List<TjProject> tjProjects = tjProjectService.list(wq); // List<TjProject> tjProjects = tjProjectService.getAllChildListById(proId); @@ -221,7 +215,6 @@ List<TjProject> tjProjects = tjProjectService.list(wq); return AjaxResult.success(tjProjects); } - /** @@ -288,6 +281,7 @@ if (null != tjProject.getTjStandardList() && tjProject.getTjStandardList().size() > 0) { tjProject.setProStandard(1); } + tjProject.setProEngName(PinyinUtil.getFirstLetter(tjProject.getProName(),"")); if (tjProjectService.save(tjProject)) { if (null != tjProject.getSfxmId()) { DictProSfxm proSfxm = new DictProSfxm(); @@ -351,17 +345,31 @@ @Log(title = "浣撴椤圭洰", businessType = BusinessType.UPDATE) @PutMapping @ApiOperation(value = "淇敼浣撴椤圭洰") + @Transactional public AjaxResult edit(@RequestBody @ApiParam(value = "浣撴椤圭洰瀵硅薄") TjProject tjProject) { 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("璇ラ」鐩鍦ㄥ椁愪腑浣跨敤,鏆傛椂涓嶈兘鍋滅敤"); } } + tjProject.setProEngName(PinyinUtil.getFirstLetter(tjProject.getProName(),"")); + + TjProject ytjproject = tjProjectService.getById(tjProject.getProId()); + Date date=new Date(); if (tjProject.getProParentId() == 0) { if (tjProjectService.updateById(tjProject)) { + if(null !=ytjproject){ + 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(); @@ -371,7 +379,7 @@ } } List<TjProject> list = tjProjectService.getTjProjectListBySoneId(String.valueOf(tjProject.getProId())); - if (null != list && list.size() > 0) { + if (null != list && !list.isEmpty()) { for (TjProject project : list) { project.setDeptId(tjProject.getDeptId()); project.setProType(tjProject.getProType()); @@ -382,7 +390,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); @@ -405,6 +413,15 @@ tjProject.setIsSampling(byId1.getIsSampling()); } if (tjProjectService.updateById(tjProject)) { + if(null !=ytjproject){ + 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(); @@ -414,7 +431,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); @@ -430,8 +447,10 @@ 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) { + 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()); @@ -454,6 +473,7 @@ @Log(title = "浣撴椤圭洰", businessType = BusinessType.DELETE) @DeleteMapping("/{proIds}") @ApiOperation(value = "鍒犻櫎浣撴椤圭洰(鍙垹闄ょ埗椤圭洰鍜屽瓙椤圭洰)") + @Transactional public AjaxResult remove(@PathVariable Long[] proIds) { if (null == proIds || proIds.length <= 0) { return AjaxResult.error("璇烽�夋嫨瑕佸垹闄ょ殑椤圭洰"); @@ -485,6 +505,9 @@ wq.eq(TjStandard::getProId, proId); tjStandardService.remove(wq); tjProjectService.removeById(project1.getProId()); + TjProject project = tjProjectService.getById(project1.getProParentId()); + project.setProPrice(tjProjectService.getMoneys(project1.getProParentId().toString())); + tjProjectService.updateById(project); } } } @@ -544,13 +567,60 @@ TjProject tjProject = tjProjectService.getById(proId); return AjaxResult.success(tjProject); } -// /** -// * 鑾峰彇閮ㄩ棬鏍戝垪琛� -// */ -// @GetMapping("/deptTree") -// @ApiOperation("鑾峰彇閮ㄩ棬鏍戝垪琛�") -// public AjaxResult deptTree(SysDept dept) { -// return success(deptService.selectDeptTreeList(dept)); -// } + + /** + * 閫夋嫨浣撴椤圭洰閫夊崟椤规椂璋冪敤鐨勬帴鍙� + */ + @GetMapping("/getProParentIdDxList") + @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(); + } + 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("/getProSonDxList") + @ApiOperation(value = "閫夋嫨浣撴椤圭洰(鏍规嵁鐖堕」id閫夋嫨瀛愰」)閫夊崟椤规椂璋冪敤鐨勬帴鍙�") + public AjaxResult getProSonDxList(@RequestParam String proId) { + List<TjProject> projectList = tjProjectService.getTjProjectListBySoneId(proId); + String key = configService.selectConfigByKey("is_open_sfxm"); + Map<String, Object> map = new HashMap<>(); + map.put("list", projectList); + map.put("key", key); + 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; + tjProjectService.zdysqlxg(sql); + } + } + } + return AjaxResult.success(projectList); + } catch (Exception e) { + log.info("sql鏌ヨ澶辫触"+ sql); + throw new RuntimeException(e); + } + } } -- Gitblit v1.8.0