|
@@ -34,56 +34,60 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
|
|
|
|
|
|
private static final RestTemplate restTemplate = new RestTemplate();
|
|
|
|
|
|
+ private static final Object obj = new Object();
|
|
|
+
|
|
|
@Autowired
|
|
|
private StockBackPlanDetailsService stockBackPlanDetailsService;
|
|
|
|
|
|
@Override
|
|
|
- public synchronized void getScheduleTask() {
|
|
|
+ public void getScheduleTask() {
|
|
|
|
|
|
- // 请求v3接口获取token
|
|
|
- String token = getToken();
|
|
|
+ synchronized (obj) {
|
|
|
|
|
|
- // 请求v3接口获取所有人领料信息
|
|
|
- Date date = new Date();
|
|
|
+ // 请求v3接口获取token
|
|
|
+ String token = getToken();
|
|
|
|
|
|
- String beginDate = DateUtil.format(DateUtil.offsetDay(date, -4), "yyyy-MM-dd 00:00:00");
|
|
|
- String endDate = DateUtil.format(date, "yyyy-MM-dd 23:59:59");
|
|
|
+ // 请求v3接口获取所有人领料信息
|
|
|
+ Date date = new Date();
|
|
|
|
|
|
- String url = "http://mes.cfmfactory.com:8087/MesWeb/planPersonOutAction.do?action=list&beginDate="
|
|
|
- + beginDate + "&endDate=" + endDate + "&access_token=" + token;
|
|
|
+ String beginDate = DateUtil.format(DateUtil.offsetDay(date, -4), "yyyy-MM-dd 00:00:00");
|
|
|
+ String endDate = DateUtil.format(date, "yyyy-MM-dd 23:59:59");
|
|
|
|
|
|
- String resultStr = restTemplate.getForEntity(url, String.class).getBody();
|
|
|
- JSONObject resultMap = JSONObject.parseObject(resultStr);
|
|
|
- // 接收到的消息
|
|
|
- List<JSONObject> items = (List<JSONObject>) resultMap.get("items");
|
|
|
+ String url = "http://mes.cfmfactory.com:8087/MesWeb/planPersonOutAction.do?action=list&beginDate="
|
|
|
+ + beginDate + "&endDate=" + endDate + "&access_token=" + token;
|
|
|
|
|
|
- remove(Wrappers.<StockBackPlan>lambdaQuery().between(StockBackPlan::getPlanTime, beginDate, endDate));
|
|
|
+ String resultStr = restTemplate.getForEntity(url, String.class).getBody();
|
|
|
+ JSONObject resultMap = JSONObject.parseObject(resultStr);
|
|
|
+ // 接收到的消息
|
|
|
+ List<JSONObject> items = (List<JSONObject>) resultMap.get("items");
|
|
|
|
|
|
- Map<String, StockBackPlan> flagMap = new HashMap<>();
|
|
|
+ remove(Wrappers.<StockBackPlan>lambdaQuery().between(StockBackPlan::getPlanTime, beginDate, endDate));
|
|
|
|
|
|
- Date newDate = new Date();
|
|
|
+ Map<String, StockBackPlan> flagMap = new HashMap<>();
|
|
|
|
|
|
- // 循环领料信息
|
|
|
- items.forEach(item -> {
|
|
|
- // 喷印人员工号
|
|
|
- String distributor = item.get("distributor").toString();
|
|
|
- // 打纸人员工号
|
|
|
- String paperMan = item.get("paperMan").toString();
|
|
|
- // 排班面积
|
|
|
- BigDecimal plantotalsquare = new BigDecimal(item.get("plantotalsquare").toString());
|
|
|
- // 物料名称
|
|
|
- String material = item.get("material").toString();
|
|
|
- // 排班时间
|
|
|
- String planDate = item.get("planDate").toString();
|
|
|
+ Date newDate = new Date();
|
|
|
|
|
|
- // 喷印人员工号添加领料记录标记
|
|
|
- addOrEditFlagMap(flagMap, distributor, plantotalsquare, planDate, material, newDate);
|
|
|
+ // 循环领料信息
|
|
|
+ items.forEach(item -> {
|
|
|
+ // 喷印人员工号
|
|
|
+ String distributor = item.get("distributor").toString();
|
|
|
+ // 打纸人员工号
|
|
|
+ String paperMan = item.get("paperMan").toString();
|
|
|
+ // 排班面积
|
|
|
+ BigDecimal plantotalsquare = new BigDecimal(item.get("plantotalsquare").toString());
|
|
|
+ // 物料名称
|
|
|
+ String material = item.get("material").toString();
|
|
|
+ // 排班时间
|
|
|
+ String planDate = item.get("planDate").toString();
|
|
|
|
|
|
- // 打纸人员工号添加领料记录标记
|
|
|
- if (ObjectUtil.isNotEmpty(paperMan) && !Objects.equals(paperMan, "0")) {
|
|
|
- addOrEditFlagMap(flagMap, paperMan, plantotalsquare, planDate, "热转印纸", newDate);
|
|
|
- }
|
|
|
- });
|
|
|
+ // 喷印人员工号添加领料记录标记
|
|
|
+ addOrEditFlagMap(flagMap, distributor, plantotalsquare, planDate, material, newDate);
|
|
|
+
|
|
|
+ // 打纸人员工号添加领料记录标记
|
|
|
+ if (ObjectUtil.isNotEmpty(paperMan) && !Objects.equals(paperMan, "0")) {
|
|
|
+ addOrEditFlagMap(flagMap, paperMan, plantotalsquare, planDate, "热转印纸", newDate);
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
// List<Map<String, Object>> list = baseMapper.getList(Wrappers.<Scheduling>lambdaQuery()
|
|
|
// .between(Scheduling::getPlanDate, beginDate, endDate));
|
|
@@ -97,51 +101,58 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
|
|
|
// addOrEditFlagMap(flagMap, jobNo, quantity, planDate, materialName, newDate);
|
|
|
// }
|
|
|
|
|
|
- // 更新当天的出库单
|
|
|
- saveBatch(new ArrayList<>(flagMap.values()));
|
|
|
+ // 更新当天的出库单
|
|
|
+ saveBatch(new ArrayList<>(flagMap.values()));
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
@Override
|
|
|
- public synchronized void statisticsScheduleDateTask() {
|
|
|
-
|
|
|
- // 统计近3天排班
|
|
|
- Date endDate = new Date();
|
|
|
- Date beginDate = DateUtil.beginOfDay(DateUtil.offsetDay(endDate, -2));
|
|
|
-
|
|
|
- List<StockBackPlan> list = list(Wrappers.<StockBackPlan>lambdaQuery()
|
|
|
- .between(StockBackPlan::getPlanTime, beginDate, endDate));
|
|
|
-
|
|
|
- // 工号,物料名称,排班时间封装成key,对象为value
|
|
|
- Map<String, StockBackPlanDetails> stockBackPlanMap = list.stream().collect(Collectors.toMap(
|
|
|
- item -> item.getJobNo() + item.getPlanMaterial() + item.getPlanTime(),
|
|
|
- item -> {
|
|
|
- StockBackPlanDetails stockBackPlanDetails =
|
|
|
- createStockBackPlanDetails(item.getJobNo(), item.getPlanMaterial(), item.getPlanTime());
|
|
|
- stockBackPlanDetails.setQuantity(item.getQuantity());
|
|
|
- return stockBackPlanDetails;
|
|
|
- }
|
|
|
- ));
|
|
|
+ public void statisticsScheduleDateTask() {
|
|
|
+
|
|
|
+ synchronized (obj) {
|
|
|
+
|
|
|
+ // 统计近3天排班
|
|
|
+ Date endDate = new Date();
|
|
|
+ Date beginDate = DateUtil.beginOfDay(DateUtil.offsetDay(endDate, -26));
|
|
|
+
|
|
|
+ List<StockBackPlan> list = list(Wrappers.<StockBackPlan>lambdaQuery()
|
|
|
+ .between(StockBackPlan::getPlanTime, beginDate, endDate));
|
|
|
|
|
|
- stockBackPlanDetailsService.remove(Wrappers.<StockBackPlanDetails>lambdaQuery()
|
|
|
- .between(StockBackPlanDetails::getPlanTime, beginDate, endDate));
|
|
|
+ stockBackPlanDetailsService.remove(Wrappers.<StockBackPlanDetails>lambdaQuery()
|
|
|
+ .between(StockBackPlanDetails::getPlanTime, beginDate, endDate));
|
|
|
|
|
|
- // 查询出库
|
|
|
- issue(beginDate, stockBackPlanMap);
|
|
|
+ // 工号,物料名称,排班时间封装成key,对象为value
|
|
|
+ Map<String, StockBackPlanDetails> stockBackPlanMap = list.stream().collect(Collectors.toMap(
|
|
|
+ item -> item.getJobNo() + item.getPlanMaterial() + item.getPlanTime(),
|
|
|
+ item -> {
|
|
|
+ StockBackPlanDetails stockBackPlanDetails =
|
|
|
+ createStockBackPlanDetails(item.getJobNo(), item.getPlanMaterial(), item.getPlanTime());
|
|
|
+ stockBackPlanDetails.setQuantity(item.getQuantity());
|
|
|
+ return stockBackPlanDetails;
|
|
|
+ }
|
|
|
+ ));
|
|
|
|
|
|
- // 查询回仓
|
|
|
- returnWarehouse(beginDate, stockBackPlanMap);
|
|
|
+ // 查询出库
|
|
|
+ issue(beginDate, stockBackPlanMap);
|
|
|
|
|
|
- // 物料修正
|
|
|
- correct(beginDate, stockBackPlanMap);
|
|
|
+ // 查询回仓
|
|
|
+ returnWarehouse(beginDate, stockBackPlanMap);
|
|
|
|
|
|
- // 转入
|
|
|
- transferIn(beginDate, stockBackPlanMap);
|
|
|
+ // 物料修正
|
|
|
+ correct(beginDate, stockBackPlanMap);
|
|
|
|
|
|
- // 转出
|
|
|
- transferOut(beginDate, stockBackPlanMap);
|
|
|
+ // 转入
|
|
|
+ transferIn(beginDate, stockBackPlanMap);
|
|
|
+
|
|
|
+ // 转出
|
|
|
+ transferOut(beginDate, stockBackPlanMap);
|
|
|
+
|
|
|
+ stockBackPlanDetailsService.saveBatch(new ArrayList<>(stockBackPlanMap.values()));
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
- stockBackPlanDetailsService.saveBatch(new ArrayList<>(stockBackPlanMap.values()));
|
|
|
}
|
|
|
|
|
|
private StockBackPlanDetails createStockBackPlanDetails(String jobNo, String materialName, Date planDate) {
|
|
@@ -170,6 +181,8 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
|
|
|
stockBackPlanDetails.setTransferInArea(BigDecimal.ZERO);
|
|
|
stockBackPlanDetails.setTransferInNum(0);
|
|
|
|
|
|
+ stockBackPlanDetails.setCreateTime(new Date());
|
|
|
+
|
|
|
return stockBackPlanDetails;
|
|
|
}
|
|
|
|
|
@@ -361,7 +374,7 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
|
|
|
*/
|
|
|
private void transferIn(Date beginDate, Map<String, StockBackPlanDetails> stockBackPlanMap) {
|
|
|
List<Map<String, Object>> transferPickingList = baseMapper.getTransferPickingList(Wrappers.query()
|
|
|
- .ge("st.submit_time", DateUtil.format(beginDate, "yyyy-MM-dd 7:30:00"))
|
|
|
+ .ge("st.submit_time", DateUtil.format(beginDate, "yyyy-MM-dd 10:00:00"))
|
|
|
.eq("st.status", StatusConstant.YES)
|
|
|
.eq("st.del_flag", 0)
|
|
|
);
|
|
@@ -373,9 +386,9 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
|
|
|
// 时
|
|
|
int h = Integer.parseInt(DateUtil.format(createTime, "H"));
|
|
|
// 分
|
|
|
- int m = Integer.parseInt(DateUtil.format(createTime, "m"));
|
|
|
+// int m = Integer.parseInt(DateUtil.format(createTime, "m"));
|
|
|
// 小于7点30算前一日
|
|
|
- if (h < 7 || (h == 7 && m <= 30)) {
|
|
|
+ if (h < 10) {
|
|
|
createTime = DateUtil.offsetDay(createTime, -1);
|
|
|
}
|
|
|
|
|
@@ -422,7 +435,7 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
|
|
|
private void transferOut(Date beginDate, Map<String, StockBackPlanDetails> stockBackPlanMap) {
|
|
|
|
|
|
List<Map<String, Object>> transferBackList = baseMapper.getTransferBackList(Wrappers.query()
|
|
|
- .ge("st.submit_time", DateUtil.format(beginDate, "yyyy-MM-dd 07:30:00"))
|
|
|
+ .ge("st.submit_time", DateUtil.format(beginDate, "yyyy-MM-dd 10:00:00"))
|
|
|
.eq("st.status", StatusConstant.YES)
|
|
|
.eq("st.del_flag", 0)
|
|
|
);
|
|
@@ -433,9 +446,9 @@ public class StockBackPlanServiceImpl extends ServiceImpl<StockBackPlanMapper, S
|
|
|
Date createTime = (Date) map.get("createTime");
|
|
|
|
|
|
int h = Integer.parseInt(DateUtil.format(createTime, "H"));
|
|
|
- int m = Integer.parseInt(DateUtil.format(createTime, "m"));
|
|
|
+// int m = Integer.parseInt(DateUtil.format(createTime, "m"));
|
|
|
// 小于7点30点算前一日
|
|
|
- if (h < 7 || (h == 7 && m <= 30)) {
|
|
|
+ if (h < 10) {
|
|
|
createTime = DateUtil.offsetDay(createTime, -1);
|
|
|
}
|
|
|
// 排班时间
|