From 69cd9f59a0fabf12f8c9147fcba7f69817a870b3 Mon Sep 17 00:00:00 2001 From: jiazx0107@163.com <jiazx0107@163.com> Date: 星期一, 06 十一月 2023 23:40:59 +0800 Subject: [PATCH] 更新仓内抓拍2 --- igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java | 1460 ++++++++++++++++++++++++++++----------------------------- 1 files changed, 723 insertions(+), 737 deletions(-) diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java b/igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java index c30c147..9546182 100644 --- a/igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java +++ b/igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java @@ -24,812 +24,798 @@ */ @Slf4j @Component(JInoutReportService.BEAN_ID) -public class JInoutReportService extends JdbcDao { - - public static final String BEAN_ID = "jdbcInoutReportServiceImpl"; +public class JInoutReportService extends JdbcDao { - @Autowired - private HDepotService depotService; + public static final String BEAN_ID = "jdbcInoutReportServiceImpl"; - public List<ReportInoutDepotData> getInoutDepotData( - Map<String, Object> parameter) { - // 鏃堕棿鏉′欢蹇呴』 - Date start = (Date) parameter.get("start"); - Date end = (Date) parameter.get("end"); - String deptId = (String) parameter.get("deptId"); + @Autowired + private HDepotService depotService; - if (start == null || end == null || StringUtils.isEmpty(deptId)) - return null; + public List<ReportInoutDepotData> getInoutDepotData( + Map<String, Object> parameter) { + // 鏃堕棿鏉′欢蹇呴』 + Date start = (Date) parameter.get("start"); + Date end = (Date) parameter.get("end"); + String deptId = (String) parameter.get("deptId"); - StringBuffer sql = new StringBuffer(); - sql.append("SELECT "); - sql.append("d.ID_ AS depotId, "); - sql.append("d.NAME_ AS depotName, "); - sql.append("d.FOOD_TYPE_ AS foodType, "); - sql.append("d.FOOD_VARIETY_ AS foodVariety, "); - sql.append("0 as cqkc, "); - sql.append("d.STORAGE_REAL_ as qmkc, "); - sql.append("a.inNum, "); - sql.append("a.outNum, "); - sql.append("a.lossNum, "); - sql.append("a.overNum, "); - sql.append("( "); - sql.append("IFNULL(a.inNum, 0) + IFNULL(a.overNum, 0) "); - sql.append(") AS inSum, "); - sql.append("( "); - sql.append("IFNULL(a.outNum, 0) + IFNULL(a.lossNum, 0) "); - sql.append(") AS outSum "); - sql.append("FROM "); - sql.append("d_depot d "); - sql.append("LEFT JOIN ( "); - sql.append("SELECT "); - sql.append("a.DEPOT_ID_, "); - sql.append("SUM( "); - sql.append("IF ( "); - sql.append("a.TYPE_ = :typeIn, "); - sql.append("a.SETTLE_WEIGHT_, "); - sql.append("0 "); - sql.append(") "); - sql.append(") AS inNum, "); - sql.append("SUM( "); - sql.append("IF ( "); - sql.append("a.TYPE_ = :typeOut, "); - sql.append("a.SETTLE_WEIGHT_, "); - sql.append("0 "); - sql.append(") "); - sql.append(") AS outNum, "); - sql.append("SUM( "); - sql.append("IF ( "); - sql.append("a.TYPE_ = :typeLoss, "); - sql.append("a.SETTLE_WEIGHT_, "); - sql.append("0 "); - sql.append(") "); - sql.append(") AS lossNum, "); - sql.append("SUM( "); - sql.append("IF ( "); - sql.append("a.TYPE_ = :typeOver, "); - sql.append("a.SETTLE_WEIGHT_, "); - sql.append("0 "); - sql.append(") "); - sql.append(") AS overNum "); - sql.append("FROM "); - sql.append("( "); - sql.append("SELECT "); - sql.append("DEPOT_ID_, "); - sql.append("SETTLE_WEIGHT_, "); - sql.append("TYPE_, "); - sql.append("CUR_STORAGE_ "); - sql.append("FROM "); - sql.append("d_inout_record "); - sql.append("WHERE "); - sql.append("COMPANY_ID_ = :companyId "); - sql.append("AND PROGRESS_ = :progress "); - sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); - sql.append("AND RECORD_STATUS_ <> :recordStatusError "); - sql.append("AND COMPLETE_TIME_ >= :start "); - sql.append("AND COMPLETE_TIME_ <= :end "); - sql.append("AND DEPT_ID_ = :deptId "); - sql.append(") a "); - sql.append("GROUP BY a.DEPOT_ID_ "); - sql.append(") a ON d.ID_ = a.DEPOT_ID_ "); - sql.append("WHERE d.COMPANY_ID_ = :companyId "); - sql.append("AND d.DEPOT_TYPE_ <> :depotTypeOther "); - sql.append("AND d.DEPT_ID_ = :deptId "); - sql.append("ORDER BY d.ID_"); + if (start == null || end == null || StringUtils.isEmpty(deptId)) + return null; - Map<String, Object> args = new HashMap<>(); - args.put("deptId", deptId); - args.put("companyId", ContextUtil.getCompanyId()); - args.put("typeIn", InoutConstant.TYPE_IN); - args.put("typeOut", InoutConstant.TYPE_OUT); - args.put("typeLoss", Constant.LOSS_OVER_LOSS); - args.put("typeOver", Constant.LOSS_OVER_OVER); - args.put("progress", InoutConstant.PROGRESS_RECORD); - args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); - args.put("recordStatusError", InoutConstant.RECORD_STATUS_ERROR); + StringBuffer sql = new StringBuffer(); + sql.append("SELECT "); + sql.append("d.ID_ AS depotId, "); + sql.append("d.NAME_ AS depotName, "); + sql.append("d.FOOD_TYPE_ AS foodType, "); + sql.append("d.FOOD_VARIETY_ AS foodVariety, "); + sql.append("0 as cqkc, "); + sql.append("d.STORAGE_REAL_ as qmkc, "); + sql.append("a.inNum, "); + sql.append("a.outNum, "); + sql.append("a.lossNum, "); + sql.append("a.overNum, "); + sql.append("( "); + sql.append("IFNULL(a.inNum, 0) + IFNULL(a.overNum, 0) "); + sql.append(") AS inSum, "); + sql.append("( "); + sql.append("IFNULL(a.outNum, 0) + IFNULL(a.lossNum, 0) "); + sql.append(") AS outSum "); + sql.append("FROM "); + sql.append("d_depot d "); + sql.append("LEFT JOIN ( "); + sql.append("SELECT "); + sql.append("a.DEPOT_ID_, "); + sql.append("SUM( "); + sql.append("IF ( "); + sql.append("a.TYPE_ = :typeIn, "); + sql.append("a.SETTLE_WEIGHT_, "); + sql.append("0 "); + sql.append(") "); + sql.append(") AS inNum, "); + sql.append("SUM( "); + sql.append("IF ( "); + sql.append("a.TYPE_ = :typeOut, "); + sql.append("a.SETTLE_WEIGHT_, "); + sql.append("0 "); + sql.append(") "); + sql.append(") AS outNum, "); + sql.append("SUM( "); + sql.append("IF ( "); + sql.append("a.TYPE_ = :typeLoss, "); + sql.append("a.SETTLE_WEIGHT_, "); + sql.append("0 "); + sql.append(") "); + sql.append(") AS lossNum, "); + sql.append("SUM( "); + sql.append("IF ( "); + sql.append("a.TYPE_ = :typeOver, "); + sql.append("a.SETTLE_WEIGHT_, "); + sql.append("0 "); + sql.append(") "); + sql.append(") AS overNum "); + sql.append("FROM "); + sql.append("( "); + sql.append("SELECT "); + sql.append("DEPOT_ID_, "); + sql.append("SETTLE_WEIGHT_, "); + sql.append("TYPE_, "); + sql.append("CUR_STORAGE_ "); + sql.append("FROM "); + sql.append("d_inout_record "); + sql.append("WHERE "); + sql.append("COMPANY_ID_ = :companyId "); + sql.append("AND PROGRESS_ = :progress "); + sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); + sql.append("AND COMPLETE_TIME_ >= :start "); + sql.append("AND COMPLETE_TIME_ <= :end "); + sql.append("AND DEPT_ID_ = :deptId "); + sql.append(") a "); + sql.append("GROUP BY a.DEPOT_ID_ "); + sql.append(") a ON d.ID_ = a.DEPOT_ID_ "); + sql.append("WHERE d.COMPANY_ID_ = :companyId "); + sql.append("AND d.DEPOT_TYPE_ <> :depotTypeOther "); + sql.append("AND d.DEPT_ID_ = :deptId "); + sql.append("ORDER BY d.ID_"); - args.put("start", DateUtil.getCurZero(start)); - args.put("end", DateUtil.getNextZero(end)); - args.put("depotTypeOther", DepotType.TYPE_99.getCode()); + Map<String, Object> args = new HashMap<>(); + args.put("deptId", deptId); + args.put("companyId", ContextUtil.getCompanyId()); + args.put("typeIn", InoutConstant.TYPE_IN); + args.put("typeOut", InoutConstant.TYPE_OUT); + args.put("typeLoss", Constant.LOSS_OVER_LOSS); + args.put("typeOver", Constant.LOSS_OVER_OVER); + args.put("progress", InoutConstant.PROGRESS_RECORD); + args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); - log.debug("====鎵цSLQ1={}", sql.toString()); + args.put("start", DateUtil.getCurZero(start)); + args.put("end", DateUtil.getNextZero(end)); + args.put("depotTypeOther", DepotType.TYPE_99.getCode()); - List<ReportInoutDepotData> data = this.getNamedParameterJdbcTemplate() - .query(sql.toString(), args, new ReportInoutDepotRowMapper()); + log.debug("====鎵цSLQ1={}", sql.toString()); - if (null == data || data.isEmpty()) - return data; + List<ReportInoutDepotData> data = this.getNamedParameterJdbcTemplate() + .query(sql.toString(), args, new ReportInoutDepotRowMapper()); - // 鏍规嵁寮�濮嬫椂闂磋幏鍙栬窛绂绘渶杩戠殑杞﹁締淇℃伅锛岃幏鍙栧垵鏈熷簱瀛� - sql = new StringBuffer(); - args = new HashMap<>(); - sql.append("SELECT "); - sql.append("DEPOT_ID_, "); - sql.append("SETTLE_WEIGHT_, "); - sql.append("TYPE_, "); - sql.append("CUR_STORAGE_, "); - sql.append("FOOD_VARIETY_, "); - sql.append("COMPLETE_TIME_ "); - sql.append("FROM "); - sql.append("( "); - sql.append("SELECT "); - sql.append("DEPOT_ID_, "); - sql.append("SETTLE_WEIGHT_, "); - sql.append("TYPE_, "); - sql.append("CUR_STORAGE_, "); - sql.append("COMPANY_ID_, "); - sql.append("PROGRESS_, "); - sql.append("RECORD_STATUS_, "); - sql.append("DEPT_ID_, "); - sql.append("FOOD_VARIETY_, "); - sql.append("COMPLETE_TIME_ "); - sql.append("FROM "); - sql.append("d_inout_record "); - sql.append("WHERE "); - sql.append("COMPANY_ID_ =:companyId "); - sql.append("AND PROGRESS_ =:progress "); - sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); - sql.append("AND RECORD_STATUS_ <> :recordStatusError "); - sql.append("AND DEPT_ID_ = :deptId "); - sql.append("AND COMPLETE_TIME_ < :start "); - sql.append("ORDER BY COMPLETE_TIME_ DESC "); - sql.append("LIMIT 9999 "); - sql.append(") AS a "); - sql.append("GROUP BY "); - sql.append("a.DEPOT_ID_ "); + if (null == data || data.isEmpty()) + return data; - args.put("deptId", deptId); - args.put("companyId", ContextUtil.getCompanyId()); - args.put("progress", InoutConstant.PROGRESS_RECORD); - args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); - args.put("recordStatusError", InoutConstant.RECORD_STATUS_ERROR); - // 鑾峰彇璺濈寮�濮嬫椂闂翠箙鏈�杩戠殑鏁版嵁锛屽綋鍓嶅ぉ鐨勭浜斿垎閽� - Date date = DateUtil.getCurZero(start); - args.put("start", DateUtils.addMinutes(date, 5)); + // 鏍规嵁寮�濮嬫椂闂磋幏鍙栬窛绂绘渶杩戠殑杞﹁締淇℃伅锛岃幏鍙栧垵鏈熷簱瀛� + sql = new StringBuffer(); + args = new HashMap<>(); + sql.append("SELECT "); + sql.append("DEPOT_ID_, "); + sql.append("SETTLE_WEIGHT_, "); + sql.append("TYPE_, "); + sql.append("CUR_STORAGE_, "); + sql.append("FOOD_VARIETY_, "); + sql.append("COMPLETE_TIME_ "); + sql.append("FROM "); + sql.append("( "); + sql.append("SELECT "); + sql.append("DEPOT_ID_, "); + sql.append("SETTLE_WEIGHT_, "); + sql.append("TYPE_, "); + sql.append("CUR_STORAGE_, "); + sql.append("COMPANY_ID_, "); + sql.append("PROGRESS_, "); + sql.append("RECORD_STATUS_, "); + sql.append("DEPT_ID_, "); + sql.append("FOOD_VARIETY_, "); + sql.append("COMPLETE_TIME_ "); + sql.append("FROM "); + sql.append("d_inout_record "); + sql.append("WHERE "); + sql.append("COMPANY_ID_ =:companyId "); + sql.append("AND PROGRESS_ =:progress "); + sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); + sql.append("AND DEPT_ID_ = :deptId "); + sql.append("AND COMPLETE_TIME_ < :start "); + sql.append("ORDER BY COMPLETE_TIME_ DESC "); + sql.append("LIMIT 9999 "); + sql.append(") AS a "); + sql.append("GROUP BY "); + sql.append("a.DEPOT_ID_ "); - log.debug("====鎵цSLQ2={}", sql.toString()); - List<ReportInoutStorageData> list1 = this - .getNamedParameterJdbcTemplate().query(sql.toString(), args, - new ReportInoutStorageRowMapper()); + args.put("deptId", deptId); + args.put("companyId", ContextUtil.getCompanyId()); + args.put("progress", InoutConstant.PROGRESS_RECORD); + args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); + // 鑾峰彇璺濈寮�濮嬫椂闂翠箙鏈�杩戠殑鏁版嵁锛屽綋鍓嶅ぉ鐨勭浜斿垎閽� + Date date = DateUtil.getCurZero(start); + args.put("start", DateUtils.addMinutes(date, 5)); - // 鑾峰彇鏈熸湯搴撳瓨锛岃幏鍙栬窛绂荤粨鏉熸椂闂存渶杩戠殑涓�鏉℃暟鎹� - sql = new StringBuffer(); - args = new HashMap<>(); - sql.append("SELECT "); - sql.append("DEPOT_ID_, "); - sql.append("SETTLE_WEIGHT_, "); - sql.append("TYPE_, "); - sql.append("CUR_STORAGE_, "); - sql.append("FOOD_VARIETY_, "); - sql.append("COMPLETE_TIME_ "); - sql.append("FROM "); - sql.append("( "); - sql.append("SELECT "); - sql.append("DEPOT_ID_, "); - sql.append("SETTLE_WEIGHT_, "); - sql.append("TYPE_, "); - sql.append("CUR_STORAGE_, "); - sql.append("COMPANY_ID_, "); - sql.append("PROGRESS_, "); - sql.append("RECORD_STATUS_, "); - sql.append("DEPT_ID_, "); - sql.append("FOOD_VARIETY_, "); - sql.append("COMPLETE_TIME_ "); - sql.append("FROM "); - sql.append("d_inout_record "); - sql.append("WHERE "); - sql.append("COMPANY_ID_ =:companyId "); - sql.append("AND PROGRESS_ =:progress "); - sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); - sql.append("AND RECORD_STATUS_ <> :recordStatusError "); - sql.append("AND DEPT_ID_ = :deptId "); - sql.append("AND COMPLETE_TIME_ <:end "); - sql.append("ORDER BY COMPLETE_TIME_ DESC "); - sql.append("LIMIT 9999 "); - sql.append(") AS a "); - sql.append("GROUP BY "); - sql.append("a.DEPOT_ID_ "); + log.debug("====鎵цSLQ2={}", sql.toString()); + List<ReportInoutStorageData> list1 = this + .getNamedParameterJdbcTemplate().query(sql.toString(), args, + new ReportInoutStorageRowMapper()); - args.put("deptId", deptId); - args.put("companyId", ContextUtil.getCompanyId()); - args.put("progress", InoutConstant.PROGRESS_RECORD); - args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); - args.put("recordStatusError", InoutConstant.RECORD_STATUS_ERROR); - args.put("end", DateUtil.getNextZero(end)); + // 鑾峰彇鏈熸湯搴撳瓨锛岃幏鍙栬窛绂荤粨鏉熸椂闂存渶杩戠殑涓�鏉℃暟鎹� + sql = new StringBuffer(); + args = new HashMap<>(); + sql.append("SELECT "); + sql.append("DEPOT_ID_, "); + sql.append("SETTLE_WEIGHT_, "); + sql.append("TYPE_, "); + sql.append("CUR_STORAGE_, "); + sql.append("FOOD_VARIETY_, "); + sql.append("COMPLETE_TIME_ "); + sql.append("FROM "); + sql.append("( "); + sql.append("SELECT "); + sql.append("DEPOT_ID_, "); + sql.append("SETTLE_WEIGHT_, "); + sql.append("TYPE_, "); + sql.append("CUR_STORAGE_, "); + sql.append("COMPANY_ID_, "); + sql.append("PROGRESS_, "); + sql.append("RECORD_STATUS_, "); + sql.append("DEPT_ID_, "); + sql.append("FOOD_VARIETY_, "); + sql.append("COMPLETE_TIME_ "); + sql.append("FROM "); + sql.append("d_inout_record "); + sql.append("WHERE "); + sql.append("COMPANY_ID_ =:companyId "); + sql.append("AND PROGRESS_ =:progress "); + sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); + sql.append("AND DEPT_ID_ = :deptId "); + sql.append("AND COMPLETE_TIME_ <:end "); + sql.append("ORDER BY COMPLETE_TIME_ DESC "); + sql.append("LIMIT 9999 "); + sql.append(") AS a "); + sql.append("GROUP BY "); + sql.append("a.DEPOT_ID_ "); - log.debug("====鎵цSLQ3={}", sql.toString()); + args.put("deptId", deptId); + args.put("companyId", ContextUtil.getCompanyId()); + args.put("progress", InoutConstant.PROGRESS_RECORD); + args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); + args.put("end", DateUtil.getNextZero(end)); - List<ReportInoutStorageData> list2 = this - .getNamedParameterJdbcTemplate().query(sql.toString(), args, - new ReportInoutStorageRowMapper()); + log.debug("====鎵цSLQ3={}", sql.toString()); - // 璋冩暣鏈熸湯搴撳瓨鍜屽垵鏈熷簱瀛樹互鍙婂悎璁′俊鎭� - updateDepotReport(data, list1, list2); + List<ReportInoutStorageData> list2 = this + .getNamedParameterJdbcTemplate().query(sql.toString(), args, + new ReportInoutStorageRowMapper()); - return data; - } + // 璋冩暣鏈熸湯搴撳瓨鍜屽垵鏈熷簱瀛樹互鍙婂悎璁′俊鎭� + updateDepotReport(data, list1, list2); - private void updateDepotReport(List<ReportInoutDepotData> data, - List<ReportInoutStorageData> list1, - List<ReportInoutStorageData> list2) { - ReportInoutDepotData sum = new ReportInoutDepotData(); - int index = 1; - for (ReportInoutDepotData d : data) { - // 璁剧疆搴忓彿 - d.setRemarks(String.valueOf(index)); - // 褰撳墠鏁版嵁娣诲姞鍒濇湡搴撳瓨 - d = this.updateDepotReportCqkc(d, list1); + return data; + } + + private void updateDepotReport(List<ReportInoutDepotData> data, + List<ReportInoutStorageData> list1, + List<ReportInoutStorageData> list2) { + ReportInoutDepotData sum = new ReportInoutDepotData(); + int index = 1; + for (ReportInoutDepotData d : data) { + // 璁剧疆搴忓彿 + d.setRemarks(String.valueOf(index)); + // 褰撳墠鏁版嵁娣诲姞鍒濇湡搴撳瓨 + d = this.updateDepotReportCqkc(d, list1); // d = this.updateDepotReportQmkc(d, list2); - // 鍚堣淇℃伅 - sum.setCqkc(sum.getCqkc() + d.getCqkc()); - sum.setInNum(sum.getInNum() + d.getInNum()); - sum.setOverNum(sum.getOverNum() + d.getOverNum()); - sum.setInSum(sum.getInSum() + d.getInSum()); - sum.setOutNum(sum.getOutNum() + d.getOutNum()); - sum.setLossNum(sum.getLossNum() + d.getLossNum()); - sum.setOutSum(sum.getOutSum() + d.getOutSum()); - sum.setQmkc(sum.getQmkc() + d.getQmkc()); - index++; - } - sum.setDepotName("鍚堣"); - data.add(sum); - } + // 鍚堣淇℃伅 + sum.setCqkc(sum.getCqkc() + d.getCqkc()); + sum.setInNum(sum.getInNum() + d.getInNum()); + sum.setOverNum(sum.getOverNum() + d.getOverNum()); + sum.setInSum(sum.getInSum() + d.getInSum()); + sum.setOutNum(sum.getOutNum() + d.getOutNum()); + sum.setLossNum(sum.getLossNum() + d.getLossNum()); + sum.setOutSum(sum.getOutSum() + d.getOutSum()); + sum.setQmkc(sum.getQmkc() + d.getQmkc()); + index++; + } + sum.setDepotName("鍚堣"); + data.add(sum); + } - // 娉ㄦ剰锛氬鏋滄湡鏈簱瀛樻病鏈変复杩戞暟鎹紝鍒欒〃绀鸿幏鍙栨渶鏂扮殑搴撳瓨 - private ReportInoutDepotData updateDepotReportQmkc(ReportInoutDepotData d, - List<ReportInoutStorageData> list2) { - ReportInoutStorageData inoutStorageData = null; - for (ReportInoutStorageData storageData : list2) { - if (storageData.getDepotId().equals(d.getDepotId())) { - inoutStorageData = storageData; - break; - } - } - if (null == inoutStorageData) { - Depot depot = depotService.getDepotById(ContextUtil.getCompanyId(), - d.getDepotId()); - d.setQmkc(null == depot.getStorageReal() ? 0.0 : depot - .getStorageReal()); - return d; - } + // 娉ㄦ剰锛氬鏋滄湡鏈簱瀛樻病鏈変复杩戞暟鎹紝鍒欒〃绀鸿幏鍙栨渶鏂扮殑搴撳瓨 + public ReportInoutDepotData updateDepotReportQmkc(ReportInoutDepotData d, + List<ReportInoutStorageData> list2) { + ReportInoutStorageData inoutStorageData = null; + for (ReportInoutStorageData storageData : list2) { + if (storageData.getDepotId().equals(d.getDepotId())) { + inoutStorageData = storageData; + break; + } + } + if (null == inoutStorageData) { + Depot depot = depotService.getDepotById(ContextUtil.getCompanyId(), + d.getDepotId()); + d.setQmkc(null == depot.getStorageReal() ? 0.0 : depot + .getStorageReal()); + return d; + } - double cmkc = inoutStorageData.getCurStorage(); - if (InoutConstant.TYPE_IN.equals(inoutStorageData.getType())) { - cmkc = inoutStorageData.getCurStorage() - + inoutStorageData.getSettleWeight(); - } - if (InoutConstant.TYPE_OUT.equals(inoutStorageData.getType())) { - cmkc = inoutStorageData.getCurStorage() - - inoutStorageData.getSettleWeight(); - } - if (Constant.LOSS_OVER_OVER.equals(inoutStorageData.getType())) { - cmkc = inoutStorageData.getCurStorage() - + inoutStorageData.getSettleWeight(); - } - if (Constant.LOSS_OVER_LOSS.equals(inoutStorageData.getType())) { - cmkc = inoutStorageData.getCurStorage() - - inoutStorageData.getSettleWeight(); - } - d.setQmkc(cmkc); + double cmkc = inoutStorageData.getCurStorage(); + if (InoutConstant.TYPE_IN.equals(inoutStorageData.getType())) { + cmkc = inoutStorageData.getCurStorage() + + inoutStorageData.getSettleWeight(); + } + if (InoutConstant.TYPE_OUT.equals(inoutStorageData.getType())) { + cmkc = inoutStorageData.getCurStorage() + - inoutStorageData.getSettleWeight(); + } + if (Constant.LOSS_OVER_OVER.equals(inoutStorageData.getType())) { + cmkc = inoutStorageData.getCurStorage() + + inoutStorageData.getSettleWeight(); + } + if (Constant.LOSS_OVER_LOSS.equals(inoutStorageData.getType())) { + cmkc = inoutStorageData.getCurStorage() + - inoutStorageData.getSettleWeight(); + } + d.setQmkc(cmkc); - return d; - } + return d; + } - private ReportInoutDepotData updateDepotReportCqkc(ReportInoutDepotData d, - List<ReportInoutStorageData> list1) { - ReportInoutStorageData inoutStorageData = null; - for (ReportInoutStorageData storageData : list1) { - if (storageData.getDepotId().equals(d.getDepotId())) { - inoutStorageData = storageData; - break; - } - } - if (null == inoutStorageData) { - d.setCqkc(0.0); - return d; - } + private ReportInoutDepotData updateDepotReportCqkc(ReportInoutDepotData d, + List<ReportInoutStorageData> list1) { + ReportInoutStorageData inoutStorageData = null; + for (ReportInoutStorageData storageData : list1) { + if (storageData.getDepotId().equals(d.getDepotId())) { + inoutStorageData = storageData; + break; + } + } + if (null == inoutStorageData) { + d.setCqkc(0.0); + return d; + } - double cqkc = inoutStorageData.getCurStorage(); - if (InoutConstant.TYPE_IN.equals(inoutStorageData.getType())) { - cqkc = inoutStorageData.getCurStorage() - + inoutStorageData.getSettleWeight(); - } + double cqkc = inoutStorageData.getCurStorage(); + if (InoutConstant.TYPE_IN.equals(inoutStorageData.getType())) { + cqkc = inoutStorageData.getCurStorage() + + inoutStorageData.getSettleWeight(); + } - if (InoutConstant.TYPE_OUT.equals(inoutStorageData.getType())) { - cqkc = inoutStorageData.getCurStorage() - - inoutStorageData.getSettleWeight(); - } + if (InoutConstant.TYPE_OUT.equals(inoutStorageData.getType())) { + cqkc = inoutStorageData.getCurStorage() + - inoutStorageData.getSettleWeight(); + } - if (Constant.LOSS_OVER_OVER.equals(inoutStorageData.getType())) { - cqkc = inoutStorageData.getCurStorage() - + inoutStorageData.getSettleWeight(); - } + if (Constant.LOSS_OVER_OVER.equals(inoutStorageData.getType())) { + cqkc = inoutStorageData.getCurStorage() + + inoutStorageData.getSettleWeight(); + } - if (Constant.LOSS_OVER_LOSS.equals(inoutStorageData.getType())) { - cqkc = inoutStorageData.getCurStorage() - - inoutStorageData.getSettleWeight(); - } - d.setCqkc(cqkc); - if (StringUtils.isEmpty(d.getFoodVarietyName()) && d.getCqkc() > 0) { - d.setFoodVarietyName(FoodVariety.getMsg(inoutStorageData - .getFoodVariety())); - d.setFoodVariety(inoutStorageData.getFoodVariety()); - } - return d; - } + if (Constant.LOSS_OVER_LOSS.equals(inoutStorageData.getType())) { + cqkc = inoutStorageData.getCurStorage() + - inoutStorageData.getSettleWeight(); + } + d.setCqkc(cqkc); + if (StringUtils.isEmpty(d.getFoodVarietyName()) && d.getCqkc() > 0) { + d.setFoodVarietyName(FoodVariety.getMsg(inoutStorageData + .getFoodVariety())); + d.setFoodVariety(inoutStorageData.getFoodVariety()); + } + return d; + } - public List<ReportInoutDepotData> getFoodVarietyData( - Map<String, Object> parameter) { + public List<ReportInoutDepotData> getFoodVarietyData( + Map<String, Object> parameter) { - // 鏃堕棿鏉′欢蹇呴』 - Date start = (Date) parameter.get("start"); - Date end = (Date) parameter.get("end"); - String deptId = (String) parameter.get("deptId"); + // 鏃堕棿鏉′欢蹇呴』 + Date start = (Date) parameter.get("start"); + Date end = (Date) parameter.get("end"); + String deptId = (String) parameter.get("deptId"); - if (start == null || end == null) - return null; + if (start == null || end == null) + return null; - StringBuffer sql = new StringBuffer(); - sql.append("SELECT "); - sql.append("'NONE' as foodType, "); - sql.append("0 as cqkc, "); - sql.append("0 as qmkc, "); - sql.append("0 as inSum, "); - sql.append("0 as outSum, "); - sql.append("a.FOOD_VARIETY_ as foodVariety, "); - sql.append("SUM( "); - sql.append("IF ( "); - sql.append("a.TYPE_ =:typeIn, "); - sql.append("a.SETTLE_WEIGHT_, "); - sql.append("0 "); - sql.append(") "); - sql.append(") AS inNum, "); - sql.append("SUM( "); - sql.append("IF ( "); - sql.append("a.TYPE_ =:typeOut, "); - sql.append("a.SETTLE_WEIGHT_, "); - sql.append("0 "); - sql.append(") "); - sql.append(") AS outNum, "); - sql.append("SUM( "); - sql.append("IF ( "); - sql.append("a.TYPE_ =:typeLoss, "); - sql.append("a.SETTLE_WEIGHT_, "); - sql.append("0 "); - sql.append(") "); - sql.append(") AS lossNum, "); - sql.append("SUM( "); - sql.append("IF ( "); - sql.append("a.TYPE_ =:typeOver, "); - sql.append("a.SETTLE_WEIGHT_, "); - sql.append("0 "); - sql.append(") "); - sql.append(") AS overNum "); - sql.append("FROM "); - sql.append("( "); - sql.append("SELECT "); - sql.append("FOOD_VARIETY_, "); - sql.append("SETTLE_WEIGHT_, "); - sql.append("TYPE_, "); - sql.append("CUR_STORAGE_ "); - sql.append("FROM "); - sql.append("d_inout_record "); - sql.append("WHERE "); - sql.append("COMPANY_ID_ =:companyId "); - sql.append("AND PROGRESS_ =:progress "); - sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); - sql.append("AND RECORD_STATUS_ <> :recordStatusError "); - sql.append("AND COMPLETE_TIME_ >= :start "); - sql.append("AND COMPLETE_TIME_ <= :end "); - sql.append("AND DEPT_ID_ = :deptId "); - sql.append("ORDER BY COMPLETE_TIME_ DESC "); - sql.append(") a "); - sql.append("GROUP BY a.FOOD_VARIETY_ "); + StringBuffer sql = new StringBuffer(); + sql.append("SELECT "); + sql.append("'NONE' as foodType, "); + sql.append("0 as cqkc, "); + sql.append("0 as qmkc, "); + sql.append("0 as inSum, "); + sql.append("0 as outSum, "); + sql.append("a.FOOD_VARIETY_ as foodVariety, "); + sql.append("SUM( "); + sql.append("IF ( "); + sql.append("a.TYPE_ =:typeIn, "); + sql.append("a.SETTLE_WEIGHT_, "); + sql.append("0 "); + sql.append(") "); + sql.append(") AS inNum, "); + sql.append("SUM( "); + sql.append("IF ( "); + sql.append("a.TYPE_ =:typeOut, "); + sql.append("a.SETTLE_WEIGHT_, "); + sql.append("0 "); + sql.append(") "); + sql.append(") AS outNum, "); + sql.append("SUM( "); + sql.append("IF ( "); + sql.append("a.TYPE_ =:typeLoss, "); + sql.append("a.SETTLE_WEIGHT_, "); + sql.append("0 "); + sql.append(") "); + sql.append(") AS lossNum, "); + sql.append("SUM( "); + sql.append("IF ( "); + sql.append("a.TYPE_ =:typeOver, "); + sql.append("a.SETTLE_WEIGHT_, "); + sql.append("0 "); + sql.append(") "); + sql.append(") AS overNum "); + sql.append("FROM "); + sql.append("( "); + sql.append("SELECT "); + sql.append("FOOD_VARIETY_, "); + sql.append("SETTLE_WEIGHT_, "); + sql.append("TYPE_, "); + sql.append("CUR_STORAGE_ "); + sql.append("FROM "); + sql.append("d_inout_record "); + sql.append("WHERE "); + sql.append("COMPANY_ID_ =:companyId "); + sql.append("AND PROGRESS_ =:progress "); + sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); + sql.append("AND COMPLETE_TIME_ >= :start "); + sql.append("AND COMPLETE_TIME_ <= :end "); + sql.append("AND DEPT_ID_ = :deptId "); + sql.append("ORDER BY COMPLETE_TIME_ DESC "); + sql.append(") a "); + sql.append("GROUP BY a.FOOD_VARIETY_ "); - Map<String, Object> args = new HashMap<>(); - args.put("deptId", deptId); - args.put("companyId", ContextUtil.getCompanyId()); - args.put("typeIn", InoutConstant.TYPE_IN); - args.put("typeOut", InoutConstant.TYPE_OUT); - args.put("typeLoss", Constant.LOSS_OVER_LOSS); - args.put("typeOver", Constant.LOSS_OVER_OVER); - args.put("progress", InoutConstant.PROGRESS_RECORD); - args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); - args.put("recordStatusError", InoutConstant.RECORD_STATUS_ERROR); - args.put("start", DateUtil.getCurZero(start)); - args.put("end", DateUtil.getNextZero(end)); + Map<String, Object> args = new HashMap<>(); + args.put("deptId", deptId); + args.put("companyId", ContextUtil.getCompanyId()); + args.put("typeIn", InoutConstant.TYPE_IN); + args.put("typeOut", InoutConstant.TYPE_OUT); + args.put("typeLoss", Constant.LOSS_OVER_LOSS); + args.put("typeOver", Constant.LOSS_OVER_OVER); + args.put("progress", InoutConstant.PROGRESS_RECORD); + args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); + args.put("start", DateUtil.getCurZero(start)); + args.put("end", DateUtil.getNextZero(end)); - log.debug("====鎵цSLQ1={}锛屽弬鏁�={}", sql.toString(),args); + log.debug("====鎵цSLQ1={}锛屽弬鏁�={}", sql.toString(), args); - List<ReportInoutDepotData> data = this.getNamedParameterJdbcTemplate() - .query(sql.toString(), args, new ReportFoodVarietyRowMapper()); + List<ReportInoutDepotData> data = this.getNamedParameterJdbcTemplate() + .query(sql.toString(), args, new ReportFoodVarietyRowMapper()); - // 鏍规嵁寮�濮嬫椂闂磋幏鍙栬窛绂绘渶杩戠殑杞﹁締淇℃伅锛岃幏鍙栧垵鏈熷簱瀛� - sql = new StringBuffer(); - args = new HashMap<>(); - sql.append("SELECT "); - sql.append("DEPOT_ID_, "); - sql.append("SETTLE_WEIGHT_, "); - sql.append("TYPE_, "); - sql.append("CUR_STORAGE_, "); - sql.append("FOOD_VARIETY_, "); - sql.append("COMPLETE_TIME_ "); - sql.append("FROM "); - sql.append("( "); - sql.append("SELECT "); - sql.append("DEPOT_ID_, "); - sql.append("SETTLE_WEIGHT_, "); - sql.append("TYPE_, "); - sql.append("CUR_STORAGE_, "); - sql.append("COMPANY_ID_, "); - sql.append("PROGRESS_, "); - sql.append("RECORD_STATUS_, "); - sql.append("DEPT_ID_, "); - sql.append("FOOD_VARIETY_, "); - sql.append("COMPLETE_TIME_ "); - sql.append("FROM "); - sql.append("d_inout_record "); - sql.append("WHERE "); - sql.append("COMPANY_ID_ =:companyId "); - sql.append("AND PROGRESS_ =:progress "); - sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); - sql.append("AND RECORD_STATUS_ <> :recordStatusError "); - sql.append("AND DEPT_ID_ = :deptId "); - sql.append("AND COMPLETE_TIME_ < :start "); - sql.append("ORDER BY COMPLETE_TIME_ DESC "); - sql.append("LIMIT 9999 "); - sql.append(") AS a "); - sql.append("GROUP BY "); - sql.append("a.DEPOT_ID_ "); + // 鏍规嵁寮�濮嬫椂闂磋幏鍙栬窛绂绘渶杩戠殑杞﹁締淇℃伅锛岃幏鍙栧垵鏈熷簱瀛� + sql = new StringBuffer(); + args = new HashMap<>(); + sql.append("SELECT "); + sql.append("DEPOT_ID_, "); + sql.append("SETTLE_WEIGHT_, "); + sql.append("TYPE_, "); + sql.append("CUR_STORAGE_, "); + sql.append("FOOD_VARIETY_, "); + sql.append("COMPLETE_TIME_ "); + sql.append("FROM "); + sql.append("( "); + sql.append("SELECT "); + sql.append("DEPOT_ID_, "); + sql.append("SETTLE_WEIGHT_, "); + sql.append("TYPE_, "); + sql.append("CUR_STORAGE_, "); + sql.append("COMPANY_ID_, "); + sql.append("PROGRESS_, "); + sql.append("RECORD_STATUS_, "); + sql.append("DEPT_ID_, "); + sql.append("FOOD_VARIETY_, "); + sql.append("COMPLETE_TIME_ "); + sql.append("FROM "); + sql.append("d_inout_record "); + sql.append("WHERE "); + sql.append("COMPANY_ID_ =:companyId "); + sql.append("AND PROGRESS_ =:progress "); + sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); + sql.append("AND DEPT_ID_ = :deptId "); + sql.append("AND COMPLETE_TIME_ < :start "); + sql.append("ORDER BY COMPLETE_TIME_ DESC "); + sql.append("LIMIT 9999 "); + sql.append(") AS a "); + sql.append("GROUP BY "); + sql.append("a.DEPOT_ID_ "); - args.put("deptId", deptId); - args.put("companyId", ContextUtil.getCompanyId()); - args.put("progress", InoutConstant.PROGRESS_RECORD); - args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); - args.put("recordStatusError", InoutConstant.RECORD_STATUS_ERROR); - // 鑾峰彇璺濈寮�濮嬫椂闂翠箙鏈�杩戠殑鏁版嵁锛屽綋鍓嶅ぉ鐨勭浜斿垎閽� - Date date = DateUtil.getCurZero(start); - args.put("start", DateUtils.addMinutes(date, 5)); + args.put("deptId", deptId); + args.put("companyId", ContextUtil.getCompanyId()); + args.put("progress", InoutConstant.PROGRESS_RECORD); + args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); + // 鑾峰彇璺濈寮�濮嬫椂闂翠箙鏈�杩戠殑鏁版嵁锛屽綋鍓嶅ぉ鐨勭浜斿垎閽� + Date date = DateUtil.getCurZero(start); + args.put("start", DateUtils.addMinutes(date, 5)); - log.debug("====鎵цSLQ2={}", sql.toString()); + log.debug("====鎵цSLQ2={}", sql.toString()); - List<ReportInoutStorageData> list1 = this - .getNamedParameterJdbcTemplate().query(sql.toString(), args, - new ReportInoutStorageRowMapper()); + List<ReportInoutStorageData> list1 = this + .getNamedParameterJdbcTemplate().query(sql.toString(), args, + new ReportInoutStorageRowMapper()); - // 鑾峰彇鏈熸湯搴撳瓨锛岃幏鍙栬窛绂荤粨鏉熸椂闂存渶杩戠殑涓�鏉℃暟鎹� - sql = new StringBuffer(); - args = new HashMap<>(); - sql.append("SELECT "); - sql.append("DEPOT_ID_, "); - sql.append("SETTLE_WEIGHT_, "); - sql.append("TYPE_, "); - sql.append("CUR_STORAGE_, "); - sql.append("FOOD_VARIETY_, "); - sql.append("COMPLETE_TIME_ "); - sql.append("FROM "); - sql.append("( "); - sql.append("SELECT "); - sql.append("DEPOT_ID_, "); - sql.append("SETTLE_WEIGHT_, "); - sql.append("TYPE_, "); - sql.append("CUR_STORAGE_, "); - sql.append("COMPANY_ID_, "); - sql.append("PROGRESS_, "); - sql.append("RECORD_STATUS_, "); - sql.append("DEPT_ID_, "); - sql.append("FOOD_VARIETY_, "); - sql.append("COMPLETE_TIME_ "); - sql.append("FROM "); - sql.append("d_inout_record "); - sql.append("WHERE "); - sql.append("COMPANY_ID_ =:companyId "); - sql.append("AND PROGRESS_ =:progress "); - sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); - sql.append("AND RECORD_STATUS_ <> :recordStatusError "); - sql.append("AND DEPT_ID_ = :deptId "); - sql.append("AND COMPLETE_TIME_ < :end "); - sql.append("ORDER BY COMPLETE_TIME_ DESC "); - sql.append("LIMIT 9999 "); - sql.append(") AS a "); - sql.append("GROUP BY "); - sql.append("a.DEPOT_ID_ "); + // 鑾峰彇鏈熸湯搴撳瓨锛岃幏鍙栬窛绂荤粨鏉熸椂闂存渶杩戠殑涓�鏉℃暟鎹� + sql = new StringBuffer(); + args = new HashMap<>(); + sql.append("SELECT "); + sql.append("DEPOT_ID_, "); + sql.append("SETTLE_WEIGHT_, "); + sql.append("TYPE_, "); + sql.append("CUR_STORAGE_, "); + sql.append("FOOD_VARIETY_, "); + sql.append("COMPLETE_TIME_ "); + sql.append("FROM "); + sql.append("( "); + sql.append("SELECT "); + sql.append("DEPOT_ID_, "); + sql.append("SETTLE_WEIGHT_, "); + sql.append("TYPE_, "); + sql.append("CUR_STORAGE_, "); + sql.append("COMPANY_ID_, "); + sql.append("PROGRESS_, "); + sql.append("RECORD_STATUS_, "); + sql.append("DEPT_ID_, "); + sql.append("FOOD_VARIETY_, "); + sql.append("COMPLETE_TIME_ "); + sql.append("FROM "); + sql.append("d_inout_record "); + sql.append("WHERE "); + sql.append("COMPANY_ID_ =:companyId "); + sql.append("AND PROGRESS_ =:progress "); + sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); + sql.append("AND DEPT_ID_ = :deptId "); + sql.append("AND COMPLETE_TIME_ < :end "); + sql.append("ORDER BY COMPLETE_TIME_ DESC "); + sql.append("LIMIT 9999 "); + sql.append(") AS a "); + sql.append("GROUP BY "); + sql.append("a.DEPOT_ID_ "); - args.put("deptId", deptId); - args.put("companyId", ContextUtil.getCompanyId()); - args.put("progress", InoutConstant.PROGRESS_RECORD); - args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); - args.put("recordStatusError", InoutConstant.RECORD_STATUS_ERROR); - args.put("end", DateUtil.getNextZero(end)); + args.put("deptId", deptId); + args.put("companyId", ContextUtil.getCompanyId()); + args.put("progress", InoutConstant.PROGRESS_RECORD); + args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); + args.put("end", DateUtil.getNextZero(end)); - log.debug("====鎵цSLQ3={}", sql.toString()); + log.debug("====鎵цSLQ3={}", sql.toString()); - List<ReportInoutStorageData> list2 = this - .getNamedParameterJdbcTemplate().query(sql.toString(), args, - new ReportInoutStorageRowMapper()); + List<ReportInoutStorageData> list2 = this + .getNamedParameterJdbcTemplate().query(sql.toString(), args, + new ReportInoutStorageRowMapper()); - return updateFoodVarietySum(data, list1, list2); + return updateFoodVarietySum(data, list1, list2); - } + } - @SuppressWarnings("unused") - private List<ReportInoutDepotData> updateFoodVarietySum( - List<ReportInoutDepotData> datas, - List<ReportInoutStorageData> list1, - List<ReportInoutStorageData> list2) { + @SuppressWarnings("unused") + private List<ReportInoutDepotData> updateFoodVarietySum( + List<ReportInoutDepotData> datas, + List<ReportInoutStorageData> list1, + List<ReportInoutStorageData> list2) { - // 璋冩暣鍒濇湡搴撳瓨 - Map<String, Double> map1 = new HashMap<>(); - if (null != list1) { - for (ReportInoutStorageData data : list1) { - if (null == map1.get(data.getFoodVariety())) { - map1.put(data.getFoodVariety(), 0.0); - } - double cqkc = data.getCurStorage(); - if (InoutConstant.TYPE_IN.equals(data.getType())) { - cqkc = data.getCurStorage() + data.getSettleWeight(); - } - if (InoutConstant.TYPE_OUT.equals(data.getType())) { - cqkc = data.getCurStorage() - data.getSettleWeight(); - } - if (Constant.LOSS_OVER_OVER.equals(data.getType())) { - cqkc = data.getCurStorage() + data.getSettleWeight(); - } - if (Constant.LOSS_OVER_LOSS.equals(data.getType())) { - cqkc = data.getCurStorage() - data.getSettleWeight(); - } - map1.put(data.getFoodVariety(), map1.get(data.getFoodVariety()) - + cqkc); - } - } + // 璋冩暣鍒濇湡搴撳瓨 + Map<String, Double> map1 = new HashMap<>(); + if (null != list1) { + for (ReportInoutStorageData data : list1) { + if (null == map1.get(data.getFoodVariety())) { + map1.put(data.getFoodVariety(), 0.0); + } + double cqkc = data.getCurStorage(); + if (InoutConstant.TYPE_IN.equals(data.getType())) { + cqkc = data.getCurStorage() + data.getSettleWeight(); + } + if (InoutConstant.TYPE_OUT.equals(data.getType())) { + cqkc = data.getCurStorage() - data.getSettleWeight(); + } + if (Constant.LOSS_OVER_OVER.equals(data.getType())) { + cqkc = data.getCurStorage() + data.getSettleWeight(); + } + if (Constant.LOSS_OVER_LOSS.equals(data.getType())) { + cqkc = data.getCurStorage() - data.getSettleWeight(); + } + map1.put(data.getFoodVariety(), map1.get(data.getFoodVariety()) + + cqkc); + } + } - // 璋冩暣鏈熸湯搴撳瓨 - Map<String, Double> map2 = new HashMap<String, Double>(); - if (null != list2) { - Depot depot = null; - for (ReportInoutStorageData data : list2) { - if (null == map2.get(data.getFoodVariety())) { - map2.put(data.getFoodVariety(), 0.0); - } - double cmkc = data.getCurStorage(); - if (InoutConstant.TYPE_IN.equals(data.getType())) { - cmkc = data.getCurStorage() + data.getSettleWeight(); - } - if (InoutConstant.TYPE_OUT.equals(data.getType())) { - cmkc = data.getCurStorage() - data.getSettleWeight(); - } - if (Constant.LOSS_OVER_OVER.equals(data.getType())) { - cmkc = data.getCurStorage() + data.getSettleWeight(); - } - if (Constant.LOSS_OVER_LOSS.equals(data.getType())) { - cmkc = data.getCurStorage() - data.getSettleWeight(); - } - map2.put(data.getFoodVariety(), map2.get(data.getFoodVariety()) - + cmkc); - } - } + // 璋冩暣鏈熸湯搴撳瓨 + Map<String, Double> map2 = new HashMap<String, Double>(); + if (null != list2) { + Depot depot = null; + for (ReportInoutStorageData data : list2) { + if (null == map2.get(data.getFoodVariety())) { + map2.put(data.getFoodVariety(), 0.0); + } + double cmkc = data.getCurStorage(); + if (InoutConstant.TYPE_IN.equals(data.getType())) { + cmkc = data.getCurStorage() + data.getSettleWeight(); + } + if (InoutConstant.TYPE_OUT.equals(data.getType())) { + cmkc = data.getCurStorage() - data.getSettleWeight(); + } + if (Constant.LOSS_OVER_OVER.equals(data.getType())) { + cmkc = data.getCurStorage() + data.getSettleWeight(); + } + if (Constant.LOSS_OVER_LOSS.equals(data.getType())) { + cmkc = data.getCurStorage() - data.getSettleWeight(); + } + map2.put(data.getFoodVariety(), map2.get(data.getFoodVariety()) + + cmkc); + } + } - //鍒ゆ柇鍒濇湡搴撳瓨绮绉嶇被鏁版槸鍚﹁窡鍑哄叆搴撶伯椋熺绫绘暟鐩哥瓑 - if(datas.size() != map1.size()){ - ReportInoutDepotData report; - for (String s : map1.keySet()) { - boolean flag = true; - for (ReportInoutDepotData data : datas) { - if(StringUtils.isNotEmpty(data.getFoodVariety()) && data.getFoodVariety().equals(s)){ - flag = false; - break; - } - } - if (flag){ - report = new ReportInoutDepotData(); - report.setFoodType("NONE"); - report.setFoodVariety(s); - report.setFoodVarietyName(FoodVariety.getMsg(s)); - datas.add(report); - } - } - } + //鍒ゆ柇鍒濇湡搴撳瓨绮绉嶇被鏁版槸鍚﹁窡鍑哄叆搴撶伯椋熺绫绘暟鐩哥瓑 + if (datas.size() != map1.size()) { + ReportInoutDepotData report; + for (String s : map1.keySet()) { + boolean flag = true; + for (ReportInoutDepotData data : datas) { + if (StringUtils.isNotEmpty(data.getFoodVariety()) && data.getFoodVariety().equals(s)) { + flag = false; + break; + } + } + if (flag) { + report = new ReportInoutDepotData(); + report.setFoodType("NONE"); + report.setFoodVariety(s); + report.setFoodVarietyName(FoodVariety.getMsg(s)); + datas.add(report); + } + } + } - if (null == datas || datas.isEmpty()){ - return datas; - } + if (null == datas || datas.isEmpty()) { + return datas; + } - ReportInoutDepotData sum = new ReportInoutDepotData(); - sum.setFoodVarietyName("鍚堣"); - int index = 1; - for (ReportInoutDepotData data : datas) { - if(StringUtils.isNotEmpty(data.getFoodVariety())){ - // 璁剧疆搴忓彿 - data.setRemarks(String.valueOf(index)); - index++; - data.setOutSum(data.getOutNum() + data.getLossNum()); - data.setInSum(data.getInNum() + data.getOverNum()); + ReportInoutDepotData sum = new ReportInoutDepotData(); + sum.setFoodVarietyName("鍚堣"); + int index = 1; + for (ReportInoutDepotData data : datas) { + if (StringUtils.isNotEmpty(data.getFoodVariety())) { + // 璁剧疆搴忓彿 + data.setRemarks(String.valueOf(index)); + index++; + data.setOutSum(data.getOutNum() + data.getLossNum()); + data.setInSum(data.getInNum() + data.getOverNum()); - // 璋冩暣鏈熸湯搴撳瓨鍜屾湡鍒濆簱瀛� - data.setCqkc(map1.get(data.getFoodVariety()) == null ? 0.0:map1.get(data.getFoodVariety())); - data.setQmkc(map2.get(data.getFoodVariety()) == null ? 0.0:map2.get(data.getFoodVariety())); + // 璋冩暣鏈熸湯搴撳瓨鍜屾湡鍒濆簱瀛� + data.setCqkc(map1.get(data.getFoodVariety()) == null ? 0.0 : map1.get(data.getFoodVariety())); + data.setQmkc(map2.get(data.getFoodVariety()) == null ? 0.0 : map2.get(data.getFoodVariety())); - // 鍒濇湡搴撳瓨 - sum.setCqkc(sum.getCqkc() + data.getCqkc()); - // 鏈熸湯搴撳瓨 - sum.setQmkc(sum.getQmkc() + data.getQmkc()); - sum.setInNum(sum.getInNum() + data.getInNum()); - sum.setOutNum(sum.getOutNum() + data.getOutNum()); - sum.setInSum(sum.getInSum() + data.getInSum()); - sum.setOutSum(sum.getOutSum() + data.getOutSum()); - sum.setLossNum(sum.getLossNum() + data.getLossNum()); - sum.setOverNum(sum.getOverNum() + data.getOverNum()); - } - } - datas.add(sum); + // 鍒濇湡搴撳瓨 + sum.setCqkc(sum.getCqkc() + data.getCqkc()); + // 鏈熸湯搴撳瓨 + sum.setQmkc(sum.getQmkc() + data.getQmkc()); + sum.setInNum(sum.getInNum() + data.getInNum()); + sum.setOutNum(sum.getOutNum() + data.getOutNum()); + sum.setInSum(sum.getInSum() + data.getInSum()); + sum.setOutSum(sum.getOutSum() + data.getOutSum()); + sum.setLossNum(sum.getLossNum() + data.getLossNum()); + sum.setOverNum(sum.getOverNum() + data.getOverNum()); + } + } + datas.add(sum); - return datas; - } + return datas; + } - public List<ReportInoutShipData> listShipDetail(Map<String, Object> parameter) { + public List<ReportInoutShipData> listShipDetail(Map<String, Object> parameter) { - // 鏃堕棿鏉′欢蹇呴』 - Date start = (Date) parameter.get("start"); - Date end = (Date) parameter.get("end"); - if (start == null || end == null){ - return null; - } + // 鏃堕棿鏉′欢蹇呴』 + Date start = (Date) parameter.get("start"); + Date end = (Date) parameter.get("end"); + if (start == null || end == null) { + return null; + } - StringBuffer sql = new StringBuffer(); - sql.append("SELECT "); - sql.append("ID_, "); - sql.append("PLATE_NUM_, "); - sql.append("CUSTOMER_ID_, "); - sql.append("CUSTOMER_NAME_, "); - sql.append("FOOD_VARIETY_, "); - sql.append("DEPOT_ID_, "); - sql.append("TYPE_, "); - sql.append("PROGRESS_, "); - sql.append("FULL_WEIGHT_, "); - sql.append("EMPTY_WEIGHT_, "); - sql.append("NET_WEIGHT_, "); - sql.append("DE_SUM_, "); - sql.append("SETTLE_WEIGHT_, "); - sql.append("COMPLETE_TIME_ "); - sql.append("FROM "); - sql.append("d_inout_record "); - sql.append("WHERE "); - sql.append("TRANS_TYPE_ =:transType "); - sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); - sql.append("AND RECORD_STATUS_ <> :recordStatusError "); - sql.append("AND TYPE_ <> :typeNone "); - sql.append("AND TYPE_ <> :typeLoss "); - sql.append("AND TYPE_ <> :typeOver "); - sql.append("AND COMPANY_ID_ =:companyId "); - sql.append("AND REGISTER_TIME_ >= :start "); - sql.append("AND REGISTER_TIME_ <= :end "); + StringBuffer sql = new StringBuffer(); + sql.append("SELECT "); + sql.append("ID_, "); + sql.append("PLATE_NUM_, "); + sql.append("CUSTOMER_ID_, "); + sql.append("CUSTOMER_NAME_, "); + sql.append("FOOD_VARIETY_, "); + sql.append("DEPOT_ID_, "); + sql.append("TYPE_, "); + sql.append("PROGRESS_, "); + sql.append("FULL_WEIGHT_, "); + sql.append("EMPTY_WEIGHT_, "); + sql.append("NET_WEIGHT_, "); + sql.append("DE_SUM_, "); + sql.append("SETTLE_WEIGHT_, "); + sql.append("COMPLETE_TIME_ "); + sql.append("FROM "); + sql.append("d_inout_record "); + sql.append("WHERE "); + sql.append("TRANS_TYPE_ =:transType "); + sql.append("AND RECORD_STATUS_ <> :recordStatusDel "); + sql.append("AND TYPE_ <> :typeNone "); + sql.append("AND TYPE_ <> :typeLoss "); + sql.append("AND TYPE_ <> :typeOver "); + sql.append("AND COMPANY_ID_ =:companyId "); + sql.append("AND REGISTER_TIME_ >= :start "); + sql.append("AND REGISTER_TIME_ <= :end "); - Map<String, Object> args = new HashMap<>(); - args.put("transType", TransType.TYPE_3.getCode()); - args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); - args.put("recordStatusError", InoutConstant.RECORD_STATUS_ERROR); - args.put("typeNone", InoutConstant.TYPE_NONE); - args.put("typeLoss", Constant.LOSS_OVER_LOSS); - args.put("typeOver", Constant.LOSS_OVER_OVER); - args.put("companyId", ContextUtil.getCompanyId()); - args.put("start", DateUtil.getCurZero(start)); - args.put("end", DateUtil.getNextZero(end)); + Map<String, Object> args = new HashMap<>(); + args.put("transType", TransType.TYPE_3.getCode()); + args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); + args.put("typeNone", InoutConstant.TYPE_NONE); + args.put("typeLoss", Constant.LOSS_OVER_LOSS); + args.put("typeOver", Constant.LOSS_OVER_OVER); + args.put("companyId", ContextUtil.getCompanyId()); + args.put("start", DateUtil.getCurZero(start)); + args.put("end", DateUtil.getNextZero(end)); - String str = (String) parameter.get("deptId"); - if(StringUtils.isNotEmpty(str)){ - sql.append("AND DEPT_ID_ =:deptId "); - args.put("deptId", str); - } - str = (String) parameter.get("type"); - if(StringUtils.isNotEmpty(str)){ - sql.append("AND TYPE_ =:type "); - args.put("type", str); - } - str = (String) parameter.get("customerId"); - if(StringUtils.isNotEmpty(str)){ - sql.append("AND CUSTOMER_ID_ =:customerId "); - args.put("customerId", str); - } - str = (String) parameter.get("plateNum"); - if(StringUtils.isNotEmpty(str)){ - sql.append("AND PLATE_NUM_ like:plateNum "); - args.put("plateNum", "%" + str + "%"); - } - sql.append("ORDER BY ID_ DESC "); + String str = (String) parameter.get("deptId"); + if (StringUtils.isNotEmpty(str)) { + sql.append("AND DEPT_ID_ =:deptId "); + args.put("deptId", str); + } + str = (String) parameter.get("type"); + if (StringUtils.isNotEmpty(str)) { + sql.append("AND TYPE_ =:type "); + args.put("type", str); + } + str = (String) parameter.get("customerId"); + if (StringUtils.isNotEmpty(str)) { + sql.append("AND CUSTOMER_ID_ =:customerId "); + args.put("customerId", str); + } + str = (String) parameter.get("plateNum"); + if (StringUtils.isNotEmpty(str)) { + sql.append("AND PLATE_NUM_ like:plateNum "); + args.put("plateNum", "%" + str + "%"); + } + sql.append("ORDER BY ID_ DESC "); - log.debug("====鎵цSLQ锛屾煡璇㈡祦姘翠富琛ㄤ俊鎭�={}锛屽弬鏁�={}", sql.toString(),args); + log.debug("====鎵цSLQ锛屾煡璇㈡祦姘翠富琛ㄤ俊鎭�={}锛屽弬鏁�={}", sql.toString(), args); - List<ReportInoutShipData> list1 = this.getNamedParameterJdbcTemplate().query(sql.toString(), args, new ReportInoutShipRowMapper1()); + List<ReportInoutShipData> list1 = this.getNamedParameterJdbcTemplate().query(sql.toString(), args, new ReportInoutShipRowMapper1()); - if (null == list1 || list1.isEmpty()){ - return null; - } - String depotId = (String) parameter.get("depotId"); - String carNum = (String) parameter.get("carNum"); - List<ReportInoutShipData> list = new ArrayList<>(); - List<ReportInoutShipData> list2; - int index = 1; - //鍚堣淇℃伅 - ReportInoutShipData hj = new ReportInoutShipData(); - hj.setId("鍚堣"); - for (ReportInoutShipData shipData : list1) { - list2 = this.listShipRecordItem(shipData.getId(), depotId, carNum); - if(null == list2 || list2.isEmpty()){ - continue; - } - if(!InoutConstant.PROGRESS_RECORD.equals(shipData.getProgress())){ - //娴佺▼鏈畬鎴愶紝缁熻閲嶉噺淇℃伅 - for (ReportInoutShipData shipItem : list2) { - shipData.setFullWeight(shipData.getFullWeight() + shipItem.getFullWeight()); - shipData.setEmptyWeight(shipData.getEmptyWeight() + shipItem.getEmptyWeight()); - shipData.setNetWeight(shipData.getNetWeight() + shipItem.getNetWeight()); - shipData.setDeSum(shipData.getDeSum() + shipItem.getDeSum()); - shipData.setSettleWeight(shipData.getSettleWeight() + shipItem.getSettleWeight()); - } - } + if (null == list1 || list1.isEmpty()) { + return null; + } + String depotId = (String) parameter.get("depotId"); + String carNum = (String) parameter.get("carNum"); + List<ReportInoutShipData> list = new ArrayList<>(); + List<ReportInoutShipData> list2; + int index = 1; + //鍚堣淇℃伅 + ReportInoutShipData hj = new ReportInoutShipData(); + hj.setId("鍚堣"); + for (ReportInoutShipData shipData : list1) { + list2 = this.listShipRecordItem(shipData.getId(), depotId, carNum); + if (null == list2 || list2.isEmpty()) { + continue; + } + if (!InoutConstant.PROGRESS_RECORD.equals(shipData.getProgress())) { + //娴佺▼鏈畬鎴愶紝缁熻閲嶉噺淇℃伅 + for (ReportInoutShipData shipItem : list2) { + shipData.setFullWeight(shipData.getFullWeight() + shipItem.getFullWeight()); + shipData.setEmptyWeight(shipData.getEmptyWeight() + shipItem.getEmptyWeight()); + shipData.setNetWeight(shipData.getNetWeight() + shipItem.getNetWeight()); + shipData.setDeSum(shipData.getDeSum() + shipItem.getDeSum()); + shipData.setSettleWeight(shipData.getSettleWeight() + shipItem.getSettleWeight()); + } + } - list.addAll(list2); - shipData.setIndex(index + ""); - list.add(shipData); - index ++; + list.addAll(list2); + shipData.setIndex(index + ""); + list.add(shipData); + index++; - //缁熻鍚堣淇℃伅 - hj.setFullWeight(hj.getFullWeight() + shipData.getFullWeight()); - hj.setEmptyWeight(hj.getEmptyWeight() + shipData.getEmptyWeight()); - hj.setNetWeight(hj.getNetWeight() + shipData.getNetWeight()); - hj.setDeSum(hj.getDeSum() + shipData.getDeSum()); - hj.setSettleWeight(hj.getSettleWeight() + shipData.getSettleWeight()); - } - list.add(hj); - return list; - } + //缁熻鍚堣淇℃伅 + hj.setFullWeight(hj.getFullWeight() + shipData.getFullWeight()); + hj.setEmptyWeight(hj.getEmptyWeight() + shipData.getEmptyWeight()); + hj.setNetWeight(hj.getNetWeight() + shipData.getNetWeight()); + hj.setDeSum(hj.getDeSum() + shipData.getDeSum()); + hj.setSettleWeight(hj.getSettleWeight() + shipData.getSettleWeight()); + } + list.add(hj); + return list; + } - public List<ReportInoutShipData> listShipRecordItem(String recordId, String depotId, String carNum) { + public List<ReportInoutShipData> listShipRecordItem(String recordId, String depotId, String carNum) { - if (StringUtils.isEmpty(recordId)){ - return null; - } + if (StringUtils.isEmpty(recordId)) { + return null; + } - StringBuffer sql = new StringBuffer(); - sql.append("SELECT "); - sql.append("DEPOT_ID_, "); - sql.append("CAR_NUM_, "); - sql.append("CAR_NAME_, "); - sql.append("TYPE_, "); - sql.append("PROGRESS_, "); - sql.append("FULL_WEIGHT_, "); - sql.append("EMPTY_WEIGHT_, "); - sql.append("NET_WEIGHT_, "); - sql.append("DE_, "); - sql.append("SETTLE_WEIGHT_, "); - sql.append("CREATE_TIME_ AS COMPLETE_TIME_ "); - sql.append("FROM "); - sql.append("d_inout_record_item "); - sql.append("WHERE RECORD_STATUS_ <> :recordStatusDel "); - sql.append("AND PROGRESS_ =:progressRecord "); - Map<String, Object> args = new HashMap<>(); - args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); - args.put("progressRecord", InoutConstant.PROGRESS_RECORD); - if(StringUtils.isNotEmpty(recordId)){ - sql.append("AND RECORD_ID_ =:recordId "); - args.put("recordId", recordId); - } - if(StringUtils.isNotEmpty(depotId)){ - sql.append("AND DEPOT_ID_ =:depotId "); - args.put("depotId", depotId); - } - if(StringUtils.isNotEmpty(carNum)){ - sql.append("AND CAR_NUM_ like:carNum "); - args.put("carNum", "%" + carNum + "%"); - } - sql.append("ORDER BY CREATE_TIME_ ASC "); - log.debug("====鎵цSLQ1={}锛屽弬鏁�={}", sql.toString(),args); + StringBuffer sql = new StringBuffer(); + sql.append("SELECT "); + sql.append("DEPOT_ID_, "); + sql.append("CAR_NUM_, "); + sql.append("CAR_NAME_, "); + sql.append("TYPE_, "); + sql.append("PROGRESS_, "); + sql.append("FULL_WEIGHT_, "); + sql.append("EMPTY_WEIGHT_, "); + sql.append("NET_WEIGHT_, "); + sql.append("DE_, "); + sql.append("SETTLE_WEIGHT_, "); + sql.append("CREATE_TIME_ AS COMPLETE_TIME_ "); + sql.append("FROM "); + sql.append("d_inout_record_item "); + sql.append("WHERE RECORD_STATUS_ <> :recordStatusDel "); + sql.append("AND PROGRESS_ =:progressRecord "); + Map<String, Object> args = new HashMap<>(); + args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL); + args.put("progressRecord", InoutConstant.PROGRESS_RECORD); + if (StringUtils.isNotEmpty(recordId)) { + sql.append("AND RECORD_ID_ =:recordId "); + args.put("recordId", recordId); + } + if (StringUtils.isNotEmpty(depotId)) { + sql.append("AND DEPOT_ID_ =:depotId "); + args.put("depotId", depotId); + } + if (StringUtils.isNotEmpty(carNum)) { + sql.append("AND CAR_NUM_ like:carNum "); + args.put("carNum", "%" + carNum + "%"); + } + sql.append("ORDER BY CREATE_TIME_ ASC "); + log.debug("====鎵цSLQ1={}锛屽弬鏁�={}", sql.toString(), args); - List<ReportInoutShipData> data = this.getNamedParameterJdbcTemplate() - .query(sql.toString(), args, new ReportInoutShipRowMapper2()); + List<ReportInoutShipData> data = this.getNamedParameterJdbcTemplate() + .query(sql.toString(), args, new ReportInoutShipRowMapper2()); - return data; - } + return data; + } } -- Gitblit v1.9.3