生产质量检验

liweidong
maxiangong 4 days ago
parent e0ed6b0e67
commit 360502bdf0
  1. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/WorkPlanItem.java
  2. 8
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/vo/WorkPlanItemVO.java
  3. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/controller/DsProcessProjectController.java
  4. 14
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaLoadServiceImpl.java
  5. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/controller/WorkPlanItemController.java
  6. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/WorkPlanItemMapper.java
  7. 17
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/WorkPlanItemMapper.xml
  8. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IWorkPlanItemService.java
  9. 20
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java
  10. 16
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemServiceImpl.java

@ -131,4 +131,7 @@ public class WorkPlanItem extends BaseEntity {
@Schema(description = "来源工序号")
private String sourceOrders;
@Schema(description = "来源ID")
private Long sourceId;
}

@ -25,11 +25,11 @@ public class WorkPlanItemVO extends WorkPlanItem {
/**
* 表层
*/
private static Integer SURFACE_COAT = 1;
public static Integer SURFACE_COAT = 1;
/**
* 底镀层
*/
private static Integer UNDER_COAT = 2;
public static Integer UNDER_COAT = 2;
private static Map<Integer, String> coatTypeMap = new HashMap<>(3);
@ -42,12 +42,12 @@ public class WorkPlanItemVO extends WorkPlanItem {
/**
* 实测值
*/
private static Integer ACTUAL_SOURCE = 1;
public static Integer ACTUAL_SOURCE = 1;
/**
* 共享值
*/
private static Integer SHARE_SOURCE = 2;
public static Integer SHARE_SOURCE = 2;
private static Map<Integer, String> sourceTypeMap = new HashMap<>(3);

@ -50,8 +50,10 @@ import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.tool.utils.DateUtil;
import org.springblade.core.excel.util.ExcelUtil;
import org.springblade.core.tool.constant.BladeConstant;
import java.util.Map;
import java.util.List;
import jakarta.servlet.http.HttpServletResponse;
/**
@ -78,6 +80,7 @@ public class DsProcessProjectController extends BladeController {
DsProcessProjectEntity detail = dsProcessProjectService.getOne(Condition.getQueryWrapper(dsProcessProject));
return R.data(DsProcessProjectWrapper.build().entityVO(detail));
}
/**
* 工序项目信息表 分页
*/

@ -37,6 +37,7 @@ import org.springblade.desk.produce.pojo.vo.BindModelVO;
import org.springblade.desk.produce.pojo.vo.LoadSubOrderVO;
import org.springblade.desk.produce.pojo.vo.PdaProRelevantVO;
import org.springblade.desk.produce.service.*;
import org.springblade.desk.quality.constant.InspectionTaskConst;
import org.springblade.desk.quality.pojo.entity.InspectionItem;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.entity.WorkPlanItem;
@ -417,9 +418,14 @@ public class PdaLoadServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
boolean save = inspectionTaskService.save(inspectionTask);
if (CollectionUtils.isNotEmpty(inspectionTask.getWpItemList())) {
List<InspectionItem> inspectionItems = inspectionItemService.list();
// double sumCheckQty = 0, sumTestQty = 0, sumLossQty = 0;
for (WorkPlanItemVO workPlanItemVO : inspectionTask.getWpItemList()) {
// sumCheckQty += workPlanItemVO.getCheckQty() != null ? workPlanItemVO.getCheckQty() : 0;
// sumTestQty += workPlanItemVO.getTestQty() != null ? workPlanItemVO.getTestQty() : 0;
// sumLossQty += workPlanItemVO.getLossQty() != null ? workPlanItemVO.getLossQty() : 0;
WorkPlanItem workPlanItem = new WorkPlanItem();
BeanUtils.copyProperties(workPlanItemVO, workPlanItem);
workPlanItem.setWpId(inspectionTask.getWpId());
workPlanItem.setTaskId(inspectionTask.getId());
// 检验项目基础数据中项目名称匹配
for (InspectionItem inspectionItem : inspectionItems) {
@ -440,7 +446,15 @@ public class PdaLoadServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
}
}
}
// inspectionTask.setScrapQty(0d);
// inspectionTask.setCheckQty(sumCheckQty);
// inspectionTask.setLossQty(sumLossQty);
// inspectionTaskService.updateById(inspectionTask);
}
// if (inspectionTask.getCheckResult() == InspectionTaskConst.CHECK_RESULT_NG) {
// inspectionTaskService.addRsSheet(inspectionTask.getId());
// }
// 刷新状态和数量
inspectionTaskService.refreshStatusAndQty(inspectionTask.getId());
// 保存镀后检验数据

@ -235,4 +235,16 @@ public class WorkPlanItemController extends BladeController {
);
return R.status(service.saveBatch(importList));
}
/**
* 根据id查询同订单共享值
*
* @param workPlanItem
* @return
*/
@GetMapping("/listShareVOByWpiId")
@Operation(summary = "根据ID查询同订单共享值", description = "传入WorkPlanItem Obj")
public R listShareVOByWpiId(WorkPlanItem workPlanItem) {
return R.data(service.listShareVOByWpiId(workPlanItem.getId()));
}
}

@ -41,4 +41,6 @@ public interface WorkPlanItemMapper extends BaseMapper<WorkPlanItem> {
List<WorkPlanItem> listByWoId(Long woId);
List<WorkPlanItemVO> listByWoIdNotNG(Long woId);
List<WorkPlanItem> listShareByWpiId(Long wpiId);
}

@ -65,4 +65,21 @@
AND b.wo_id = #{woId}
AND a.CHECK_RESULT != 3
</select>
<select id="listShareByWpiId" resultMap="workPlanItemResultMap">
SELECT a.*
FROM QA_WORK_PLAN_ITEM a
LEFT JOIN MES_WORK_PLAN b ON a.WP_ID = b.ID
INNER JOIN (
SELECT t.item_name, m.WO_ID, t.COATING_TYPE
FROM QA_WORK_PLAN_ITEM t
LEFT JOIN MES_WORK_PLAN m ON t.WP_ID = m.ID
WHERE t.id = #{wpiId}
) cond
ON a.item_name = cond.item_name
AND a.COATING_TYPE = cond.COATING_TYPE
AND b.WO_ID = cond.WO_ID
WHERE a.is_deleted = 0 AND a.SOURCE_TYPE = 1
</select>
</mapper>

@ -65,4 +65,6 @@ public interface IWorkPlanItemService extends BaseService<WorkPlanItem> {
List<WorkPlanItemVO> listByWoIdNotNG(Long woId);
List<WorkPlanItemVO> listVOByWpIdAndItemName(Long wpId, String itemName);
List<WorkPlanItemVO> listShareVOByWpiId(Long wpiId);
}

@ -2359,15 +2359,15 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
@Override
public void computeOrderQty(WorkPlan wp, InspectionTask wc, WorkOrder wo, int checkQ, int testQty, int lossQty, int scrapQty) {
if (wc != null) {
wc.setScrapQty(wc.getScrapQty() + scrapQty);
wc.setCheckQty(wc.getCheckQty() + checkQ);
wc.setLossQty(wc.getLossQty() + lossQty);
wc.setScrapQty(Optional.ofNullable(wc.getScrapQty()).orElse(0D) + scrapQty);
wc.setCheckQty(Optional.ofNullable(wc.getCheckQty()).orElse(0D) + checkQ);
wc.setLossQty(Optional.ofNullable(wc.getLossQty()).orElse(0D) + lossQty);
}
if (wo != null) {
wo.setMakeQty(wo.getMakeQty() - (testQty + lossQty + scrapQty));
wo.setTestQty(wo.getTestQty() + testQty);
wo.setLossQty(wo.getLossQty() + lossQty);
wo.setScrapQty(wo.getScrapQty() + scrapQty);
wo.setMakeQty(Optional.ofNullable(wo.getMakeQty()).orElse(0D) - (testQty + lossQty + scrapQty));
wo.setTestQty(Optional.ofNullable(wo.getTestQty()).orElse(0D) + testQty);
wo.setLossQty(Optional.ofNullable(wo.getLossQty()).orElse(0D) + lossQty);
wo.setScrapQty(Optional.ofNullable(wo.getScrapQty()).orElse(0D) + scrapQty);
log.info("车间订单:{}, 扣除测试数量:{}", wo.getWoCode(), wo.getTestQty());
}
@ -2380,9 +2380,9 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
if (list != null && list.size() > 0) {
wp.setWorkQty(wo.getMakeQty());
}
wp.setTestQty(wp.getTestQty() + testQty);
wp.setLossQty(wp.getLossQty() + lossQty);
wp.setScrapQty(wp.getScrapQty() + scrapQty);
wp.setTestQty(Optional.ofNullable(wp.getTestQty()).orElse(0D) + testQty);
wp.setLossQty(Optional.ofNullable(wp.getLossQty()).orElse(0D) + lossQty);
wp.setScrapQty(Optional.ofNullable(wp.getScrapQty()).orElse(0D) + scrapQty);
}
}

@ -115,7 +115,11 @@ public class WorkPlanItemServiceImpl extends BaseServiceImpl<WorkPlanItemMapper,
}
if(vo.getItem() != null){
List<WorkPlanItemDetailVO> list = wpItemDetailService.listVOByWorkPlanItemId(vo.getId());
Long sourceId = vo.getId();
if(vo.getSourceType() == WorkPlanItemVO.SHARE_SOURCE){
sourceId = vo.getSourceId();
}
List<WorkPlanItemDetailVO> list = wpItemDetailService.listVOByWorkPlanItemId(sourceId);
if(null == list || list.size() == 0){
vo.setWpItemDetailList(new ArrayList<>());
}else{
@ -265,4 +269,14 @@ public class WorkPlanItemServiceImpl extends BaseServiceImpl<WorkPlanItemMapper,
}
return listVO;
}
@Override
public List<WorkPlanItemVO> listShareVOByWpiId(Long wpiId) {
List<WorkPlanItem> list = baseMapper.listShareByWpiId(wpiId);
List<WorkPlanItemVO> listVO = WorkPlanItemWrapper.build().listVO(list);
for (WorkPlanItemVO vo : listVO) {
setVOValue(vo);
}
return listVO;
}
}

Loading…
Cancel
Save