Commit cd24d775 by yinyong

每日库存计算修改

parent 572ff018
......@@ -128,11 +128,9 @@ public interface DcBaseStockMapper {
void supplementPurchaseSku();
void insertDailyStock(DcBaseStock dcBaseStock);
void insertDailyStock(@Param("list") List<DcBaseStock> dcBaseStockList);
List<DcBaseStock> selectStock(@Param("pageIndex") Integer pageIndex, @Param("pageSize") Integer pageSize);
Integer selectStockCount();
List<DcBaseStock> selectStock();
List<DcBaseStock> listStockById(@Param("v1") int v1, @Param("v2") int v2);
......
......@@ -1184,11 +1184,7 @@
FROM
dc_base_stock dc0
left join dc_base_sku dc1 on dc0.bailun_sku = dc1.bailun_sku
limit #{pageIndex}, #{pageSize}
</select>
<select id="selectStockCount" resultType="java.lang.Integer">
select count(id) from dc_base_stock
where dc0.usable_stock>0 or dc0.occupy_stock>0
</select>
<insert id="insertDailyStock">
......@@ -1227,11 +1223,22 @@
`update_time`,
unit_price
)
values(
#{bailunSku}, #{warehouseCode}, #{ownerCode}, #{quantityReservation}, #{quantityTransport}, #{quantityTransfer}, #{quantityFreeze}, #{quantitySupplier}, #{quantityPresell}, #{quantityDefective}, #{quantityTransit}
,#{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}
)
values
<foreach collection="list" item="item" index="index" separator=",">
(
#{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>
<update id="updateSkuUnitPrice">
......
......@@ -8,30 +8,17 @@ import com.dangdang.ddframe.job.api.simple.SimpleJob;
import lombok.extern.slf4j.Slf4j;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
@Slf4j
public class DailyStockJob implements SimpleJob {
@Override
public void execute(ShardingContext shardingContext) {
int pageIndex = 1;
int pageSize = 1000;
try {
DcBaseStockMapper mapper = SessionUtil.getSession().getMapper(DcBaseStockMapper.class);
Integer pickage = mapper.selectStockCount();
Integer stockPage = pickage % pageSize == 0 ? pickage/pageSize : pickage/pageSize + 1;
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);
List<DcBaseStock> dcBaseStockList = mapper.selectStock();
mapper.insertDailyStock(dcBaseStockList);
} catch (Exception e) {
e.printStackTrace();
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