Commit cd24d775 by yinyong

每日库存计算修改

parent 572ff018
...@@ -128,11 +128,9 @@ public interface DcBaseStockMapper { ...@@ -128,11 +128,9 @@ public interface DcBaseStockMapper {
void supplementPurchaseSku(); void supplementPurchaseSku();
void insertDailyStock(DcBaseStock dcBaseStock); void insertDailyStock(@Param("list") List<DcBaseStock> dcBaseStockList);
List<DcBaseStock> selectStock(@Param("pageIndex") Integer pageIndex, @Param("pageSize") Integer pageSize); List<DcBaseStock> selectStock();
Integer selectStockCount();
List<DcBaseStock> listStockById(@Param("v1") int v1, @Param("v2") int v2); List<DcBaseStock> listStockById(@Param("v1") int v1, @Param("v2") int v2);
......
...@@ -1184,11 +1184,7 @@ ...@@ -1184,11 +1184,7 @@
FROM FROM
dc_base_stock dc0 dc_base_stock dc0
left join dc_base_sku dc1 on dc0.bailun_sku = dc1.bailun_sku left join dc_base_sku dc1 on dc0.bailun_sku = dc1.bailun_sku
limit #{pageIndex}, #{pageSize} where dc0.usable_stock>0 or dc0.occupy_stock>0
</select>
<select id="selectStockCount" resultType="java.lang.Integer">
select count(id) from dc_base_stock
</select> </select>
<insert id="insertDailyStock"> <insert id="insertDailyStock">
...@@ -1227,11 +1223,22 @@ ...@@ -1227,11 +1223,22 @@
`update_time`, `update_time`,
unit_price unit_price
) )
values( values
#{bailunSku}, #{warehouseCode}, #{ownerCode}, #{quantityReservation}, #{quantityTransport}, #{quantityTransfer}, #{quantityFreeze}, #{quantitySupplier}, #{quantityPresell}, #{quantityDefective}, #{quantityTransit} <foreach collection="list" item="item" index="index" separator=",">
,#{waitCheck}, #{waitPutaway}, #{usableStock}, #{usableSales}, #{usableSalesPrivate}, #{usableSalesShare}, #{inWarehouseShare}, #{inWarehousePrivate}, #{inWarehouse}, #{occupyStockShare}, #{occupyStockPrivate}, #{occupyStock} (
,#{occupyActivity}, #{occupyOrderPrivate}, #{occupyOrderShare}, #{occupyOrder}, #{gmtCreate}, #{gmtModified}, DATE_SUB( CURDATE( ), INTERVAL 1 DAY ), #{createTime}, #{updateTime}, #{unitPrice} #{item.bailunSku}, #{item.warehouseCode}, #{item.ownerCode}, #{item.quantityReservation}, #{item.quantityTransport}, #{item.quantityTransfer}, #{item.quantityFreeze}, #{item.quantitySupplier}, #{item.quantityPresell}, #{item.quantityDefective}, #{item.quantityTransit}
) ,#{item.waitCheck}, #{item.waitPutaway}, #{item.usableStock}, #{item.usableSales}, #{item.usableSalesPrivate}, #{item.usableSalesShare}, #{item.inWarehouseShare}, #{item.inWarehousePrivate}, #{item.inWarehouse}, #{item.occupyStockShare}, #{item.occupyStockPrivate}, #{item.occupyStock}
,#{item.occupyActivity}, #{item.occupyOrderPrivate}, #{item.occupyOrderShare}, #{item.occupyOrder}, #{item.gmtCreate}, #{item.gmtModified}, DATE_SUB( CURDATE( ), INTERVAL 1 DAY ), #{item.createTime}, #{item.updateTime},
<choose>
<when test="item.unitPrice != null">
#{item.unitPrice}
</when>
<otherwise>
0
</otherwise>
</choose>
)
</foreach>
</insert> </insert>
<update id="updateSkuUnitPrice"> <update id="updateSkuUnitPrice">
......
...@@ -8,30 +8,17 @@ import com.dangdang.ddframe.job.api.simple.SimpleJob; ...@@ -8,30 +8,17 @@ import com.dangdang.ddframe.job.api.simple.SimpleJob;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List; import java.util.List;
@Slf4j @Slf4j
public class DailyStockJob implements SimpleJob { public class DailyStockJob implements SimpleJob {
@Override @Override
public void execute(ShardingContext shardingContext) { public void execute(ShardingContext shardingContext) {
int pageIndex = 1;
int pageSize = 1000;
try { try {
DcBaseStockMapper mapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class); DcBaseStockMapper mapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
Integer pickage = mapper.selectStockCount(); List<DcBaseStock> dcBaseStockList = mapper.selectStock();
Integer stockPage = pickage % pageSize == 0 ? pickage/pageSize : pickage/pageSize + 1; mapper.insertDailyStock(dcBaseStockList);
do{
List<DcBaseStock> dcBaseStockList = mapper.selectStock((pageIndex - 1) * pageSize, pageSize);
for(DcBaseStock dcBaseStock : dcBaseStockList) {
log.warn("bailunSku: " + dcBaseStock.getBailunSku() + " unionPrice:" + dcBaseStock.getUnitPrice());
if(dcBaseStock.getUnitPrice() == null) {
dcBaseStock.setUnitPrice(BigDecimal.ZERO);
}
DcBaseStockMapper dcBaseStockMapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
dcBaseStockMapper.insertDailyStock(dcBaseStock);
}
pageIndex = pageIndex + 1;
}while(pageIndex <= stockPage);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
throw new RuntimeException("MYBATIS操作DB失败", e); throw new RuntimeException("MYBATIS操作DB失败", e);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment