Subversion Repositories SmartDukaan

Rev

Rev 7224 | Rev 7453 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7224 Rev 7410
Line 7... Line 7...
7
    <id property="id" column="id"/>
7
    <id property="id" column="id"/>
8
  </resultMap>
8
  </resultMap>
9
 
9
 
10
  <insert id="insert" parameterType="scan" useGeneratedKeys="true" keyProperty="id">
10
  <insert id="insert" parameterType="scan" useGeneratedKeys="true" keyProperty="id">
11
    INSERT INTO scanNew
11
    INSERT INTO scanNew
12
      (inventoryItemId, warehouseId, type, scannedAt, quantity, orderId)
12
      (inventoryItemId, warehouseId, type, scannedAt, quantity, orderId, transferLotId, remarks)
13
    VALUES
13
    VALUES
14
      (#{inventoryItemId}, #{warehouseId}, #{type}, NOW(), #{quantity}, #{orderId})
14
      (#{inventoryItemId}, #{warehouseId}, #{type}, NOW(), #{quantity}, #{orderId}, #{transferLotId}, #{remarks})
15
  </insert>
15
  </insert>
16
  
16
  
17
  <select id="get" parameterType="map" resultType="scan">
17
  <select id="get" parameterType="map" resultType="scan">
18
    SELECT * 
18
    SELECT * 
19
    FROM scanNew
19
    FROM scanNew
Line 166... Line 166...
166
	  s.scannedAt BETWEEN #{fromDate} AND #{toDate};
166
	  s.scannedAt BETWEEN #{fromDate} AND #{toDate};
167
  </select>
167
  </select>
168
  
168
  
169
  <insert id="genericScan" parameterType="scan" useGeneratedKeys="true" keyProperty="id">
169
  <insert id="genericScan" parameterType="scan" useGeneratedKeys="true" keyProperty="id">
170
    INSERT INTO scanNew
170
    INSERT INTO scanNew
171
      (inventoryItemId, warehouseId, type, scannedAt, quantity)
171
     (inventoryItemId, warehouseId, type, scannedAt, quantity, orderId, transferLotId, remarks)
172
    VALUES
172
    VALUES
173
      (#{inventoryItemId}, #{warehouseId}, #{type}, NOW(), #{quantity})
173
      (#{inventoryItemId}, #{warehouseId}, #{type}, NOW(), #{quantity}, #{orderId}, #{transferLotId}, #{remarks})
174
  </insert>
174
  </insert>
175
  
175
  
176
  <select id = "getCurrentSerializedInventoryByScans" resultType = "inventoryAvailability">
176
  <select id = "getCurrentSerializedInventoryByScans" resultType = "inventoryAvailability">
177
	SELECT x.itemId, ci.brand, ci.model_name as modelName, 
177
	SELECT x.itemId, ci.brand, ci.model_name as modelName, 
178
	ci.model_number as modelNumber, ci.color as color, (x.inx-if(y.outx is null,0,y.outx)) as quantity
178
	ci.model_number as modelNumber, ci.color as color, (x.inx-if(y.outx is null,0,y.outx)) as quantity
Line 238... Line 238...
238
 
238
 
239
<select id = "getHistoricNonSerializedInventoryByScans" resultType = "inventoryAvailability" parameterType = "date">
239
<select id = "getHistoricNonSerializedInventoryByScans" resultType = "inventoryAvailability" parameterType = "date">
240
	SELECT x.itemId, ci.brand, ci.model_name as modelName, 
240
	SELECT x.itemId, ci.brand, ci.model_name as modelName, 
241
	ci.model_number as modelNumber, ci.color as color, (x.inx-if(y.outx is null,0,y.outx)) as quantity
241
	ci.model_number as modelNumber, ci.color as color, (x.inx-if(y.outx is null,0,y.outx)) as quantity
242
	from 
242
	from 
243
	(select i.itemId, sum(quantity) as inx from scanNew s 
243
	(SELECT i.itemId, sum(quantity) as inx from scanNew s 
244
		JOIN inventoryItem i ON (i.id = s.inventoryItemId) 
244
		JOIN inventoryItem i ON (i.id = s.inventoryItemId) 
245
		JOIN catalog.item c ON i.itemId = c.id 
245
		JOIN catalog.item c ON i.itemId = c.id 
246
		where s.type in ('PURCHASE','SALE_RET') and c.type = 'NON_SERIALIZED' 
246
		where s.type in ('PURCHASE','SALE_RET') and c.type = 'NON_SERIALIZED' 
247
		and s.scannedAt &lt; #{date}
247
		and s.scannedAt &lt; #{date}
248
		group by i.itemId ) as x 
248
		group by i.itemId ) as x 
249
	LEFT JOIN 
249
	LEFT JOIN 
250
	(select i.itemId, sum(quantity) as outx from scanNew s 
250
	(SELECT i.itemId, sum(quantity) as outx from scanNew s 
251
		JOIN inventoryItem i on i.id = s.inventoryItemId 
251
		JOIN inventoryItem i on i.id = s.inventoryItemId 
252
		JOIN catalog.item c ON i.itemId = c.id 
252
		JOIN catalog.item c ON i.itemId = c.id 
253
		where s.type in ('SALE','LOST_IN_WAREHOUSE','PURCHASE_RETURN') and c.type = 'NON_SERIALIZED'
253
		where s.type in ('SALE','LOST_IN_WAREHOUSE','PURCHASE_RETURN') and c.type = 'NON_SERIALIZED'
254
		and s.scannedAt &lt; #{date} 
254
		and s.scannedAt &lt; #{date} 
255
		group by i.itemId) as y 
255
		group by i.itemId) as y 
Line 257... Line 257...
257
	JOIN catalog.item ci ON ci.id = x.itemId 
257
	JOIN catalog.item ci ON ci.id = x.itemId 
258
	where ci.type = 'NON_SERIALIZED' having quantity>0  
258
	where ci.type = 'NON_SERIALIZED' having quantity>0  
259
  </select>
259
  </select>
260
 
260
 
261
 <select id = "getMovementSerializedInventoryByScans" resultType = "inventoryMovement" parameterType = "map">
261
 <select id = "getMovementSerializedInventoryByScans" resultType = "inventoryMovement" parameterType = "map">
262
 	select itemId, brand, model_name as modelName, model_number as modelNumber, color, s.type, count(*) as quantity 
262
 	SELECT itemId, brand, model_name as modelName, model_number as modelNumber, color, s.type, count(*) as quantity 
263
 	FROM inventoryItem i JOIN scanNew s ON i.id = s.inventoryItemId 
263
 	FROM inventoryItem i JOIN scanNew s ON i.id = s.inventoryItemId 
264
 	LEFT JOIN catalog.item c ON i.itemId = c.id 
264
 	LEFT JOIN catalog.item c ON i.itemId = c.id 
265
 	where s.scannedAt between #{startDate} and #{endDate} and c.type = 'SERIALIZED'
265
 	where s.scannedAt between #{startDate} and #{endDate} and c.type = 'SERIALIZED'
266
 	and i.currentWarehouseId not in (1,2,6,9) 
266
 	and i.currentWarehouseId not in (1,2,6,9) 
267
 	group by itemId, s.type
267
 	group by itemId, s.type
268
 </select>
268
 </select>
269
 
269
 
270
 <select id = "getMovementNonSerializedInventoryByScans" resultType = "inventoryMovement" parameterType = "map">
270
 <select id = "getMovementNonSerializedInventoryByScans" resultType = "inventoryMovement" parameterType = "map">
271
 	select itemId, brand, model_name as modelName, model_number as modelNumber, color, s.type, sum(quantity) as quantity 
271
 	SELECT itemId, brand, model_name as modelName, model_number as modelNumber, color, s.type, sum(quantity) as quantity 
272
 	FROM inventoryItem i JOIN scanNew s ON i.id = s.inventoryItemId 
272
 	FROM inventoryItem i JOIN scanNew s ON i.id = s.inventoryItemId 
273
 	LEFT JOIN catalog.item c ON i.itemId = c.id 
273
 	LEFT JOIN catalog.item c ON i.itemId = c.id 
274
 	where s.scannedAt between #{startDate} and #{endDate} and c.type = 'NON_SERIALIZED'
274
 	where s.scannedAt between #{startDate} and #{endDate} and c.type = 'NON_SERIALIZED'
275
 	and i.currentWarehouseId not in (1,2,6,9)  
275
 	and i.currentWarehouseId not in (1,2,6,9)  
276
 	group by itemId, s.type
276
 	group by itemId, s.type
277
 </select>
277
 </select>
278
 
278
 
279
 <select id = "getCompleteMovementSerializedInventoryByScans" resultType = "inventoryMovement" parameterType = "map">
279
 <select id = "getCompleteMovementSerializedInventoryByScans" resultType = "inventoryMovement" parameterType = "map">
280
 	select itemId, brand, model_name as modelName, model_number as modelNumber, color, s.type, count(*) as quantity 
280
 	SELECT itemId, brand, model_name as modelName, model_number as modelNumber, color, s.type, count(*) as quantity 
281
 	FROM inventoryItem i JOIN scanNew s ON i.id = s.inventoryItemId 
281
 	FROM inventoryItem i JOIN scanNew s ON i.id = s.inventoryItemId 
282
 	LEFT JOIN catalog.item c ON i.itemId = c.id 
282
 	LEFT JOIN catalog.item c ON i.itemId = c.id 
283
 	where s.scannedAt between #{startDate} and #{endDate} and c.type = 'SERIALIZED'
283
 	where s.scannedAt between #{startDate} and #{endDate} and c.type = 'SERIALIZED'
284
 	group by itemId, s.type
284
 	group by itemId, s.type
285
 </select>
285
 </select>
286
 
286
 
287
 <select id = "getCompleteMovementNonSerializedInventoryByScans" resultType = "inventoryMovement" parameterType = "map">
287
 <select id = "getCompleteMovementNonSerializedInventoryByScans" resultType = "inventoryMovement" parameterType = "map">
288
 	select itemId, brand, model_name as modelName, model_number as modelNumber, color, s.type, sum(quantity) as quantity 
288
 	SELECT itemId, brand, model_name as modelName, model_number as modelNumber, color, s.type, sum(quantity) as quantity 
289
 	FROM inventoryItem i JOIN scanNew s ON i.id = s.inventoryItemId 
289
 	FROM inventoryItem i JOIN scanNew s ON i.id = s.inventoryItemId 
290
 	LEFT JOIN catalog.item c ON i.itemId = c.id 
290
 	LEFT JOIN catalog.item c ON i.itemId = c.id 
291
 	where s.scannedAt between #{startDate} and #{endDate} and c.type = 'NON_SERIALIZED'
291
 	where s.scannedAt between #{startDate} and #{endDate} and c.type = 'NON_SERIALIZED'
292
 	group by itemId, s.type
292
 	group by itemId, s.type
293
 </select>
293
 </select>
294
  
294
  
-
 
295
<select id = "getTransferrableWarehousesFromWarehouse" resultType = "java.lang.Long" parameterType = "java.lang.Long">
-
 
296
 	SELECT toWarehouseId  
-
 
297
 	FROM possibleWarehouseMovement  
-
 
298
 	WHERE fromWarehouseId = #{warehouseId}
-
 
299
 </select>
-
 
300
 
-
 
301
 
-
 
302
 
-
 
303
<select id = "getScansForTransferLot" resultType = "scan" parameterType = "java.lang.Long">
-
 
304
	SELECT * 
-
 
305
	FROM scanNew
-
 
306
	WHERE transferLotId = #{id}
-
 
307
	AND type = 'WAREHOUSE_TRANSFER_OUT'
-
 
308
</select>
-
 
309
 
295
</mapper>
310
</mapper>