| | |
| | | |
| | | /** |
| | | * @ClassName LWhGoodsService |
| | | |
| | | * @Date 2023/10/24 |
| | | * @Description |
| | | * @Version 1.0 |
| | |
| | | * @param goodsModelNum 取出的数量 |
| | | * @return |
| | | */ |
| | | private static String QUERY_SCRAPPED_GOODS_PREFIX = "SELECT goods.id FROM L_WH_GOODS goods LEFT JOIN (SELECT t2.*FROM (SELECT max(DEAL_TIME) DEAL_TIME,WH_GOODS_ID FROM L_GOODS_USER_RECORD GROUP BY WH_GOODS_ID) t1 LEFT JOIN L_GOODS_USER_RECORD t2 ON t1.DEAL_TIME=t2.DEAL_TIME AND t1.WH_GOODS_ID=t2.WH_GOODS_ID) useRecord ON goods.id=useRecord.WH_GOODS_ID WHERE 1=1"; |
| | | |
| | | private static String QUERY_SCRAPPED_GOODS_PREFIX_1 = "SELECT goods.id FROM L_WH_GOODS goods LEFT JOIN L_GOODS_USER_RECORD useRecord ON goods.id=useRecord.WH_GOODS_ID AND useRecord.LAST_RECORD=1 WHERE 1=1 "; |
| | | private static String QUERY_SCRAPPED_GOODS_PREFIX_2 = " AND goods.id IN (SELECT lwgrd.WH_GOODS_ID FROM L_WAREHOUSE_FLOW flow LEFT JOIN L_WH_GOODS_RECORD lwgr ON lwgr.WAREHOUSE_FLOW_ID=flow.id LEFT JOIN L_WH_GOODS_RECORD_DETAILS lwgrd ON lwgrd.WH_GOODS_RECORD_ID=lwgr.id WHERE flow.THIS_TYPE=4 AND flow.BUSINESS_FORM_ID=:transBusinessId)"; |
| | | private static String QUERY_SCRAPPED_GOODS_END = " ORDER BY goods.PRICE DESC,goods.PROCURE_DATE ASC,goods.id"; |
| | | |
| | | public List<Map<String, Object>> queryScrappedGoods(Integer warehouseType, |
| | |
| | | if (warehouseType == null) { |
| | | warehouseType = 0; |
| | | } |
| | | StringBuilder sql = new StringBuilder(QUERY_SCRAPPED_GOODS_PREFIX); |
| | | StringBuilder sql = new StringBuilder(QUERY_SCRAPPED_GOODS_PREFIX_1); |
| | | Map<String, Object> paramts = new HashMap<>(); |
| | | if (warehouseType != null) { |
| | | sql.append(" AND goods.WAREHOUSE_TYPE=:warehouseType"); |
| | |
| | | if (warehouseId != null) { |
| | | sql.append(" AND goods.WAREHOUSE_ID=:warehouseId"); |
| | | paramts.put("warehouseId", warehouseId); |
| | | } |
| | | if (transBusinessId != null) { |
| | | sql.append(" and useRecord.TRANS_BUSINESS_ID=:transBusinessId"); |
| | | paramts.put("transBusinessId", transBusinessId); |
| | | } |
| | | if (StringUtils.isNotEmpty(nowUserName)) { |
| | | sql.append(" AND useRecord.NOW_USER_NAME=:nowUserName"); |
| | |
| | | sql.append(" AND goods.STATES=:states"); |
| | | paramts.put("states", states); |
| | | } |
| | | return select(sql.append(QUERY_SCRAPPED_GOODS_END).append(" limit").append(goodsModelNum).toString(), paramts); |
| | | if (transBusinessId != null) { |
| | | sql.append(QUERY_SCRAPPED_GOODS_PREFIX_2); |
| | | paramts.put("transBusinessId", transBusinessId); |
| | | } |
| | | sql.append(QUERY_SCRAPPED_GOODS_END); |
| | | if (goodsModelNum != null) { |
| | | sql.append(" limit").append(goodsModelNum); |
| | | } |
| | | return select(sql.toString(), paramts); |
| | | } |
| | | |
| | | /** |
| | |
| | | params.add(whGoods); |
| | | return update(sql.toString(), params.toArray()); |
| | | } |
| | | |
| | | |
| | | } |