拆托-按顺序生成流水号拆分流水号

main
bbl\baobl 2024-03-15 11:30:26 +08:00
parent d61a33d5db
commit de24babbc7
5 changed files with 127 additions and 9 deletions

View File

@ -31,4 +31,7 @@ import java.util.List;
public interface ItemKeyRepository extends JpaRepository<ItemKey, Long>, JpaSpecificationExecutor<ItemKey> {
@Query(value = "SELECT ik FROM ItemKey ik WHERE ik.item.id=?1 and ik.propC1=?2 and ik.propC2=?3 and ik.propC3=?4 and ik.propC4=?5 and ik.propC5=?6 and ik.propC6=?7")
ItemKey getByItemKey(Long id, String propC1, String propC2, String propC3, String propC4, String propC5, String propC6);
@Query(value = "SELECT inv.itemKey FROM Inventory inv WHERE inv.id in ?1")
List<ItemKey> getByInv(List<Long> ids);
}

View File

@ -16,6 +16,8 @@
package com.youchain.businessdata.rest;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.youchain.annotation.AnonymousAccess;
import com.youchain.annotation.Log;
import com.youchain.basicdata.domain.Item;
import com.youchain.businessdata.domain.ItemKey;
@ -24,6 +26,7 @@ import com.youchain.businessdata.service.dto.ItemKeyDto;
import com.youchain.businessdata.service.dto.ItemKeyQueryCriteria;
import com.youchain.businessdata.service.mapstruct.ItemKeyMapper;
import com.youchain.exception.handler.ApiError;
import com.youchain.exception.handler.ApiResult;
import com.youchain.modules.system.domain.Dept;
import com.youchain.utils.UserUtils;
import org.springframework.data.domain.Pageable;
@ -98,5 +101,32 @@ public class ItemKeyController {
itemKeyService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@PostMapping("/getItemKey")
@Log("拆托-查询原流水号")
@AnonymousAccess
public ResponseEntity<Object> getItemKey(@RequestBody List<Long> ids) {
ApiResult apiResult=itemKeyService.getItemKeyByInv(ids);
return new ResponseEntity<>(apiResult, HttpStatus.valueOf(apiResult.getStatus()));
}
@PostMapping("/devan")
@Log("拆托-流水号")
@AnonymousAccess
public ResponseEntity<Object> devan(@RequestBody JSONObject req) {
ApiResult apiResult=itemKeyService.devan(req);
return new ResponseEntity<>(apiResult, HttpStatus.valueOf(apiResult.getStatus()));
}
@PostMapping("/devanPropC6")
@Log("拆托-生成流水号")
@AnonymousAccess
public ResponseEntity<Object> devanPropC6(@RequestBody JSONObject req) {
ApiResult apiResult=itemKeyService.devanPropC6(req);
return new ResponseEntity<>(apiResult, HttpStatus.valueOf(apiResult.getStatus()));
}
@PostMapping("/devanning")
@Log("拆托-拆托确认")
@AnonymousAccess
public ResponseEntity<Object> devanning(@RequestBody JSONObject req) {
ApiResult apiResult=itemKeyService.devanning(req);
return new ResponseEntity<>(apiResult, HttpStatus.valueOf(apiResult.getStatus()));
}
}

View File

@ -15,10 +15,12 @@
*/
package com.youchain.businessdata.service;
import com.alibaba.fastjson.JSONObject;
import com.youchain.basicdata.domain.Item;
import com.youchain.businessdata.domain.ItemKey;
import com.youchain.businessdata.service.dto.ItemKeyDto;
import com.youchain.businessdata.service.dto.ItemKeyQueryCriteria;
import com.youchain.exception.handler.ApiResult;
import com.youchain.modules.system.domain.Dept;
import org.springframework.data.domain.Pageable;
import java.util.Map;
@ -86,4 +88,13 @@ public interface ItemKeyService {
ItemKey getItemKey(Item item, String propC1,String orderNumber);
ItemKey getItemKey(Item item, String propC1,String propC2,String propC3,String propC4,String propC5,String propC6);
ApiResult getItemKeyByInv(List<Long> ids);
/** 拆托-流水号*/
ApiResult devan(JSONObject req);
/** 拆托-生成流水号*/
ApiResult devanPropC6(JSONObject req);
/** 拆托-拆托确认*/
ApiResult devanning(JSONObject req);
}

View File

@ -651,12 +651,13 @@ public class AgvTaskServiceImpl implements AgvTaskService {
@Override
@Transactional
public ApiResult addAgvAsn() {
String goodType="BCP";
//半成品入库
List<Map<String,Object>> asnDetailSumQty=asnDetailRepository.findByAsn(BizStatus.RECEIVING,"SM_RK");
List<Map<String,Object>> taskSumQty=taskRepository.findBySumPlanQty(BizStatus.RECEIVING,1,"SMGS");
List<Map<String,Object>> taskSumQty=taskRepository.findBySumPlanQty(BizStatus.RECEIVING,1,goodType);
if (taskSumQty.size()>1){
//异常
List<Task> taskList=taskRepository.findByItemType(BizStatus.RECEIVING,1,"SMGS");
List<Task> taskList=taskRepository.findByItemType(BizStatus.RECEIVING,1,goodType);
for (int i = 0; i < taskList.size(); i++) {
Task task=taskList.get(i);
task.setTaskStatus(BizStatus.UNUSUAL);
@ -680,10 +681,10 @@ public class AgvTaskServiceImpl implements AgvTaskService {
if (taskQty>=item.getExtendD1()){
//入库
//查询入库库位
List<Point> pointList = pointRepository.findByAreaCode("SMGS");
List<Point> pointList = pointRepository.findByAreaCode(goodType);
if (pointList.size()>0){
Point point=pointList.get(0);
List<Task> taskList=taskRepository.findByItemType(BizStatus.RECEIVING,1,"SMGS");
List<Task> taskList=taskRepository.findByItemType(BizStatus.RECEIVING,1,goodType);
for (int i = 0; i < taskList.size(); i++) {
Task task=taskList.get(i);
//更新Task任务

View File

@ -15,8 +15,13 @@
*/
package com.youchain.businessdata.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.youchain.basicdata.domain.Item;
import com.youchain.businessdata.domain.Inventory;
import com.youchain.businessdata.domain.ItemKey;
import com.youchain.businessdata.domain.Task;
import com.youchain.exception.handler.ApiResult;
import com.youchain.utils.FileUtil;
import com.youchain.utils.PageUtil;
import com.youchain.utils.QueryHelp;
@ -31,14 +36,12 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.io.IOException;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.LinkedHashMap;
/**
* @website https://eladmin.vip
@ -168,5 +171,75 @@ public class ItemKeyServiceImpl implements ItemKeyService {
return itemKey;
}
@Override
public ApiResult getItemKeyByInv(List<Long> ids) {
StringBuffer data = new StringBuffer();
List<ItemKey> itemKeyList=itemKeyRepository.getByInv(ids);
for (int i = 0; i < itemKeyList.size(); i++) {
ItemKey itemKey=itemKeyList.get(i);
if (data.length()<1){
data.append(itemKey.getPropC6());
}else {
data.append(","+itemKey.getPropC6());
}
}
return ApiResult.fail(200,"操作成功",data);
}
@Override
public ApiResult devan(JSONObject req) {
String textPropC6=req.getString("textPropC6");
String text1PropC6=req.getString("text1PropC6");
String[] arrPropC6=textPropC6.split(",");
List<String> arr1PropC6= Arrays.asList(text1PropC6.split(","));
List<String> arr2PropC6=new ArrayList<>();
for (int i = 0; i < arrPropC6.length; i++) {
boolean flag=true;
for (int j = 0; j < arr1PropC6.size(); j++) {
if (arrPropC6[i].toString().equals(arr1PropC6.get(j).toString())){
flag=false;
break;
}
}
if (flag) {
arr2PropC6.add(arrPropC6[i]);
}
}
JSONObject data=new JSONObject();
data.put("textPropC6",arrPropC6);
data.put("text1PropC6",arr1PropC6);
data.put("text2PropC6",arr2PropC6);
System.out.println("返回:"+data);
return ApiResult.fail(200, "操作成功", data);
}
@Override
public ApiResult devanPropC6(JSONObject req) {
String startPropC6=req.getString("startPropC6");
String endPropC6=req.getString("endPropC6");
int startPropInt = Integer.parseInt(startPropC6, 16);
int endPropInt = Integer.parseInt(endPropC6, 16);
StringBuffer text1PropC6=new StringBuffer();
for (int i = startPropInt; i <endPropInt ; i++) {
String hex = String.format("%04X", i); // %04X表示最小宽度为4使用大写字母的16进制
if (text1PropC6.length()<1){
text1PropC6.append(hex);
}else {
text1PropC6.append(","+hex);
}
}
JSONObject data = new JSONObject();
data.put("text1PropC6", text1PropC6);
System.out.println("data:"+data);
return ApiResult.fail(200, "操作成功", data);
}
@Override
public ApiResult devanning(JSONObject req) {
System.out.println("req:"+req);
return null;
}
}