| | |
| | | */ |
| | | @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); |
| | | 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); |
| | | // 获取距离开始时间久最近的数据,当前天的第五分钟 |
| | | 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("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("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); |
| | | // 获取距离开始时间久最近的数据,当前天的第五分钟 |
| | | 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("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("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; |
| | | } |
| | | } |