Compare commits
2 Commits
26c222bd40
...
945c08c20f
| Author | SHA1 | Date |
|---|---|---|
|
|
945c08c20f | |
|
|
1a6d1e47db |
BIN
dbhelper.jar
BIN
dbhelper.jar
Binary file not shown.
|
|
@ -43,6 +43,7 @@ public class ControllerAspect {
|
|||
result.setData(null);
|
||||
result.setCode(101);
|
||||
log.error(e.getMessage());
|
||||
e.printStackTrace();
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -80,4 +80,7 @@ public class Inventory implements Serializable {
|
|||
|
||||
@ApiModelProperty("标识码 由追溯码生成")
|
||||
private String idCodes;
|
||||
|
||||
@ApiModelProperty("警告日期")
|
||||
private LocalDate warmDate;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,14 +20,14 @@ import java.util.Map;
|
|||
*/
|
||||
public interface InventoryMapper extends BaseMapper<Inventory> {
|
||||
@Select("SELECT" +
|
||||
" inventory.*,goods.expiry_warn_days,goods.unit_price,EXTRACT(EPOCH FROM AGE(expiry_date, CURRENT_DATE)) / 86400 AS remaining_days" +
|
||||
" inventory.*,goods.expiry_warn_days,goods.unit_price" +
|
||||
" FROM inventory LEFT JOIN goods ON inventory.good_id = goods.id" +
|
||||
" WHERE CURRENT_DATE + INTERVAL '1 day' * goods.expiry_warn_days >= inventory.expiry_date AND inventory.whole_number !=0 ORDER BY inventory.expiry_date ASC LIMIT #{limit} offset #{offset} ")
|
||||
" WHERE CURRENT_DATE >= inventory.warm_date AND inventory.whole_number !=0 ORDER BY inventory.expiry_date ASC LIMIT #{limit} offset #{offset} ")
|
||||
List<Map<String, Object>> selectExpiryWarn(@Param("limit") Integer limit, @Param("offset") Integer offset);
|
||||
@Select("SELECT" +
|
||||
" count(1)" +
|
||||
" FROM inventory LEFT JOIN goods ON inventory.good_id = goods.id" +
|
||||
" WHERE CURRENT_DATE + INTERVAL '1 day' * goods.expiry_warn_days >= inventory.expiry_date AND inventory.whole_number !=0 ")
|
||||
" WHERE CURRENT_DATE >= inventory.warm_date AND inventory.whole_number !=0 ")
|
||||
Long countExpiryWarn();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ import java.time.LocalDate;
|
|||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
@Service
|
||||
public class GoodsService extends BaseService {
|
||||
|
|
@ -97,6 +98,21 @@ public class GoodsService extends BaseService {
|
|||
} else {
|
||||
//修改建档信息
|
||||
Goods dbGoods = goodsMapper.selectById(goods.getId());
|
||||
|
||||
if (!Objects.equals(dbGoods.getExpiryWarnDays(), goods.getExpiryWarnDays()))
|
||||
{
|
||||
QueryWrapper<Inventory> inventoryWrapper = new QueryWrapper<>();
|
||||
|
||||
inventoryWrapper.eq("good_id", goods.getId());
|
||||
|
||||
List<Inventory> inventoryList = inventoryMapper.selectList(inventoryWrapper);
|
||||
|
||||
for (Inventory inventory : inventoryList) {
|
||||
inventory.setWarmDate(inventory.getExpiryDate().minusDays(goods.getExpiryWarnDays()));
|
||||
inventoryMapper.updateById(inventory);
|
||||
}
|
||||
}
|
||||
|
||||
goodsMapper.updateById(goods);
|
||||
if (!dbGoods.getTrdnFlag().equals(goods.getTrdnFlag())) {
|
||||
// todo 拆零标志变化 重新初始化医保库存
|
||||
|
|
|
|||
|
|
@ -137,6 +137,11 @@ public class InventoryPurchaseService extends BaseService {
|
|||
remark = Constants.InitInventory;
|
||||
}
|
||||
inventory.setRefererType(refererTypeEnum.getType());
|
||||
|
||||
if (goods.getExpiryWarnDays() != null && goods.getExpiryWarnDays() > 0) {
|
||||
inventory.setWarmDate(inventory.getExpiryDate().minusDays(goods.getExpiryWarnDays()));
|
||||
}
|
||||
|
||||
inventoryMapper.insert(inventory);
|
||||
if (init != null) {
|
||||
init.setInventoryId(inventory.getId());
|
||||
|
|
|
|||
|
|
@ -32,7 +32,9 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
|
|
@ -258,12 +260,18 @@ public class InventoryService extends BaseService {
|
|||
Integer limit = pageSize;
|
||||
Integer offset = (pageNum - 1) * pageSize;
|
||||
Long totalCount = inventoryMapper.countExpiryWarn();
|
||||
|
||||
System.out.println(totalCount);
|
||||
|
||||
int totalPage= (int) (totalCount % pageSize == 0 ? totalCount / pageSize : totalCount / pageSize + 1);
|
||||
List<Map<String, Object>> maps = inventoryMapper.selectExpiryWarn(limit, offset);
|
||||
|
||||
for (Map<String, Object> map : maps) {
|
||||
long days = LocalDate.now().until(LocalDate.parse(map.get("expiry_date").toString()), ChronoUnit.DAYS);
|
||||
map.put("remaining_days",days);
|
||||
}
|
||||
|
||||
Page<Map<String, Object>> page = new Page<>();
|
||||
page.setList(maps);
|
||||
page.setTotal_page(totalPage);
|
||||
page.setTotal_count(totalCount);
|
||||
return page;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue