|
@@ -10,6 +10,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.fjhx.common.constant.SourceConstant;
|
|
|
import com.fjhx.common.enums.PushBusinessTypeEnum;
|
|
|
import com.fjhx.common.utils.Assert;
|
|
|
+import com.fjhx.file.entity.FileInfo;
|
|
|
+import com.fjhx.file.utils.ObsFileUtil;
|
|
|
import com.fjhx.item.entity.product.po.ProductInfo;
|
|
|
import com.fjhx.item.service.product.ProductInfoService;
|
|
|
import com.fjhx.mes.entity.bom.po.BomDetail;
|
|
@@ -54,6 +56,7 @@ import com.ruoyi.common.utils.SecurityUtils;
|
|
|
import com.ruoyi.common.utils.wrapper.IWrapper;
|
|
|
import com.ruoyi.common.utils.wrapper.SqlField;
|
|
|
import com.ruoyi.system.service.ISysUserService;
|
|
|
+import org.apache.commons.io.FileUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
@@ -120,6 +123,9 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
|
|
|
|
|
|
//过滤待排程(待创建计划的工单)
|
|
|
if (Objects.equals(dto.getIsRemaining(), 1)) {
|
|
|
+ //研发必须提交后
|
|
|
+ wrapper.eq("wo",WorkOrder::getResearchStatus,1);
|
|
|
+
|
|
|
wrapper.gt("wo.remainingQuantity", 0);
|
|
|
//过滤非定制/定制但已经重新配置了bom和工艺的工单
|
|
|
wrapper.and(q -> q
|
|
@@ -154,8 +160,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
|
|
|
|
|
|
@Override
|
|
|
public WorkOrderVo detail(Long id) {
|
|
|
- WorkOrder workOrder = this.getById(id);
|
|
|
- WorkOrderVo result = BeanUtil.toBean(workOrder, WorkOrderVo.class);
|
|
|
+ WorkOrderVo result = baseMapper.detail(IWrapper.<WorkOrder>getWrapper().eq(WorkOrder::getId, id));
|
|
|
List<ProductionPlan> list = productionPlanService.list(q -> q.eq(ProductionPlan::getWorkOrderId, id));
|
|
|
result.setProductionPlans(list);
|
|
|
ProductInfo productInfo = productInfoService.getById(result.getProductId());
|
|
@@ -164,7 +169,7 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
|
|
|
result.setProductSpec(productInfo.getSpec());
|
|
|
}
|
|
|
//赋值产品可用库存
|
|
|
- BigDecimal availableStockQuantity = stockService.getAvailableStockQuantity(workOrder.getProductId());
|
|
|
+ BigDecimal availableStockQuantity = stockService.getAvailableStockQuantity(result.getProductId());
|
|
|
result.setAvailableStockQuantity(availableStockQuantity);
|
|
|
|
|
|
return result;
|
|
@@ -448,4 +453,21 @@ public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder
|
|
|
// stockFrozenService.saveOrUpdateBatch(stockFrozenList);
|
|
|
// }
|
|
|
|
|
|
+ /**
|
|
|
+ * 研发上传附件
|
|
|
+ */
|
|
|
+ public void research(WorkOrderDto dto){
|
|
|
+ WorkOrder workOrder = this.getById(dto.getId());
|
|
|
+ Assert.notEmpty(workOrder,"查询不到工单信息!");
|
|
|
+ //修改研发状态
|
|
|
+ this.update(q -> q
|
|
|
+ .eq(WorkOrder::getId, dto.getId())
|
|
|
+ .set(ObjectUtil.isNotEmpty(dto.getResearchStatus()),WorkOrder::getResearchStatus, dto.getResearchStatus())
|
|
|
+ .set(BasePo::getUpdateTime, new Date())
|
|
|
+ .set(BasePo::getUpdateUser, SecurityUtils.getUserId())
|
|
|
+ );
|
|
|
+ //修改附件列表
|
|
|
+ ObsFileUtil.editFile(dto.getFileList(), dto.getId());
|
|
|
+ }
|
|
|
+
|
|
|
}
|