package org.jeecg.modules.mes.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.jeecg.common.constant.CommonConstant; import org.jeecg.modules.mes.entity.MesKittingCompletenessCheck; import org.jeecg.modules.mes.entity.MesProductionWorkOrder; import org.jeecg.modules.mes.mapper.MesKittingCompletenessCheckMapper; import org.jeecg.modules.mes.service.IMesKittingCompletenessCheckService; import org.jeecg.modules.mes.service.IMesProductionWorkOrderService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; /** * @Description: 齐套性检查记录 * @Author: jeecg-boot * @Date: 2025-07-04 * @Version: V1.0 */ @Service public class MesKittingCompletenessCheckServiceImpl extends ServiceImpl implements IMesKittingCompletenessCheckService { @Autowired private IMesProductionWorkOrderService mesProductionWorkOrderService; @Override public List queryCompletenessCheckByWorkOrderId(String workOrderId) { return baseMapper.queryCompletenessCheckByWorkOrderId(workOrderId); } @Override @Transactional(rollbackFor = Exception.class) public void batchSave(List mesKittingCompletenessCheckList) { boolean allMatch = mesKittingCompletenessCheckList.stream() .allMatch(item -> CommonConstant.DEFAULT_1.equals(item.getCheckFlag())); //物料都齐备,更新排产工单齐套检查状态 if (allMatch) { MesProductionWorkOrder order = new MesProductionWorkOrder() .setId(mesKittingCompletenessCheckList.get(0).getWorkOrderId()) .setCompletenessCheckFlag(CommonConstant.DEFAULT_1); mesProductionWorkOrderService.updateById(order); } //保存齐套检查记录 saveBatch(mesKittingCompletenessCheckList); } @Override public IPage queryPageList(Page page, Map parameterMap) { QueryWrapper queryWrapper = Wrappers.query(); String[] factoryIds = parameterMap.get("factoryId"); if (factoryIds != null && factoryIds.length > 0) { queryWrapper.eq("t2.factory_id", factoryIds[0]); } String[] workOrderIds = parameterMap.get("workOrderId"); if (workOrderIds != null && workOrderIds.length > 0) { queryWrapper.eq("t1.work_order_id", workOrderIds[0]); } String[] materialNumbers = parameterMap.get("materialNumber"); if (materialNumbers != null && materialNumbers.length > 0) { queryWrapper.like("t1.material_number", materialNumbers[0]); } String[] materialNames = parameterMap.get("materialName"); if (materialNames != null && materialNames.length > 0) { queryWrapper.like("t1.material_name", materialNames[0]); } String[] checkFlags = parameterMap.get("checkFlag"); if (checkFlags != null && checkFlags.length > 0) { queryWrapper.eq("t1.check_flag", checkFlags[0]); } queryWrapper.orderByDesc("t1.create_time"); return this.baseMapper.queryPageList(page, queryWrapper); } }