Commit 429fac06 by wutong

头程计算新增初始值配置

parent 77cc4fd4
package com.bailuntec.domain.entity;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class DcMidCostFirstConfig {
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_mid_cost_first_config.id
*
* @mbg.generated
*/
private Integer id;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_mid_cost_first_config.cost_first_config
*
* @mbg.generated
*/
private BigDecimal costFirstConfig;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_mid_cost_first_config.bailun_sku
*
* @mbg.generated
*/
private String bailunSku;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_mid_cost_first_config.warehouse_code
*
* @mbg.generated
*/
private String warehouseCode;
/**
*
* This field was generated by MyBatis Generator.
* This field corresponds to the database column dc_mid_cost_first_config.area_id
*
* @mbg.generated
*/
private Integer areaId;
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_mid_cost_first_config
*
* @mbg.generated
*/
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", costFirstConfig=").append(costFirstConfig);
sb.append(", bailunSku=").append(bailunSku);
sb.append(", warehouseCode=").append(warehouseCode);
sb.append(", areaId=").append(areaId);
sb.append("]");
return sb.toString();
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_mid_cost_first_config
*
* @mbg.generated
*/
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
DcMidCostFirstConfig other = (DcMidCostFirstConfig) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getCostFirstConfig() == null ? other.getCostFirstConfig() == null : this.getCostFirstConfig().equals(other.getCostFirstConfig()))
&& (this.getBailunSku() == null ? other.getBailunSku() == null : this.getBailunSku().equals(other.getBailunSku()))
&& (this.getWarehouseCode() == null ? other.getWarehouseCode() == null : this.getWarehouseCode().equals(other.getWarehouseCode()))
&& (this.getAreaId() == null ? other.getAreaId() == null : this.getAreaId().equals(other.getAreaId()));
}
/**
* This method was generated by MyBatis Generator.
* This method corresponds to the database table dc_mid_cost_first_config
*
* @mbg.generated
*/
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getCostFirstConfig() == null) ? 0 : getCostFirstConfig().hashCode());
result = prime * result + ((getBailunSku() == null) ? 0 : getBailunSku().hashCode());
result = prime * result + ((getWarehouseCode() == null) ? 0 : getWarehouseCode().hashCode());
result = prime * result + ((getAreaId() == null) ? 0 : getAreaId().hashCode());
return result;
}
}
\ No newline at end of file
...@@ -2,8 +2,10 @@ package com.bailuntec.listener; ...@@ -2,8 +2,10 @@ package com.bailuntec.listener;
import com.bailuntec.domain.constant.Constant; import com.bailuntec.domain.constant.Constant;
import com.bailuntec.domain.entity.DcMidCostFirst; import com.bailuntec.domain.entity.DcMidCostFirst;
import com.bailuntec.domain.entity.DcMidCostFirstConfig;
import com.bailuntec.domain.example.DcMidCostFirstExample; import com.bailuntec.domain.example.DcMidCostFirstExample;
import com.bailuntec.domain.pojo.MidCostFirst; import com.bailuntec.domain.pojo.MidCostFirst;
import com.bailuntec.mapper.DcMidCostFirstConfigMapper;
import com.bailuntec.mapper.DcMidCostFirstMapper; import com.bailuntec.mapper.DcMidCostFirstMapper;
import com.bailuntec.mapper.DcMidCostFirstOrderMapper; import com.bailuntec.mapper.DcMidCostFirstOrderMapper;
import com.bailuntec.utils.SessionUtil; import com.bailuntec.utils.SessionUtil;
...@@ -25,6 +27,7 @@ public class CalculateCostFirstListener implements ElasticJobListener { ...@@ -25,6 +27,7 @@ public class CalculateCostFirstListener implements ElasticJobListener {
public void afterJobExecuted(ShardingContexts shardingContexts) { public void afterJobExecuted(ShardingContexts shardingContexts) {
try { try {
DcMidCostFirstOrderMapper dcMidCostFirstOrderMapper = SessionUtil.getSession().getMapper(DcMidCostFirstOrderMapper.class); DcMidCostFirstOrderMapper dcMidCostFirstOrderMapper = SessionUtil.getSession().getMapper(DcMidCostFirstOrderMapper.class);
DcMidCostFirstConfigMapper dcMidCostFirstConfigMapper = SessionUtil.getSession().getMapper(DcMidCostFirstConfigMapper.class);
DcMidCostFirstMapper dcMidCostFirsMapper = SessionUtil.getSession().getMapper(DcMidCostFirstMapper.class); DcMidCostFirstMapper dcMidCostFirsMapper = SessionUtil.getSession().getMapper(DcMidCostFirstMapper.class);
int countSkuWarehouse = dcMidCostFirstOrderMapper.countSkuWarehouse(); int countSkuWarehouse = dcMidCostFirstOrderMapper.countSkuWarehouse();
int skuWarehouseTotalPage = getSkuWarehouseTotalPage(countSkuWarehouse); int skuWarehouseTotalPage = getSkuWarehouseTotalPage(countSkuWarehouse);
...@@ -37,7 +40,11 @@ public class CalculateCostFirstListener implements ElasticJobListener { ...@@ -37,7 +40,11 @@ public class CalculateCostFirstListener implements ElasticJobListener {
dcMidCostFirst.setBailunSku(midCostFirst.getBailunSku()); dcMidCostFirst.setBailunSku(midCostFirst.getBailunSku());
dcMidCostFirst.setWarehouseCode(midCostFirst.getWarehouseCode()); dcMidCostFirst.setWarehouseCode(midCostFirst.getWarehouseCode());
BigDecimal costFirst = midCostFirst.getTotalCostFirst().divide(BigDecimal.valueOf(midCostFirst.getTotalCount()), 3 , RoundingMode.HALF_EVEN); BigDecimal costFirst = midCostFirst.getTotalCostFirst().divide(BigDecimal.valueOf(midCostFirst.getTotalCount()), 3 , RoundingMode.HALF_EVEN);
DcMidCostFirstConfig dcMidCostFirstConfig = dcMidCostFirstConfigMapper.getConfig(dcMidCostFirst.getBailunSku(),dcMidCostFirst.getWarehouseCode());
dcMidCostFirst.setCostFirst(costFirst); dcMidCostFirst.setCostFirst(costFirst);
if (dcMidCostFirstConfig != null) {
dcMidCostFirst.setCostFirst((costFirst.add(dcMidCostFirstConfig.getCostFirstConfig())).divide(BigDecimal.valueOf(2), 3, RoundingMode.HALF_EVEN));
}
int i = dcMidCostFirsMapper.updateByExampleSelective(dcMidCostFirst,DcMidCostFirstExample.newAndCreateCriteria().andBailunSkuEqualTo(dcMidCostFirst.getBailunSku()).andWarehouseCodeEqualTo(dcMidCostFirst.getWarehouseCode()).example()); int i = dcMidCostFirsMapper.updateByExampleSelective(dcMidCostFirst,DcMidCostFirstExample.newAndCreateCriteria().andBailunSkuEqualTo(dcMidCostFirst.getBailunSku()).andWarehouseCodeEqualTo(dcMidCostFirst.getWarehouseCode()).example());
if (i == 0) { if (i == 0) {
dcMidCostFirsMapper.insertSelective(dcMidCostFirst); dcMidCostFirsMapper.insertSelective(dcMidCostFirst);
......
...@@ -127,5 +127,4 @@ public interface DcMidCostFirstOrderMapper { ...@@ -127,5 +127,4 @@ public interface DcMidCostFirstOrderMapper {
List<MidCostFirst> listSkuWarehouse(@Param("v1") int v1, @Param("v2") int v2); List<MidCostFirst> listSkuWarehouse(@Param("v1") int v1, @Param("v2") int v2);
MidCostFirst sumQuantityAndCost();
} }
\ No newline at end of file
...@@ -460,7 +460,10 @@ ...@@ -460,7 +460,10 @@
<select id="listSkuWarehouse" resultType="com.bailuntec.domain.pojo.MidCostFirst"> <select id="listSkuWarehouse" resultType="com.bailuntec.domain.pojo.MidCostFirst">
SELECT bailun_sku,warehouse_code,sum(cost_first) as total_cost_first,sum(quantity) as total_count FROM dc_mid_cost_first_order GROUP BY bailun_sku,warehouse_code order by id asc limit #{v1}, #{v2} SELECT bailun_sku,warehouse_code,sum(cost_first) as total_cost_first,sum(quantity) as total_count FROM dc_mid_cost_first_order GROUP BY bailun_sku,warehouse_code order by id asc limit #{v1}, #{v2}
</select> </select>
<select id="sumQuantityAndCost" resultType="com.bailuntec.domain.pojo.MidCostFirst">
SELECT sum(cost_first) as total_cost_first,sum(quantity) as total_count FROM dc_mid_cost_first_order <select id="" resultType="com.bailuntec.domain.entity.DcMidCostFirstConfig">
SELECT tb2.* from (SELECT warehouse_code,area_id FROM dc_base_warehouse WHERE warehouse_code=#{warehouseCode}) tb1 LEFT JOIN dc_mid_cost_first_config tb2 on tb2.bailun_sku=#{bailunSku}
and (tb2.area_id = 0 or tb1.area_id=tb2.area_id or tb1.warehouse_code=tb2.warehouse_code)
order by tb2.warehouse_code desc ,tb2.area_id desc limit 1
</select> </select>
</mapper> </mapper>
\ No newline at end of file
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