New file |
| | |
| | | package com.ltkj.web.config.captcha; |
| | | |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | | import org.springframework.boot.CommandLineRunner; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | @Component |
| | | public class LogTestRunner implements CommandLineRunner { |
| | | private static final Logger logger = LoggerFactory.getLogger(LogTestRunner.class); |
| | | |
| | | @Override |
| | | public void run(String... args) { |
| | | logger.info("=== æå¨è§¦åæ¥å¿å½æ¡£æµè¯ ==="); |
| | | } |
| | | } |
| | |
| | | } |
| | | List<Map<String, Object>> jcList = testMapper.getLisJyList(name, mzh, start, end); |
| | | return AjaxResult.success(jcList); |
| | | // String json1 = "[{\"deptName\":\"ç§å®¤\",\"gender\":\"ç·\",\"brid\":\"sqd445314589914\",\"checkParts\":\"è¡æ¶²\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"èµµå1\",\"patientAge\":\"20\",\"mzh\":\"810001246120745\",\"reportDoctorName\":\"å»å¸\",\"proName\":\"è¡æ¶²åæ\",\"conclusion\":\"å¼å¸¸\",\"tjStandardGtValue\":\"1 - 5\",\"company\":\"毫å
\",\"checkDoctorName\":\"æ£æµå»å¸\",\"jcxmid\":\"123\",\"shys\":\"å®¡æ ¸å»å¸\"},{\"deptName\":\"ç§å®¤\",\"gender\":\"ç·\",\"brid\":\"sqd445314589914\",\"checkParts\":\"è¡æ¶²\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"èµµå2\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"å»å¸\",\"proName\":\"è¡æ¶²åæ\"},{\"deptName\":\"ç§å®¤\",\"gender\":\"ç·\",\"brid\":\"sqd445314589914\",\"checkParts\":\"è¡æ¶²\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"èµµå3\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"å»å¸\",\"proName\":\"è¡æ¶²åæ\"}]"; |
| | | // String json1 = "[{\"deptName\":\"ç§å®¤\",\"gender\":\"ç·\",\"brid\":\"sqd445314589914\",\"checkParts\":\"è¡æ¶²\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"èµµå1\",\"patientAge\":\"20\",\"mzh\":\"810001246120745\",\"reportDoctorName\":\"å»å¸\",\"proName\":\"è¡æ¶²åæ\",\"conclusion\":\"å¼å¸¸\",\"tjStandardGtValue\":\"1 - 5\",\"company\":\"毫å
\",\"checkDoctorName\":\"æ£æµå»å¸\",\"jcxmid\":\"123\",\"shys\":\"å®¡æ ¸å»å¸\"},{\"deptName\":\"ç§å®¤\",\"gender\":\"ç·\",\"brid\":\"sqd445314589914\",\"checkParts\":\"è¡æ¶²\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"èµµå2\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"å»å¸\",\"proName\":\"è¡æ¶²åæ\"},{\"deptName\":\"ç§å®¤\",\"gender\":\"ç·\",\"brid\":\"sqd445314589914\",\"checkParts\":\"è¡æ¶²\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-11 05:12:23\",\"proResult\":\"1.0\",\"name\":\"èµµå3\",\"patientAge\":\"20\",\"mzh\":\"201474534\",\"reportDoctorName\":\"å»å¸\",\"proName\":\"è¡æ¶²åæ\"},{\"deptName\":\"å
ç§\",\"gender\":\"女\",\"brid\":\"sqd998877665544\",\"checkParts\":\"è¡æ¶²\",\"project\":\"0.8-1.5\",\"examinationDate\":\"2025-02-15 10:22:10\",\"proResult\":\"1.3\",\"name\":\"æå°çº¢\",\"patientAge\":\"32\",\"mzh\":\"810002233112233\",\"reportDoctorName\":\"åå»ç\",\"proName\":\"è¡æ¶²åæ\",\"conclusion\":\"æ£å¸¸\",\"tjStandardGtValue\":\"1 - 5\",\"company\":\"毫å
\",\"checkDoctorName\":\"å¨å»ç\",\"jcxmid\":\"456\",\"shys\":\"ç主任\"},{\"deptName\":\"æ¥è¯ç§\",\"gender\":\"ç·\",\"brid\":\"sqd223344556677\",\"checkParts\":\"è¡æ¶²\",\"project\":\"1.2-2.5\",\"examinationDate\":\"2025-02-18 08:30:45\",\"proResult\":\"2.6\",\"name\":\"å¼ ä¼\",\"patientAge\":\"45\",\"mzh\":\"810009998877665\",\"reportDoctorName\":\"å¼ å»ç\",\"proName\":\"è¡æ¶²åæ\",\"conclusion\":\"åé«\",\"tjStandardGtValue\":\"1 - 5\",\"company\":\"毫å
\",\"checkDoctorName\":\"æå»ç\",\"jcxmid\":\"789\",\"shys\":\"åå»ç\"},{\"deptName\":\"å¤ç§\",\"gender\":\"ç·\",\"brid\":\"sqd123456789000\",\"checkParts\":\"è¡æ¶²\",\"project\":\"0.5-1.5\",\"examinationDate\":\"2025-02-20 12:10:00\",\"proResult\":\"0.4\",\"name\":\"çç£\",\"patientAge\":\"38\",\"mzh\":\"810003334455667\",\"reportDoctorName\":\"èµµå»ç\",\"proName\":\"è¡æ¶²åæ\",\"conclusion\":\"åä½\",\"tjStandardGtValue\":\"1 - 5\",\"company\":\"毫å
\",\"checkDoctorName\":\"é±å»ç\",\"jcxmid\":\"321\",\"shys\":\"谢主任\"},{\"deptName\":\"è¿ç¤ç§\",\"gender\":\"女\",\"brid\":\"sqd667788990011\",\"checkParts\":\"è¡æ¶²\",\"project\":\"1.0-2.0\",\"examinationDate\":\"2025-02-22 14:05:23\",\"proResult\":\"1.9\",\"name\":\"é丽\",\"patientAge\":\"50\",\"mzh\":\"810001122334455\",\"reportDoctorName\":\"éå»ç\",\"proName\":\"è¡æ¶²åæ\",\"conclusion\":\"æ£å¸¸\",\"tjStandardGtValue\":\"1 - 5\",\"company\":\"毫å
\",\"checkDoctorName\":\"ç« å»ç\",\"jcxmid\":\"654\",\"shys\":\"é主任\"},{\"deptName\":\"å
åæ³ç§\",\"gender\":\"ç·\",\"brid\":\"sqd334455667788\",\"checkParts\":\"è¡æ¶²\",\"project\":\"0.9-1.8\",\"examinationDate\":\"2025-02-25 16:45:00\",\"proResult\":\"1.5\",\"name\":\"é«å¼º\",\"patientAge\":\"28\",\"mzh\":\"810005566778899\",\"reportDoctorName\":\"é©å»ç\",\"proName\":\"è¡æ¶²åæ\",\"conclusion\":\"æ£å¸¸\",\"tjStandardGtValue\":\"1 - 5\",\"company\":\"毫å
\",\"checkDoctorName\":\"èå»ç\",\"jcxmid\":\"987\",\"shys\":\"å§å»ç\"}]"; |
| | | // return AjaxResult.success(JSONUtil.parseArray(json1)); |
| | | } |
| | | |
| | |
| | | } |
| | | deleteSqlBuilder.delete(deleteSqlBuilder.length() - 5, deleteSqlBuilder.length()); |
| | | Statement statement = connection.prepareStatement(deleteSqlBuilder.toString()); |
| | | log.info("HISæ°æ®ä¿åç±» æ§è¡å é¤ ->{}",deleteSqlBuilder.toString()); |
| | | // log.info("HISæ°æ®ä¿åç±» æ§è¡å é¤ ->{}",deleteSqlBuilder.toString()); |
| | | int i = statement.executeUpdate(deleteSqlBuilder.toString()); |
| | | log.info("HISæ°æ®ä¿åç±» å 餿¡æ° ->{}",i); |
| | | // log.info("HISæ°æ®ä¿åç±» å 餿¡æ° ->{}",i); |
| | | statement.close(); |
| | | insertSqlBuilder.append("insert_time, "); |
| | | insertSqlBuilder.append("request_params, "); |
| | |
| | | // break; |
| | | // } |
| | | statement = connection.createStatement(); |
| | | log.info("HISæ°æ®ä¿åç±» æ§è¡æå
¥ ->{}",insertSqlBuilder.toString()); |
| | | // log.info("HISæ°æ®ä¿åç±» æ§è¡æå
¥ ->{}",insertSqlBuilder.toString()); |
| | | boolean execute = statement.execute(insertSqlBuilder.toString()); |
| | | if (!execute){ |
| | | int updateCount = statement.getUpdateCount(); |
| | | log.info("HISæ°æ®ä¿åç±» æ§è¡æå
¥æå å½±åè¡æ°->{}",updateCount); |
| | | // log.info("HISæ°æ®ä¿åç±» æ§è¡æå
¥æå å½±åè¡æ°->{}",updateCount); |
| | | } |
| | | statement.close(); |
| | | } |
| | |
| | | import java.util.concurrent.*; |
| | | import java.util.concurrent.locks.ReentrantLock; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.IntStream; |
| | | import java.util.stream.Stream; |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | |
| | | } |
| | | |
| | | if(StringUtil.isNotBlank(lycdzjhmxj) && lycdzjhmxj.equalsIgnoreCase("N")){ |
| | | BigDecimal paidIn = tjFlowingWater.getPaidIn(); |
| | | BigDecimal difference = zongjia.subtract(paidIn); |
| | | if (difference.compareTo(BigDecimal.ZERO) > 0) { |
| | | log.info("éé¢å¤åºäºï¼{}",difference); |
| | | log.info("-----------------------åæç»-------------------------"); |
| | | calculateTotalPrice(array,false); |
| | | log.info("-----------------------æ°æç»-------------------------"); |
| | | adjustPrice(array,paidIn); |
| | | zongjia = calculateTotalPrice(array,true); |
| | | } else if (difference.compareTo(BigDecimal.ZERO) < 0) { |
| | | log.info("éé¢ç¼ºå°äºï¼{}", difference.abs()); |
| | | log.info("-----------------------åæç»-------------------------"); |
| | | calculateTotalPrice(array,false); |
| | | log.info("-----------------------æ°æç»-------------------------"); |
| | | adjustPrice(array,paidIn); |
| | | zongjia = calculateTotalPrice(array,true); |
| | | } |
| | | map.put("feiYongInfoList", array); |
| | | }else { |
| | | zongjia = tjFlowingWater.getPaidIn(); |
| | |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * 夿æ»ä»·æ¯å¦ä¸è´ æ¯å¦è¿è¡ä»·æ ¼è¡¥å |
| | | * - ä¿è¯ææåä»·ä¸ä¸ºè´æ° |
| | | * - å·®é¢åæçç¥ä¸ºï¼å¹³ååæ + 误差补æåä¸é¡¹ |
| | | * |
| | | * @param items hisä¼ éçæç»é¡¹ç® |
| | | * @param targetTotal æ»ä»· |
| | | */ |
| | | public static void adjustPrice(JSONArray items, BigDecimal targetTotal) { |
| | | BigDecimal actualTotal = BigDecimal.ZERO; |
| | | int size = items.size(); |
| | | |
| | | // 计ç®ç®åæç»é忻价 |
| | | for (int i = 0; i < size; i++) { |
| | | JSONObject item = items.getJSONObject(i); |
| | | BigDecimal danJia = item.getBigDecimal("danJia"); |
| | | BigDecimal shuliang = item.getBigDecimal("shuliang"); |
| | | BigDecimal jieSuanJe = danJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP); |
| | | item.set("jieSuanJe", jieSuanJe); |
| | | actualTotal = actualTotal.add(jieSuanJe); |
| | | } |
| | | BigDecimal diff = targetTotal.subtract(actualTotal).setScale(2, RoundingMode.HALF_UP); |
| | | // æ éè°æ´ |
| | | if (diff.compareTo(BigDecimal.ZERO) == 0 || size == 0) { |
| | | return; |
| | | } |
| | | |
| | | // å©ä½å¾
åæå·®é¢ |
| | | BigDecimal remainingDiff = diff; |
| | | for (int i = 0; i < size; i++) { |
| | | JSONObject item = items.getJSONObject(i); |
| | | BigDecimal danJia = item.getBigDecimal("danJia"); |
| | | BigDecimal shuliang = item.getBigDecimal("shuliang"); |
| | | |
| | | if (shuliang.compareTo(BigDecimal.ZERO) == 0) continue; |
| | | |
| | | // åææ¯ä¾ï¼å¹³ååï¼ |
| | | // 示ä¾ï¼è¥å©ä½å·®é¢ remainingDiff = 1.50ï¼å©ä½ 3 项ï¼å½å portion = 1.50 ÷ 3 = 0.50 |
| | | BigDecimal portion = remainingDiff.divide(new BigDecimal(size - i), 10, RoundingMode.HALF_UP); |
| | | |
| | | // åæå°åä»·ä¸ |
| | | // 示ä¾ï¼portion = 0.50ï¼shuliang = 2ï¼deltaPerUnit = 0.25 |
| | | BigDecimal deltaPerUnit = portion.divide(shuliang, 10, RoundingMode.HALF_UP); |
| | | |
| | | // è°æ´åä»·ï¼æ°åä»· = ååä»· + åä½å·®é¢ |
| | | BigDecimal adjustedDanJia = danJia.add(deltaPerUnit).setScale(2, RoundingMode.HALF_UP); |
| | | |
| | | // 鲿¢è´æ°ä»·æ ¼ |
| | | if (adjustedDanJia.compareTo(BigDecimal.ZERO) < 0) { |
| | | adjustedDanJia = BigDecimal.ZERO; |
| | | } |
| | | |
| | | item.set("danJia", adjustedDanJia); |
| | | BigDecimal adjustedJieSuan = adjustedDanJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP); |
| | | item.set("jieSuanJe", adjustedJieSuan); |
| | | |
| | | // è®¡ç®æ¬æ¬¡å®é
è°æ´çå·®é¢ï¼ç»§ç»åæå©ä½é¨å |
| | | BigDecimal oldJieSuan = danJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP); |
| | | remainingDiff = remainingDiff.subtract(adjustedJieSuan.subtract(oldJieSuan)); |
| | | } |
| | | |
| | | // è¥ä»åå¨å°é¢å·®é¢ï¼å¦ç±äºåèäºå
¥å¯¼è´ï¼ï¼å°è¯æå·®é¢è¡¥å°æåä¸é¡¹ |
| | | if (remainingDiff.abs().compareTo(new BigDecimal("0.01")) > 0) { |
| | | JSONObject lastItem = items.getJSONObject(size - 1); |
| | | BigDecimal danJia = lastItem.getBigDecimal("danJia"); |
| | | BigDecimal shuliang = lastItem.getBigDecimal("shuliang"); |
| | | if (shuliang.compareTo(BigDecimal.ZERO) != 0) { |
| | | BigDecimal delta = remainingDiff.divide(shuliang, 10, RoundingMode.HALF_UP); |
| | | BigDecimal newDanJia = danJia.add(delta).setScale(2, RoundingMode.HALF_UP); |
| | | if (newDanJia.compareTo(BigDecimal.ZERO) < 0) { |
| | | newDanJia = BigDecimal.ZERO; |
| | | } |
| | | lastItem.set("danJia", newDanJia); |
| | | BigDecimal newJieSuan = newDanJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP); |
| | | lastItem.set("jieSuanJe", newJieSuan); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * æç»ä»·æ ¼æ¥å¿è¾åº |
| | | * @param array |
| | | */ |
| | | public static BigDecimal calculateTotalPrice(JSONArray array,Boolean isOverride) { |
| | | BigDecimal total = BigDecimal.ZERO; |
| | | for (int i = 0; i < array.size(); i++) { |
| | | JSONObject obj = array.getJSONObject(i); |
| | | BigDecimal danJia = new BigDecimal(obj.getStr("danJia", "0")).setScale(2, RoundingMode.HALF_UP); |
| | | BigDecimal shuliang = new BigDecimal(obj.getStr("shuliang", "0")).setScale(2, RoundingMode.HALF_UP); |
| | | BigDecimal jieSuanJe = danJia.multiply(shuliang).setScale(2, RoundingMode.HALF_UP); |
| | | obj.set("danJia", danJia); |
| | | obj.set("shuliang", shuliang); |
| | | obj.set("jieSuanJe", jieSuanJe); |
| | | total = total.add(jieSuanJe); |
| | | log.info(String.format("第%d项 -> åä»·: %s, æ°é: %s, ç»ç®éé¢: %s", i + 1, danJia, shuliang, jieSuanJe)); |
| | | } |
| | | log.info("æ»ä»·ä¸º: {}", total.setScale(2, RoundingMode.HALF_UP)); |
| | | if (isOverride) return total.setScale(2, RoundingMode.HALF_UP); |
| | | return null; |
| | | } |
| | | |
| | | public void addCaiYangDengJi(List<TjOrderDetail> detailList, boolean detailList1, TjOrder order, SysUser sysUser, String jxbz) { |
| | | String lis_tmh_prefix = configService.selectConfigByKey("make_lis_tmh_prefix"); |
| | | String config = configService.selectConfigByKey("sfkqdyhis"); |
| | |
| | | List<TjProject> tjProjects = tjProjectService.getDxTjProjectList(); |
| | | String config = configService.selectConfigByKey("tj_dxsxtj"); |
| | | if (null != config && config.equals("N")) { |
| | | tjProjects = tjProjectService.getOpenDxTjProjectList(null); |
| | | tjProjects = tjProjectService.getOpenDxTjProjectList(null, null); |
| | | } |
| | | if (tjProjects != null) { |
| | | for (TjProject project : tjProjects) { |
| | |
| | | List<TjProject> tjProjects = tjProjectService.getDxTjProjectList(); |
| | | String config = configService.selectConfigByKey("tj_dxsxtj"); |
| | | if (null != config && config.equals("N")) { |
| | | tjProjects = tjProjectService.getOpenDxTjProjectList(null); |
| | | tjProjects = tjProjectService.getOpenDxTjProjectList(null, null); |
| | | } |
| | | String key = configService.selectConfigByKey("is_open_sfxm"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | |
| | | |
| | | @GetMapping("/getProParentIdDxListByFenYe") |
| | | @ApiOperation(value = "鿩使£é¡¹ç®(ææé¡µé¢é¡¹ç®)éå项æ¶è°ç¨çæ¥å£(æå页)") |
| | | public AjaxResult getProParentIdDxListByFenYe(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "10") int pageSize,String nr) { |
| | | public AjaxResult getProParentIdDxListByFenYe(@RequestParam(defaultValue = "1") int page,@RequestParam(defaultValue = "10") int pageSize,String nr,String xb) { |
| | | List<TjProject> tjProjects = tjProjectService.getDxTjProjectList(); |
| | | String config = configService.selectConfigByKey("tj_dxsxtj"); |
| | | if(StringUtil.isNotBlank(xb)){ |
| | | if(xb.contains("4"))xb="0"; |
| | | if(xb.contains("5"))xb="1"; |
| | | if(xb.contains("4") && xb.contains("5"))xb=null; |
| | | } |
| | | if (null != config && config.equals("N")) { |
| | | tjProjects = tjProjectService.getOpenDxTjProjectList(nr); |
| | | tjProjects = tjProjectService.getOpenDxTjProjectList(nr,xb); |
| | | } |
| | | String key = configService.selectConfigByKey("is_open_sfxm"); |
| | | Map<String, Object> map = new HashMap<>(); |
| | |
| | | |
| | | |
| | | <!-- æ¥å¿è¾åºæ ¼å¼ --> |
| | | <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n"/> |
| | | <property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %n %msg%n"/> |
| | | |
| | | <!-- æ§å¶å°è¾åº --> |
| | | <appender name="console" class="ch.qos.logback.core.ConsoleAppender"> |
| | |
| | | <!-- å½©è²æ¥å¿ --> |
| | | <layout class="ch.qos.logback.classic.PatternLayout"> |
| | | <pattern> |
| | | %d{yyyy-MM-dd HH:mm:ss} [%thread] %yellow(%-5level) %white([%-50.50class]) >>> %green(%msg) %n |
| | | %d{yyyy-MM-dd HH:mm:ss} [%thread] %yellow(%-5level) %white([%-50.50class]) >>> %green(%n %msg) %n |
| | | </pattern> |
| | | </layout> |
| | | </appender> |
| | |
| | | SELECT config_value,'xatlgcyy' as hosp FROM ltkjpeis10_xatlgcyy.`sys_config` WHERE config_key = 'make_lis_tmh_prefix' |
| | | ) a ORDER BY a.config_value DESC; |
| | | |
| | | # åæ¥ä»·æ ¼åå¨è¿ç¨ |
| | | CREATE TABLE tb_proprice_his |
| | | ( |
| | | pro_id BIGINT NULL , |
| | | old_price DECIMAL(10,2) NULL, |
| | | new_price DECIMAL(10,2) NULL, |
| | | pro_parent_id BIGINT NULL, |
| | | time DATETIME DEFAULT CURRENT_TIMESTAMP |
| | | ); |
| | | |
| | | CREATE DEFINER=`root`@`%` PROCEDURE `pro_tb_his_project`() |
| | | BEGIN |
| | | # æ¯å¦å¼å¯åæ¥hisé¡¹ç® |
| | | DECLARE isOpenTbHisProject VARCHAR(10); |
| | | # æ¯å¦å¼å¯åæ¥å
Œ
±å¥é¤ |
| | | DECLARE isOpenCommonTaoCan VARCHAR(10); |
| | | # æ¯å¦å¼å¯åæ¥åä½å¥é¤ |
| | | DECLARE isOpenDeptTaoCan VARCHAR(10); |
| | | |
| | | main_block: BEGIN |
| | | # åäºä»·æ ¼åæ¥åå¨è¿ç¨ï¼hisåç¨ç项ç®ä¸è¦ä»å¥é¤ åç»ä¸å é¤ï¼åªä¿®æ¹ä»·æ ¼ |
| | | # åå¨è¿ç¨è°ç¨åå°ä¸é´å±ï¼å åæ°é
ç½®é»è®¤ä¸åæ¥ |
| | | |
| | | |
| | | SELECT config_value INTO isOpenTbHisProject FROM `sys_config` WHERE config_key = 'isOpenTbHisProject' LIMIT 1; |
| | | SELECT config_value INTO isOpenCommonTaoCan FROM `sys_config` WHERE config_key = 'isOpenCommonTaoCan' LIMIT 1; |
| | | SELECT config_value INTO isOpenDeptTaoCan FROM `sys_config` WHERE config_key = 'isOpenDeptTaoCan' LIMIT 1; |
| | | |
| | | IF isOpenTbHisProject IS NULL OR isOpenTbHisProject != 'Y' THEN |
| | | LEAVE main_block; |
| | | END IF; |
| | | |
| | | DELETE FROM tb_proprice_his; |
| | | DROP TEMPORARY TABLE IF EXISTS his_tb_temp_prods; |
| | | CREATE TEMPORARY TABLE his_tb_temp_prods(id BIGINT); |
| | | INSERT INTO his_tb_temp_prods(id,pro_parent_id) |
| | | # å·²åç¨é¡¹ç®ids |
| | | SELECT b.pro_id,b.pro_parent_id FROM ( |
| | | SELECT |
| | | a.pro_id,a.his_xmbm,a.pro_parent_id |
| | | FROM |
| | | tj_project a |
| | | LEFT JOIN tj_project b ON a.pro_parent_id = b.pro_id |
| | | WHERE a.pro_parent_id <> 0 AND a.his_xmbm <> '' AND a.pro_status =0 AND a.deleted = 0 AND b.pro_status = 0 AND b.deleted = 0 |
| | | ) b |
| | | LEFT JOIN ltkj_shanxiqinjdczgzyy_getshoufeixmzd c ON b.his_xmbm = c.shoufeixmid |
| | | WHERE c.shoufeixmid IS NULL OR c.zuofeibz = 1; |
| | | |
| | | INSERT INTO tb_proprice_his(pro_id) SELECT id FROM his_tb_temp_prods; |
| | | |
| | | UPDATE tj_project a |
| | | JOIN his_tb_temp_prods b ON a.pro_id = b.pro_id |
| | | SET a.pro_status = 1; |
| | | |
| | | INSERT INTO tb_proprice_his (pro_id,old_price,new_price,pro_parent_id) |
| | | # ä»·æ ¼åå¨çæ°æ® |
| | | SELECT c.pro_id,c.pro_price,d.danjia,c.pro_parent_id FROM |
| | | ( |
| | | SELECT |
| | | a.pro_id,a.his_xmbm,a.pro_price,a.pro_parent_id |
| | | FROM |
| | | tj_project a |
| | | LEFT JOIN tj_project b ON a.pro_parent_id = b.pro_id |
| | | WHERE a.pro_parent_id <> 0 AND a.his_xmbm <> '' AND a.pro_status =0 AND a.deleted = 0 AND b.pro_status = 0 AND b.deleted = 0 |
| | | ) c |
| | | LEFT JOIN ltkj_shanxiqinjdczgzyy_getshoufeixmzd d ON c.his_xmbm = d.shoufeixmid |
| | | WHERE d.zuofeibz = 0 AND c.pro_price <> d.danjia AND c.pro_id NOT IN (SELECT id FROM his_tb_temp_prods); |
| | | |
| | | # ä¿®æ¹å°é¡¹ä»·æ ¼ |
| | | UPDATE tj_project a |
| | | JOIN tb_proprice_his b ON a.pro_id = b.pro_id |
| | | SET a.pro_price = b.new_price; |
| | | |
| | | # ä¿®æ¹å¤§é¡¹ä»·æ ¼ |
| | | UPDATE tj_project a |
| | | JOIN (SELECT pro_parent_id FROM tb_proprice_his GROUP BY(pro_parent_id)) b ON a.pro_id = b.pro_parent_id |
| | | JOIN ( |
| | | SELECT pro_parent_id, SUM(pro_price * sl) AS parentPrice |
| | | FROM tj_project |
| | | WHERE pro_parent_id != 0 and deleted=0 and pro_status=0 |
| | | GROUP BY pro_parent_id |
| | | ) d ON a.pro_id = d.pro_parent_id |
| | | SET a.pro_price = d.parentPrice; |
| | | |
| | | # 妿hisåç¨äºï¼é¡¹ç®ä¹æ¹åç¨ç¶æï¼å¥é¤ åç»ä¸ç项ç®ä¸è¿è¡å é¤åå¨ åªä¿®æ¹åä»·ï¼ä¸å
±ä¸ä¸ªé
ç½® æ¯å¦å¼å¯åæ¥ãæ¯å¦åæ¥å
Œ
±å¥é¤ãæ¯å¦åæ¥åä½å¥é¤ |
| | | IF isOpenCommonTaoCan = 'Y' THEN |
| | | |
| | | # åç¨é¡¹ç® |
| | | UPDATE tj_package_project SET price_ord = 0 |
| | | WHERE pro_id IN (SELECT pro_id FROM tb_proprice_his WHERE new_price IS NULL); |
| | | # æ¹ä»·é¡¹ç® |
| | | UPDATE tj_package_project a |
| | | JOIN tb_proprice_his b ON a.pro_id = b.pro_id |
| | | SET a.price_ord = b.new_price |
| | | WHERE b.new_price IS NOT NULL; |
| | | |
| | | # ä¿®æ¹å¥é¤æ»ä»· |
| | | UPDATE tj_package a |
| | | JOIN ( |
| | | SELECT b.pac_id,SUM(b.price_ord) AS order_price |
| | | FROM tj_package_project b |
| | | JOIN tb_proprice_his c ON b.pro_id = c.pro_id |
| | | GROUP BY b.pac_id |
| | | ) d ON a.pac_id = d.pac_id |
| | | SET a.price = d.order_price; |
| | | |
| | | END IF; |
| | | IF isOpenDeptTaoCan = 'Y' THEN |
| | | |
| | | # åç¨é¡¹ç® |
| | | UPDATE tj_grouping_pro a SET pro_price = 0 |
| | | WHERE pro_id IN (SELECT pro_id FROM tb_proprice_his WHERE new_price IS NULL); |
| | | # æ¹ä»·é¡¹ç® |
| | | UPDATE tj_grouping_pro a |
| | | JOIN tb_proprice_his b ON a.pro_id = b.pro_id |
| | | SET a.pro_price = b.new_price |
| | | WHERE b.new_price IS NOT NULL; |
| | | |
| | | # ä¿®æ¹å¥é¤æ»ä»· |
| | | UPDATE tj_dw_grouping a |
| | | JOIN ( |
| | | SELECT b.grouping_id,SUM(b.pro_price) AS order_price |
| | | FROM tj_grouping_pro b |
| | | JOIN tb_proprice_his c ON b.pro_id = c.pro_id |
| | | GROUP BY b.grouping_id |
| | | ) d ON a.id = d.grouping_id |
| | | SET a.price = d.order_price; |
| | | |
| | | END IF; |
| | | |
| | | END main_block; |
| | | END |
| | |
| | | @ApiModelProperty(value = "æ¯å¦åä¸å¼å¸¸") |
| | | private Integer sfcyyc; |
| | | |
| | | @ApiModelProperty(value = "æ ·æ¬") |
| | | private String yb; |
| | | /** |
| | | * åé¡¹ç® |
| | | */ |
| | |
| | | List<TjProject> getDxTjProjectList(); |
| | | |
| | | // @Select("SELECT * FROM `tj_project` where pro_parent_id=0 and pro_status=0 and deleted=0") |
| | | List<TjProject> getOpenDxTjProjectList(String nr); |
| | | List<TjProject> getOpenDxTjProjectList(@Param(value = "nr")String nr,@Param(value = "xb")String xb); |
| | | |
| | | |
| | | @Select("SELECT a.*,GROUP_CONCAT(b.pro_name ORDER BY b.pro_name) AS all_son_pro_name FROM\n" + |
| | |
| | | List<TjProject> getTjProjectList(); |
| | | List<TjProject> getDxTjProjectList(); |
| | | |
| | | List<TjProject> getOpenDxTjProjectList(String nr); |
| | | List<TjProject> getOpenDxTjProjectList(String nr,String xb); |
| | | |
| | | List<TjProject> getPacTjProjectList(); |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public List<TjProject> getOpenDxTjProjectList(String nr) { |
| | | return tjProjectMapper.getOpenDxTjProjectList(nr); |
| | | public List<TjProject> getOpenDxTjProjectList(String nr,String xb) { |
| | | return tjProjectMapper.getOpenDxTjProjectList(nr,xb); |
| | | } |
| | | |
| | | @Override |
| | |
| | | <where> |
| | | pro_parent_id=0 and pro_status=0 and deleted=0 |
| | | <if test="nr != null ">and (pro_name like concat('%', #{nr}, '%') |
| | | or pro_eng_name like concat('%', #{nr}, '%'))</if> |
| | | or pro_eng_name like concat('%', #{nr}, '%'))</if> |
| | | <if test="null !=xb and xb !='' "> |
| | | and (pro_sex=#{xb} or isnull(pro_sex) or pro_sex=2 ) </if> |
| | | </where> |
| | | |
| | | |