生产管理修改

liweidong
李涛 23 hours ago
parent 752fb9ee4c
commit 45f0a335f8
  1. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/entity/WorkPlan.java
  2. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/constant/ReviewSheetConst.java
  3. 13
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/InspectionTask.java
  4. 2
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/quality/pojo/entity/ReviewSheet.java
  5. 19
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/AiWebApiController.java
  6. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IWorkOrderService.java
  7. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java
  8. 4
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java
  9. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkPlanServiceImpl.java
  10. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.java
  11. 3
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/ReviewSheetMapper.xml
  12. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/WorkPlanItemMapper.java
  13. 12
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/mapper/WorkPlanItemMapper.xml
  14. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IInspectionTaskService.java
  15. 6
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/IWorkPlanItemService.java
  16. 124
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java
  17. 212
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/ReviewSheetServiceImpl.java
  18. 15
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/WorkPlanItemServiceImpl.java

@ -159,7 +159,7 @@ public class WorkPlan extends BaseEntity {
* 不合格数量
*/
@Schema(description = "不合格数量")
private Integer unqualifiedQty;
private Double unqualifiedQty;
/**
* 实际开始
*/

@ -55,7 +55,7 @@ public interface ReviewSheetConst {
/**
* 初始化
*/
Integer REVIEW_STATUS_INIT = -1;
Short REVIEW_STATUS_INIT = -1;
/**
* 让步接收
*/

@ -180,6 +180,19 @@ public class InspectionTask extends BaseEntity {
*/
public static final String COL_PREPARE_WORK_MINUTE = "PREPARE_WORK_MINUTE";
/**
* 未检验
*/
public static Integer CHECK_RESULT_NOT = -1;
/**
* 合格
*/
public static Integer CHECK_RESULT_OK = 1;
/**
* 不合格
*/
public static Integer CHECK_RESULT_NO = 2;
/**
* [检验任务]编码
*/

@ -306,7 +306,7 @@ public class ReviewSheet extends BaseEntity {
* 审理状态
*/
@Schema(description = "审理状态")
private Integer reviewStatus;
private Short reviewStatus;
/**
* 业务类型-[1]:内部审理返修;[2]:内部审理报废;[3]:ERP审理;
*/

@ -7,6 +7,7 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletRequest;
import lombok.AllArgsConstructor;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.desk.oldv1.constant.Constant;
import org.springblade.desk.oldv1.pojo.ResultInfo;
@ -52,4 +53,22 @@ public class AiWebApiController extends BladeController {
return ResultInfo.ok();
}
@PostMapping(value = "/deleteReviewOrder")
@Operation(summary = "审理结束回调接口")
public ResultInfo deleteReviewOrder(HttpServletRequest request) throws Exception {
JSONObject params = (JSONObject) request.getAttribute(Constant.WEBAPI_REQUEST_PARAMETERS);
// 添加 调试log
log.info("审理单删除调用接口 params = {}", params);
if (params == null || params.size() == 0) {
throw new BusinessException("参数传递异常!");
}
try {
String trialId = params.getString("trialId");
qcReviewSheetService.deleteReviewOrder(trialId);
} catch (Exception e) {
log.error("审理单删除调用接口{}", params.toJSONString(), e);
}
return ResultInfo.ok();
}
}

@ -11,6 +11,7 @@ import org.springblade.desk.produce.pojo.vo.BatchPrepareVO;
import org.springblade.desk.produce.pojo.vo.QueryByReadStatusVO;
import org.springblade.desk.produce.pojo.vo.WorkOrderVO;
import org.springblade.desk.produce.pojo.vo.WorkPlanRunVO;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.scheduling.pojo.entity.WorkOrderEntity;
import org.springblade.desk.produce.pojo.vo.*;
import java.util.List;
@ -217,7 +218,7 @@ public interface IWorkOrderService extends BaseService<WorkOrder> {
* @param wp 工单计划
* @param wo 工单
*/
void qualified(WorkPlan wp, WorkOrder wo, String userName);
void qualified(WorkPlan wp, InspectionTask taskWorkOrder ,WorkOrder wo, String userName);
/**
* <p>方法名: setRbFilePreserveData </p>

@ -213,7 +213,7 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
if (wp.getStatus() <= WorkPlan.STATUS_START) {
// 修改本序
wp.setFactStartTime(null);
wp.setUnqualifiedQty(0);
wp.setUnqualifiedQty(0d);
wp.setStatus(WorkPlan.STATUS_NO_START);
workPlanMapper.updateById(wp);
WorkPlan frontWorkPlan = workPlanMapper.selectOne(new LambdaQueryWrapper<WorkPlan>()
@ -344,7 +344,7 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
wp.setMakeTeam(teamSet.getId());
wp.setOem(null);
wp.setPlanStartTime(null);
wp.setUnqualifiedQty(0);
wp.setUnqualifiedQty(0d);
wp.setWorkQty(0d);
wp.setPlanEndTime(null);
wp.setSubsidiaryTeam(null);

@ -2121,7 +2121,9 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
}
@Override
public void qualified(WorkPlan wp, WorkOrder wo, String userName) {
public void qualified(WorkPlan wp, InspectionTask wc, WorkOrder wo, String userName) {
wc.setQualifiedQty(wo.getMakeQty());
wc.setCheckResult(InspectionTask.CHECK_RESULT_OK);
// 检验完成修改车间订单状态(注意如果wp中状态是已完成,则不更改订单状态和工序状态,只对后续工序的接收数和完工数进行更改)
WorkPlan nextWorkPlan = workPlanService.getById(wp.getNextWpId());
if (wp.getStatus() < WorkPlan.STATUS_COMPLETE) {

@ -100,7 +100,7 @@ public class WorkPlanServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPla
wp.setTestQty(0d);
wp.setScrapQty(0d);
wp.setCreateTime(new Date());
wp.setUnqualifiedQty(0);
wp.setUnqualifiedQty(0d);
//判定工序是否特殊工序,如果是,则附属班组存在值
if (wp.getMakeTeam() != null) {
BsProcessSetEntity processSet = bsProcessSetService.getById(wp.getPpsId());

@ -14,6 +14,7 @@ import org.springblade.desk.quality.pojo.request.ReviewSheetInitSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetRedoScrapSearch;
import org.springblade.desk.quality.pojo.vo.*;
import org.springblade.desk.quality.pojo.dto.PpmReportDetailDTO;
import org.springblade.wms.pojo.entity.SyDockingLog;
import java.util.List;
@ -61,4 +62,6 @@ public interface ReviewSheetMapper extends BaseMapper<ReviewSheet> {
List<PpmReportDetailDTO> listErpNew(IPage<PpmReportDetailDTO> page,
@Param("q") ReviewSheetErpSearch search);
List<SyDockingLog> queryGdByCode(String trialId);
}

@ -346,4 +346,7 @@
and lotno like concat(concat('%', #{q.dutyBatNo}),'%')
</if>
</select>
<select id="queryGdByCode" resultType="org.springblade.wms.pojo.entity.SyDockingLog">
select * from SY_DOCKING_LOG where read_type = '审理结束回调接口' and code = #{trialId}
</select>
</mapper>

@ -37,4 +37,6 @@ public interface WorkPlanItemMapper extends BaseMapper<WorkPlanItem> {
* @return List<WorkPlanItemExcel>
*/
List<WorkPlanItemExcel> exportWorkPlanItem(@Param("ew") Wrapper<WorkPlanItem> queryWrapper);
List<WorkPlanItem> listByWoId(Long woId);
}

@ -37,4 +37,16 @@
SELECT *
FROM QA_WORK_PLAN_ITEM ${ew.customSqlSegment}
</select>
<select id="listByWoId" resultType="org.springblade.desk.quality.pojo.entity.WorkPlanItem">
SELECT
a.*
FROM
QA_WORK_PLAN_ITEM a
INNER JOIN mes_work_plan b ON a.wp_id = b.ID
LEFT JOIN BS_PROCESS_SET c ON b.PPS_ID = c.ID
WHERE
b.wo_id = #{woId}
AND a.ITEM_NAME != '单件包装材料数量'
AND c.NAME != '烧结包装防护'
</select>
</mapper>

@ -16,6 +16,8 @@ import org.springblade.core.tool.api.R;
import org.springblade.desk.produce.pojo.dto.PrintThicknessCraftCard;
import org.springblade.desk.produce.pojo.entity.MesRbFilePreserveDetailEntity;
import org.springblade.desk.produce.pojo.entity.MesRbFilePreserveSlotEntity;
import org.springblade.desk.produce.pojo.entity.WorkOrder;
import org.springblade.desk.produce.pojo.entity.WorkPlan;
import org.springblade.desk.quality.excel.InspectionTaskExcel;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.request.InspectionTaskSearch;
@ -131,5 +133,7 @@ public interface IInspectionTaskService extends BaseService<InspectionTask> {
List<PrintThicknessCraftCard> printThicknessList(List<Long> idArr);
List<MesRbFilePreserveDetailEntity> getByRfpsIdMesNew(Long rfpsId);
public void saveOrEditMes(List<MesRbFilePreserveSlotEntity> submitList, List<Long> deleteIds, BladeUser curUserInfo,Long rfpId);
void saveOrEditMes(List<MesRbFilePreserveSlotEntity> submitList, List<Long> deleteIds, BladeUser curUserInfo, Long rfpId);
void computeOrderQty(WorkPlan wp, InspectionTask task, WorkOrder wo, int checkQ, int testQty, int lossQty, int scrapQty);
}

@ -55,4 +55,10 @@ public interface IWorkPlanItemService extends BaseService<WorkPlanItem> {
void saveCheckItem(WorkPlan wp, List<WorkPlanItem> checkItemList, List<Long> deleteIds, String s);
void deleteItem(List<Long> deleteIds);
List<WorkPlanItem> listByWpId(Long wpId, Integer checkResultNo);
List<WorkPlanItem> listByWpId(Long wpId);
List<WorkPlanItem> listByWoId(Long woId);
}

@ -95,7 +95,7 @@ import static com.fasterxml.jackson.databind.type.LogicalType.DateTime;
@EqualsAndHashCode(callSuper = true)
@Slf4j
public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMapper, InspectionTask>
implements IInspectionTaskService , ApplicationContextAware {
implements IInspectionTaskService, ApplicationContextAware {
@Resource
private IInspectionItemService itemService;
@ -124,7 +124,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
private IRemindMsgService service;
@Resource
private WorkPlanMapper workPlanMapper;
// @Resource
// @Resource
// private IWorkOrderService workOrderService;
@Resource
private WorkOrderMapper workOrderMapper;
@ -177,8 +177,8 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
// InspectionTaskListVO taskListVO = InspectionTaskListWrapper.build().entityVO(task);
InspectionTaskListVO detailDetail = this.detailById(task);
DsPartEntity part =partService.selectDsPartByPatCodeAndVersion(detailDetail.getPartCode(),null);
if(null != part){
DsPartEntity part = partService.selectDsPartByPatCodeAndVersion(detailDetail.getPartCode(), null);
if (null != part) {
detailDetail.setMaterial(part.getMaterial());
detailDetail.setHardness(part.getHardness());
detailDetail.setProcess(part.getCraftWay());
@ -189,11 +189,10 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
vo.setOrderInfo(detailDetail);
if(null == detailDetail.getCurrentProcessName()){
if (null == detailDetail.getCurrentProcessName()) {
vo.setProcessName("");
}else{
} else {
vo.setProcessName(detailDetail.getCurrentProcessName());
}
// todo:
@ -210,9 +209,9 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
//查询零件号消息提醒
List<RemindMsg> msgList = new ArrayList<>();
List<RemindMsg> msgListNew = new ArrayList<>();
if(null != parts && parts.size() > 0){
if (null != parts && parts.size() > 0) {
if(null != processId && 107L == processId){
if (null != processId && 107L == processId) {
LambdaQueryWrapper<RemindMsg> qw = Wrappers.lambdaQuery(RemindMsg.class)
.eq(RemindMsg::getPartCode, parts.get(0).getPartCode())
// .eq(RemindMsg::getQualityLevel, prodIdent)
@ -239,7 +238,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
// }
}
if(null != processId && 21L == processId){
if (null != processId && 21L == processId) {
LambdaQueryWrapper<RemindMsg> qw = Wrappers.lambdaQuery(RemindMsg.class)
.eq(RemindMsg::getPartCode, parts.get(0).getPartCode())
// .eq(RemindMsg::getQualityLevel, prodIdent)
@ -275,10 +274,10 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
//颜色提醒
List<DsPartEntity> list = partService.getPartSubList(detailDetail.getPartCode(), null);
List<RemindMsg> colorMsges = new ArrayList<>();
if(null != list && list.size() > 0){
for(DsPartEntity partEntity : list){
if (null != list && list.size() > 0) {
for (DsPartEntity partEntity : list) {
List<RemindMsg> msges = new ArrayList<>();
LambdaQueryWrapper<RemindMsg> qw = Wrappers.lambdaQuery(RemindMsg.class)
LambdaQueryWrapper<RemindMsg> qw = Wrappers.lambdaQuery(RemindMsg.class)
.eq(RemindMsg::getSubPartCode, partEntity.getPartCode())
// .eq(RemindMsg::getQualityLevel, prodIdent)
.eq(RemindMsg::getRemindMsgType, 2L)
@ -509,16 +508,16 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
WorkPlanItem wpItemDB = wpItemService.getById(wpItemVO.getId());
WorkPlan wpi = workPlanMapper.selectById(wpItemDB.getWpId());
if(null != wpi){
if (null != wpi) {
WorkOrder order = workOrderMapper.selectById(wpi.getWoId());
if(null != order){
if (null != order) {
YieldOrder yieldOrder = yieldOrderMapper.selectById(order.getYoId());
String[] arr = new String[]{"YH","CASTH","YB","YC","SAST","CISS","EK"};
String[] chrr = new String[]{"董以青","王跃伟","刘旭","张琼琼","张楠","朱辉","高博","宁亚美","党哲","左帅通","赵亚丽"};
String[] arr = new String[]{"YH", "CASTH", "YB", "YC", "SAST", "CISS", "EK"};
String[] chrr = new String[]{"董以青", "王跃伟", "刘旭", "张琼琼", "张楠", "朱辉", "高博", "宁亚美", "党哲", "左帅通", "赵亚丽"};
for (String s : arr) {
if (s == yieldOrder.getProductIdent()){
if (s == yieldOrder.getProductIdent()) {
for (String s1 : chrr) {
if (s1 == AuthUtil.getNickName()){
if (s1 == AuthUtil.getNickName()) {
// throw new BusinessException("当前用户无当前等级检验资质!");
return R.fail("当前用户无当前等级检验资质!");
}
@ -545,7 +544,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
//
if(null != wpItemVO.getWpItemDetailList() && wpItemVO.getWpItemDetailList().size() > 0){
if (null != wpItemVO.getWpItemDetailList() && wpItemVO.getWpItemDetailList().size() > 0) {
QueryWrapper<WorkPlanItemDetail> qw = new QueryWrapper<>();
qw.eq("WORK_PLAN_ITEM_ID", wpItemDB.getId());
wpItemDetailService.remove(qw);
@ -568,7 +567,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
if(null != wpItemVO.getThicknessList() && wpItemVO.getThicknessList().size() > 0){
if (null != wpItemVO.getThicknessList() && wpItemVO.getThicknessList().size() > 0) {
for (WorkPlanItemThicknessVO wpItemDetailVO : wpItemVO.getThicknessList()) {
WorkPlanThicknessDetail wpItemDetail = new WorkPlanThicknessDetail();
BeanUtil.copyProperties(wpItemDetailVO, wpItemDetail);
@ -590,7 +589,6 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
@Override
public IPage<InspectionTaskListVO> listSearch(IPage<InspectionTaskListVO> page, InspectionTaskSearch search) {
List<InspectionTaskListVO> listVO = baseMapper.listSearch(page, search);
@ -651,8 +649,8 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
QueryWrapper<DsPartEntity> qwpart = new QueryWrapper<>();
qwpart.eq("PART_CODE", pjYieldOrder.getPartCode());
List<DsPartEntity> partList = partService.list(qwpart);
DsPartEntity dsPart = new DsPartEntity();
if(partList != null && partList.size() > 0){
DsPartEntity dsPart = new DsPartEntity();
if (partList != null && partList.size() > 0) {
dsPart = partList.get(0);
}
@ -735,7 +733,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
QueryWrapper<AuditFile> qw = new QueryWrapper<>();
qw.eq("WC_ID", workPlan.getId());
List<AuditFile> auditFileList = auditFileService.list(qw);
if(auditFileList != null && auditFileList.size() > 0){
if (auditFileList != null && auditFileList.size() > 0) {
workPlan.setAuditFile(auditFileList.get(0));
}
@ -799,10 +797,10 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
// 操作者(工序接收人)
// 如果是场内班组
// zxh 20241217 电子档案场内工序操作者取值改为报工人
if (null != workPlan.getOcId() && workPlan.getOcId() >0 && workPlan.getReceiveMan() != null ) {
if (null != workPlan.getOcId() && workPlan.getOcId() > 0 && workPlan.getReceiveMan() != null) {
R<User> user = userClient.userInfoById(workPlan.getReceiveMan());
if(null != user && null != user.getData() && null != user.getData().getAccount()){
if (null != user && null != user.getData() && null != user.getData().getAccount()) {
// workPlan.setCreateMan(workPlan.getReceiveMan().getUserName());
MakeRec prMakeRec = workPlanMapper.getByWpId(workPlan.getId());
if (prMakeRec != null) {
@ -814,7 +812,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
} else if (workPlan.getOcId() != null) { // 外协
Oem oem = oemMapper.selectById(workPlan.getOcId());
if(oem != null){
if (oem != null) {
workPlan.setCreateMan(oem.getCode());
}
}
@ -844,7 +842,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
List<MesQcProduceRunEntity> prList;
List<MesRbFilePreserveSlotEntity> dsRbFilePreserveSlotList = new ArrayList<>();
QueryWrapper<CenterTeam> qwteam= new QueryWrapper<>();
QueryWrapper<CenterTeam> qwteam = new QueryWrapper<>();
qwteam.eq("TS_ID", workPlan.getMakeTeam());
List<CenterTeam> teamList = centerTeamService.list(qwteam);
CenterTeam bsCenterTeam = null;
@ -852,7 +850,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
bsCenterTeam = teamList.get(0);
}
// CenterTeam bsCenterTeam = bsCenterTeamService.getByTsId(workPlan.getMakeTeam().getTsId());
if (bsCenterTeam != null && bsCenterTeam.getWcId()!= null) {
if (bsCenterTeam != null && bsCenterTeam.getWcId() != null) {
MacToolUse prMacToolUse;
List<MesRbFilePreserveSlotEntity> preserveSlotList;
MesQcProduceRunEntity boxInfo = new MesQcProduceRunEntity();
@ -885,7 +883,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
// 烘箱信息(从设备,工装使用记录获取)
// boxInfo = workPlanMapper.getBoxInfoByWpIdMtnCode(workPlan.getId());
List<MesQcProduceRunEntity> runs = workPlanMapper.getBoxInfoByWpIdMtnCodeList(workPlan.getId());
if(runs != null && runs.size() > 0){
if (runs != null && runs.size() > 0) {
boxInfo = runs.get(0);
}
if (StringUtils.isNotBlank(boxInfo.getInDate())) {
@ -927,9 +925,9 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
// }
List<ProReTemplate> dsRbFilePreserveList = null;
if (workPlan.getPpsId() != null){
if (workPlan.getPpsId() != null) {
BsProcessSetEntity process = processSetService.getById(workPlan.getPpsId());
if("喷砂".equals(process.getName()) || "涂色标".equals(process.getName())) {
if ("喷砂".equals(process.getName()) || "涂色标".equals(process.getName())) {
dsRbFilePreserveList = workPlanMapper.getDataByWcIdAndPpsId(null,
workPlan.getPpsId(), Boolean.TRUE);
} else {
@ -944,7 +942,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
preserveSlotList = workPlanMapper.getByRfpId(dsRbFilePreserveList.get(0).getId());
qcProduceRunsList = workPlanMapper.listPrByWpIdIndex(workPlan.getId(), 2, Boolean.TRUE);
List<MesQcProduceRunEntity> runs = workPlanMapper.getBoxInfoByWpIdMtnCodeList(workPlan.getId());
if(runs != null && runs.size() > 0){
if (runs != null && runs.size() > 0) {
boxInfo = runs.get(0);
}
// 烘箱信息(从设备,工装使用记录获取)
@ -978,7 +976,6 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
//222222222222222222222222222222222222222222222
// 根据电子档案维护组装数据(线下)
@ -1010,7 +1007,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
// boxInfo = prMacToolUseService.getBoxInfoByWpIdMtnCode(workPlan.getId());
List<MesQcProduceRunEntity> runs = workPlanMapper.getBoxInfoByWpIdMtnCodeList(workPlan.getId());
if(runs != null && runs.size() > 0){
if (runs != null && runs.size() > 0) {
boxInfo = runs.get(0);
}
@ -1536,10 +1533,9 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
task.setCheckUserId(AuthUtil.getUserId());
task.setCheckDate(LocalDateTime.now());
this.computeOrderQty(wp, wo, sumCheckQ, sumTestQty, sumLossQty, 0);
// this.qualified(wp, wc, wo);
this.computeOrderQty(wp, task, wo, sumCheckQ, sumTestQty, sumLossQty, 0);
IWorkOrderService workOrderService = context.getBean(IWorkOrderService.class);
workOrderService.qualified(wp,wo,AuthUtil.getUserName());
workOrderService.qualified(wp, task, wo, AuthUtil.getUserName());
} else if (countNA == itemList.size()) { // 全部item NA
checkResult = InspectionTaskConst.CHECK_RESULT_NA;
} else if (countNO >= 0 && countNO <= itemList.size()) { // 不合格
@ -1572,8 +1568,14 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
public void setApplicationContext(ApplicationContext context) {
this.context = context;
}
public void computeOrderQty(WorkPlan wp, WorkOrder wo, int checkQ, int testQty, int lossQty, int scrapQty) {
@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);
}
if (wo != null) {
wo.setMakeQty(wo.getMakeQty() - (testQty + lossQty + scrapQty));
wo.setTestQty(wo.getTestQty() + testQty);
@ -1601,14 +1603,14 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
private JSONObject glassCake(Long woId) {
JSONObject obj = new JSONObject();
// 子件订单信息
WorkOrder prWorkOrder =workOrderMapper.selectById(woId);
WorkOrder prWorkOrder = workOrderMapper.selectById(woId);
YieldOrder yieldOrder = yieldOrderMapper.selectById(prWorkOrder.getYoId());
// DsPartEntity dsPart = dsPartService.getByPartCode(prWorkOrder.getPjYieldOrder().getPartCode());
QueryWrapper<DsPartEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("part_code", yieldOrder.getPartCode());
List<DsPartEntity> dsPartList = partService.list(queryWrapper);
DsPartEntity dsPart = new DsPartEntity();
if(null != dsPartList && dsPartList.size() > 0){
if (null != dsPartList && dsPartList.size() > 0) {
dsPart = dsPartList.get(0);
}
@ -1641,10 +1643,10 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
printChildCheck.setTestName(prWorkPlanItem.getItemName());
printChildCheck.setTrialStandard(prWorkPlanItem.getStandardName());
printChildCheck.setCheckResult(prWorkPlanItem.getCheckResult() == -1 ? "未检验" : prWorkPlanItem.getCheckResult() == 1 ? "合格" :
prWorkPlanItem.getCheckResult() == 2 ? "不合格" : prWorkPlanItem.getCheckResult() == 3 ? "NA" : "");
prWorkPlanItem.getCheckResult() == 2 ? "不合格" : prWorkPlanItem.getCheckResult() == 3 ? "NA" : "");
if (prWorkPlanItem.getCheckUserId() != null) {
R<User> user = userClient.userInfoById(prWorkPlanItem.getCheckUserId());
if(null != user && null != user.getData()){
if (null != user && null != user.getData()) {
printChildCheck.setCheckName(user.getData().getRealName());
}
}
@ -1699,7 +1701,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
private JSONObject glassSealing(Long woId, List<Boolean> planList, List<Boolean> moduleList) {
JSONObject obj = new JSONObject();
// 订单信息
WorkOrder prWorkOrder =workOrderMapper.selectById(woId);
WorkOrder prWorkOrder = workOrderMapper.selectById(woId);
List<WorkOrder> subPrWorkOrderList = this.checkOrderSj(prWorkOrder);
YieldOrder yieldOrder = yieldOrderMapper.selectById(prWorkOrder.getYoId());
@ -1708,7 +1710,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
queryWrapper.eq("part_code", yieldOrder.getPartCode());
List<DsPartEntity> dsPartList = partService.list(queryWrapper);
DsPartEntity dsPart = new DsPartEntity();
if(null != dsPartList && dsPartList.size() > 0){
if (null != dsPartList && dsPartList.size() > 0) {
dsPart = dsPartList.get(0);
}
obj.put("prWorkOrder", prWorkOrder);
@ -1761,6 +1763,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
return obj;
}
public List<PrintChildCheck> getCheckListDetail(List<PrintChildCheck> checkList, List<WorkPlanItem> piLst, Boolean eleOrPrint) {
if (piLst != null && piLst.size() > 0) {
@ -1789,16 +1792,16 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
// 230310新增试验数量
cc.setTestQty(pi.getTestQty() != null && pi.getTestQty() > 0 ? pi.getTestQty().toString() : "");
// 检验结果
if(0==pi.getCheckResult()){
if (0 == pi.getCheckResult()) {
cc.setCheckResult("未检验");
}
if(1==pi.getCheckResult()){
if (1 == pi.getCheckResult()) {
cc.setCheckResult("合格");
}
if(2==pi.getCheckResult()){
if (2 == pi.getCheckResult()) {
cc.setCheckResult("不合格");
}
if(-1==pi.getCheckResult()){
if (-1 == pi.getCheckResult()) {
cc.setCheckResult("NA");
}
// cc.setCheckResult(!"未检验".equals(pi.getCheckResult()) ? pi.getCheckResult() : null);
@ -1806,14 +1809,13 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
if (pi.getCheckUserId() != null) {
R<User> user = userClient.userInfoById(pi.getCheckUserId());
String userName = user.getData().getAccount();
if(null != user && user.getData() != null){
if (null != user && user.getData() != null) {
cc.setCheckName(user.getData().getRealName());
}
//zxh 20250212 从nerp获取检验员印章
String checkManByNewErp = workPlanMapper.getCheckManByNewErpMes(userName);
if (eleOrPrint) {
cc.setImgUrl(checkManByNewErp);
} else {
@ -1823,7 +1825,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
}
if(null != pi.getCheckDate()){
if (null != pi.getCheckDate()) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String formattedDateTime = pi.getCheckDate().format(formatter);
cc.setCheckDate(formattedDateTime);
@ -1889,7 +1891,6 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
}
@Override
public Object pagePrintSjEleFiles(Long woId, Integer yieldType, List<Boolean> planList, List<Boolean> moduleList) {
@ -1971,8 +1972,9 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
List<MesRbFilePreserveDetailEntity> list = workPlanMapper.getByRfpsIdMesNew(id);
return list;
}
@Override
public void saveOrEditMes(List<MesRbFilePreserveSlotEntity> submitList, List<Long> deleteIds, BladeUser curUserInfo,Long rfpId){
public void saveOrEditMes(List<MesRbFilePreserveSlotEntity> submitList, List<Long> deleteIds, BladeUser curUserInfo, Long rfpId) {
Map<String, Long> slotNameCountMap = submitList.stream()
// 按slotName分组,key=slotName,value=该名称的元素数量
.collect(Collectors.groupingBy(MesRbFilePreserveSlotEntity::getSlotName, Collectors.counting()));
@ -1989,7 +1991,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
dsRbFilePreserveSlot.setKeepMan(curUserInfo.getNickName());
dsRbFilePreserveSlot.setDsRbFilePreserve(dsRbFilePreserve);
dsRbFilePreserveSlot.setRfpId(rfpId);
if(StringUtils.isBlank(dsRbFilePreserveSlot.getSlotName())){
if (StringUtils.isBlank(dsRbFilePreserveSlot.getSlotName())) {
throw new RuntimeException("请将槽号/工位填写完成");
}
if (dsRbFilePreserveSlot.getId() != null) {
@ -2048,7 +2050,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
QueryWrapper<AuditFile> qw = new QueryWrapper<>();
qw.eq("WC_ID", prWorkPlan.getId());
List<AuditFile> auditFileList = auditFileService.list(qw);
if(auditFileList != null && auditFileList.size() > 0){
if (auditFileList != null && auditFileList.size() > 0) {
prWorkPlan.setAuditFile(auditFileList.get(0));
}
// 同槽信息
@ -2082,10 +2084,10 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
printChildCheck.setTrialStandard(prWorkPlanItem.getStandardName());
printChildCheck.setCheckResult(prWorkPlanItem.getCheckResult() == -1 ? "未检验" : prWorkPlanItem.getCheckResult() == 1 ? "合格" :
prWorkPlanItem.getCheckResult() == 2 ? "不合格" : prWorkPlanItem.getCheckResult() == 3 ? "NA" : "");
prWorkPlanItem.getCheckResult() == 2 ? "不合格" : prWorkPlanItem.getCheckResult() == 3 ? "NA" : "");
if (prWorkPlanItem.getCheckUserId() != null) {
R<User> user = userClient.userInfoById(prWorkPlanItem.getCheckUserId());
if(null != user && null != user.getData()){
if (null != user && null != user.getData()) {
printChildCheck.setCheckName(user.getData().getRealName());
}
}
@ -2110,10 +2112,10 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
rs.setStatus(ReviewSheetConst.STATUS.S_INIT);
rs.setStatus(ReviewSheetConst.STATUS.S_NEW);
rs.setReviewStatus(ReviewSheetConst.ERP_REVIEW_S.REVIEW_STATUS_INIT);
WorkPlan plan = workPlanMapper.selectById(task.getWpId());
WorkPlan plan = workPlanMapper.selectById(task.getWpId());
// WorkPlan plan = workPlanService.getById(task.getWpId());
if(plan != null){
if (plan != null) {
rs.setPpsId(plan.getPpsId());
}

@ -1,6 +1,3 @@
/**
* Author: Tom Shuo
*/
package org.springblade.desk.quality.service.impl;
import cn.hutool.core.bean.BeanUtil;
@ -9,14 +6,15 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import jakarta.annotation.Resource;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springblade.common.exception.BusinessException;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.secure.BladeUser;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
@ -27,40 +25,41 @@ import org.springblade.desk.basic.constant.BaseRequest;
import org.springblade.desk.basic.constant.BaseValue;
import org.springblade.desk.basic.service.en.impl.EnBaseServiceImpl;
import org.springblade.desk.basic.util.IdUtil;
import org.springblade.desk.order.mapper.YieldOrderMapper;
import org.springblade.desk.order.pojo.entity.YieldOrder;
import org.springblade.desk.produce.mapper.WorkOrderRunMapper;
import org.springblade.desk.produce.pojo.entity.WorkOrder;
import org.springblade.desk.produce.pojo.entity.WorkOrderRun;
import org.springblade.desk.produce.pojo.entity.WorkPlan;
import org.springblade.desk.produce.service.IWorkOrderService;
import org.springblade.desk.produce.service.IWorkPlanService;
import org.springblade.desk.quality.constant.InspectionTaskConst;
import org.springblade.desk.quality.constant.ReviewSheetConst;
import org.springblade.desk.quality.excel.ReviewSheetExcel;
import org.springblade.desk.quality.mapper.ReviewSheetMapper;
import org.springblade.desk.quality.pojo.dto.*;
import org.springblade.desk.quality.pojo.entity.InspectionTask;
import org.springblade.desk.quality.pojo.entity.ReviewDuty;
import org.springblade.desk.quality.pojo.entity.ReviewFault;
import org.springblade.desk.quality.pojo.entity.ReviewSheet;
import org.springblade.desk.quality.pojo.entity.*;
import org.springblade.desk.quality.pojo.request.ReviewSheetErpSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetInitSearch;
import org.springblade.desk.quality.pojo.request.ReviewSheetRedoScrapSearch;
import org.springblade.desk.quality.pojo.vo.*;
import org.springblade.desk.quality.service.IInspectionTaskService;
import org.springblade.desk.quality.service.IReviewDutyService;
import org.springblade.desk.quality.service.IReviewFaultService;
import org.springblade.desk.quality.service.IReviewSheetService;
import org.springblade.desk.quality.service.*;
import org.springblade.desk.quality.wrapper.ReviewSheetDetailWrapper;
import org.springblade.erpdata.feign.IErpMesRbPkpqryClient;
import org.springblade.system.feign.IDictClient;
import org.springblade.system.feign.ISysClient;
import org.springblade.system.feign.IUserClient;
import org.springblade.system.pojo.entity.User;
import org.springblade.system.pojo.entity.UserInfo;
import org.springblade.wms.pojo.entity.SyDockingLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.http.HttpEntity;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Component;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.springframework.web.client.RestTemplate;
import org.springframework.http.HttpHeaders;
@ -73,12 +72,9 @@ import org.springframework.http.MediaType;
*/
@Service
@Data
//@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Slf4j
//@RefreshScope
public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper, ReviewSheet>
implements IReviewSheetService {
public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper, ReviewSheet> implements IReviewSheetService {
@Value("${request.newErp.url}")
private String newErpUrl;
@Resource
@ -99,6 +95,18 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
@Resource
private IErpMesRbPkpqryClient erpMesRbPkpqryClient;
@Lazy
@Autowired
private IWorkOrderService workOrderService;
private final IInspectionTaskService inspectionTaskService;
private final WorkOrderRunMapper workOrderRunMapper;
private final YieldOrderMapper yieldOrderMapper;
private final IWorkPlanItemService workPlanItemService;
@Override
public IPage<ReviewSheetDetailVO> selectReviewSheetPage(IPage<ReviewSheetDetailVO> page, ReviewSheetDetailVO reviewSheet) {
return page.setRecords(baseMapper.selectReviewSheetPage(page, reviewSheet));
@ -283,28 +291,128 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
}
@Override
public void reviewResult(String trialId, Short resultStatus, String reviewMan, String liabilityPart,
Integer scrapQty, Integer reworkQty, Integer concedeQty, String memo) throws Exception {
public void reviewResult(String trialId, Short resultStatus, String reviewMan, String liabilityPart, Integer scrapQty, Integer reworkQty, Integer concedeQty, String memo) throws Exception {
ReviewSheet rs = getByTrialId(trialId);
if (rs == null) {
throw new BusinessException("审理单信息不存在!");
}
InspectionTask wc = taskService.getById(rs.getTaskId());
WorkPlan wp = workPlanService.getById(wc.getWpId());
WorkOrder wo = workOrderService.getById(wp.getWoId());
// rs.setReviewUserId(); "reviewMan"
if (WorkOrder.RUN_STATUS_HANDOVER.equals(wo.getRunStatus())) {
log.error("车间订单状态为已交接,不处理审理单!{}", wo.getWoCode());
return;
}
List<User> users = userClient.userListByName(reviewMan);
rs.setReviewUserId(CollectionUtils.isNotEmpty(users) ? users.get(0).getId() : null);
rs.setMemo(memo);
rs.setReviewDate(LocalDateTime.now());
rs.setReviewStatus((int) resultStatus); // todo:
rs.setReviewStatus(resultStatus);
rs.setStatus(ReviewSheetConst.STATUS.S_COMPLETE);
// 装配模式
if (ReviewSheetConst.MODE_ASSEMBLY.equals(rs.getReviewOrderMode())) {
// 如果相关零件号存在 报废数量直接扣除
if (StringUtils.isNotBlank(liabilityPart)) {
if (scrapQty != null && scrapQty > 0) {
//20250407 zxh 装配模式有报废且有相关零件时,校验订单加工数需大于报废数后再进行扣数
if (wo.getMakeQty() >= scrapQty) {
inspectionTaskService.computeOrderQty(wp, wc, wo, 0, 0, 0, scrapQty);
}
}
} else { // 将报废数累加,不扣生产数量
if (scrapQty != null && scrapQty > 0) {
if (wc != null) {
wc.setScrapQty(wc.getScrapQty() + scrapQty);
}
if (wo != null) {
wo.setScrapQty(wo.getScrapQty() + scrapQty);
}
}
}
}
// 零件模式
if (ReviewSheetConst.MODE_PART.equals(rs.getReviewOrderMode())) {
else if (ReviewSheetConst.MODE_PART.equals(rs.getReviewOrderMode())) {
// 如果有报废数量直接扣除
if (scrapQty != null && scrapQty > 0) {
//20250329 zxh 审理单多次归档问题处理
List<SyDockingLog> queryGdByCode = baseMapper.queryGdByCode(trialId);
if (queryGdByCode != null && !queryGdByCode.isEmpty()) {
wo.setScrapQty(wo.getScrapQty() - wc.getScrapQty());
wo.setMakeQty(wo.getMakeQty() + wc.getScrapQty());
wp.setWorkQty(wp.getWorkQty() + wc.getScrapQty());
wp.setScrapQty(wp.getScrapQty() - wc.getScrapQty());
wc.setScrapQty(0d);
}
inspectionTaskService.computeOrderQty(wp, wc, wo, 0, 0, 0, scrapQty);
}
}
//如果有返工数量,则直接返工
if (reworkQty != null && reworkQty > 0) {
wc.setUnqualifiedQty(wo.getMakeQty());
wc.setReworkQty(Double.valueOf(reworkQty));
wp.setUnqualifiedQty(wo.getMakeQty());
} else {
//如果全部报废则更改车间订单为全部报废
if (wo.getMakeQty().intValue() <= 0) {
//检验完成修改车间订单
workOrderService.updateStatus(Collections.singletonList(wo.getId()), WorkOrder.RUN_STATUS_SCRAP, null, null);
} else {
// 查询此工序是否有试验项目,如果有说明是检验工序
List<WorkPlanItem> list = workPlanItemService.listByWpId(wp.getId());
if (list != null && !list.isEmpty()) {
//修改检验明细为合格
list = workPlanItemService.listByWpId(wp.getId(), InspectionTask.CHECK_RESULT_NO);
list.forEach(item -> item.setCheckResult(InspectionTask.CHECK_RESULT_OK));
//判定是否还有未检验,如果没有,修改检验为合格
list = workPlanItemService.listByWpId(wp.getId(), InspectionTask.CHECK_RESULT_NOT);
if (list.isEmpty()) {
// 扣除实验数、消耗数
List<WorkPlanItem> prWorkPlanItemList = workPlanItemService.listByWpId(wp.getId());
int sumCheckQ = 0, sumTestQty = 0, sumLossQty = 0;
for (WorkPlanItem wpi : prWorkPlanItemList) {
sumCheckQ += wpi.getCheckQty();
sumTestQty += wpi.getTestQty();
sumLossQty += wpi.getLossQty();
}
List<WorkPlanItem> prWorkPlanItems = workPlanItemService.listByWoId(wo.getId());
int sumAllTestQty = 0;
int sumAllLostQty = 0;
for (WorkPlanItem prWorkPlanItem : prWorkPlanItems) {
sumAllTestQty += prWorkPlanItem.getTestQty();
sumAllLostQty += prWorkPlanItem.getLossQty();
}
//周新昊 20241104 加日志
//zxh 20241128 审理单归档后扣除实验数前增加校验
//zxh 20250423 条件增加||损耗数校验
if (!(wo.getTestQty().equals(sumAllTestQty)) || !(wo.getLossQty().equals(sumAllLostQty))) {
inspectionTaskService.computeOrderQty(wp, wc, wo, sumCheckQ, sumTestQty, sumLossQty, 0);
}
workOrderService.qualified(wp, wc, wo, userClient.userInfoById(wc.getCheckUserId()).getData().getRealName());
} else {
wc.setCheckResult(InspectionTask.CHECK_RESULT_NOT);
// 如果还有未检验得试验项目、继续检验
wo.setRunStatus(WorkOrder.RUN_STATUS_CHECK);
log.info("审理结束回调接口修改订单状态为检验中");
workOrderService.updateById(wo);
}
} else {
wc.setCheckResult(InspectionTask.CHECK_RESULT_NOT);
wo.setRunStatus(WorkOrder.RUN_STATUS_RECEIVE);
workOrderService.updateById(wo);
}
if (wo.getMakeQty() < 1) {
//检验完成修改车间订单
workOrderService.updateStatus(Collections.singletonList(wo.getId()), WorkOrder.RUN_STATUS_SCRAP, null, null);
}
}
}
//zxh 20250617 审理结论为让步接收时,将检验记录中不合格数清零,检验状态改为合格
@ -312,15 +420,57 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
wc.setUnqualifiedQty(0d);
wc.setCheckResult(InspectionTaskConst.CHECK_RESULT_OK);
}
WorkOrderRun wor = workOrderRunMapper.selectById(wo.getWorId());
YieldOrder yieldOrder = yieldOrderMapper.selectById(wo.getYoId());
if (wor != null && wor.getInCustomer() != null && !yieldOrder.getManualIncrease()) {
//外协交件单号为空不调用erp检验接口
if (StringUtils.isNotBlank(wor.getDeliverKey())) {
//调用erp检验接口
// erpMesRbPkpqryClient.checkCompleteErpBackFill(wor.getWoCode(), wor.getDeliverKey(), wp.getWorkQty(), 0, userClient.userInfoById(wc.getCheckUserId()).getData().getRealName());
}
}
}
@Override
public void deleteReviewOrder(String trialId) throws Exception {
public void deleteReviewOrder(String trialId) {
ReviewSheet reviewSheet = getByTrialId(trialId);
if (reviewSheet == null) {
throw new BusinessException("审理单信息不存在!");
throw new ServiceException("审理单信息不存在!");
}
//责任零件
dutyService.remove(Wrappers.lambdaQuery(ReviewDuty.class).eq(ReviewDuty::getReviewSheetId, reviewSheet.getId()));
//问题故障
faultService.remove(Wrappers.lambdaQuery(ReviewFault.class).eq(ReviewFault::getReviewSheetId, reviewSheet.getId()));
InspectionTask prWorkCheck = inspectionTaskService.getById(reviewSheet.getTaskId());
if (prWorkCheck != null) {
// 将审理状态改为初始值
prWorkCheck.setReviewStatus((short) 0);
inspectionTaskService.updateById(prWorkCheck);
WorkPlan workPlan = workPlanService.getById(prWorkCheck.getWpId());
if (workPlan != null) {
WorkOrder workOrder = workOrderService.getById(workPlan.getWoId());
if (workOrder != null && workOrder.getRunStatus() < WorkOrder.RUN_STATUS_COMPLETED) {
workOrder.setRunStatus(WorkOrder.RUN_STATUS_RECEIVE);
//zxh 20250522 增加记录订单变更为加工中日志
// 判定当前序是否还有未检验得项目,如果有修改状态未检验中,如果没有修改未加工中
List<WorkPlanItem> prWorkPlanItems;
prWorkPlanItems = workPlanItemService.listByWpId(prWorkCheck.getWpId(), InspectionTask.CHECK_RESULT_NOT);
if (prWorkPlanItems != null && !prWorkPlanItems.isEmpty()) {
workOrder.setRunStatus(WorkOrder.RUN_STATUS_CHECK);
log.info("审理单删除调用接口修改订单状态为检验中1");
} else if (prWorkPlanItems.isEmpty()) {
// 判断是否有试验项目不合格
prWorkPlanItems = workPlanItemService.listByWpId(prWorkCheck.getWpId(), InspectionTask.CHECK_RESULT_NO);
if (prWorkPlanItems != null && !prWorkPlanItems.isEmpty()) {
workOrder.setRunStatus(WorkOrder.RUN_STATUS_CHECK);
log.info("审理单删除调用接口修改订单状态为检验中2");
}
}
workOrderService.updateById(workOrder);
}
}
}
// todo: mes v1
this.removeById(reviewSheet);
}
@Override
@ -494,10 +644,10 @@ public class ReviewSheetServiceImpl extends EnBaseServiceImpl<ReviewSheetMapper,
rs.setStatus(ReviewSheetConst.STATUS.S_COMPLETE);
if(1==selfReviewFlag){
//通过
rs.setReviewStatus(3);
rs.setReviewStatus((short) 3);
}else{
//驳回
rs.setReviewStatus(4);
rs.setReviewStatus((short) 4);
}
BladeUser bu = AuthUtil.getUser();
log.info("ReviewSheet bu = {}", bu);

@ -228,4 +228,19 @@ public class WorkPlanItemServiceImpl extends BaseServiceImpl<WorkPlanItemMapper,
wpItemDetailService.remove(Wrappers.lambdaQuery(WorkPlanItemDetail.class).in(WorkPlanItemDetail::getWorkPlanItemId, deleteIds));
}
}
@Override
public List<WorkPlanItem> listByWpId(Long wpId, Integer checkResultNo) {
return this.list(Wrappers.lambdaQuery(WorkPlanItem.class).eq(WorkPlanItem::getWpId, wpId).eq(WorkPlanItem::getCheckResult, checkResultNo));
}
@Override
public List<WorkPlanItem> listByWpId(Long wpId) {
return this.list(Wrappers.lambdaQuery(WorkPlanItem.class).eq(WorkPlanItem::getWpId, wpId));
}
@Override
public List<WorkPlanItem> listByWoId(Long woId) {
return baseMapper.listByWoId(woId);
}
}

Loading…
Cancel
Save