Commit 11f59604 by yinyong

数据中心--库龄计算

parent 6235f1f1
......@@ -78,7 +78,7 @@ public class DcMidStockDate {
*
* @mbg.generated
*/
private LocalDate stockTime;
private LocalDateTime stockTime;
/**
*
......
......@@ -832,52 +832,52 @@ public class DcMidStockDateExample {
return (Criteria) this;
}
public Criteria andStockTimeEqualTo(LocalDate value) {
public Criteria andStockTimeEqualTo(LocalDateTime value) {
addCriterion("stock_time =", value, "stockTime");
return (Criteria) this;
}
public Criteria andStockTimeNotEqualTo(LocalDate value) {
public Criteria andStockTimeNotEqualTo(LocalDateTime value) {
addCriterion("stock_time <>", value, "stockTime");
return (Criteria) this;
}
public Criteria andStockTimeGreaterThan(LocalDate value) {
public Criteria andStockTimeGreaterThan(LocalDateTime value) {
addCriterion("stock_time >", value, "stockTime");
return (Criteria) this;
}
public Criteria andStockTimeGreaterThanOrEqualTo(LocalDate value) {
public Criteria andStockTimeGreaterThanOrEqualTo(LocalDateTime value) {
addCriterion("stock_time >=", value, "stockTime");
return (Criteria) this;
}
public Criteria andStockTimeLessThan(LocalDate value) {
public Criteria andStockTimeLessThan(LocalDateTime value) {
addCriterion("stock_time <", value, "stockTime");
return (Criteria) this;
}
public Criteria andStockTimeLessThanOrEqualTo(LocalDate value) {
public Criteria andStockTimeLessThanOrEqualTo(LocalDateTime value) {
addCriterion("stock_time <=", value, "stockTime");
return (Criteria) this;
}
public Criteria andStockTimeIn(List<LocalDate> values) {
public Criteria andStockTimeIn(List<LocalDateTime> values) {
addCriterion("stock_time in", values, "stockTime");
return (Criteria) this;
}
public Criteria andStockTimeNotIn(List<LocalDate> values) {
public Criteria andStockTimeNotIn(List<LocalDateTime> values) {
addCriterion("stock_time not in", values, "stockTime");
return (Criteria) this;
}
public Criteria andStockTimeBetween(LocalDate value1, LocalDate value2) {
public Criteria andStockTimeBetween(LocalDateTime value1, LocalDateTime value2) {
addCriterion("stock_time between", value1, value2, "stockTime");
return (Criteria) this;
}
public Criteria andStockTimeNotBetween(LocalDate value1, LocalDate value2) {
public Criteria andStockTimeNotBetween(LocalDateTime value1, LocalDateTime value2) {
addCriterion("stock_time not between", value1, value2, "stockTime");
return (Criteria) this;
}
......
......@@ -501,7 +501,6 @@
from dc_base_stock_record
where bailun_sku = #{bailunSku}
and warehouse_code = #{warehouseCode}
group by date_format(stock_time, '%Y-%m-%d')
order by stock_time asc
</select>
......@@ -512,6 +511,7 @@
from dc_base_oms_pick
where
shipping_status = 'TotalShipping' and has_delete = false and company_id = 1
and quantity_shipped > 0
and shipping_time &gt;= #{startTime} and shipping_time &lt;= #{endTime}
limit #{pageIndex}, #{pageSize}
</select>
......@@ -540,11 +540,11 @@
</select>
<select id="selectPurchaseInboundByLimit" resultType="com.bailuntec.domain.entity.DcBasePurchaseInbound">
select * from dc_base_purchase_inbound where status = 1 and update_time &gt;= #{startTime} and update_time &lt;= #{endTime} limit #{pageIndex}, #{pageSize}
select * from dc_base_purchase_inbound where status = 1 and count > 0 and update_time &gt;= #{startTime} and update_time &lt;= #{endTime} limit #{pageIndex}, #{pageSize}
</select>
<select id="selectTransferCompleteByLimit" resultType="com.bailuntec.domain.entity.DcBaseTransferComplete">
select * from dc_base_transfer_complete where deleted = 0 and create_time &gt;= #{startTime} and create_time &lt;= #{endTime} limit #{pageIndex}, #{pageSize}
select * from dc_base_transfer_complete where deleted = 0 and count > 0 and create_time &gt;= #{startTime} and create_time &lt;= #{endTime} limit #{pageIndex}, #{pageSize}
</select>
<!--<select id="selectByPage" parameterType="com.bailuntec.domain.entity.JobPointLog" resultType="com.bailuntec.domain.entity.DcBaseStockRecord">
......
......@@ -13,7 +13,7 @@
<result column="warehouse_code" jdbcType="VARCHAR" property="warehouseCode" />
<result column="warehouse_name" jdbcType="VARCHAR" property="warehouseName" />
<result column="quantity_stock" jdbcType="INTEGER" property="quantityStock" />
<result column="stock_time" jdbcType="DATE" property="stockTime" />
<result column="stock_time" jdbcType="TIMESTAMP" property="stockTime" />
<result column="unit_price" jdbcType="DECIMAL" property="unitPrice" />
<result column="init_stock" jdbcType="INTEGER" property="initStock" />
<result column="has_init" jdbcType="BIT" property="hasInit" />
......@@ -160,7 +160,7 @@
report_date)
values (#{id,jdbcType=INTEGER}, #{gmtCreate,jdbcType=TIMESTAMP}, #{gmtModified,jdbcType=TIMESTAMP},
#{bailunSku,jdbcType=VARCHAR}, #{warehouseCode,jdbcType=VARCHAR}, #{warehouseName,jdbcType=VARCHAR},
#{quantityStock,jdbcType=INTEGER}, #{stockTime,jdbcType=DATE}, #{unitPrice,jdbcType=DECIMAL},
#{quantityStock,jdbcType=INTEGER}, #{stockTime,jdbcType=TIMESTAMP}, #{unitPrice,jdbcType=DECIMAL},
#{initStock,jdbcType=INTEGER}, #{hasInit,jdbcType=BIT}, #{hasTransfer,jdbcType=INTEGER},
#{reportDate,jdbcType=DATE})
</insert>
......@@ -234,7 +234,7 @@
#{quantityStock,jdbcType=INTEGER},
</if>
<if test="stockTime != null">
#{stockTime,jdbcType=DATE},
#{stockTime,jdbcType=TIMESTAMP},
</if>
<if test="unitPrice != null">
#{unitPrice,jdbcType=DECIMAL},
......@@ -292,7 +292,7 @@
quantity_stock = #{record.quantityStock,jdbcType=INTEGER},
</if>
<if test="record.stockTime != null">
stock_time = #{record.stockTime,jdbcType=DATE},
stock_time = #{record.stockTime,jdbcType=TIMESTAMP},
</if>
<if test="record.unitPrice != null">
unit_price = #{record.unitPrice,jdbcType=DECIMAL},
......@@ -327,7 +327,7 @@
warehouse_code = #{record.warehouseCode,jdbcType=VARCHAR},
warehouse_name = #{record.warehouseName,jdbcType=VARCHAR},
quantity_stock = #{record.quantityStock,jdbcType=INTEGER},
stock_time = #{record.stockTime,jdbcType=DATE},
stock_time = #{record.stockTime,jdbcType=TIMESTAMP},
unit_price = #{record.unitPrice,jdbcType=DECIMAL},
init_stock = #{record.initStock,jdbcType=INTEGER},
has_init = #{record.hasInit,jdbcType=BIT},
......@@ -363,7 +363,7 @@
quantity_stock = #{quantityStock,jdbcType=INTEGER},
</if>
<if test="stockTime != null">
stock_time = #{stockTime,jdbcType=DATE},
stock_time = #{stockTime,jdbcType=TIMESTAMP},
</if>
<if test="unitPrice != null">
unit_price = #{unitPrice,jdbcType=DECIMAL},
......@@ -395,7 +395,7 @@
warehouse_code = #{warehouseCode,jdbcType=VARCHAR},
warehouse_name = #{warehouseName,jdbcType=VARCHAR},
quantity_stock = #{quantityStock,jdbcType=INTEGER},
stock_time = #{stockTime,jdbcType=DATE},
stock_time = #{stockTime,jdbcType=TIMESTAMP},
unit_price = #{unitPrice,jdbcType=DECIMAL},
init_stock = #{initStock,jdbcType=INTEGER},
has_init = #{hasInit,jdbcType=BIT},
......@@ -475,7 +475,7 @@
#{quantityStock,jdbcType=INTEGER},
</if>
<if test="stockTime != null">
#{stockTime,jdbcType=DATE},
#{stockTime,jdbcType=TIMESTAMP},
</if>
<if test="unitPrice != null">
#{unitPrice,jdbcType=DECIMAL},
......@@ -517,7 +517,7 @@
quantity_stock = #{quantityStock,jdbcType=INTEGER},
</if>
<if test="stockTime != null">
stock_time = #{stockTime,jdbcType=DATE},
stock_time = #{stockTime,jdbcType=TIMESTAMP},
</if>
<if test="unitPrice != null">
unit_price = #{unitPrice,jdbcType=DECIMAL},
......@@ -548,7 +548,7 @@
values
(#{id,jdbcType=INTEGER}, #{gmtCreate,jdbcType=TIMESTAMP}, #{gmtModified,jdbcType=TIMESTAMP},
#{bailunSku,jdbcType=VARCHAR}, #{warehouseCode,jdbcType=VARCHAR}, #{warehouseName,jdbcType=VARCHAR},
#{quantityStock,jdbcType=INTEGER}, #{stockTime,jdbcType=DATE}, #{unitPrice,jdbcType=DECIMAL},
#{quantityStock,jdbcType=INTEGER}, #{stockTime,jdbcType=TIMESTAMP}, #{unitPrice,jdbcType=DECIMAL},
#{initStock,jdbcType=INTEGER}, #{hasInit,jdbcType=BIT}, #{hasTransfer,jdbcType=INTEGER},
#{reportDate,jdbcType=DATE})
on duplicate key update
......@@ -559,7 +559,7 @@
warehouse_code = #{warehouseCode,jdbcType=VARCHAR},
warehouse_name = #{warehouseName,jdbcType=VARCHAR},
quantity_stock = #{quantityStock,jdbcType=INTEGER},
stock_time = #{stockTime,jdbcType=DATE},
stock_time = #{stockTime,jdbcType=TIMESTAMP},
unit_price = #{unitPrice,jdbcType=DECIMAL},
init_stock = #{initStock,jdbcType=INTEGER},
has_init = #{hasInit,jdbcType=BIT},
......@@ -585,6 +585,6 @@
</select>
<select id="selectCount" resultType="java.lang.Integer">
select sum(init_stock) from dc_mid_stock_date where bailun_sku = #{bailun_sku} and warehouse_code = #{warehouseCode} and has_init = 1
select ifnull(sum(init_stock), 0) from dc_mid_stock_date where bailun_sku = #{bailunSku} and warehouse_code = #{warehouseCode} and has_init = 1
</select>
</mapper>
\ No newline at end of file
......@@ -20,4 +20,4 @@ RUN cd /usr/app/data-parent && mvn -T 1C install -pl ../data-mid/mid-duration-s
#指定容器启动程序及参数 <ENTRYPOINT> "<CMD>"
EXPOSE 8080
ENTRYPOINT ["java","-Xms30m","-Xmx80m","-jar","/usr/app/data-mid/mid-duration-stock/target/mid-duration-stock-1.0-SNAPSHOT.jar"]
\ No newline at end of file
ENTRYPOINT ["java","-Xms200m","-Xmx200m","-jar","/usr/app/data-mid/mid-duration-stock/target/mid-duration-stock-1.0-SNAPSHOT.jar"]
\ No newline at end of file
......@@ -65,7 +65,10 @@ public class CalculateStockRecordJob extends PointJob {
dcMidStockDate.setBailunSku(dcBaseStockRecord.getBailunSku());
dcMidStockDate.setWarehouseCode(dcBaseStockRecord.getWarehouseCode());
dcMidStockDateMapper.updateByExampleSelective(dcMidStockDate, DcMidStockDateExample.newAndCreateCriteria().
andBailunSkuEqualTo(dcBaseStockRecord.getBailunSku()).andWarehouseCodeEqualTo(dcBaseStockRecord.getWarehouseCode()).andHasTransferEqualTo(1).example());
andBailunSkuEqualTo(dcBaseStockRecord.getBailunSku())
.andWarehouseCodeEqualTo(dcBaseStockRecord.getWarehouseCode())
.andHasInitEqualTo(true)
.example());
stockOut = stockOut - stockNum;
}else {
DcMidStockDate dcMidStockDate = new DcMidStockDate();
......@@ -73,7 +76,10 @@ public class CalculateStockRecordJob extends PointJob {
dcMidStockDate.setBailunSku(dcBaseStockRecord.getBailunSku());
dcMidStockDate.setWarehouseCode(dcBaseStockRecord.getWarehouseCode());
dcMidStockDateMapper.updateByExampleSelective(dcMidStockDate, DcMidStockDateExample.newAndCreateCriteria().
andBailunSkuEqualTo(dcBaseStockRecord.getBailunSku()).andWarehouseCodeEqualTo(dcBaseStockRecord.getWarehouseCode()).andHasTransferEqualTo(1).example());
andBailunSkuEqualTo(dcBaseStockRecord.getBailunSku())
.andWarehouseCodeEqualTo(dcBaseStockRecord.getWarehouseCode())
.andHasInitEqualTo(true)
.example());
stockOut = 0;
}
for(DcBaseStockRecord midDcBaseStockRecord : baseStockRecordList) {
......@@ -88,7 +94,8 @@ public class CalculateStockRecordJob extends PointJob {
dcMidStockDate.setBailunSku(midDcBaseStockRecord.getBailunSku());
dcMidStockDate.setWarehouseCode(midDcBaseStockRecord.getWarehouseCode());
dcMidStockDate.setWarehouseName(midDcBaseStockRecord.getWarehouseName());
dcMidStockDate.setStockTime(midDcBaseStockRecord.getStockTime().toLocalDate());
dcMidStockDate.setStockTime(midDcBaseStockRecord.getStockTime());
dcMidStockDate.setHasTransfer(midDcBaseStockRecord.getHasTransfer());
if(firstMatch) {
dcMidStockDate.setQuantityStock(quantityStock - stockOut);
}else{
......@@ -98,7 +105,12 @@ public class CalculateStockRecordJob extends PointJob {
dcMidStockDate.setReportDate(localDateTime.toLocalDate());
try {
DcMidStockDateMapper dcMidStockDateMapper0 = SessionUtil.getSession().getMapper(DcMidStockDateMapper.class);
int result = dcMidStockDateMapper0.updateByExampleSelective(dcMidStockDate, DcMidStockDateExample.newAndCreateCriteria().andBailunSkuEqualTo(dcMidStockDate.getBailunSku()).andWarehouseCodeEqualTo(dcMidStockDate.getWarehouseCode()).andStockTimeEqualTo(dcMidStockDate.getStockTime()).example());
int result = dcMidStockDateMapper0.updateByExampleSelective(dcMidStockDate, DcMidStockDateExample.newAndCreateCriteria()
.andBailunSkuEqualTo(dcMidStockDate.getBailunSku())
.andWarehouseCodeEqualTo(dcMidStockDate.getWarehouseCode())
.andStockTimeEqualTo(dcMidStockDate.getStockTime())
.andHasTransferEqualTo(dcMidStockDate.getHasTransfer())
.example());
if(result == 0) {
dcMidStockDateMapper0.upsertSelective(dcMidStockDate);
}
......@@ -119,21 +131,21 @@ public class CalculateStockRecordJob extends PointJob {
dcMidStockDate.setBailunSku(midDcBaseStockRecord.getBailunSku());
dcMidStockDate.setWarehouseCode(midDcBaseStockRecord.getWarehouseCode());
dcMidStockDate.setWarehouseName(midDcBaseStockRecord.getWarehouseName());
dcMidStockDate.setStockTime(midDcBaseStockRecord.getStockTime().toLocalDate());
if(firstMatch) {
dcMidStockDate.setQuantityStock(quantityStock - stockOut);
}else{
dcMidStockDate.setQuantityStock(midDcBaseStockRecord.getQuantityStock());
}
// dcMidStockDate.setHasTransfer(midDcBaseStockRecord.getHasTransfer());
dcMidStockDate.setStockTime(midDcBaseStockRecord.getStockTime());
dcMidStockDate.setQuantityStock(0);
dcMidStockDate.setHasTransfer(midDcBaseStockRecord.getHasTransfer());
dcMidStockDate.setReportDate(localDateTime.toLocalDate());
try {
DcMidStockDateMapper dcMidStockDateMapper0 = SessionUtil.getSession().getMapper(DcMidStockDateMapper.class);
int result = dcMidStockDateMapper0.updateByExampleSelective(dcMidStockDate, DcMidStockDateExample.newAndCreateCriteria().andBailunSkuEqualTo(dcMidStockDate.getBailunSku()).andWarehouseCodeEqualTo(dcMidStockDate.getWarehouseCode()).andStockTimeEqualTo(dcMidStockDate.getStockTime()).andReportDateEqualTo(dcMidStockDate.getReportDate()).example());
int result = dcMidStockDateMapper0.updateByExampleSelective(dcMidStockDate, DcMidStockDateExample.newAndCreateCriteria()
.andBailunSkuEqualTo(dcMidStockDate.getBailunSku())
.andWarehouseCodeEqualTo(dcMidStockDate.getWarehouseCode())
.andStockTimeLessThanOrEqualTo(dcMidStockDate.getStockTime())
.andHasInitEqualTo(false)
.example());
if(result == 0) {
dcMidStockDateMapper0.upsertSelective(dcMidStockDate);
}
firstMatch = false;
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("MYbatis操作DB失败", e);
......
......@@ -50,8 +50,14 @@ public class SyncWarehouseStockJob extends PointJob {
dcBaseStockRecord.setBailunSku(dcBasePurchaseInbound.getBailunSku());
dcBaseStockRecord.setWarehouseCode(dcBasePurchaseInbound.getWarehouseCode());
dcBaseStockRecord.setQuantityStock(dcBasePurchaseInbound.getCount());
dcBaseStockRecord.setHasTransfer(0);
DcBaseStockRecordMapper mapper = SessionUtil.getSession().getMapper(DcBaseStockRecordMapper.class);
int i = mapper.updateByExampleSelective(dcBaseStockRecord, DcBaseStockRecordExample.newAndCreateCriteria().andBailunSkuEqualTo(dcBaseStockRecord.getBailunSku()).andWarehouseCodeEqualTo(dcBaseStockRecord.getWarehouseCode()).andStockTimeEqualTo(dcBaseStockRecord.getStockTime()).example());
int i = mapper.updateByExampleSelective(dcBaseStockRecord, DcBaseStockRecordExample.newAndCreateCriteria()
.andBailunSkuEqualTo(dcBaseStockRecord.getBailunSku())
.andWarehouseCodeEqualTo(dcBaseStockRecord.getWarehouseCode())
.andStockTimeEqualTo(dcBaseStockRecord.getStockTime())
.andHasTransferEqualTo(dcBaseStockRecord.getHasTransfer())
.example());
if (i == 0) {
mapper.insertSelective(dcBaseStockRecord);
}
......@@ -89,8 +95,14 @@ public class SyncWarehouseStockJob extends PointJob {
dcBaseStockRecord.setBailunSku(dcBaseTransferComplete.getBailunSku());
dcBaseStockRecord.setWarehouseCode(dcBaseTransferComplete.getWarehouseCode());
dcBaseStockRecord.setQuantityStock(dcBaseTransferComplete.getCount());
dcBaseStockRecord.setHasTransfer(1);
DcBaseStockRecordMapper mapper = SessionUtil.getSession().getMapper(DcBaseStockRecordMapper.class);
int i = mapper.updateByExampleSelective(dcBaseStockRecord, DcBaseStockRecordExample.newAndCreateCriteria().andBailunSkuEqualTo(dcBaseStockRecord.getBailunSku()).andWarehouseCodeEqualTo(dcBaseStockRecord.getWarehouseCode()).andStockTimeEqualTo(dcBaseStockRecord.getStockTime()).example());
int i = mapper.updateByExampleSelective(dcBaseStockRecord, DcBaseStockRecordExample.newAndCreateCriteria()
.andBailunSkuEqualTo(dcBaseStockRecord.getBailunSku())
.andWarehouseCodeEqualTo(dcBaseStockRecord.getWarehouseCode())
.andStockTimeEqualTo(dcBaseStockRecord.getStockTime())
.andHasTransferEqualTo(dcBaseStockRecord.getHasTransfer())
.example());
if (i == 0) {
mapper.insertSelective(dcBaseStockRecord);
}
......@@ -116,6 +128,7 @@ public class SyncWarehouseStockJob extends PointJob {
.andBailunSkuEqualTo(dcBaseStockOut.getBailunSku())
.andWarehouseCodeEqualTo(dcBaseStockOut.getWarehouseCode())
.andStockTimeEqualTo(dcBaseStockOut.getStockTime())
.andHasTransferEqualTo(dcBaseStockOut.getHasTransfer())
.example());
if (i == 0) {
mapper.insertSelective(dcBaseStockOut);
......@@ -168,6 +181,7 @@ public class SyncWarehouseStockJob extends PointJob {
.andBailunSkuEqualTo(dcBaseStockOut.getBailunSku())
.andWarehouseCodeEqualTo(dcBaseStockOut.getWarehouseCode())
.andStockTimeEqualTo(dcBaseStockOut.getStockTime())
.andHasTransferEqualTo(dcBaseStockOut.getHasTransfer())
.example());
if (i == 0) {
mapper.insertSelective(dcBaseStockOut);
......
......@@ -58,10 +58,11 @@ public class ApplicationTest {
@Test
public void syncTransferInbound() {
// 2020-01-09 09:37:42
SyncWarehouseStockJob syncWarehouseStockJob = new SyncWarehouseStockJob();
JobPointLog jobPointLog = new JobPointLog();
jobPointLog.setStartTime(LocalDateTime.of(2019, 9, 10 , 14, 42, 00));
jobPointLog.setEndTime(LocalDateTime.of(2019, 9, 12 , 00, 00, 00));
jobPointLog.setStartTime(LocalDateTime.of(2020, 01, 9 , 9, 37, 42));
jobPointLog.setEndTime(LocalDateTime.of(2020, 01, 9 , 10, 26, 00));
jobPointLog.setPageIndex(0);
jobPointLog.setPageSize(100);
jobPointLog.setIntervalTime(1);
......@@ -73,8 +74,8 @@ public class ApplicationTest {
public void syncOrderPick() {
SyncWarehouseStockJob syncWarehouseStockJob = new SyncWarehouseStockJob();
JobPointLog jobPointLog = new JobPointLog();
jobPointLog.setStartTime(LocalDateTime.of(2019, 01, 01 , 00, 00, 00));
jobPointLog.setEndTime(LocalDateTime.of(2019, 9, 03 , 00, 00, 00));
jobPointLog.setStartTime(LocalDateTime.of(2020, 01, 8 , 15, 23, 17));
jobPointLog.setEndTime(LocalDateTime.of(2020, 01, 8 , 15, 28, 00));
jobPointLog.setPageIndex(1);
jobPointLog.setPageSize(100);
jobPointLog.setType(5);
......@@ -87,8 +88,8 @@ public class ApplicationTest {
public void calculateDutation() {
CalculateStockRecordJob calculateStockRecordJob = new CalculateStockRecordJob();
JobPointLog jobPointLog = new JobPointLog();
jobPointLog.setStartTime(LocalDateTime.of(2019, 07, 01 , 00, 00, 00));
jobPointLog.setEndTime(LocalDateTime.of(2019, 9, 02 , 00, 00, 00));
jobPointLog.setStartTime(LocalDateTime.of(2020, 01, 8 , 15, 23, 17));
jobPointLog.setEndTime(LocalDateTime.of(2020, 01, 8 , 15, 28, 00));
jobPointLog.setPageIndex(1);
jobPointLog.setPageSize(100);
jobPointLog.setType(5);
......
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