| | |
| | | package com.aps.core.service.impl; |
| | | |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | import java.util.Optional; |
| | | |
| | | |
| | | 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.ApsPlatePlanTemp; |
| | | import com.aps.core.mapper.ApsPartPlanTempMapper; |
| | | import com.aps.core.mapper.ApsPlatePlanTempMapper; |
| | | 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 com.aps.core.mapper.ApsPlatePlanMapper; |
| | |
| | | { |
| | | @Autowired |
| | | private ApsPlatePlanMapper apsPlatePlanMapper; |
| | | |
| | | @Autowired |
| | | private ApsPartPlanTempMapper apsPartPlanTempMapper; |
| | | @Autowired |
| | | private ApsPlatePlanTempMapper apsPlatePlanTempMapper; |
| | | |
| | | /** |
| | | * 查询钣金计划管理 |
| | |
| | | @Override |
| | | public int insertApsPlatePlan(ApsPlatePlan apsPlatePlan) |
| | | { |
| | | apsPlatePlan.setId(IdUtils.fastUUID()); |
| | | apsPlatePlan.setCreateTime(DateUtils.getNowDate()); |
| | | return apsPlatePlanMapper.insertApsPlatePlan(apsPlatePlan); |
| | | } |
| | | |
| | |
| | | { |
| | | return apsPlatePlanMapper.deleteApsPlatePlanById(id); |
| | | } |
| | | |
| | | @Override |
| | | public int confirmPlan(ApsPlatePlanTemp tempPlan) { |
| | | //先删除所有 |
| | | apsPlatePlanMapper.removeAllPlatePlans(); |
| | | //查询临时表数据 |
| | | List<ApsPlatePlanTemp> apsPartPlanTemps=apsPlatePlanTempMapper.selectApsPlatePlanTempList(tempPlan); |
| | | int count=0; |
| | | String[] ids=new String[apsPartPlanTemps.size()]; |
| | | for (int i = 0; i <apsPartPlanTemps.size() ; i++) { |
| | | //记录临时表id |
| | | ids[i]=apsPartPlanTemps.get(i).getId(); |
| | | ApsPlatePlan platePlan=new ApsPlatePlan(); |
| | | BeanUtils.copyProperties(apsPartPlanTemps.get(i), platePlan); |
| | | platePlan.setId(IdUtils.fastUUID()); |
| | | platePlan.setCreateTime(DateUtils.getNowDate()); |
| | | //插入正式表,并记录 |
| | | apsPlatePlanMapper.insertApsPlatePlan(platePlan); |
| | | count++; |
| | | } |
| | | //插入数量与临时表查询一直则删除临时表数据 |
| | | if (count==apsPartPlanTemps.size()) { |
| | | apsPlatePlanTempMapper.deleteApsPlatePlanTempByIds(ids); |
| | | } |
| | | return 1; |
| | | } |
| | | @Override |
| | | public String importData(List<ApsPlatePlanTemp> tempList) throws Exception { |
| | | |
| | | String batchNum= IdUtils.fastUUID(); |
| | | //判断导入数据是否为空 |
| | | if (tempList.size() > 0) { |
| | | /* |
| | | * aps_business_type aps_document_status aps_is_suspended aps_account |
| | | * */ |
| | | |
| | | List<SysDictData> suspendedDic = DictUtils.getDictCache("aps_is_suspended"); |
| | | List<SysDictData> businessTypeDic = DictUtils.getDictCache("aps_business_type"); |
| | | List<SysDictData> documentStatusDic = DictUtils.getDictCache("aps_document_status"); |
| | | List<SysDictData> 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<SysDictData> documentStatusFirst = documentStatusDic.stream().filter(x -> x.getDictLabel().equals(documentStatusText)).findFirst(); |
| | | documentStatusFirst.ifPresent(sysDictData -> planTemp.setDocumentStatus(sysDictData.getDictValue())); |
| | | |
| | | Optional<SysDictData> accountFirst = accountDic.stream().filter(x -> x.getDictLabel().equals(account)).findFirst(); |
| | | accountFirst.ifPresent(sysDictData -> planTemp.setAccount(sysDictData.getDictValue())); |
| | | |
| | | Optional<SysDictData> businessTypeFirst = businessTypeDic.stream().filter(x -> x.getDictLabel().equals(businessType)).findFirst(); |
| | | businessTypeFirst.ifPresent(sysDictData -> planTemp.setBusinessType(sysDictData.getDictValue())); |
| | | |
| | | |
| | | Optional<SysDictData> 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; |
| | | } |
| | | } |
| | | } |