【工艺路线】删除和恢复接口

This commit is contained in:
10001392 2024-12-23 08:47:18 +08:00
parent fed6e94a54
commit 62ca1a1641
2 changed files with 73 additions and 0 deletions

View File

@ -90,4 +90,15 @@ public class ProcessRouteTaskApi extends BaseApi {
} }
} }
/**
* 删除和恢复工艺路线
* @param rowId
* @param delFlag 1 删除 0 恢复
* @return
*/
@GetMapping("updateDelFlag")
public ResultVO<Boolean> updateDelFlag(@RequestParam("rowId") Long rowId, @RequestParam("delFlag") Integer delFlag) {
return ResultVO.success(processRouteTaskService.updateDelFlag(rowId, delFlag));
}
} }

View File

@ -6,6 +6,7 @@ import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.TypeReference; import cn.hutool.core.lang.TypeReference;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.IdWorker; import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -19,10 +20,13 @@ import com.nflg.product.technology.job.PBomFormalTreeTask;
import com.nflg.product.technology.mapper.master.ProcessRouteTaskAssemblyMapper; import com.nflg.product.technology.mapper.master.ProcessRouteTaskAssemblyMapper;
import com.nflg.product.technology.mapper.master.ProcessRouteTaskMapper; import com.nflg.product.technology.mapper.master.ProcessRouteTaskMapper;
import com.nflg.product.technology.mapper.master.ProcessRouteTaskProcessesMapper; import com.nflg.product.technology.mapper.master.ProcessRouteTaskProcessesMapper;
import com.nflg.product.technology.pojo.dto.sap.SapReqParams;
import com.nflg.product.technology.pojo.dto.sap.SapResult;
import com.nflg.product.technology.pojo.entity.*; import com.nflg.product.technology.pojo.entity.*;
import com.nflg.product.technology.pojo.query.ProcessRouteTaskQuery; import com.nflg.product.technology.pojo.query.ProcessRouteTaskQuery;
import com.nflg.product.technology.pojo.vo.*; import com.nflg.product.technology.pojo.vo.*;
import com.nflg.product.technology.util.BomUtil; import com.nflg.product.technology.util.BomUtil;
import lombok.extern.slf4j.Slf4j;
import nflg.product.common.constant.STATE; import nflg.product.common.constant.STATE;
import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -46,6 +50,7 @@ import java.util.stream.Collectors;
* @author 10001392 * @author 10001392
* @since 2024-11-24 * @since 2024-11-24
*/ */
@Slf4j
@Service @Service
public class ProcessRouteTaskService extends ServiceImpl<ProcessRouteTaskMapper, ProcessRouteTaskEntity> { public class ProcessRouteTaskService extends ServiceImpl<ProcessRouteTaskMapper, ProcessRouteTaskEntity> {
@ -67,6 +72,8 @@ public class ProcessRouteTaskService extends ServiceImpl<ProcessRouteTaskMapper,
private ProcessRouteTaskAssemblyMapper processRouteTaskAssemblyMapper; private ProcessRouteTaskAssemblyMapper processRouteTaskAssemblyMapper;
@Resource @Resource
private RedisTemplate<String, List<String>> redisTemplate; private RedisTemplate<String, List<String>> redisTemplate;
@Resource
private SapService sapService;
public IPage<ProcessRouteTaskVO> selectPageByCondition(ProcessRouteTaskQuery query) { public IPage<ProcessRouteTaskVO> selectPageByCondition(ProcessRouteTaskQuery query) {
//设置分页 //设置分页
@ -543,4 +550,59 @@ public class ProcessRouteTaskService extends ServiceImpl<ProcessRouteTaskMapper,
public List<BomNewPbomParentVO> selectPBomChildByParentRowId(List<Long> parentRowIdList) { public List<BomNewPbomParentVO> selectPBomChildByParentRowId(List<Long> parentRowIdList) {
return processRouteTaskMapper.selectPBomChildByParentRowId(parentRowIdList); return processRouteTaskMapper.selectPBomChildByParentRowId(parentRowIdList);
} }
public Boolean updateDelFlag(Long rowId, Integer delFlag) {
ProcessRouteTaskEntity taskEntity = this.getById(rowId);
if (ObjectUtil.isEmpty(taskEntity)) {
throw new NflgBusinessException(STATE.ParamErr, "rowId=" + rowId + "对应的工艺路线不存在");
}
SapReqParams sapReqParams = new SapReqParams();
sapReqParams.setFunName("ZMDM_ROUTER_DEL");
String flagX = ObjectUtil.isNotEmpty(delFlag) && delFlag == 1 ? "X" : "";
Map<String, Object> inputParams = new HashMap<>(1);
inputParams.put("DELKZ", flagX);
sapReqParams.setInputParams(inputParams);
List<Map<String, String>> valueMapList = new ArrayList<>();
Map<String, String> materialNoMap = new HashMap<>();
materialNoMap.put("MATNR", taskEntity.getMaterialNo());
materialNoMap.put("WERKS", taskEntity.getFactory());
valueMapList.add(materialNoMap);
Map<String, List<Map<String, String>>> inputTables = new HashMap<>(1);
inputTables.put("HEAD", valueMapList);
sapReqParams.setInputTables(inputTables);
log.info("SAP工艺路线删除恢复请求参数{}", JSON.toJSONString(sapReqParams));
SapResult sapResult = sapService.doSapFun(sapReqParams);
log.info("SAP工艺路线删除恢复返回数据{}", JSON.toJSONString(sapResult));
if (!sapResult.isSuccess()) {
throw new NflgBusinessException(STATE.ParamErr, "接口连接失败");
}
Map<String, Object> exportMap = sapResult.getExportMap();
if (CollUtil.isNotEmpty(exportMap) && !"S".equals(exportMap.get("E_TYPE"))) {
log.error("SAP工艺路线删除恢复失败: {}", exportMap.get("E_MSG"));
throw new NflgBusinessException(STATE.ParamErr, "从SAP获取生产订单失败:" + exportMap.get("E_MSG"));
}
String updatedBy = SessionUtil.getUserCode();
String updatedByName = SessionUtil.getRealName();
Boolean delFlagBool = ObjectUtil.isNotEmpty(delFlag) && delFlag == 1;
taskEntity.setDelFlag(delFlagBool);
this.updateById(taskEntity);
processRouteTaskProcessesService.lambdaUpdate()
.set(ProcessRouteTaskProcessesEntity::getDelFlag, delFlagBool)
.set(ProcessRouteTaskProcessesEntity::getUpdatedBy, updatedBy)
.set(ProcessRouteTaskProcessesEntity::getUpdatedByName, updatedByName)
.set(ProcessRouteTaskProcessesEntity::getUpdatedTime, LocalDateTime.now())
.eq(ProcessRouteTaskProcessesEntity::getTaskRowId, taskEntity.getRowId())
.update();
processRouteTaskAssemblyService.lambdaUpdate()
.set(ProcessRouteTaskAssemblyEntity::getDelFlag, delFlagBool)
.set(ProcessRouteTaskAssemblyEntity::getUpdatedBy, updatedBy)
.set(ProcessRouteTaskAssemblyEntity::getUpdatedByName, updatedByName)
.set(ProcessRouteTaskAssemblyEntity::getUpdatedTime, LocalDateTime.now())
.eq(ProcessRouteTaskAssemblyEntity::getTaskRowId, taskEntity.getRowId())
.update();
return true;
}
} }