fix:原料入库单据编号
This commit is contained in:
@@ -123,9 +123,14 @@ public class PdaIosInController {
|
|||||||
@PostMapping("/zwConfirmIn")
|
@PostMapping("/zwConfirmIn")
|
||||||
@Log("中钨组盘入库确认")
|
@Log("中钨组盘入库确认")
|
||||||
public ResponseEntity<Object> zwConfirmIn(@RequestBody ZwConfirmInDto dto) {
|
public ResponseEntity<Object> zwConfirmIn(@RequestBody ZwConfirmInDto dto) {
|
||||||
|
if(StringUtils.isEmpty(dto.getFormDataCode())){
|
||||||
|
throw new IllegalArgumentException("单据编码不能为空!");
|
||||||
|
}
|
||||||
|
|
||||||
if(CollectionUtils.isEmpty(dto.getParamList())){
|
if(CollectionUtils.isEmpty(dto.getParamList())){
|
||||||
throw new IllegalArgumentException("请传入参数!");
|
throw new IllegalArgumentException("请传入参数!");
|
||||||
}
|
}
|
||||||
|
|
||||||
for(ZwConfirmInParamDto paramDto : dto.getParamList()){
|
for(ZwConfirmInParamDto paramDto : dto.getParamList()){
|
||||||
if(StringUtils.isBlank(paramDto.getVehicle_code()) || StringUtils.isBlank(paramDto.getSite_code()))
|
if(StringUtils.isBlank(paramDto.getVehicle_code()) || StringUtils.isBlank(paramDto.getSite_code()))
|
||||||
throw new IllegalArgumentException("载具且卸货区点位不能为空!");
|
throw new IllegalArgumentException("载具且卸货区点位不能为空!");
|
||||||
@@ -152,4 +157,14 @@ public class PdaIosInController {
|
|||||||
assertNotBlankJson(whereJson, "请求参数不能为空", "sect_code", "group_id", "vehicle_code", "material_code", "qty", "stor_id");
|
assertNotBlankJson(whereJson, "请求参数不能为空", "sect_code", "group_id", "vehicle_code", "material_code", "qty", "stor_id");
|
||||||
return new ResponseEntity<>(pdaIosInService.confirmReturnMaterial(whereJson),HttpStatus.OK);
|
return new ResponseEntity<>(pdaIosInService.confirmReturnMaterial(whereJson),HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 空载具出库
|
||||||
|
*/
|
||||||
|
@PostMapping("vehicleInConfirm")
|
||||||
|
@Log("空载具入库")
|
||||||
|
public ResponseEntity<Object> vehicleInConfirm(@RequestBody JSONObject whereJson) {
|
||||||
|
assertNotBlankJson(whereJson, "请求参数不能为空", "sect_code", "vehicle_code", "material_code", "stor_id", "site_code");
|
||||||
|
return new ResponseEntity<>(pdaIosInService.vehicleInConfirm(whereJson), HttpStatus.OK);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,5 +6,6 @@ import java.util.List;
|
|||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class ZwConfirmInDto {
|
public class ZwConfirmInDto {
|
||||||
|
private String formDataCode;
|
||||||
private List<ZwConfirmInParamDto> paramList;
|
private List<ZwConfirmInParamDto> paramList;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -154,4 +154,16 @@ public interface PdaIosInService {
|
|||||||
* @return PdaResponse
|
* @return PdaResponse
|
||||||
*/
|
*/
|
||||||
PdaResponse confirmReturnMaterial(JSONObject whereJson);
|
PdaResponse confirmReturnMaterial(JSONObject whereJson);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 空载具入库确认
|
||||||
|
*
|
||||||
|
* @param whereJson {
|
||||||
|
* sect_id: 库区
|
||||||
|
* siteCode: 起始站点
|
||||||
|
* }
|
||||||
|
* @return PdaResponse
|
||||||
|
*/
|
||||||
|
PdaResponse vehicleInConfirm(JSONObject whereJson);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -44,6 +44,7 @@ import org.nl.wms.sch_manage.service.dao.SchBaseTask;
|
|||||||
import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper;
|
import org.nl.wms.sch_manage.service.dao.mapper.SchBasePointMapper;
|
||||||
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
import org.nl.wms.sch_manage.service.util.AbstractTask;
|
||||||
import org.nl.wms.sch_manage.service.util.tasks.BackInTask;
|
import org.nl.wms.sch_manage.service.util.tasks.BackInTask;
|
||||||
|
import org.nl.wms.sch_manage.service.util.tasks.VehicleInTask;
|
||||||
import org.nl.wms.sch_manage.service.util.tasks.VehicleOutTask;
|
import org.nl.wms.sch_manage.service.util.tasks.VehicleOutTask;
|
||||||
import org.nl.wms.sch_manage.service.util.tasks.zw.InBillTask;
|
import org.nl.wms.sch_manage.service.util.tasks.zw.InBillTask;
|
||||||
import org.nl.wms.system_manage.service.dict.dao.Dict;
|
import org.nl.wms.system_manage.service.dict.dao.Dict;
|
||||||
@@ -364,6 +365,92 @@ public class PdaIosInServiceImpl implements PdaIosInService {
|
|||||||
return PdaResponse.requestOk();
|
return PdaResponse.requestOk();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public PdaResponse vehicleInConfirm(JSONObject whereJson) {
|
||||||
|
// long qty = 1L;
|
||||||
|
// LambdaQueryWrapper<MdMeMaterialbase> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
// //空托盘出库
|
||||||
|
// queryWrapper.eq(MdMeMaterialbase::getMaterial_id, StatusEnum.VEHICLE_TYPE.code("空托盘"));
|
||||||
|
//
|
||||||
|
// MdMeMaterialbase materDao = iMdMeMaterialbaseService.getOne(queryWrapper);
|
||||||
|
// if (materDao == null) {
|
||||||
|
// throw new BadRequestException("未找到空载具物料信息!");
|
||||||
|
// }
|
||||||
|
// whereJson.put("material_id", materDao.getMaterial_id());
|
||||||
|
// whereJson.put("material_code", materDao.getMaterial_code());
|
||||||
|
// Sectattr sectattr = iSectattrService.getById(new LambdaQueryWrapper<>(Sectattr.class)
|
||||||
|
// .eq(Sectattr::getSect_id, whereJson.getString("sect_id"))
|
||||||
|
// .eq(Sectattr::getIs_used, BaseDataEnum.IS_YES_NOT.code("是"))
|
||||||
|
// );
|
||||||
|
// if (ObjectUtil.isEmpty(sectattr)) {
|
||||||
|
// throw new BadRequestException("该仓位所属的库区已禁用,请先启用该库区!");
|
||||||
|
// }
|
||||||
|
// BsrealStorattr storeDao = iSrealStorattrService.getById(sectattr.getStor_id());
|
||||||
|
// whereJson.put("stor_code", storeDao.getStor_code());
|
||||||
|
// whereJson.put("sect_code", sectattr.getSect_code());
|
||||||
|
// StrategyStructParam strategyStructParam = StrategyStructParam.builder()
|
||||||
|
// .ioType(whereJson.getString(StatusEnum.STRATEGY_TYPE.code("出库")))
|
||||||
|
// .sect_code(whereJson.getString("sect_code"))
|
||||||
|
// .stor_code(whereJson.getString("stor_code"))
|
||||||
|
// .material_code(whereJson.getString("material_id"))
|
||||||
|
// .material_code(whereJson.getString("material_code"))
|
||||||
|
// .qty(BigDecimal.valueOf(qty))
|
||||||
|
// .build();
|
||||||
|
// List<StrategyStructMaterialVO> structList = iStructattrService.outBoundSectDiv(strategyStructParam);
|
||||||
|
// if (CollectionUtils.isEmpty(structList)) {
|
||||||
|
// throw new BadRequestException("无可用库存!");
|
||||||
|
// }
|
||||||
|
// structList.forEach(r -> {
|
||||||
|
// //创建任务
|
||||||
|
// JSONObject taskForm = new JSONObject();
|
||||||
|
// taskForm.put("task_type", IOSConstant.VEHICLE_IN_TASK);
|
||||||
|
// taskForm.put("config_code", IOSConstant.VEHICLE_IN_TASK);
|
||||||
|
// taskForm.put("TaskCode", CodeUtil.getNewCode("TASK_CODE"));
|
||||||
|
// taskForm.put("PickingLocation", r.getStruct_code());
|
||||||
|
// taskForm.put("PlacedLocation", whereJson.getString("siteCode"));
|
||||||
|
// taskForm.put("vehicle_code", r.getStoragevehicle_code());
|
||||||
|
// VehicleInTask vehicleInTask = SpringContextHolder.getBean("VehicleInTask");
|
||||||
|
// applyTaskMap.get(IOSConstant.VEHICLE_IN_TASK).create(whereJson);
|
||||||
|
// vehicleInTask.create(taskForm);
|
||||||
|
// });
|
||||||
|
// //更新组盘记录表
|
||||||
|
// Set<String> vehicleCodeSet = structList.stream()
|
||||||
|
// .map(StrategyStructMaterialVO::getStoragevehicle_code)
|
||||||
|
// .collect(Collectors.toSet());
|
||||||
|
// mdPbGroupplateMapper.update(
|
||||||
|
// new GroupPlate(),
|
||||||
|
// new LambdaUpdateWrapper<GroupPlate>()
|
||||||
|
// .set(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库"))
|
||||||
|
// .eq(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("入库"))
|
||||||
|
// .in(GroupPlate::getStoragevehicle_code, vehicleCodeSet)
|
||||||
|
// );
|
||||||
|
// //锁定仓位
|
||||||
|
// Set<String> structCodeSet = structList.stream()
|
||||||
|
// .map(StrategyStructMaterialVO::getStruct_code)
|
||||||
|
// .collect(Collectors.toSet());
|
||||||
|
// iStructattrService.update(
|
||||||
|
// new LambdaUpdateWrapper<Structattr>()
|
||||||
|
// .set(Structattr::getInv_id, null)
|
||||||
|
// .set(Structattr::getInv_code, null)
|
||||||
|
// .set(Structattr::getInv_type, null)
|
||||||
|
// .set(Structattr::getLock_type, IOSEnum.LOCK_TYPE.code("出库锁"))
|
||||||
|
// .in(Structattr::getStruct_code, structCodeSet)
|
||||||
|
// );
|
||||||
|
//空载具入库
|
||||||
|
whereJson.put("qty", 1);
|
||||||
|
String materialCode = StatusEnum.VEHICLE_TYPE.code("空托盘");
|
||||||
|
whereJson.put("material_id", materialCode);
|
||||||
|
//组盘
|
||||||
|
groupPlate(whereJson);
|
||||||
|
// 生成空载具入库任务
|
||||||
|
whereJson.put("config_code", IOSConstant.VEHICLE_IN_TASK);
|
||||||
|
whereJson.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||||
|
whereJson.put("Priority", TaskEnum.ACS_PRIORITY.code("1"));
|
||||||
|
//入库分配
|
||||||
|
divStructNoBills(whereJson);
|
||||||
|
return PdaResponse.requestOk();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 不含单据入库业务
|
* 不含单据入库业务
|
||||||
@@ -561,12 +648,12 @@ public class PdaIosInServiceImpl implements PdaIosInService {
|
|||||||
//卸货区空托盘应该放置的点,对应task point2
|
//卸货区空托盘应该放置的点,对应task point2
|
||||||
whereJson.put("sch_base_point", schBasePointString);
|
whereJson.put("sch_base_point", schBasePointString);
|
||||||
whereJson.put("bill_type",StatusEnum.IOBILL_TYPE_IN.code("来料入库"));
|
whereJson.put("bill_type",StatusEnum.IOBILL_TYPE_IN.code("来料入库"));
|
||||||
|
|
||||||
whereJson.put("priority","1");
|
whereJson.put("priority","1");
|
||||||
|
|
||||||
whereJson.put("task_group_seq",taskGroupSeq);
|
whereJson.put("task_group_seq",taskGroupSeq);
|
||||||
whereJson.put("task_group_id",taskGroupId);
|
whereJson.put("task_group_id",taskGroupId);
|
||||||
|
|
||||||
|
whereJson.put("form_data_code",dto.getFormDataCode());
|
||||||
|
|
||||||
jsonObjectList.add(whereJson);
|
jsonObjectList.add(whereJson);
|
||||||
//下一个的托盘放置点为本次的起点
|
//下一个的托盘放置点为本次的起点
|
||||||
lastSchBasePoint = whereJson.getString("site_code");
|
lastSchBasePoint = whereJson.getString("site_code");
|
||||||
@@ -595,7 +682,6 @@ public class PdaIosInServiceImpl implements PdaIosInService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
return PdaResponse.requestOk();
|
return PdaResponse.requestOk();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Override
|
// @Override
|
||||||
@@ -921,6 +1007,8 @@ public class PdaIosInServiceImpl implements PdaIosInService {
|
|||||||
jsonMst.put("task_group_seq", whereJson.getString("task_group_seq"));
|
jsonMst.put("task_group_seq", whereJson.getString("task_group_seq"));
|
||||||
jsonMst.put("task_group_id", whereJson.getString("task_group_id"));
|
jsonMst.put("task_group_id", whereJson.getString("task_group_id"));
|
||||||
jsonMst.put("vehicle_code", whereJson.getString("vehicle_code"));
|
jsonMst.put("vehicle_code", whereJson.getString("vehicle_code"));
|
||||||
|
jsonMst.put("form_data_code", whereJson.getString("form_data_code"));
|
||||||
|
|
||||||
// 组织明细数据
|
// 组织明细数据
|
||||||
IOStorInvDtl dtlDao = ioStorInvDtlMapper.selectOne(
|
IOStorInvDtl dtlDao = ioStorInvDtlMapper.selectOne(
|
||||||
new QueryWrapper<IOStorInvDtl>().lambda()
|
new QueryWrapper<IOStorInvDtl>().lambda()
|
||||||
|
|||||||
@@ -117,6 +117,10 @@ public class SchBaseTask implements Serializable {
|
|||||||
|
|
||||||
private String update_name;
|
private String update_name;
|
||||||
|
|
||||||
|
|
||||||
|
private String form_data_code;
|
||||||
|
|
||||||
|
|
||||||
private String update_time;
|
private String update_time;
|
||||||
@TableField(exist = false)
|
@TableField(exist = false)
|
||||||
private String config_name;
|
private String config_name;
|
||||||
|
|||||||
@@ -5,14 +5,14 @@ import cn.hutool.core.util.ObjectUtil;
|
|||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
import org.apache.commons.collections4.CollectionUtils;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.common.utils.CodeUtil;
|
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.common.utils.IdUtil;;
|
import org.nl.common.utils.IdUtil;;
|
||||||
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
|
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
|
||||||
import org.nl.wms.basedata_manage.service.IStructattrService;
|
import org.nl.wms.basedata_manage.service.IStructattrService;
|
||||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
import org.nl.wms.pm_manage.service.IPmFormDataService;
|
||||||
|
import org.nl.wms.pm_manage.service.dao.PmFormData;
|
||||||
import org.nl.wms.sch_manage.enums.TaskStatus;
|
import org.nl.wms.sch_manage.enums.TaskStatus;
|
||||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||||
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
import org.nl.wms.sch_manage.service.ISchBaseTaskService;
|
||||||
@@ -23,7 +23,6 @@ import org.nl.wms.sch_manage.service.util.AcsTaskDto;
|
|||||||
import org.nl.wms.sch_manage.service.util.TaskType;
|
import org.nl.wms.sch_manage.service.util.TaskType;
|
||||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
|
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.IOutBillService;
|
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
|
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
|
||||||
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
|
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
|
||||||
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
|
||||||
@@ -35,6 +34,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Author: zhengxuming
|
* @Author: zhengxuming
|
||||||
* @Description: 来料入库
|
* @Description: 来料入库
|
||||||
@@ -64,6 +64,10 @@ public class InBillTask extends AbstractTask {
|
|||||||
@Resource
|
@Resource
|
||||||
private ISchBasePointService pointService;
|
private ISchBasePointService pointService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IPmFormDataService iPmFormDataService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 仓位服务
|
* 仓位服务
|
||||||
*/
|
*/
|
||||||
@@ -89,6 +93,7 @@ public class InBillTask extends AbstractTask {
|
|||||||
task.setTask_group_seq(json.getBigDecimal("task_group_seq"));
|
task.setTask_group_seq(json.getBigDecimal("task_group_seq"));
|
||||||
task.setRequest_param(json.toString());
|
task.setRequest_param(json.toString());
|
||||||
task.setPriority(json.getString("priority"));
|
task.setPriority(json.getString("priority"));
|
||||||
|
task.setForm_data_code(json.getString("form_data_code"));
|
||||||
task.setCreate_id(SecurityUtils.getCurrentUserId());
|
task.setCreate_id(SecurityUtils.getCurrentUserId());
|
||||||
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
task.setCreate_name(SecurityUtils.getCurrentNickName());
|
||||||
task.setCreate_time(DateUtil.now());
|
task.setCreate_time(DateUtil.now());
|
||||||
@@ -189,6 +194,20 @@ public class InBillTask extends AbstractTask {
|
|||||||
.eq(SchBasePoint::getPoint_code, taskObj.getPoint_code3()));
|
.eq(SchBasePoint::getPoint_code, taskObj.getPoint_code3()));
|
||||||
|
|
||||||
rawAssistIStorService.taskFinish(taskObj);
|
rawAssistIStorService.taskFinish(taskObj);
|
||||||
|
|
||||||
|
List<SchBaseTask> noFinishTask = taskService.list(new LambdaQueryWrapper<>(SchBaseTask.class)
|
||||||
|
.eq(SchBaseTask::getForm_data_code,taskObj.getForm_data_code())
|
||||||
|
.eq(SchBaseTask::getIs_delete, BaseDataEnum.IS_YES_NOT.code("否"))
|
||||||
|
.ne(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode()));
|
||||||
|
//判断单据编号下的任务是否已经全部完成 即没有未完成数据
|
||||||
|
if(CollectionUtils.isEmpty(noFinishTask)){
|
||||||
|
iPmFormDataService.update(
|
||||||
|
new LambdaUpdateWrapper<PmFormData>()
|
||||||
|
.set(PmFormData::getStatus,IOSEnum.BILL_STATUS.code("完成"))
|
||||||
|
.set(PmFormData::getUpdate_time,DateUtil.now())
|
||||||
|
.set(PmFormData::getUpdate_name, "task")
|
||||||
|
.eq(PmFormData::getCode, taskObj.getForm_data_code()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
|||||||
@@ -788,6 +788,8 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
|||||||
task.put("point_code3", whereJson.get("point_code3"));
|
task.put("point_code3", whereJson.get("point_code3"));
|
||||||
task.put("point_code4", ioStorInvDis.getStruct_code());
|
task.put("point_code4", ioStorInvDis.getStruct_code());
|
||||||
|
|
||||||
|
task.put("form_data_code", whereJson.get("form_data_code"));
|
||||||
|
|
||||||
//第一个载具为计算得到的,第二个载具为起始点载具
|
//第一个载具为计算得到的,第二个载具为起始点载具
|
||||||
task.put("vehicle_code", ioStorInvDis.getStoragevehicle_code());
|
task.put("vehicle_code", ioStorInvDis.getStoragevehicle_code());
|
||||||
task.put("vehicle_code2", whereJson.get("vehicle_code"));
|
task.put("vehicle_code2", whereJson.get("vehicle_code"));
|
||||||
|
|||||||
Reference in New Issue
Block a user