This commit is contained in:
zgw
2026-06-17 17:41:06 +08:00
parent fffc968134
commit a854f24ac4
32 changed files with 2596 additions and 277 deletions

View File

@@ -19,4 +19,36 @@ public class CustomMessage {
private String type;
private List<HashMap<String, String>> files;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getConversationId() {
return conversationId;
}
public void setConversationId(String conversationId) {
this.conversationId = conversationId;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public List<HashMap<String, String>> getFiles() {
return files;
}
public void setFiles(List<HashMap<String, String>> files) {
this.files = files;
}
}

View File

@@ -17,7 +17,6 @@ public class BasStockToolService {
@Autowired
private IBasStockService basStockService;
@Tool(description = "根据仓库id查询库存信息")
public List<BasStock> getStockInfo(@ToolParam(required = true, description = "仓库id") String warehouseId) {
BasStock basStock = new BasStock();
@@ -28,13 +27,11 @@ public class BasStockToolService {
@Tool(description = "根据库存id生成作业")
public String createMydoJob(@ToolParam(required = true, description = "库存id") String stockId) {
log.info("库存:{},已生成作业",stockId);
return null;
}
@Tool(description = "根据单据状态查询单据")
public String selectInStockInfo(@ToolParam(required = true, description = "单据状态") String status) {
log.info("根据单据状态查询单据:{},已生成作业",status);
return null;
}

View File

@@ -17,4 +17,56 @@ public class RequestEnter {
private String warehouseId;
private String roadwayId;
//小车所在层
private Integer[] assignableLayer;
public String getTrayCode() {
return trayCode;
}
public void setTrayCode(String trayCode) {
this.trayCode = trayCode;
}
public String getEntranceId() {
return entranceId;
}
public void setEntranceId(String entranceId) {
this.entranceId = entranceId;
}
public String getWarehouseId() {
return warehouseId;
}
public void setWarehouseId(String warehouseId) {
this.warehouseId = warehouseId;
}
public String getRoadwayId() {
return roadwayId;
}
public void setRoadwayId(String roadwayId) {
this.roadwayId = roadwayId;
}
public Integer[] getAssignableLayer() {
return assignableLayer;
}
public void setAssignableLayer(Integer[] assignableLayer) {
this.assignableLayer = assignableLayer;
}
@Override
public String toString() {
return "RequestEnter{" +
"trayCode='" + trayCode + '\'' +
", entranceId='" + entranceId + '\'' +
", warehouseId='" + warehouseId + '\'' +
", roadwayId='" + roadwayId + '\'' +
'}';
}
}

View File

@@ -16,13 +16,56 @@ public class AspRequestParam {
private List<DataInfo> datas;
public String getSession() {
return session;
}
public void setSession(String session) {
this.session = session;
}
public String getCmdkey() {
return cmdkey;
}
public void setCmdkey(String cmdkey) {
this.cmdkey = cmdkey;
}
public List<DataInfo> getDatas() {
return datas;
}
public void setDatas(List<DataInfo> datas) {
this.datas = datas;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public static class DataInfo{
private String id;
private Object val;
public DataInfo(String id, Object val) {
this.id = id;
this.val = val;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Object getVal() {
return val;
}
public void setVal(Object val) {
this.val = val;
}
}
}

View File

@@ -5,4 +5,12 @@ import lombok.Data;
@Data
public class AspResponse {
private Body body;
public Body getBody() {
return body;
}
public void setBody(Body body) {
this.body = body;
}
}

View File

@@ -18,4 +18,84 @@ public class ErpSupplierParam {
private String url;
private int page_size;
private int page_index;
public String getMyuserid() {
return myuserid;
}
public void setMyuserid(String myuserid) {
this.myuserid = myuserid;
}
public String getFl() {
return fl;
}
public void setFl(String fl) {
this.fl = fl;
}
public String getJb() {
return jb;
}
public void setJb(String jb) {
this.jb = jb;
}
public String getHy() {
return hy;
}
public void setHy(String hy) {
this.hy = hy;
}
public String getGysname() {
return gysname;
}
public void setGysname(String gysname) {
this.gysname = gysname;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public int getPage_size() {
return page_size;
}
public void setPage_size(int page_size) {
this.page_size = page_size;
}
public int getPage_index() {
return page_index;
}
public void setPage_index(int page_index) {
this.page_index = page_index;
}
}

View File

@@ -13,12 +13,39 @@ public class LoginParam {
private List<ErpUserDataInfo> datas;
public List<ErpUserDataInfo> getDatas() {
return datas;
}
public void setDatas(List<ErpUserDataInfo> datas) {
this.datas = datas;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public static class ErpUserDataInfo {
private String id;
private String val;
public ErpUserDataInfo(String id, String val) {
this.id = id;
this.val = val;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getVal() {
return val;
}
public void setVal(String val) {
this.val = val;
}
}
}

View File

@@ -174,7 +174,7 @@ public class ToErpServiceImpl implements IToErpService {
erpCustomerParam.setSession(login());
erpCustomerParam.setCmdkey("refresh");
List<AspRequestParam.DataInfo> dataInfoList = new ArrayList<>();
dataInfoList.add(new AspRequestParam.DataInfo("pagesize", 100000));
dataInfoList.add(new AspRequestParam.DataInfo("pagesize", 10000000));
dataInfoList.add(new AspRequestParam.DataInfo("pageindex", 1));
dataInfoList.add(new AspRequestParam.DataInfo("idProductClass", "532"));
erpCustomerParam.setDatas(dataInfoList);

View File

@@ -23,7 +23,6 @@ import com.ruoyi.common.utils.MessageUtils;
import com.ruoyi.device.agv.service.IAgvContainerTaskService;
import com.ruoyi.in.erp.service.ITransferBillCallbackService;
import com.ruoyi.in.stockin.service.IInStockinService;
import com.ruoyi.in.stockindetail.domain.InStockinDetail;
import com.ruoyi.in.stockindetail.service.IInStockinDetailService;
import com.ruoyi.job.mydojob.domain.MydoJob;
import com.ruoyi.job.mydojob.service.IMydoJobService;
@@ -32,7 +31,6 @@ import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService;
import com.ruoyi.out.outStockout.service.IOutStockoutService;
import com.ruoyi.pda.trayMsg.domain.TrayMsg;
import com.ruoyi.pda.trayMsg.service.ITrayMsgService;
import com.ruoyi.stock.stock.domain.BasStock;
import com.ruoyi.stock.stock.service.IBasStockService;
import com.ruoyi.system.domain.InStockinDetailN;
import com.ruoyi.system.service.IInStockinDetailNService;
@@ -42,11 +40,16 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
import java.util.LinkedHashSet;
import java.util.Arrays;
import java.util.Collections;
import java.util.ArrayList;
import java.util.Map;
import java.util.Set;
/**
* 作业统计 Service 实现
@@ -54,6 +57,8 @@ import java.util.stream.Collectors;
@Service
@Slf4j
public class ToWmsServiceImpl implements IToWmsService {
private static final List<Integer> SUPPORTED_LAYERS = Arrays.asList(1, 2, 3);
@Autowired
private IMydoJobService mydoJobService;
@Autowired
@@ -112,7 +117,13 @@ public class ToWmsServiceImpl implements IToWmsService {
//空托盘处理
if (mydoJob1.getCargoSpaceId()==null){
String productId = "KTP0001";
String cargoSpaceId = getCargoSpaceByProductInfo(productId);
Map<String, Object> allocResult = getCargoSpaceByProductInfo(productId, requestEnter.getAssignableLayer());
if (allocResult.containsKey("wait")) {
MydoJob waitJob=new MydoJob();
waitJob.setCargoSpaceId("1");
return AjaxResult.success(waitJob);
}
String cargoSpaceId = (String) allocResult.get("cargoSpaceId");
if (!StringUtils.isNotBlank(cargoSpaceId)) {
return AjaxResult.error("无符合条件的货位用于分配,请检查库存区占用情况,物料号:" + productId);
}
@@ -123,7 +134,11 @@ public class ToWmsServiceImpl implements IToWmsService {
mydoJobService.updateMydoJob(mydoJob1);
return AjaxResult.success(mydoJob1);
}else {
return AjaxResult.success(mydoJob1);
if (mydoJob1.getInOrOut().equals("3")) {
return AjaxResult.success(mydoJob1);
}else {
return AjaxResult.error("当前托盘存在其他类型作业");
}
}
}
//校验 - 条码已经有作业
@@ -152,8 +167,14 @@ public class ToWmsServiceImpl implements IToWmsService {
mydoJob.setCreateTime(new Date());
String stockinDetailId = trayMsg.getStockinDetailId();
InStockinDetailN inStockinDetail = inStockinDetailNService.selectInStockinDetailNByStockinDetailId(stockinDetailId);
String cargoSpaceId = getCargoSpaceByProductInfo(inStockinDetail.getProductModel());
Map<String, Object> allocResult = getCargoSpaceByProductInfo(inStockinDetail.getProductModel(),requestEnter.getAssignableLayer());
//是否有符合条件的货位
if (allocResult.containsKey("wait")) {
MydoJob waitJob=new MydoJob();
waitJob.setCargoSpaceId("1");
return AjaxResult.success(waitJob);
}
String cargoSpaceId = (String) allocResult.get("cargoSpaceId");
if (!StringUtils.isNotBlank(cargoSpaceId)) {
return AjaxResult.error("无符合条件的货位用于分配,请检查库存区占用情况,物料号:" + inStockinDetail.getProductModel());
}
@@ -182,52 +203,133 @@ public class ToWmsServiceImpl implements IToWmsService {
* 入库任务请求根据托盘码 -> 向子单明细分配入库货位
* 获取库存物料号 -> 货位id -> 存储区组group -> 状态:未占用 -> 按规则获取货位
*
* @param productId 物料号
* @param productId 物料号
* @param assignableLayer
* @return
*/
public String getCargoSpaceByProductInfo(String productId) {
//>>>>>>>>>>>>>>获取物料库存信息 -> 有库存 -> 货位(cargospace) -> 存储区组(groupCodingNo) -> 根据groupCoding(由高到低) -> 获取状态1的货位分配
//>>>>>>>>>>>>>>获取物料库存信息 -> 无库存 -> 遍历存储区组(groupCodingNo) -> 查找全部货位空的区组 -> 根据groupCoding(由高到低) -> 获取状态1的货位分配
public Map<String, Object> getCargoSpaceByProductInfo(String productId, Integer[] assignableLayer) {
Map<String, Object> result = new HashMap<>();
try {
// 0. Check wait status
int status3Count = basCargoSpaceService.selectCountByStatus("3");
if (status3Count >= 2) {
result.put("wait", 1);
return result;
}
// 1. 查找已存放该物料的存储区组(一次性获取去重后的组列表)
List<String> existingGroups = basStockService.selectGroupCodingNosByProductId(productId);
if (!existingGroups.isEmpty()) {
// 2. 在这些组中查找任意一个空闲货位(status='1')
BasCargoSpace availableSpace = basCargoSpaceService.selectEmptyCargoSpaceInGroups(existingGroups);
if (availableSpace != null) {
// 分配成功,更新状态为3
availableSpace.setStatus("3");
basCargoSpaceService.updateBasCargoSpace(availableSpace);
return availableSpace.getCargoSpaceId();
}
}
// 3. 如果没有现有组或现有组无空位,查找一个完全空闲的组(001-045)
String emptyGroupNo = basCargoSpaceService.selectFirstEmptyGroupCodingNo();
if (emptyGroupNo != null) {
// 4. 在该空闲组中,获取最内侧(groupCoding最大)的货位
// 复用现有方法 selectBasCargoSpaceListByGroupCodingNo,它已按 group_coding desc 排序
List<BasCargoSpace> cargoSpaces = basCargoSpaceService.selectBasCargoSpaceListByGroupCodingNo(emptyGroupNo);
if (!cargoSpaces.isEmpty()) {
BasCargoSpace bestSpace = cargoSpaces.get(0);
// 再次确认状态(虽然 selectFirstEmptyGroupCodingNo 保证了组空,但为了安全)
if ("1".equals(bestSpace.getStatus())) {
bestSpace.setStatus("3");
basCargoSpaceService.updateBasCargoSpace(bestSpace);
return bestSpace.getCargoSpaceId();
}
// 2. 按层级搜索策略依次分配
List<Integer[]> layerSearchPlan = buildLayerSearchPlan(assignableLayer);
for (Integer[] layers : layerSearchPlan) {
BasCargoSpace allocatedSpace = tryAllocateByLayers(existingGroups, layers);
if (allocatedSpace != null) {
allocatedSpace.setStatus("3");
basCargoSpaceService.updateBasCargoSpace(allocatedSpace);
result.put("cargoSpaceId", allocatedSpace.getCargoSpaceId());
return result;
}
}
} catch (Exception e) {
log.error("入库子单获取目标货位失败,异常信息:" + e.getMessage());
}
return result;
}
private BasCargoSpace tryAllocateByLayers(List<String> existingGroups, Integer[] layers) {
if (layers == null || layers.length == 0) {
return null;
}
if (CollUtil.isNotEmpty(existingGroups)) {
// 优先在同物料已存在的组里找
BasCargoSpace availableSpace = basCargoSpaceService.selectEmptyCargoSpaceInGroupsAndLayers(existingGroups, layers);
if (availableSpace != null) {
return availableSpace;
}
}
// 再找一个完全空闲组
String emptyGroupNo = basCargoSpaceService.selectFirstEmptyGroupCodingNoWithLayer(layers);
if (emptyGroupNo != null) {
List<String> groups = new ArrayList<>();
groups.add(emptyGroupNo);
BasCargoSpace bestSpace = basCargoSpaceService.selectEmptyCargoSpaceInGroupsAndLayers(groups, layers);
if (bestSpace != null && "1".equals(bestSpace.getStatus())) {
return bestSpace;
}
}
return null;
}
/**
* 层级搜索策略:
* 1) 传 1 个层:按就近层依次补位(1->2->3,2->1->3,3->2->1)
* 2) 传 2 个层:先在这两层分配,再尝试“中间层补位”(如 1、3 -> 2)
* 3) 传 3 个及以上层:按传入层集合分配
*/
private List<Integer[]> buildLayerSearchPlan(Integer[] assignableLayer) {
List<Integer[]> plan = new ArrayList<>();
if (assignableLayer == null || assignableLayer.length == 0) {
plan.add(SUPPORTED_LAYERS.toArray(new Integer[0]));
return plan;
}
List<Integer> normalized = Arrays.stream(assignableLayer)
.filter(item -> item != null && item > 0)
.distinct()
.sorted()
.collect(java.util.stream.Collectors.toList());
if (normalized.isEmpty()) {
plan.add(SUPPORTED_LAYERS.toArray(new Integer[0]));
return plan;
}
if (normalized.size() == 1) {
Integer currentLayer = normalized.get(0);
List<Integer> ordered = new ArrayList<>(SUPPORTED_LAYERS);
ordered.sort((a, b) -> {
int da = Math.abs(a - currentLayer);
int db = Math.abs(b - currentLayer);
if (da != db) {
return Integer.compare(da, db);
}
return Integer.compare(a, b);
});
for (Integer layer : ordered) {
plan.add(new Integer[]{layer});
}
return plan;
}
if (normalized.size() == 2) {
// 先尝试传入的两层
plan.add(normalized.toArray(new Integer[0]));
// 再尝试中间层补位(如 1、3 -> 2)
Set<Integer> assigned = new LinkedHashSet<>(normalized);
List<Integer> middle = new ArrayList<>();
int min = normalized.get(0);
int max = normalized.get(1);
for (int i = min + 1; i < max; i++) {
if (SUPPORTED_LAYERS.contains(i) && !assigned.contains(i)) {
middle.add(i);
}
}
if (!middle.isEmpty()) {
plan.add(middle.toArray(new Integer[0]));
}
return plan;
}
// 传入3层及以上时,按传入层集合分配
plan.add(normalized.toArray(new Integer[0]));
return plan;
}
@Override
public AjaxResult selectMydoJobByEntranceId(RequestEnter requestEnter) {

View File

@@ -220,5 +220,411 @@ public class BasProduct extends BaseEntity
private String supplierId;
public String getProductGuid() {
return productGuid;
}
public void setProductGuid(String productGuid) {
this.productGuid = productGuid;
}
public String getProductId() {
return productId;
}
public void setProductId(String productId) {
this.productId = productId;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getCargoNo() {
return cargoNo;
}
public void setCargoNo(String cargoNo) {
this.cargoNo = cargoNo;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getSpec() {
return spec;
}
public void setSpec(String spec) {
this.spec = spec;
}
public String getSpare1() {
return spare1;
}
public void setSpare1(String spare1) {
this.spare1 = spare1;
}
public String getSpare2() {
return spare2;
}
public void setSpare2(String spare2) {
this.spare2 = spare2;
}
public String getSpare3() {
return spare3;
}
public void setSpare3(String spare3) {
this.spare3 = spare3;
}
public String getSpare4() {
return spare4;
}
public void setSpare4(String spare4) {
this.spare4 = spare4;
}
public String getSpare5() {
return spare5;
}
public void setSpare5(String spare5) {
this.spare5 = spare5;
}
public String getSpare6() {
return spare6;
}
public void setSpare6(String spare6) {
this.spare6 = spare6;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getSpare7() {
return spare7;
}
public void setSpare7(String spare7) {
this.spare7 = spare7;
}
public String getSpare8() {
return spare8;
}
public void setSpare8(String spare8) {
this.spare8 = spare8;
}
public String getSpare9() {
return spare9;
}
public void setSpare9(String spare9) {
this.spare9 = spare9;
}
public String getSpare10() {
return spare10;
}
public void setSpare10(String spare10) {
this.spare10 = spare10;
}
public String getSpare11() {
return spare11;
}
public void setSpare11(String spare11) {
this.spare11 = spare11;
}
public String getSpare12() {
return spare12;
}
public void setSpare12(String spare12) {
this.spare12 = spare12;
}
public String getSpare13() {
return spare13;
}
public void setSpare13(String spare13) {
this.spare13 = spare13;
}
public String getSpare14() {
return spare14;
}
public void setSpare14(String spare14) {
this.spare14 = spare14;
}
public String getSpare15() {
return spare15;
}
public void setSpare15(String spare15) {
this.spare15 = spare15;
}
public String getSpare16() {
return spare16;
}
public void setSpare16(String spare16) {
this.spare16 = spare16;
}
public String getSpare17() {
return spare17;
}
public void setSpare17(String spare17) {
this.spare17 = spare17;
}
public String getSpare18() {
return spare18;
}
public void setSpare18(String spare18) {
this.spare18 = spare18;
}
public String getSpare19() {
return spare19;
}
public void setSpare19(String spare19) {
this.spare19 = spare19;
}
public String getSpare20() {
return spare20;
}
public void setSpare20(String spare20) {
this.spare20 = spare20;
}
public String getSpare21() {
return spare21;
}
public void setSpare21(String spare21) {
this.spare21 = spare21;
}
public String getSpare22() {
return spare22;
}
public void setSpare22(String spare22) {
this.spare22 = spare22;
}
public String getSpare23() {
return spare23;
}
public void setSpare23(String spare23) {
this.spare23 = spare23;
}
public String getSpare24() {
return spare24;
}
public void setSpare24(String spare24) {
this.spare24 = spare24;
}
public String getSpare25() {
return spare25;
}
public void setSpare25(String spare25) {
this.spare25 = spare25;
}
public String getSpare26() {
return spare26;
}
public void setSpare26(String spare26) {
this.spare26 = spare26;
}
public String getSpare27() {
return spare27;
}
public void setSpare27(String spare27) {
this.spare27 = spare27;
}
public String getSpare28() {
return spare28;
}
public void setSpare28(String spare28) {
this.spare28 = spare28;
}
public String getSpare29() {
return spare29;
}
public void setSpare29(String spare29) {
this.spare29 = spare29;
}
public String getSpare30() {
return spare30;
}
public void setSpare30(String spare30) {
this.spare30 = spare30;
}
public String getSpare31() {
return spare31;
}
public void setSpare31(String spare31) {
this.spare31 = spare31;
}
public String getSpare32() {
return spare32;
}
public void setSpare32(String spare32) {
this.spare32 = spare32;
}
public String getSpare33() {
return spare33;
}
public void setSpare33(String spare33) {
this.spare33 = spare33;
}
public String getSpare34() {
return spare34;
}
public void setSpare34(String spare34) {
this.spare34 = spare34;
}
public String getSpare35() {
return spare35;
}
public void setSpare35(String spare35) {
this.spare35 = spare35;
}
public String getSpare36() {
return spare36;
}
public void setSpare36(String spare36) {
this.spare36 = spare36;
}
public String getSpare37() {
return spare37;
}
public void setSpare37(String spare37) {
this.spare37 = spare37;
}
public String getSpare38() {
return spare38;
}
public void setSpare38(String spare38) {
this.spare38 = spare38;
}
public String getSpare39() {
return spare39;
}
public void setSpare39(String spare39) {
this.spare39 = spare39;
}
public String getLotNo() {
return lotNo;
}
public void setLotNo(String lotNo) {
this.lotNo = lotNo;
}
public Integer getQuantity() {
return quantity;
}
public void setQuantity(Integer quantity) {
this.quantity = quantity;
}
public String getUpdateId() {
return updateId;
}
public void setUpdateId(String updateId) {
this.updateId = updateId;
}
public String getSupplierId() {
return supplierId;
}
public void setSupplierId(String supplierId) {
this.supplierId = supplierId;
}
}

View File

@@ -114,4 +114,12 @@ public interface BasCargoSpaceMapper extends BaseMapper<BasCargoSpace>
public String selectFirstEmptyGroupCodingNo();
void lockedCargoSpace(BasCargoSpace basCargoSpace);
int selectCountByStatus(@Param("status") String status);
BasCargoSpace selectEmptyCargoSpaceInGroupsAndLayers(@Param("groups") List<String> groups, @Param("layers") Integer[] layers);
String selectFirstEmptyGroupCodingNoWithLayer(@Param("layers") Integer[] layers);
BasCargoSpace selectEmptyCargoSpaceExcludeLayers(@Param("layers") Integer[] layers);
}

View File

@@ -51,6 +51,35 @@ public interface IBasCargoSpaceService extends IService<BasCargoSpace>
*/
public String selectFirstEmptyGroupCodingNo();
/**
* 根据状态查询货位数量
* @param status 状态
* @return 数量
*/
public int selectCountByStatus(String status);
/**
* 在指定存储区组和层中查找空闲货位
* @param groups 存储区组列表
* @param layers 指定层列表
* @return 空闲货位
*/
public BasCargoSpace selectEmptyCargoSpaceInGroupsAndLayers(List<String> groups, Integer[] layers);
/**
* 查找第一个完全空闲且包含指定层的存储区组编号
* @param layers 指定层列表
* @return 存储区组编号
*/
public String selectFirstEmptyGroupCodingNoWithLayer(Integer[] layers);
/**
* 查找不在指定层列表中的空闲货位
* @param layers 排除的层列表
* @return 空闲货位
*/
public BasCargoSpace selectEmptyCargoSpaceExcludeLayers(Integer[] layers);
/**
* 新增库存信息
*

View File

@@ -68,6 +68,25 @@ public class BasCargoSpaceServiceImpl extends ServiceImpl<BasCargoSpaceMapper,Ba
return basCargoSpaceMapper.selectFirstEmptyGroupCodingNo();
}
@Override
public int selectCountByStatus(String status) {
return basCargoSpaceMapper.selectCountByStatus(status);
}
@Override
public BasCargoSpace selectEmptyCargoSpaceInGroupsAndLayers(List<String> groups, Integer[] layers) {
return basCargoSpaceMapper.selectEmptyCargoSpaceInGroupsAndLayers(groups, layers);
}
@Override
public String selectFirstEmptyGroupCodingNoWithLayer(Integer[] layers) {
return basCargoSpaceMapper.selectFirstEmptyGroupCodingNoWithLayer(layers);
}
@Override
public BasCargoSpace selectEmptyCargoSpaceExcludeLayers(Integer[] layers) {
return basCargoSpaceMapper.selectEmptyCargoSpaceExcludeLayers(layers);
}
/**
* 新增库存信息

View File

@@ -82,7 +82,6 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS
String stockId = checkDifferenceRecord.getStockId();
BasStock basStock = basStockService.selectBasStockByStockId(stockId);
if (!"1".equals(basStock.getProductStatus())){
log.warn("库存非正常状态{}",basStock.getStockId());
return AjaxResult.error(MessageUtils.message("error.message10"));
}
if (basStock.getQuantity().equals(checkDifferenceRecord.getNewQuantity())){
@@ -102,14 +101,12 @@ public class CheckDifferenceRecordServiceImpl implements ICheckDifferenceRecordS
queryStock.setWarehouseId(checkDifferenceRecord.getWarehouseId());
List<BasStock> stocks = basStockService.selectBasStockList(queryStock);
if (!stocks.isEmpty()) {
log.warn("该物料已存在{}",checkDifferenceRecord.getProductId());
return AjaxResult.error(MessageUtils.message("error.message8"));
}
BasCargoSpace queryCargoSpace = new BasCargoSpace();
queryCargoSpace.setWarehouseId(checkDifferenceRecord.getWarehouseId());
List<BasCargoSpace> cargoSpaces = basCargoSpaceService.selectBasCargoSpaceList(queryCargoSpace);
if (cargoSpaces.isEmpty()){
log.warn("没有货位");
return AjaxResult.error(MessageUtils.message("error.message9"));
}
checkDifferenceRecord.setCargoSpaceId(cargoSpaces.get(0).getCargoSpaceId());

View File

@@ -100,8 +100,173 @@ public class CheckStockin extends BaseEntity
@Excel(name = "备用字段5")
private String spare5;
public String getStockGuid() {
return stockGuid;
}
public void setStockGuid(String stockGuid) {
this.stockGuid = stockGuid;
}
public String getStockCheckId() {
return stockCheckId;
}
public void setStockCheckId(String stockCheckId) {
this.stockCheckId = stockCheckId;
}
public String getCheckType() {
return checkType;
}
public void setCheckType(String checkType) {
this.checkType = checkType;
}
public String getCreateDate() {
return createDate;
}
public void setCreateDate(String createDate) {
this.createDate = createDate;
}
public String getCreateManId() {
return createManId;
}
public void setCreateManId(String createManId) {
this.createManId = createManId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getWarehouseId() {
return warehouseId;
}
public void setWarehouseId(String warehouseId) {
this.warehouseId = warehouseId;
}
public String getWarehouseName() {
return warehouseName;
}
public void setWarehouseName(String warehouseName) {
this.warehouseName = warehouseName;
}
public String getFinishDate() {
return finishDate;
}
public void setFinishDate(String finishDate) {
this.finishDate = finishDate;
}
public String getErpBill() {
return erpBill;
}
public void setErpBill(String erpBill) {
this.erpBill = erpBill;
}
public String getStockSource() {
return stockSource;
}
public void setStockSource(String stockSource) {
this.stockSource = stockSource;
}
public String getDepartmentNo() {
return departmentNo;
}
public void setDepartmentNo(String departmentNo) {
this.departmentNo = departmentNo;
}
public String getDepartmentName() {
return departmentName;
}
public void setDepartmentName(String departmentName) {
this.departmentName = departmentName;
}
public String getCustomerNo() {
return customerNo;
}
public void setCustomerNo(String customerNo) {
this.customerNo = customerNo;
}
public String getClassNo() {
return classNo;
}
public void setClassNo(String classNo) {
this.classNo = classNo;
}
public String getSupplierNo() {
return supplierNo;
}
public void setSupplierNo(String supplierNo) {
this.supplierNo = supplierNo;
}
public String getSpare1() {
return spare1;
}
public void setSpare1(String spare1) {
this.spare1 = spare1;
}
public String getSpare2() {
return spare2;
}
public void setSpare2(String spare2) {
this.spare2 = spare2;
}
public String getSpare3() {
return spare3;
}
public void setSpare3(String spare3) {
this.spare3 = spare3;
}
public String getSpare4() {
return spare4;
}
public void setSpare4(String spare4) {
this.spare4 = spare4;
}
public String getSpare5() {
return spare5;
}
public void setSpare5(String spare5) {
this.spare5 = spare5;
}
@Override
public String toString() {

View File

@@ -16,4 +16,28 @@ public class BillStatusCount extends BaseEntity {
/** 单据类型(1:入库,2:出库,3:盘点) */
private String type;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}

View File

@@ -142,6 +142,7 @@ public class MydoJob extends BaseEntity
private String orderByColumn;
public String getProductId() {
return productId;
}

View File

@@ -336,7 +336,7 @@ public class MydoJobServiceImpl implements IMydoJobService {
//修改单据实际数量
String inOrOutDId = mydoJobDetail.getInOrOutDId();
InStockinDetailN inStockinDetail = inStockinDetailNService.selectInStockinDetailNByStockinDetailId(inOrOutDId);
inStockinDetail.setFinishNum(Convert.toBigDecimal(inStockinDetail.getFinishNum()).add(Convert.toBigDecimal(mydoJobDetail.getInQuantity())));
inStockinDetail.setFinishNum(Convert.toBigDecimal(inStockinDetail.getFinishNum(), BigDecimal.ZERO).add(Convert.toBigDecimal(mydoJobDetail.getInQuantity(), BigDecimal.ZERO)));
inStockinDetailNService.updateInStockinDetailN(inStockinDetail);
}
//正常库存

View File

@@ -142,6 +142,347 @@ public class MydoJobDetail extends BaseEntity
private String cargoNo;
private String warehouseId;
public String getJobDetailId() {
return jobDetailId;
}
public void setJobDetailId(String jobDetailId) {
this.jobDetailId = jobDetailId;
}
public String getJobId() {
return jobId;
}
public void setJobId(String jobId) {
this.jobId = jobId;
}
public String getStockId() {
return stockId;
}
public void setStockId(String stockId) {
this.stockId = stockId;
}
public String getLotNo() {
return lotNo;
}
public void setLotNo(String lotNo) {
this.lotNo = lotNo;
}
public String getInDate() {
return inDate;
}
public void setInDate(String inDate) {
this.inDate = inDate;
}
public String getInOrOutId() {
return inOrOutId;
}
public void setInOrOutId(String inOrOutId) {
this.inOrOutId = inOrOutId;
}
public String getInOrOutDId() {
return inOrOutDId;
}
public void setInOrOutDId(String inOrOutDId) {
this.inOrOutDId = inOrOutDId;
}
public String getProductGuid() {
return productGuid;
}
public void setProductGuid(String productGuid) {
this.productGuid = productGuid;
}
public String getProductId() {
return productId;
}
public void setProductId(String productId) {
this.productId = productId;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getStockStatus() {
return stockStatus;
}
public void setStockStatus(String stockStatus) {
this.stockStatus = stockStatus;
}
public String getInQuantity() {
return inQuantity;
}
public void setInQuantity(String inQuantity) {
this.inQuantity = inQuantity;
}
public String getStockQuantity() {
return stockQuantity;
}
public void setStockQuantity(String stockQuantity) {
this.stockQuantity = stockQuantity;
}
public String getOutQuantity() {
return outQuantity;
}
public void setOutQuantity(String outQuantity) {
this.outQuantity = outQuantity;
}
public String getLayerQuantity() {
return layerQuantity;
}
public void setLayerQuantity(String layerQuantity) {
this.layerQuantity = layerQuantity;
}
public String getOutLayerQuantity() {
return outLayerQuantity;
}
public void setOutLayerQuantity(String outLayerQuantity) {
this.outLayerQuantity = outLayerQuantity;
}
public String getGiveNum() {
return giveNum;
}
public void setGiveNum(String giveNum) {
this.giveNum = giveNum;
}
public String getStockinId() {
return stockinId;
}
public void setStockinId(String stockinId) {
this.stockinId = stockinId;
}
public String getStackingId() {
return stackingId;
}
public void setStackingId(String stackingId) {
this.stackingId = stackingId;
}
public String getExitId() {
return exitId;
}
public void setExitId(String exitId) {
this.exitId = exitId;
}
public String getPrintDate() {
return printDate;
}
public void setPrintDate(String printDate) {
this.printDate = printDate;
}
public String getCustomerId() {
return customerId;
}
public void setCustomerId(String customerId) {
this.customerId = customerId;
}
public String getSupplierId() {
return supplierId;
}
public void setSupplierId(String supplierId) {
this.supplierId = supplierId;
}
public String getSupplierName() {
return supplierName;
}
public void setSupplierName(String supplierName) {
this.supplierName = supplierName;
}
public String getSpare1() {
return spare1;
}
public void setSpare1(String spare1) {
this.spare1 = spare1;
}
public String getSpare2() {
return spare2;
}
public void setSpare2(String spare2) {
this.spare2 = spare2;
}
public String getSpare3() {
return spare3;
}
public void setSpare3(String spare3) {
this.spare3 = spare3;
}
public String getSpare4() {
return spare4;
}
public void setSpare4(String spare4) {
this.spare4 = spare4;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getPickQuantity() {
return pickQuantity;
}
public void setPickQuantity(String pickQuantity) {
this.pickQuantity = pickQuantity;
}
public ExtraField getExtraField() {
return extraField;
}
public void setExtraField(ExtraField extraField) {
this.extraField = extraField;
}
public String getPickQuantityReal() {
return pickQuantityReal;
}
public void setPickQuantityReal(String pickQuantityReal) {
this.pickQuantityReal = pickQuantityReal;
}
public String getPickBindQuantity() {
return pickBindQuantity;
}
public void setPickBindQuantity(String pickBindQuantity) {
this.pickBindQuantity = pickBindQuantity;
}
public String getSpare5() {
return spare5;
}
public void setSpare5(String spare5) {
this.spare5 = spare5;
}
public String getSpare6() {
return spare6;
}
public void setSpare6(String spare6) {
this.spare6 = spare6;
}
public String getSpare7() {
return spare7;
}
public void setSpare7(String spare7) {
this.spare7 = spare7;
}
public String getSpare8() {
return spare8;
}
public void setSpare8(String spare8) {
this.spare8 = spare8;
}
public String getSpare9() {
return spare9;
}
public void setSpare9(String spare9) {
this.spare9 = spare9;
}
public String getSpec() {
return spec;
}
public void setSpec(String spec) {
this.spec = spec;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getTrayCode() {
return trayCode;
}
public void setTrayCode(String trayCode) {
this.trayCode = trayCode;
}
public String getCargoNo() {
return cargoNo;
}
public void setCargoNo(String cargoNo) {
this.cargoNo = cargoNo;
}
public String getWarehouseId() {
return warehouseId;
}
public void setWarehouseId(String warehouseId) {
this.warehouseId = warehouseId;
}
}

View File

@@ -27,4 +27,60 @@ public class TrayCodeMakeSure {
private List<MydoJobDetail> materials;
//异常详情列表
private List<MydoJobDetail> materialDetails;
public String getTrayCode() {
return trayCode;
}
public void setTrayCode(String trayCode) {
this.trayCode = trayCode;
}
public String getContainerCode() {
return containerCode;
}
public void setContainerCode(String containerCode) {
this.containerCode = containerCode;
}
public String getWarehouseId() {
return warehouseId;
}
public void setWarehouseId(String warehouseId) {
this.warehouseId = warehouseId;
}
public String getExitId() {
return exitId;
}
public void setExitId(String exitId) {
this.exitId = exitId;
}
public List<MydoJobDetail> getMydoJobDetailList() {
return mydoJobDetailList;
}
public void setMydoJobDetailList(List<MydoJobDetail> mydoJobDetailList) {
this.mydoJobDetailList = mydoJobDetailList;
}
public List<MydoJobDetail> getMaterials() {
return materials;
}
public void setMaterials(List<MydoJobDetail> materials) {
this.materials = materials;
}
public List<MydoJobDetail> getMaterialDetails() {
return materialDetails;
}
public void setMaterialDetails(List<MydoJobDetail> materialDetails) {
this.materialDetails = materialDetails;
}
}

View File

@@ -325,4 +325,868 @@ public class BasStock extends BaseEntity {
private String sysIcusIInheritIdIidI414;
/** 入库车号 */
private String sysIcusIInheritIdIidI415;
public String getStockId() {
return stockId;
}
public void setStockId(String stockId) {
this.stockId = stockId;
}
public String getCargoSpaceId() {
return cargoSpaceId;
}
public void setCargoSpaceId(String cargoSpaceId) {
this.cargoSpaceId = cargoSpaceId;
}
public String getCargoSpaceName() {
return cargoSpaceName;
}
public void setCargoSpaceName(String cargoSpaceName) {
this.cargoSpaceName = cargoSpaceName;
}
public String getStockStatus() {
return stockStatus;
}
public void setStockStatus(String stockStatus) {
this.stockStatus = stockStatus;
}
public String getCargoSpaceStockStatus() {
return cargoSpaceStockStatus;
}
public void setCargoSpaceStockStatus(String cargoSpaceStockStatus) {
this.cargoSpaceStockStatus = cargoSpaceStockStatus;
}
public String getCargoSpaceStatus() {
return cargoSpaceStatus;
}
public void setCargoSpaceStatus(String cargoSpaceStatus) {
this.cargoSpaceStatus = cargoSpaceStatus;
}
public String getProductStatus() {
return productStatus;
}
public void setProductStatus(String productStatus) {
this.productStatus = productStatus;
}
public ExtraField getExtraField() {
return extraField;
}
public void setExtraField(ExtraField extraField) {
this.extraField = extraField;
}
public String getProductId() {
return productId;
}
public void setProductId(String productId) {
this.productId = productId;
}
public String getSpare1() {
return spare1;
}
public void setSpare1(String spare1) {
this.spare1 = spare1;
}
public String getSpare2() {
return spare2;
}
public void setSpare2(String spare2) {
this.spare2 = spare2;
}
public String getSpare5() {
return spare5;
}
public void setSpare5(String spare5) {
this.spare5 = spare5;
}
public String getSpare6() {
return spare6;
}
public void setSpare6(String spare6) {
this.spare6 = spare6;
}
public String getSpare7() {
return spare7;
}
public void setSpare7(String spare7) {
this.spare7 = spare7;
}
public String getSpare8() {
return spare8;
}
public void setSpare8(String spare8) {
this.spare8 = spare8;
}
public String getVoltage() {
return voltage;
}
public void setVoltage(String voltage) {
this.voltage = voltage;
}
public String getPhase() {
return phase;
}
public void setPhase(String phase) {
this.phase = phase;
}
public String getNetWeight() {
return netWeight;
}
public void setNetWeight(String netWeight) {
this.netWeight = netWeight;
}
public String getGrossWeight() {
return grossWeight;
}
public void setGrossWeight(String grossWeight) {
this.grossWeight = grossWeight;
}
public String getDistribution() {
return distribution;
}
public void setDistribution(String distribution) {
this.distribution = distribution;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public String getOrderId() {
return orderId;
}
public void setOrderId(String orderId) {
this.orderId = orderId;
}
public BigDecimal getQuantity() {
return quantity;
}
public void setQuantity(BigDecimal quantity) {
this.quantity = quantity;
}
public String getJobId() {
return jobId;
}
public void setJobId(String jobId) {
this.jobId = jobId;
}
public String getTrayCode() {
return trayCode;
}
public void setTrayCode(String trayCode) {
this.trayCode = trayCode;
}
public String getStockinId() {
return stockinId;
}
public void setStockinId(String stockinId) {
this.stockinId = stockinId;
}
public String getStockinDetailId() {
return stockinDetailId;
}
public void setStockinDetailId(String stockinDetailId) {
this.stockinDetailId = stockinDetailId;
}
public String getInType() {
return inType;
}
public void setInType(String inType) {
this.inType = inType;
}
public String getWarehouseName() {
return warehouseName;
}
public void setWarehouseName(String warehouseName) {
this.warehouseName = warehouseName;
}
public String getInDate() {
return inDate;
}
public void setInDate(String inDate) {
this.inDate = inDate;
}
public String getInDateStart() {
return inDateStart;
}
public void setInDateStart(String inDateStart) {
this.inDateStart = inDateStart;
}
public String getInDateEnd() {
return inDateEnd;
}
public void setInDateEnd(String inDateEnd) {
this.inDateEnd = inDateEnd;
}
public String getLotNo() {
return lotNo;
}
public void setLotNo(String lotNo) {
this.lotNo = lotNo;
}
public String getBackDate() {
return backDate;
}
public void setBackDate(String backDate) {
this.backDate = backDate;
}
public String getProductGuid() {
return productGuid;
}
public void setProductGuid(String productGuid) {
this.productGuid = productGuid;
}
public BigDecimal getOutQuantity() {
return outQuantity;
}
public void setOutQuantity(BigDecimal outQuantity) {
this.outQuantity = outQuantity;
}
public String getInClassId() {
return inClassId;
}
public void setInClassId(String inClassId) {
this.inClassId = inClassId;
}
public String getWarehouseId() {
return warehouseId;
}
public void setWarehouseId(String warehouseId) {
this.warehouseId = warehouseId;
}
public String getRoadwayId() {
return roadwayId;
}
public void setRoadwayId(String roadwayId) {
this.roadwayId = roadwayId;
}
public String getTheFloor() {
return theFloor;
}
public void setTheFloor(String theFloor) {
this.theFloor = theFloor;
}
public String getThePlatoon() {
return thePlatoon;
}
public void setThePlatoon(String thePlatoon) {
this.thePlatoon = thePlatoon;
}
public String getTheColumn() {
return theColumn;
}
public void setTheColumn(String theColumn) {
this.theColumn = theColumn;
}
public String getStackingId() {
return stackingId;
}
public void setStackingId(String stackingId) {
this.stackingId = stackingId;
}
public String getSpare3() {
return spare3;
}
public void setSpare3(String spare3) {
this.spare3 = spare3;
}
public String getSpare4() {
return spare4;
}
public void setSpare4(String spare4) {
this.spare4 = spare4;
}
public String getProductName() {
return productName;
}
public void setProductName(String productName) {
this.productName = productName;
}
public String getSupplierId() {
return supplierId;
}
public void setSupplierId(String supplierId) {
this.supplierId = supplierId;
}
public String getSupplierName() {
return supplierName;
}
public void setSupplierName(String supplierName) {
this.supplierName = supplierName;
}
public String getProductType() {
return productType;
}
public void setProductType(String productType) {
this.productType = productType;
}
public String getOutside() {
return outside;
}
public void setOutside(String outside) {
this.outside = outside;
}
public String getSpec() {
return spec;
}
public void setSpec(String spec) {
this.spec = spec;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getCargoNo() {
return cargoNo;
}
public void setCargoNo(String cargoNo) {
this.cargoNo = cargoNo;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getPower() {
return power;
}
public void setPower(String power) {
this.power = power;
}
public String getProductModel() {
return productModel;
}
public void setProductModel(String productModel) {
this.productModel = productModel;
}
public String getPdDetailId() {
return pdDetailId;
}
public void setPdDetailId(String pdDetailId) {
this.pdDetailId = pdDetailId;
}
public String getPdProductName() {
return pdProductName;
}
public void setPdProductName(String pdProductName) {
this.pdProductName = pdProductName;
}
public String getPdModel() {
return pdModel;
}
public void setPdModel(String pdModel) {
this.pdModel = pdModel;
}
public String getPdUnit() {
return pdUnit;
}
public void setPdUnit(String pdUnit) {
this.pdUnit = pdUnit;
}
public String getPdUnitPrice() {
return pdUnitPrice;
}
public void setPdUnitPrice(String pdUnitPrice) {
this.pdUnitPrice = pdUnitPrice;
}
public String getPdAuxUnit() {
return pdAuxUnit;
}
public void setPdAuxUnit(String pdAuxUnit) {
this.pdAuxUnit = pdAuxUnit;
}
public String getPdAttr1() {
return pdAttr1;
}
public void setPdAttr1(String pdAttr1) {
this.pdAttr1 = pdAttr1;
}
public String getPdAttr2() {
return pdAttr2;
}
public void setPdAttr2(String pdAttr2) {
this.pdAttr2 = pdAttr2;
}
public String getPdQuantity() {
return pdQuantity;
}
public void setPdQuantity(String pdQuantity) {
this.pdQuantity = pdQuantity;
}
public String getPdInQty() {
return pdInQty;
}
public void setPdInQty(String pdInQty) {
this.pdInQty = pdInQty;
}
public String getPdAuxQuantity() {
return pdAuxQuantity;
}
public void setPdAuxQuantity(String pdAuxQuantity) {
this.pdAuxQuantity = pdAuxQuantity;
}
public String getPdTotalPrice() {
return pdTotalPrice;
}
public void setPdTotalPrice(String pdTotalPrice) {
this.pdTotalPrice = pdTotalPrice;
}
public String getPdCostUnitPrice() {
return pdCostUnitPrice;
}
public void setPdCostUnitPrice(String pdCostUnitPrice) {
this.pdCostUnitPrice = pdCostUnitPrice;
}
public String getPdTotalPrice2() {
return pdTotalPrice2;
}
public void setPdTotalPrice2(String pdTotalPrice2) {
this.pdTotalPrice2 = pdTotalPrice2;
}
public String getPdAccountCostTotal() {
return pdAccountCostTotal;
}
public void setPdAccountCostTotal(String pdAccountCostTotal) {
this.pdAccountCostTotal = pdAccountCostTotal;
}
public String getPdAccountQuantity() {
return pdAccountQuantity;
}
public void setPdAccountQuantity(String pdAccountQuantity) {
this.pdAccountQuantity = pdAccountQuantity;
}
public String getPdAccountStatus() {
return pdAccountStatus;
}
public void setPdAccountStatus(String pdAccountStatus) {
this.pdAccountStatus = pdAccountStatus;
}
public String getPdBatchNo() {
return pdBatchNo;
}
public void setPdBatchNo(String pdBatchNo) {
this.pdBatchNo = pdBatchNo;
}
public String getPdSerialNo() {
return pdSerialNo;
}
public void setPdSerialNo(String pdSerialNo) {
this.pdSerialNo = pdSerialNo;
}
public String getPdProdDate() {
return pdProdDate;
}
public void setPdProdDate(String pdProdDate) {
this.pdProdDate = pdProdDate;
}
public String getPdValidDate() {
return pdValidDate;
}
public void setPdValidDate(String pdValidDate) {
this.pdValidDate = pdValidDate;
}
public String getPdArrivalDate() {
return pdArrivalDate;
}
public void setPdArrivalDate(String pdArrivalDate) {
this.pdArrivalDate = pdArrivalDate;
}
public String getPdRemark() {
return pdRemark;
}
public void setPdRemark(String pdRemark) {
this.pdRemark = pdRemark;
}
public String getPdCustom1() {
return pdCustom1;
}
public void setPdCustom1(String pdCustom1) {
this.pdCustom1 = pdCustom1;
}
public String getPdCustom2() {
return pdCustom2;
}
public void setPdCustom2(String pdCustom2) {
this.pdCustom2 = pdCustom2;
}
public String getPdCustom3() {
return pdCustom3;
}
public void setPdCustom3(String pdCustom3) {
this.pdCustom3 = pdCustom3;
}
public String getPdCustom4() {
return pdCustom4;
}
public void setPdCustom4(String pdCustom4) {
this.pdCustom4 = pdCustom4;
}
public String getPdCustom5() {
return pdCustom5;
}
public void setPdCustom5(String pdCustom5) {
this.pdCustom5 = pdCustom5;
}
public String getPdCustom6() {
return pdCustom6;
}
public void setPdCustom6(String pdCustom6) {
this.pdCustom6 = pdCustom6;
}
public String getPdLoader() {
return pdLoader;
}
public void setPdLoader(String pdLoader) {
this.pdLoader = pdLoader;
}
public String getRows() {
return Rows;
}
public void setRows(String rows) {
Rows = rows;
}
public String getTitle() {
return Title;
}
public void setTitle(String title) {
Title = title;
}
public String getKuin() {
return Kuin;
}
public void setKuin(String kuin) {
Kuin = kuin;
}
public String getComplete1() {
return Complete1;
}
public void setComplete1(String complete1) {
Complete1 = complete1;
}
public String getCateid() {
return Cateid;
}
public void setCateid(String cateid) {
Cateid = cateid;
}
public String getDate3() {
return Date3;
}
public void setDate3(String date3) {
Date3 = date3;
}
public String getDate5() {
return Date5;
}
public void setDate5(String date5) {
Date5 = date5;
}
public String getCatein() {
return Catein;
}
public void setCatein(String catein) {
Catein = catein;
}
public String getIntro2() {
return Intro2;
}
public void setIntro2(String intro2) {
Intro2 = intro2;
}
public String getIntro() {
return Intro;
}
public void setIntro(String intro) {
Intro = intro;
}
public String getCaigou() {
return Caigou;
}
public void setCaigou(String caigou) {
Caigou = caigou;
}
public String getDate7() {
return Date7;
}
public void setDate7(String date7) {
Date7 = date7;
}
public String getKg() {
return Kg;
}
public void setKg(String kg) {
Kg = kg;
}
public String getSort1() {
return Sort1;
}
public void setSort1(String sort1) {
Sort1 = sort1;
}
public String getRkbh() {
return Rkbh;
}
public void setRkbh(String rkbh) {
Rkbh = rkbh;
}
public String getStatus() {
return Status;
}
public void setStatus(String status) {
Status = status;
}
public String getKuinList() {
return KuinList;
}
public void setKuinList(String kuinList) {
KuinList = kuinList;
}
public String getSysIcusIInheritIdIidI413() {
return sysIcusIInheritIdIidI413;
}
public void setSysIcusIInheritIdIidI413(String sysIcusIInheritIdIidI413) {
this.sysIcusIInheritIdIidI413 = sysIcusIInheritIdIidI413;
}
public String getSysIcusIInheritIdIidI414() {
return sysIcusIInheritIdIidI414;
}
public void setSysIcusIInheritIdIidI414(String sysIcusIInheritIdIidI414) {
this.sysIcusIInheritIdIidI414 = sysIcusIInheritIdIidI414;
}
public String getSysIcusIInheritIdIidI415() {
return sysIcusIInheritIdIidI415;
}
public void setSysIcusIInheritIdIidI415(String sysIcusIInheritIdIidI415) {
this.sysIcusIInheritIdIidI415 = sysIcusIInheritIdIidI415;
}
}

View File

@@ -158,336 +158,286 @@ public class InStockinDetailN extends BaseEntity
/** $column.columnComment */
private String stockinDetailId;
public void setErpDetailId(int erpDetailId)
{
this.erpDetailId = erpDetailId;
}
public int getErpDetailId()
{
public int getErpDetailId() {
return erpDetailId;
}
public void setStockinGuid(String stockinGuid)
{
this.stockinGuid = stockinGuid;
public void setErpDetailId(int erpDetailId) {
this.erpDetailId = erpDetailId;
}
public String getStockinGuid()
{
public String getStockinGuid() {
return stockinGuid;
}
public void setStockinId(String stockinId)
{
this.stockinId = stockinId;
public void setStockinGuid(String stockinGuid) {
this.stockinGuid = stockinGuid;
}
public String getStockinId()
{
public String getStockinId() {
return stockinId;
}
public void setProductName(String productName)
{
this.productName = productName;
public void setStockinId(String stockinId) {
this.stockinId = stockinId;
}
public String getProductName()
{
public String getProductName() {
return productName;
}
public void setProductModel(String productModel)
{
this.productModel = productModel;
public void setProductName(String productName) {
this.productName = productName;
}
public String getProductModel()
{
public String getProductModel() {
return productModel;
}
public void setUnit(String unit)
{
this.unit = unit;
public void setProductModel(String productModel) {
this.productModel = productModel;
}
public String getUnit()
{
public String getUnit() {
return unit;
}
public void setUnitPrice(BigDecimal unitPrice)
{
this.unitPrice = unitPrice;
public void setUnit(String unit) {
this.unit = unit;
}
public BigDecimal getUnitPrice()
{
public BigDecimal getUnitPrice() {
return unitPrice;
}
public void setAuxUnit(String auxUnit)
{
this.auxUnit = auxUnit;
public void setUnitPrice(BigDecimal unitPrice) {
this.unitPrice = unitPrice;
}
public String getAuxUnit()
{
public String getAuxUnit() {
return auxUnit;
}
public void setAttr1(String attr1)
{
this.attr1 = attr1;
public void setAuxUnit(String auxUnit) {
this.auxUnit = auxUnit;
}
public String getAttr1()
{
public String getAttr1() {
return attr1;
}
public void setAttr2(String attr2)
{
this.attr2 = attr2;
public void setAttr1(String attr1) {
this.attr1 = attr1;
}
public String getAttr2()
{
public String getAttr2() {
return attr2;
}
public void setQuantity(BigDecimal quantity)
{
this.quantity = quantity;
public void setAttr2(String attr2) {
this.attr2 = attr2;
}
public BigDecimal getQuantity()
{
public BigDecimal getQuantity() {
return quantity;
}
public void setInQuantity(BigDecimal inQuantity)
{
this.inQuantity = inQuantity;
public void setQuantity(BigDecimal quantity) {
this.quantity = quantity;
}
public BigDecimal getInQuantity()
{
public BigDecimal getInQuantity() {
return inQuantity;
}
public void setAuxQuantity(BigDecimal auxQuantity)
{
this.auxQuantity = auxQuantity;
public void setInQuantity(BigDecimal inQuantity) {
this.inQuantity = inQuantity;
}
public BigDecimal getAuxQuantity()
{
public BigDecimal getAuxQuantity() {
return auxQuantity;
}
public void setTotalPrice(BigDecimal totalPrice)
{
this.totalPrice = totalPrice;
public void setAuxQuantity(BigDecimal auxQuantity) {
this.auxQuantity = auxQuantity;
}
public BigDecimal getTotalPrice()
{
public BigDecimal getTotalPrice() {
return totalPrice;
}
public void setCostUnitPrice(BigDecimal costUnitPrice)
{
this.costUnitPrice = costUnitPrice;
public void setTotalPrice(BigDecimal totalPrice) {
this.totalPrice = totalPrice;
}
public BigDecimal getCostUnitPrice()
{
public BigDecimal getCostUnitPrice() {
return costUnitPrice;
}
public void setCostTotalPrice(BigDecimal costTotalPrice)
{
this.costTotalPrice = costTotalPrice;
public void setCostUnitPrice(BigDecimal costUnitPrice) {
this.costUnitPrice = costUnitPrice;
}
public BigDecimal getCostTotalPrice()
{
public BigDecimal getCostTotalPrice() {
return costTotalPrice;
}
public void setAccountingCostTotal(BigDecimal accountingCostTotal)
{
this.accountingCostTotal = accountingCostTotal;
public void setCostTotalPrice(BigDecimal costTotalPrice) {
this.costTotalPrice = costTotalPrice;
}
public BigDecimal getAccountingCostTotal()
{
public BigDecimal getAccountingCostTotal() {
return accountingCostTotal;
}
public void setAccountingQuantity(BigDecimal accountingQuantity)
{
this.accountingQuantity = accountingQuantity;
public void setAccountingCostTotal(BigDecimal accountingCostTotal) {
this.accountingCostTotal = accountingCostTotal;
}
public BigDecimal getAccountingQuantity()
{
public BigDecimal getAccountingQuantity() {
return accountingQuantity;
}
public void setAccountingStatus(Long accountingStatus)
{
this.accountingStatus = accountingStatus;
public void setAccountingQuantity(BigDecimal accountingQuantity) {
this.accountingQuantity = accountingQuantity;
}
public Long getAccountingStatus()
{
public Long getAccountingStatus() {
return accountingStatus;
}
public void setBatchNo(String batchNo)
{
this.batchNo = batchNo;
public void setAccountingStatus(Long accountingStatus) {
this.accountingStatus = accountingStatus;
}
public String getBatchNo()
{
public String getBatchNo() {
return batchNo;
}
public void setSerialNo(String serialNo)
{
this.serialNo = serialNo;
public void setBatchNo(String batchNo) {
this.batchNo = batchNo;
}
public String getSerialNo()
{
public String getSerialNo() {
return serialNo;
}
public void setProductionDate(String productionDate)
{
this.productionDate = productionDate;
public void setSerialNo(String serialNo) {
this.serialNo = serialNo;
}
public String getProductionDate()
{
public String getProductionDate() {
return productionDate;
}
public void setExpiryDate(String expiryDate)
{
this.expiryDate = expiryDate;
public void setProductionDate(String productionDate) {
this.productionDate = productionDate;
}
public String getExpiryDate()
{
public String getExpiryDate() {
return expiryDate;
}
public void setArrivalDate(String arrivalDate)
{
this.arrivalDate = arrivalDate;
public void setExpiryDate(String expiryDate) {
this.expiryDate = expiryDate;
}
public String getArrivalDate()
{
public String getArrivalDate() {
return arrivalDate;
}
public void setCustom1(String custom1)
{
this.custom1 = custom1;
public void setArrivalDate(String arrivalDate) {
this.arrivalDate = arrivalDate;
}
public String getCustom1()
{
public String getCustom1() {
return custom1;
}
public void setCustom2(String custom2)
{
this.custom2 = custom2;
public void setCustom1(String custom1) {
this.custom1 = custom1;
}
public String getCustom2()
{
public String getCustom2() {
return custom2;
}
public void setCustom3(String custom3)
{
this.custom3 = custom3;
public void setCustom2(String custom2) {
this.custom2 = custom2;
}
public String getCustom3()
{
public String getCustom3() {
return custom3;
}
public void setCustom4(String custom4)
{
this.custom4 = custom4;
public void setCustom3(String custom3) {
this.custom3 = custom3;
}
public String getCustom4()
{
public String getCustom4() {
return custom4;
}
public void setCustom5(String custom5)
{
this.custom5 = custom5;
public void setCustom4(String custom4) {
this.custom4 = custom4;
}
public String getCustom5()
{
public String getCustom5() {
return custom5;
}
public void setCustom6(String custom6)
{
this.custom6 = custom6;
public void setCustom5(String custom5) {
this.custom5 = custom5;
}
public String getCustom6()
{
public String getCustom6() {
return custom6;
}
public void setStevedore(String stevedore)
{
this.stevedore = stevedore;
public void setCustom6(String custom6) {
this.custom6 = custom6;
}
public String getStevedore()
{
public BigDecimal getSmNum() {
return smNum;
}
public void setSmNum(BigDecimal smNum) {
this.smNum = smNum;
}
public BigDecimal getFinishNum() {
return finishNum;
}
public void setFinishNum(BigDecimal finishNum) {
this.finishNum = finishNum;
}
public String getStevedore() {
return stevedore;
}
public void setOrderSrc(String orderSrc)
{
this.orderSrc = orderSrc;
public void setStevedore(String stevedore) {
this.stevedore = stevedore;
}
public String getOrderSrc()
{
public String getOrderSrc() {
return orderSrc;
}
public void setStockinDetailId(String stockinDetailId)
{
this.stockinDetailId = stockinDetailId;
public void setOrderSrc(String orderSrc) {
this.orderSrc = orderSrc;
}
public String getStockinDetailId()
{
public String getStockinDetailId() {
return stockinDetailId;
}
public void setStockinDetailId(String stockinDetailId) {
this.stockinDetailId = stockinDetailId;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)

View File

@@ -6,14 +6,14 @@ spring:
druid:
# 主库数据源
master:
url: jdbc:sqlserver://192.168.10.200:1433;databaseName=FT542-wms;encrypt=true;trustServerCertificate=true
url: jdbc:sqlserver://127.0.0.1:1433;databaseName=FT542-wms;encrypt=true;trustServerCertificate=true
username: sa
password: Flrd0914.
# 从库数据源
slave:
# 从数据源开关/默认关闭
enabled: false
url: jdbc:mariadb://172.16.2.170:3307/mydb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
url: jdbc:mariadb://127.0.0.1:3307/mydb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: Flrd0914.
# 初始连接数

View File

@@ -71,7 +71,7 @@ spring:
# redis 配置
redis:
# 地址
host: 192.168.10.200
host: 127.0.0.1
# 端口,默认为6379
port: 6379
# 数据库索引
@@ -131,7 +131,7 @@ token:
# 令牌自定义标识
header: Authorization
# 令牌密钥
secret: abcdefghijklmnopqrstuvwxyz
secret: ft542wms
# 令牌有效期(默认30分钟)
expireTime: 30

View File

@@ -285,4 +285,60 @@
AND SUM(CASE WHEN locked != 'N' THEN 1 ELSE 0 END) = 0
ORDER BY group_coding_no ASC
</select>
<select id="selectCountByStatus" resultType="int">
SELECT COUNT(*) FROM bas_cargo_space WHERE status = #{status}
</select>
<select id="selectEmptyCargoSpaceInGroupsAndLayers" resultMap="BasCargoSpaceResult">
SELECT TOP 1 bcs.cargo_space_id, bcs.group_coding_no, bcs.status
FROM bas_cargo_space bcs
WHERE bcs.status = '1'
AND bcs.locked = 'N'
AND bcs.group_coding_no IN
<foreach item="group" collection="groups" open="(" separator="," close=")">
#{group}
</foreach>
AND bcs.the_floor IN
<foreach item="layer" collection="layers" open="(" separator="," close=")">
#{layer}
</foreach>
ORDER BY bcs.group_coding DESC
</select>
<select id="selectFirstEmptyGroupCodingNoWithLayer" resultType="String">
SELECT TOP 1 group_coding_no
FROM bas_cargo_space
WHERE group_coding_no BETWEEN '001' AND '045'
GROUP BY group_coding_no
HAVING SUM(CASE WHEN status != '1' THEN 1 ELSE 0 END) = 0
AND SUM(CASE WHEN locked != 'N' THEN 1 ELSE 0 END) = 0
AND SUM(CASE WHEN the_floor IN
<foreach item="layer" collection="layers" open="(" separator="," close=")">
#{layer}
</foreach>
THEN 1 ELSE 0 END) > 0
AND group_coding_no NOT IN (
SELECT DISTINCT group_coding_no
FROM bas_cargo_space
WHERE the_floor IN (
SELECT DISTINCT the_floor
FROM bas_cargo_space
WHERE status IN ('3', '4')
)
)
ORDER BY group_coding_no ASC
</select>
<select id="selectEmptyCargoSpaceExcludeLayers" resultMap="BasCargoSpaceResult">
SELECT TOP 1 bcs.*
FROM bas_cargo_space bcs
WHERE bcs.status = '1'
AND bcs.locked = 'N'
AND bcs.the_floor NOT IN
<foreach item="layer" collection="layers" open="(" separator="," close=")">
#{layer}
</foreach>
ORDER BY bcs.group_coding_no ASC, bcs.group_coding DESC
</select>
</mapper>

View File

@@ -20,7 +20,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</sql>
<select id="selectTrayMsgList" parameterType="TrayMsg" resultMap="TrayMsgResult">
select t.id, t.tray_code, t.stockin_detail_id, t.quantity,p.product_name,t.warehouse_id,w.warehouse_name,w.warehouse_type from tray_msg t
select t.id, t.tray_code, t.stockin_detail_id, t.quantity,d.product_name,t.warehouse_id,w.warehouse_name,w.warehouse_type from tray_msg t
left join in_stockin_detail d on t.stockin_detail_id = d.stockin_detail_id
left join bas_product p on d.product_id=p.product_id
left join bas_warehouse w on t.warehouse_id=w.warehouse_id

View File

@@ -231,6 +231,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
JOIN bas_cargo_space bcs ON bs.cargo_space_id = bcs.cargo_space_id
WHERE bs.product_id = #{productId}
AND bcs.group_coding_no IS NOT NULL
<!-- 1.查询的group_coding_no必须保证所有货位都必须满足 status='1' 且 locked='N' -->
AND NOT EXISTS (
SELECT 1
FROM bas_cargo_space sub_bcs
WHERE sub_bcs.group_coding_no = bcs.group_coding_no
AND sub_bcs.locked != 'N'
)
<!-- 2.group_coding_no的thefloor必须在全部的记录都没有status=3/4的the_floor中 -->
AND bcs.the_floor NOT IN (
SELECT the_floor
FROM bas_cargo_space
WHERE status IN ('3', '4')
AND the_floor IS NOT NULL
)
</select>
<insert id="insertBasStock" parameterType="BasStock">

View File

@@ -176,7 +176,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<select id="selectInStockinNByStockinIdAndDate" resultMap="InStockinNResult">
<include refid="selectInStockinNVo"/>
where erp_stockin_id = #{stockinId} and created_at like concat(#{date}, '%')
where erp_stockin_id = #{stockinId}
</select>
<select id="selectInStockinNByStockinId" parameterType="String" resultMap="InStockinNResult">
<include refid="selectInStockinNVo"/>