|
@@ -11,14 +11,20 @@ import com.github.zuihou.business.barrel.entity.EquBarrel;
|
|
|
import com.github.zuihou.business.barrel.service.EquBarrelService;
|
|
|
import com.github.zuihou.business.door.entity.DoorRecord;
|
|
|
import com.github.zuihou.business.door.service.DoorRecordService;
|
|
|
+import com.github.zuihou.business.formula.entity.Formula;
|
|
|
+import com.github.zuihou.business.formula.service.FormulaService;
|
|
|
import com.github.zuihou.business.material.entity.Material;
|
|
|
import com.github.zuihou.business.material.service.MaterialService;
|
|
|
import com.github.zuihou.business.order.entity.Order;
|
|
|
import com.github.zuihou.business.order.service.OrderService;
|
|
|
+import com.github.zuihou.business.productionresource.dto.EquGoodsDto;
|
|
|
import com.github.zuihou.business.productionresource.entity.ProductionResource;
|
|
|
+import com.github.zuihou.business.productionresource.service.EquAndGoodsService;
|
|
|
import com.github.zuihou.business.productionresource.service.ProductionTenantResourceService;
|
|
|
import com.github.zuihou.business.record.entity.EquRecord;
|
|
|
import com.github.zuihou.business.record.service.EquRecordService;
|
|
|
+import com.github.zuihou.business.spe.entity.Spe;
|
|
|
+import com.github.zuihou.business.spe.service.SpeService;
|
|
|
import com.github.zuihou.business.util.CommonUtil;
|
|
|
import com.github.zuihou.common.util.DateUtil;
|
|
|
import com.github.zuihou.common.util.StringUtil;
|
|
@@ -55,7 +61,12 @@ public class OpsAppApi {
|
|
|
private MaterialService materialService;
|
|
|
@Autowired
|
|
|
private DoorRecordService doorRecordService;
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private EquAndGoodsService equAndGoodsService;
|
|
|
+ @Autowired
|
|
|
+ private FormulaService formulaService;
|
|
|
+ @Autowired
|
|
|
+ private SpeService speService;
|
|
|
|
|
|
|
|
|
/**
|
|
@@ -71,16 +82,16 @@ public class OpsAppApi {
|
|
|
LbqWrapper<ProductionResource> queryWrap = Wraps.lbQ();
|
|
|
ProductionResource productionResource = BeanUtil.toBean(params.getModel(), ProductionResource.class);
|
|
|
queryWrap.eq(ProductionResource::getStatus, "1").orderByDesc(ProductionResource::getCreateTime);
|
|
|
- if(StringUtils.isNotEmpty(productionResource.getOnlineStatus())){
|
|
|
+ if (StringUtils.isNotEmpty(productionResource.getOnlineStatus())) {
|
|
|
List<String> ids = productionTenantResourceService.getEquStatusIds(productionResource.getOnlineStatus());
|
|
|
queryWrap.in(ProductionResource::getId, ids);
|
|
|
}
|
|
|
IPage<ProductionResource> list = productionTenantResourceService.pageList(page, queryWrap);
|
|
|
- if(null!=list.getRecords() && list.getRecords().size()>0) {
|
|
|
+ if (null != list.getRecords() && list.getRecords().size() > 0) {
|
|
|
list.getRecords().stream().forEach(item -> {
|
|
|
Map map = productionTenantResourceService.getEquRunInfo(item.getId());
|
|
|
- item.setOnlineStatus(map.containsKey("equStatus")?map.get("equStatus").toString():"0");
|
|
|
- item.setErrMsg(map.containsKey("errMsg") && map.get("errMsg")!=null ?map.get("errMsg").toString():"");
|
|
|
+ item.setOnlineStatus(map.containsKey("equStatus") ? map.get("equStatus").toString() : "0");
|
|
|
+ item.setErrMsg(map.containsKey("errMsg") && map.get("errMsg") != null ? map.get("errMsg").toString() : "");
|
|
|
});
|
|
|
}
|
|
|
return R.success(list);
|
|
@@ -121,12 +132,12 @@ public class OpsAppApi {
|
|
|
Page<ProductionResource> page = new Page<>(1L, 1);
|
|
|
IPage<ProductionResource> productionResourceList = productionTenantResourceService.pageList(page, queryWrap);
|
|
|
ProductionResource productionResource = null;
|
|
|
- if(productionResourceList.getRecords().size()>0){
|
|
|
+ if (productionResourceList.getRecords().size() > 0) {
|
|
|
productionResource = productionResourceList.getRecords().get(0);
|
|
|
Map map = productionTenantResourceService.getEquRunInfo(productionResource.getId());
|
|
|
- productionResource.setOnlineStatus(map.containsKey("equStatus")?map.get("equStatus").toString():"0");
|
|
|
- productionResource.setErrMsg(map.containsKey("errMsg") && map.get("errMsg")!=null ?map.get("errMsg").toString():"");
|
|
|
- }else{
|
|
|
+ productionResource.setOnlineStatus(map.containsKey("equStatus") ? map.get("equStatus").toString() : "0");
|
|
|
+ productionResource.setErrMsg(map.containsKey("errMsg") && map.get("errMsg") != null ? map.get("errMsg").toString() : "");
|
|
|
+ } else {
|
|
|
productionResource = ProductionResource.builder().build();
|
|
|
}
|
|
|
return R.success(productionResource);
|
|
@@ -268,9 +279,9 @@ public class OpsAppApi {
|
|
|
//补充异常设备数据
|
|
|
List<String> ids = productionTenantResourceService.getEquStatusIds("2");
|
|
|
List<Long> orgArr = CommonUtil.getOrgIdsArr();
|
|
|
- if(ids.size()>0 && orgArr.size()>0) {
|
|
|
- ids = productionTenantResourceService.listByIds(ids).stream().filter(item->CollectionUtil.contains(orgArr,(Long)item.getOrgId())
|
|
|
- ).map(item->item.getId().toString()).collect(Collectors.toList());
|
|
|
+ if (ids.size() > 0 && orgArr.size() > 0) {
|
|
|
+ ids = productionTenantResourceService.listByIds(ids).stream().filter(item -> CollectionUtil.contains(orgArr, (Long) item.getOrgId())
|
|
|
+ ).map(item -> item.getId().toString()).collect(Collectors.toList());
|
|
|
}
|
|
|
map.put("exceptDevice", ids.size());
|
|
|
map.put("lackDevice", ids.size());
|
|
@@ -313,6 +324,49 @@ public class OpsAppApi {
|
|
|
if (bool) {
|
|
|
bool = equRecordService.save(equRecord);
|
|
|
}
|
|
|
+// 根据设备id查询商品
|
|
|
+ List<EquGoodsDto> equGoods = productionTenantResourceService.getEquGoods(equRecord.getEquId());
|
|
|
+
|
|
|
+
|
|
|
+// 根据设备查询料筒信息
|
|
|
+ QueryWrap<EquBarrel> barrelQueryWrap = new QueryWrap<>();
|
|
|
+ barrelQueryWrap.eq("equ_id", equRecord.getEquId());
|
|
|
+ List<EquBarrel> barrelList = equBarrelService.list(barrelQueryWrap);
|
|
|
+
|
|
|
+
|
|
|
+// 遍历商品,查询配方列表
|
|
|
+ equGoods.forEach(equGoodsDto -> {
|
|
|
+ QueryWrap<Spe> speQueryWrap = new QueryWrap<>();
|
|
|
+ speQueryWrap.eq("goods_id", equGoodsDto.getGoodsId());
|
|
|
+ List<Spe> speList = speService.list(speQueryWrap);
|
|
|
+ equGoodsDto.setSpeList(speList);
|
|
|
+// 查询每一个规格的配方列表
|
|
|
+ speList.forEach(spe -> {
|
|
|
+ QueryWrap<Formula> formulaQueryWrap = new QueryWrap<>();
|
|
|
+ formulaQueryWrap.eq("formula_spe_id", spe.getId());
|
|
|
+ List<Formula> formulaList = formulaService.list(formulaQueryWrap);
|
|
|
+ formulaList.forEach(formula -> {
|
|
|
+ barrelList.forEach(equBarrel -> {
|
|
|
+ if (formula.getFormulaMtId().equals(equBarrel.getMtrId())) {
|
|
|
+ if(equBarrel.getMtrResidue().compareTo(formula.getFormulaMtQuantity())==1){
|
|
|
+ equGoodsDto.setIsStarving("1");
|
|
|
+ }else{
|
|
|
+ equGoodsDto.setIsStarving("0");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+// 遍历配方
|
|
|
+
|
|
|
+
|
|
|
+// 根据配方中原料用量和料筒余量对比 修改商品是否缺料状态
|
|
|
+
|
|
|
|
|
|
return R.success(bool);
|
|
|
}
|
|
@@ -332,14 +386,11 @@ public class OpsAppApi {
|
|
|
|
|
|
|
|
|
@GetMapping("/getEquRunInfo")
|
|
|
- public R<Map<String, String>> getEquRunInfo(@RequestParam(name = "equId" ,required = true) Long equId) {
|
|
|
+ public R<Map<String, String>> getEquRunInfo(@RequestParam(name = "equId", required = true) Long equId) {
|
|
|
BaseContextHandler.setTenant("0000");
|
|
|
Map<String, String> resultMap = productionTenantResourceService.getEquRunInfo(equId);
|
|
|
return R.success(resultMap);
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
}
|