package com.aps.core.service.impl; import com.aps.common.core.utils.DateUtils; import com.aps.common.core.utils.uuid.IdUtils; import com.aps.common.security.utils.DictUtils; import com.aps.core.domain.ApsPlatePlan; import com.aps.core.domain.ApsPlatePlanTemp; import com.aps.core.mapper.ApsPartPlanTempMapper; import com.aps.core.mapper.ApsPlatePlanMapper; import com.aps.core.mapper.ApsPlatePlanTempMapper; import com.aps.core.service.IApsPlatePlanService; import com.aps.system.api.domain.SysDictData; import org.apache.logging.log4j.util.Strings; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; import java.util.Optional; /** * 钣金计划管理Service业务层处理 * * @author ruoyi * @date 2025-04-08 */ @Service public class ApsPlatePlanServiceImpl implements IApsPlatePlanService { @Autowired private ApsPlatePlanMapper apsPlatePlanMapper; @Autowired private ApsPartPlanTempMapper apsPartPlanTempMapper; @Autowired private ApsPlatePlanTempMapper apsPlatePlanTempMapper; /** * 查询钣金计划管理 * * @param id 钣金计划管理主键 * @return 钣金计划管理 */ @Override public ApsPlatePlan selectApsPlatePlanById(String id) { return apsPlatePlanMapper.selectApsPlatePlanById(id); } /** * 查询钣金计划管理列表 * * @param apsPlatePlan 钣金计划管理 * @return 钣金计划管理 */ @Override public List selectApsPlatePlanList(ApsPlatePlan apsPlatePlan) { return apsPlatePlanMapper.selectApsPlatePlanList(apsPlatePlan); } /** * 新增钣金计划管理 * * @param apsPlatePlan 钣金计划管理 * @return 结果 */ @Override public int insertApsPlatePlan(ApsPlatePlan apsPlatePlan) { apsPlatePlan.setId(IdUtils.fastUUID()); apsPlatePlan.setCreateTime(DateUtils.getNowDate()); return apsPlatePlanMapper.insertApsPlatePlan(apsPlatePlan); } /** * 修改钣金计划管理 * * @param apsPlatePlan 钣金计划管理 * @return 结果 */ @Override public int updateApsPlatePlan(ApsPlatePlan apsPlatePlan) { return apsPlatePlanMapper.updateApsPlatePlan(apsPlatePlan); } /** * 批量删除钣金计划管理 * * @param ids 需要删除的钣金计划管理主键 * @return 结果 */ @Override public int deleteApsPlatePlanByIds(String[] ids) { return apsPlatePlanMapper.deleteApsPlatePlanByIds(ids); } /** * 删除钣金计划管理信息 * * @param id 钣金计划管理主键 * @return 结果 */ @Override public int deleteApsPlatePlanById(String id) { return apsPlatePlanMapper.deleteApsPlatePlanById(id); } @Override public int confirmPlan(ApsPlatePlanTemp tempPlan) { //先删除所有 apsPlatePlanMapper.removeAllPlatePlans(); //查询临时表数据 List apsPartPlanTemps=apsPlatePlanTempMapper.selectApsPlatePlanTempList(tempPlan); int count=0; String[] ids=new String[apsPartPlanTemps.size()]; for (int i = 0; i tempList) throws Exception { String batchNum= IdUtils.fastUUID(); //判断导入数据是否为空 if (tempList.size() > 0) { /* * aps_business_type aps_document_status aps_is_suspended aps_account * */ List suspendedDic = DictUtils.getDictCache("aps_is_suspended"); List businessTypeDic = DictUtils.getDictCache("aps_business_type"); List documentStatusDic = DictUtils.getDictCache("aps_document_status"); List accountDic = DictUtils.getDictCache("aps_account"); for (int i = 0; i < tempList.size(); i++) { ApsPlatePlanTemp planTemp = tempList.get(i); String isSuspendedTxt = planTemp.getIsSuspended().trim(); String businessType = planTemp.getBusinessType().trim(); String documentStatusText = planTemp.getDocumentStatus().trim(); String account = planTemp.getAccount().trim(); Optional documentStatusFirst = documentStatusDic.stream().filter(x -> x.getDictLabel().equals(documentStatusText)).findFirst(); documentStatusFirst.ifPresent(sysDictData -> planTemp.setDocumentStatus(sysDictData.getDictValue())); Optional accountFirst = accountDic.stream().filter(x -> x.getDictLabel().equals(account)).findFirst(); accountFirst.ifPresent(sysDictData -> planTemp.setAccount(sysDictData.getDictValue())); Optional businessTypeFirst = businessTypeDic.stream().filter(x -> x.getDictLabel().equals(businessType)).findFirst(); businessTypeFirst.ifPresent(sysDictData -> planTemp.setBusinessType(sysDictData.getDictValue())); Optional isSuspendedFirst = suspendedDic.stream().filter(x -> x.getDictLabel().equals(isSuspendedTxt)).findFirst(); isSuspendedFirst.ifPresent(sysDictData -> planTemp.setIsSuspended(sysDictData.getDictValue())); planTemp.setId(IdUtils.fastUUID()); //插入版本号 planTemp.setBatchNumber(batchNum); //插入临时表 apsPlatePlanTempMapper.insertApsPlatePlanTemp(planTemp); } return batchNum ; } else { return Strings.EMPTY; } } }