This commit is contained in:
2023-08-10 16:35:30 +08:00
4 changed files with 37 additions and 24 deletions

View File

@@ -15,6 +15,7 @@ import org.nl.common.TableDataInfo;
import org.nl.common.anno.Log;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.enums.WorkerOrderEnum;
import org.nl.common.utils.MapOf;
import org.nl.common.utils.RedissonUtils;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.product_manage.service.device.IPdmBiDeviceService;
@@ -69,7 +70,13 @@ public class PdmProduceWorkorderController {
public ResponseEntity<Object> queryPad(@RequestBody WorkorderQuery query) {
PageQuery page = new PageQuery();page.setPage(0);page.setSize(99);
query.setOrder_status(WorkerOrderEnum.PRODUCTING.getCode());
return new ResponseEntity<>(iPdmProduceWorkorderService.queryAll(query, page), HttpStatus.OK);
TableDataInfo tableDataInfo = iPdmProduceWorkorderService.queryAll(query, page);
List content = tableDataInfo.getContent();
content.add(MapOf.of("device_code","A1_KZ_14",
"workorder_code","刻字回流点",
"material_code","刻字回流点",
"material_spec","刻字回流点","material_name","刻字回流点"));
return new ResponseEntity<>(tableDataInfo,HttpStatus.OK);
}
@PostMapping("/create")

View File

@@ -3,6 +3,7 @@ package org.nl.wms.product_manage.service.workorder;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorder;
import org.nl.wms.product_manage.service.workorder.dto.PdmProduceWorkorderDto;
@@ -33,7 +34,7 @@ public interface IPdmProduceWorkorderService extends IService<PdmProduceWorkorde
* @param page 分页参数
* @return Map<String,Object>
*/
Object queryAll(WorkorderQuery whereJson, PageQuery page);
TableDataInfo queryAll(WorkorderQuery whereJson, PageQuery page);
/**
* 查询所有数据不分页

View File

@@ -98,7 +98,7 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl<PdmProduceWorko
private ISchBaseTaskService taskService;
@Override
public Object queryAll(WorkorderQuery query, PageQuery pageQuery) {
public TableDataInfo queryAll(WorkorderQuery query, PageQuery pageQuery) {
if (!StringUtils.isEmpty(query.getProduct_series())) {
String collect = classstandardService.getChildIdStr(query.getProduct_series())
.stream().collect(Collectors.joining("','"));

View File

@@ -61,7 +61,9 @@ public class EngraveCallService {
public void createTask(JSONArray param){
// [{"device_code":"A1_KZ_06","weight":"27160.500"},{"device_code":"A1_KZ_04","weight":"27160.500"}]
Assert.notNull(param,"请求参数不能为空");
if (param.size()==0){
throw new BadRequestException("请求参数不能为空");
}
String struct_code = null;
List<String> kzDevice= new ArrayList<>();
Map<String, String> map = new HashMap<>();
@@ -71,28 +73,31 @@ public class EngraveCallService {
kzDevice.add(item.getString("device_code"));
map.put(item.getString("device_code"),item.getString("weight"));
}
List<PdmProduceWorkorder> workorders = workorderService.list(new QueryWrapper<PdmProduceWorkorder>()
.eq("workprocedure_id", ENGRAVE_WORKPRODURE)
.in("device_code", kzDevice)
.eq("workorder_status", WorkerOrderEnum.PRODUCTING.getCode()));
if (workorders.size()!=kzDevice.size()){
throw new BadRequestException("当前刻字工单不在生产状态");
}
if (workorders.stream().map(PdmProduceWorkorder::getMaterial_id).collect(Collectors.toSet()).size()>1){
throw new BadRequestException("所选刻字机的物料规格不是同一种");
}
kzDevice.remove("A1_KZ_14");
StIvtStructivtBcp stIvtStructivt = iStIvtStructivtBcpService.getOne(new QueryWrapper<StIvtStructivtBcp>()
.eq("struct_code", struct_code));
if(!workorders.get(0).getMaterial_id().equals(stIvtStructivt.getMaterial_id())){
throw new BadRequestException("半成品库存物料规格与刻字机工单物料不一致");
}
List<SchBaseTask> list = taskService.list(new QueryWrapper<SchBaseTask>()
.lt("task_status", StatusEnum.TASK_FINISH.getCode())
.in("task_type", AcsTaskEnum.TASK_STRUCT_OUT.getCode(),AcsTaskEnum.TASK_Engrave_CALL.getCode(), AcsTaskEnum.TASK_Engrave_EMPTY.getCode()));
if (!CollectionUtils.isEmpty(list)){
throw new BadRequestException("存在正在执行的刻字上料相关任务:"+list.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(",")));
}
.eq("struct_code", struct_code));
if (!CollectionUtils.isEmpty(kzDevice)){
List<PdmProduceWorkorder> workorders = workorderService.list(new QueryWrapper<PdmProduceWorkorder>()
.eq("workprocedure_id", ENGRAVE_WORKPRODURE)
.in("device_code", kzDevice)
.eq("workorder_status", WorkerOrderEnum.PRODUCTING.getCode()));
if (workorders.size()!=kzDevice.size()){
throw new BadRequestException("当前刻字工单不在生产状态");
}
if (workorders.stream().map(PdmProduceWorkorder::getMaterial_id).collect(Collectors.toSet()).size()>1){
throw new BadRequestException("所选刻字机的物料规格不是同一种");
}
if(!workorders.get(0).getMaterial_id().equals(stIvtStructivt.getMaterial_id())){
throw new BadRequestException("半成品库存物料规格与刻字机工单物料不一致");
}
List<SchBaseTask> list = taskService.list(new QueryWrapper<SchBaseTask>()
.lt("task_status", StatusEnum.TASK_FINISH.getCode())
.in("task_type", AcsTaskEnum.TASK_STRUCT_OUT.getCode(),AcsTaskEnum.TASK_Engrave_CALL.getCode(), AcsTaskEnum.TASK_Engrave_EMPTY.getCode()));
if (!CollectionUtils.isEmpty(list)){
throw new BadRequestException("存在正在执行的刻字上料相关任务:"+list.stream().map(SchBaseTask::getTask_code).collect(Collectors.joining(",")));
}
}
JSONObject form = new JSONObject();
form.put("stor_id", IOSEnum.STOR_CODE.code("半成品仓库"));//st_ivt_sectattr紫铜车间-半成品库区
form.put("sect_id",IOSEnum.SECT_CODE.code("半成品库区"));