fix:修复出库逻辑,add:增加仓库监控看板

This commit is contained in:
zhangzq
2025-07-15 20:01:33 +08:00
parent 02f56f7a8d
commit 6fe6aeb5b3
60 changed files with 455 additions and 271 deletions

View File

@@ -111,5 +111,9 @@ public interface IStructattrService extends IService<Structattr> {
*/
List<Structattr> inBoundSectDiv(StrategyStructParam param);
/**
* 生成库存变动记录表,更新载具冻结数量
* @param changeDto
*/
void changeStruct(StructattrChangeDto changeDto);
}

View File

@@ -39,7 +39,6 @@ import org.nl.wms.warehouse_manage.record.service.IStIvtStructivtflowService;
import org.nl.wms.warehouse_manage.record.service.dao.StIvtStructivtflow;
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
import org.nl.wms.warehouse_manage.service.dao.IOStorInv;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -405,12 +404,15 @@ public class StructattrServiceImpl extends ServiceImpl<StructattrMapper, Structa
String vehicleCode = vehicleMater.getStoragevehicle_code();
BigDecimal subtract = vehicleMater.getQty().subtract(vehicleMater.getFrozen_qty());
//100-出50 = 50
//如果出库是手持库出确认则不在这边变动组盘信息
if (!changeDto.getInBound()){
UpdateWrapper<GroupPlate> update = new UpdateWrapper<GroupPlate>()
.set("frozen_qty", 0)
.set("qty", subtract)
.set("update_time", now)
.eq("group_id", vehicleMater.getGroup_id());
iMdPbGroupplateService.update(update);
}
StIvtStructivtflow record = new StIvtStructivtflow();
record.setId(IdUtil.getStringId());
record.setUpdate_time(now);

View File

@@ -5,6 +5,7 @@ import cn.dev33.satoken.annotation.SaIgnore;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.nl.common.base.TableDataInfo;
import org.nl.common.logging.annotation.Log;
import org.nl.wms.bigscreen_manage.service.BigScreenService;
@@ -18,6 +19,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
@@ -41,10 +43,12 @@ public class BigScreenController {
@Log("大屏数据")
@SaIgnore
public ResponseEntity<Object> getData(@RequestBody JSONObject stors) {
List<String> list = new ArrayList<>();
list.add("GW");
List<JSONObject> data = bigScreenService.getData(list);
return new ResponseEntity<>(PdaResponse.requestParamOk(data.get(0)), HttpStatus.OK);
String storStr = stors.getString("stors");
List<JSONObject> data = new ArrayList<>();
if (!StringUtils.isEmpty(storStr)){
data = bigScreenService.getData(Arrays.asList(storStr.split(",")));
}
return new ResponseEntity<>(TableDataInfo.build(data), HttpStatus.OK);
}
}

View File

@@ -18,10 +18,10 @@ import org.nl.wms.sch_manage.service.ISchBaseTaskService;
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
import org.nl.wms.warehouse_manage.enums.IOSConstant;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.IOutBillService;
import org.nl.wms.warehouse_manage.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.IOutBillService;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
@@ -67,6 +67,7 @@ public class BigScreenServiceImpl implements BigScreenService {
for (String storCode : stors) {
JSONObject item = new JSONObject();
//1.【货位使用】数据
item.put("title",storCode+"仓库");
item.put("pointUse", pointUse(storCode));
// //2.【实时库存分析】数据
item.put("ivtAnalyse", ivtAnalyse(storCode));
@@ -118,7 +119,10 @@ public class BigScreenServiceImpl implements BigScreenService {
// 空余货位
result.put("emp_qty", emp_qty);
// 使用货位百分比
double use_percentage = NumberUtil.mul(NumberUtil.div(use_qty, total_qty), 100);
double use_percentage = 0;
if (total_qty != 0){
use_percentage = NumberUtil.mul(NumberUtil.div(use_qty, total_qty), 100);
}
result.put("use_percentage", NumberUtil.round(use_percentage, 2));
return result;
}
@@ -312,23 +316,13 @@ public class BigScreenServiceImpl implements BigScreenService {
private List<SchBaseTask> realTask(String storCode) {
List<SchBaseTask> list = iSchBaseTaskService.list(
new QueryWrapper<SchBaseTask>().lambda()
.in(SchBaseTask::getTask_status, TaskStatus.CREATE.getCode()
, TaskStatus.ISSUED.getCode(), TaskStatus.EXECUTING.getCode()
)
.le(SchBaseTask::getTask_status, TaskStatus.FINISHED.getCode())
.eq(SchBaseTask::getIs_delete, IOSConstant.IS_DELETE_NO)
.ge(SchBaseTask::getCreate_time,DateUtil.today())
);
list.stream().forEach(item -> {
if (item.getTask_status().equals(TaskStatus.CREATE.getCode())) {
item.setTask_status(TaskStatus.CREATE.getName());
}
if (item.getTask_status().equals(TaskStatus.ISSUED.getCode())) {
item.setTask_status(TaskStatus.ISSUED.getName());
}
if (item.getTask_status().equals(TaskStatus.EXECUTING.getCode())) {
item.setTask_status(TaskStatus.EXECUTING.getName());
}
item.setTask_status(TaskStatus.convertName(item.getTask_status()));
});
return list;
}

View File

@@ -16,7 +16,7 @@ import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper
import org.nl.wms.ext_manage.service.ErpToWmsService;
import org.nl.wms.ext_manage.service.util.ErpResponse;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.IOutBillService;
import org.nl.wms.warehouse_manage.inAndOut.service.IOutBillService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

View File

@@ -33,12 +33,12 @@ import org.nl.wms.sch_manage.service.util.tasks.BackInTask;
import org.nl.wms.warehouse_manage.enums.IOSConstant;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
import org.nl.wms.warehouse_manage.service.IRawAssistIStorService;
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDtl;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper;
import org.nl.wms.warehouse_manage.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -116,7 +116,7 @@ public class PdaIosInServiceImpl implements PdaIosInService {
* 入库服务
*/
@Autowired
private IRawAssistIStorService iRawAssistIStorService;
private IInBillService iRawAssistIStorService;
/**
* 回库任务类
*/

View File

@@ -36,14 +36,14 @@ import org.nl.wms.sch_manage.service.util.tasks.StOutTask;
import org.nl.wms.sch_manage.service.util.tasks.VehicleOutTask;
import org.nl.wms.warehouse_manage.enums.IOSConstant;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.IRawAssistIStorService;
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
import org.nl.wms.warehouse_manage.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDtl;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvMapper;
import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper;
import org.nl.wms.warehouse_manage.service.util.UpdateIvtUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -151,7 +151,7 @@ public class PdaIosOutServiceImpl implements PdaIosOutService {
* 入库服务服务
*/
@Autowired
private IRawAssistIStorService iRawAssistIStorService;
private IInBillService iRawAssistIStorService;
@Override

View File

@@ -111,6 +111,7 @@
SELECT
pm_form_data.*,
md_me_materialbase.material_code,
md_me_materialbase.material_id,
md_me_materialbase.material_name,
md_me_materialbase.material_spec,
md_me_materialbase.net_weight

View File

@@ -46,6 +46,7 @@ public class PmFormDataDto implements Serializable {
* 物料code
*/
private String material_code;
private String material_id;
/**
* 物料规格

View File

@@ -73,4 +73,13 @@ public enum TaskStatus {
public void setDesc(String desc) {
this.desc = desc;
}
public static String convertName(String code){
for (TaskStatus value : TaskStatus.values()) {
if (value.getCode().equals(code)){
return value.getName();
}
}
return "";
}
}

View File

@@ -15,9 +15,9 @@ import org.nl.wms.sch_manage.service.util.AbstractTask;
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
import org.nl.wms.sch_manage.service.util.TaskType;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.IRawAssistIStorService;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -36,7 +36,7 @@ public class StInTask extends AbstractTask {
private ISchBaseTaskService taskService;
@Resource
private IRawAssistIStorService rawAssistIStorService;
private IInBillService rawAssistIStorService;
@Resource
private IOStorInvDisMapper ioStorInvDisMapper;

View File

@@ -15,9 +15,9 @@ import org.nl.wms.sch_manage.service.util.AbstractTask;
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
import org.nl.wms.sch_manage.service.util.TaskType;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.IOutBillService;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDisMapper;
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.mapper.IOStorInvDisMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

View File

@@ -15,9 +15,9 @@ import org.nl.wms.sch_manage.service.util.AbstractTask;
import org.nl.wms.sch_manage.service.util.AcsTaskDto;
import org.nl.wms.sch_manage.service.util.TaskType;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.IOutBillService;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDisMapper;
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.mapper.IOStorInvDisMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

View File

@@ -1,4 +1,4 @@
package org.nl.wms.warehouse_manage.controller;
package org.nl.wms.warehouse_manage.inAndOut.controller;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
@@ -6,7 +6,7 @@ import lombok.extern.slf4j.Slf4j;
import org.nl.common.base.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.logging.annotation.Log;
import org.nl.wms.warehouse_manage.service.IRawAssistIStorService;
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@@ -22,10 +22,10 @@ import java.util.Map;
@RequiredArgsConstructor
@RequestMapping("/api/in/rawAssist")
@Slf4j
public class RawAssistIStorController {
public class InBillController {
@Resource
private IRawAssistIStorService iRawAssistIStorService;
private IInBillService iRawAssistIStorService;
@GetMapping
@Log("查询入库单据")

View File

@@ -1,11 +1,11 @@
package org.nl.wms.warehouse_manage.controller;
package org.nl.wms.warehouse_manage.inAndOut.controller;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j;
import org.nl.common.base.TableDataInfo;
import org.nl.common.domain.query.PageQuery;
import org.nl.common.logging.annotation.Log;
import org.nl.wms.warehouse_manage.service.IOutBillService;
import org.nl.wms.warehouse_manage.inAndOut.service.IOutBillService;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

View File

@@ -1,4 +1,4 @@
package org.nl.wms.warehouse_manage.service;
package org.nl.wms.warehouse_manage.inAndOut.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -6,10 +6,10 @@ import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.basedata_manage.service.dao.Structattr;
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
import org.nl.wms.warehouse_manage.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
import org.nl.wms.warehouse_manage.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_manage.service.dto.IOStorInvDtlDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto;
import java.util.List;
import java.util.Map;
@@ -18,7 +18,7 @@ import java.util.Map;
* @author dsh
* 2025/5/19
*/
public interface IRawAssistIStorService extends IService<IOStorInv> {
public interface IInBillService extends IService<IOStorInv> {
/**
* 查询数据分页
*

View File

@@ -1,4 +1,4 @@
package org.nl.wms.warehouse_manage.service;
package org.nl.wms.warehouse_manage.inAndOut.service;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -6,9 +6,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.basedata_manage.service.dto.MdPbStoragevehicleextDto;
import org.nl.wms.sch_manage.service.dao.SchBaseTask;
import org.nl.wms.warehouse_manage.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_manage.service.dto.IOStorInvDtlDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto;
import java.util.List;
import java.util.Map;

View File

@@ -1,4 +1,4 @@
package org.nl.wms.warehouse_manage.service.dao;
package org.nl.wms.warehouse_manage.inAndOut.service.dao;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

View File

@@ -1,4 +1,4 @@
package org.nl.wms.warehouse_manage.service.dao;
package org.nl.wms.warehouse_manage.inAndOut.service.dao;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

View File

@@ -1,4 +1,4 @@
package org.nl.wms.warehouse_manage.service.dao;
package org.nl.wms.warehouse_manage.inAndOut.service.dao;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

View File

@@ -1,10 +1,10 @@
package org.nl.wms.warehouse_manage.service.dao.mapper;
package org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
import java.util.List;
import java.util.Map;

View File

@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDisMapper">
<mapper namespace="org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper">
<select id="queryInBillDisDtlByIosId" resultType="org.nl.wms.warehouse_manage.service.dto.IOStorInvDisDto">
<select id="queryInBillDisDtlByIosId" resultType="org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto">
SELECT
dis.*,
mb.material_code,
@@ -18,7 +18,7 @@
</if>
</select>
<select id="getBillTaskDtl" resultType="org.nl.wms.warehouse_manage.service.dto.IOStorInvDisDto">
<select id="getBillTaskDtl" resultType="org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto">
SELECT
dis.*,
mb.material_code,
@@ -33,7 +33,7 @@
dis.iostorinvdtl_id = #{iostorinvdtl_id}
</select>
<select id="queryOutBillDisDtl" resultType="org.nl.wms.warehouse_manage.service.dto.IOStorInvDisDto">
<select id="queryOutBillDisDtl" resultType="org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto">
SELECT
dis.*,
mb.material_code,

View File

@@ -1,8 +1,8 @@
package org.nl.wms.warehouse_manage.service.dao.mapper;
package org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDtl;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
/**
* @author dsh

View File

@@ -1,12 +1,12 @@
package org.nl.wms.warehouse_manage.service.dao.mapper;
package org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.nl.wms.warehouse_manage.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
import org.nl.wms.warehouse_manage.service.dto.IOStorInvDtlDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto;
import java.util.List;
import java.util.Map;

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvMapper">
<select id="queryAllByPage" resultType="org.nl.wms.warehouse_manage.service.dao.IOStorInv">
<mapper namespace="org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvMapper">
<select id="queryAllByPage" resultType="org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv">
SELECT DISTINCT ios.* FROM st_ivt_iostorinv ios
LEFT JOIN st_ivt_iostorinvdtl dtl ON ios.iostorinv_id = dtl.iostorinv_id
LEFT JOIN st_ivt_iostorinvdis dis ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id
@@ -82,7 +82,7 @@
</where>
</select>
<select id="getIODtl" resultType="org.nl.wms.warehouse_manage.service.dto.IOStorInvDtlDto">
<select id="getIODtl" resultType="org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto">
SELECT DISTINCT
dtl.*,
mb.material_code,
@@ -121,7 +121,7 @@
</select>
<select id="queryOutBillPage" resultType="org.nl.wms.warehouse_manage.service.dao.IOStorInv">
<select id="queryOutBillPage" resultType="org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv">
SELECT DISTINCT ios.* FROM st_ivt_iostorinv ios
LEFT JOIN st_ivt_iostorinvdtl dtl ON ios.iostorinv_id = dtl.iostorinv_id
LEFT JOIN st_ivt_iostorinvdis dis ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id

View File

@@ -1,7 +1,7 @@
package org.nl.wms.warehouse_manage.service.dto;
package org.nl.wms.warehouse_manage.inAndOut.service.dto;
import lombok.Data;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
/**
* @author dsh

View File

@@ -1,7 +1,7 @@
package org.nl.wms.warehouse_manage.service.dto;
package org.nl.wms.warehouse_manage.inAndOut.service.dto;
import lombok.Data;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDtl;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
/**
* @author dsh

View File

@@ -1,4 +1,4 @@
package org.nl.wms.warehouse_manage.service.impl;
package org.nl.wms.warehouse_manage.inAndOut.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
@@ -33,17 +33,18 @@ import org.nl.wms.sch_manage.service.util.tasks.StInTask;
import org.nl.wms.warehouse_manage.enums.IOSConstant;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
import org.nl.wms.warehouse_manage.service.IRawAssistIStorService;
import org.nl.wms.warehouse_manage.service.impl.MdPbGroupplateServiceImpl;
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
import org.nl.wms.warehouse_manage.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDtl;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
import org.nl.wms.warehouse_manage.service.dto.GroupPlateDto;
import org.nl.wms.warehouse_manage.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_manage.service.dto.IOStorInvDtlDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.Assert;
@@ -58,7 +59,7 @@ import java.util.*;
* 2025/5/19
*/
@Service
public class RawAssistIStorServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> implements IRawAssistIStorService {
public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> implements IInBillService {
@Resource
private IOStorInvMapper ioStorInvMapper;
@@ -193,8 +194,8 @@ public class RawAssistIStorServiceImpl extends ServiceImpl<IOStorInvMapper, IOSt
if (ObjectUtil.isNotEmpty(structattr)) {
throw new BadRequestException("载具编码:" + row.get("storagevehicle_code") + "已存在库内,请对数据进行核实!");
}
ioStorInvDtlMapper.insert(ioStorInvDtl.toJavaObject(IOStorInvDtl.class));
IOStorInvDtl invDtl = ioStorInvDtl.toJavaObject(IOStorInvDtl.class);
ioStorInvDtlMapper.insert(invDtl);
JSONObject dis = new JSONObject();
dis.put("iostorinvdis_id", IdUtil.getStringId());
dis.put("iostorinv_id", iostorinv_id);
@@ -349,7 +350,16 @@ public class RawAssistIStorServiceImpl extends ServiceImpl<IOStorInvMapper, IOSt
param.put("material_code", map.get("material_code"));
param.put("pcsn", map.get("pcsn"));
param.put("ioType", StatusEnum.STRATEGY_TYPE.code("入库"));
Structattr struct = getStructattr(param);
List<Structattr> structattrs = iStructattrService.inBoundSectDiv(
StrategyStructParam.builder()
.ioType(param.getString("ioType"))
.sect_code(param.getString("sect_code"))
.stor_code(param.getString("stor_code"))
.material_code(param.getString("material_code"))
.qty(new BigDecimal(param.getString("qty")))
.pcsn(param.getString("pcsn"))
.build());
Structattr struct = structattrs.get(0);
sect_id = struct.getSect_id();
sect_code = struct.getSect_code();
sect_name = struct.getSect_name();
@@ -361,12 +371,6 @@ public class RawAssistIStorServiceImpl extends ServiceImpl<IOStorInvMapper, IOSt
MdPbStoragevehicleinfo mdPbStoragevehicleinfo = mdPbStoragevehicleinfoMapper.selectOne(new LambdaQueryWrapper<>(MdPbStoragevehicleinfo.class)
.eq(MdPbStoragevehicleinfo::getStoragevehicle_code, map.get("storagevehicle_code"))
);
//判断仓位的长高宽是否能放下载具
// if (structattr.getWidth() < 0 &&
// structattr.getHeight() < 0 &&
// structattr.getZdepth() < 0) {
// throw new BadRequestException("载具不符合,请检查!");
// }
sect_id = map.get("sect_id");
sect_code = map.get("sect_code");
sect_name = map.get("sect_name");

View File

@@ -1,4 +1,4 @@
package org.nl.wms.warehouse_manage.service.impl;
package org.nl.wms.warehouse_manage.inAndOut.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
@@ -20,7 +20,6 @@ import org.nl.common.utils.IdUtil;;
import org.nl.config.SpringContextHolder;
import org.nl.wms.basedata_manage.enums.BaseDataEnum;
import org.nl.wms.basedata_manage.service.IBsrealStorattrService;
import org.nl.wms.basedata_manage.service.IMdPbStoragevehicleextService;
import org.nl.wms.basedata_manage.service.IStructattrService;
import org.nl.wms.basedata_manage.service.dao.BsrealStorattr;
import org.nl.wms.basedata_manage.service.dao.mapper.MdPbStoragevehicleextMapper;
@@ -37,18 +36,16 @@ import org.nl.wms.sch_manage.service.util.tasks.StOutTask;
import org.nl.wms.warehouse_manage.enums.IOSConstant;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
import org.nl.wms.warehouse_manage.service.IOutBillService;
import org.nl.wms.warehouse_manage.inAndOut.service.IOutBillService;
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
import org.nl.wms.warehouse_manage.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDtl;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvMapper;
import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper;
import org.nl.wms.warehouse_manage.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_manage.service.dto.IOStorInvDtlDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInvDtl;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvDtlMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.mapper.IOStorInvMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDisDto;
import org.nl.wms.warehouse_manage.inAndOut.service.dto.IOStorInvDtlDto;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -303,10 +300,14 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
ioStorInvDtl.put("iostorinv_id", iostorinv_id);
ioStorInvDtl.put("seq_no", (i + 1) + "");
ioStorInvDtl.put("material_id", row.getString("material_id"));
ioStorInvDtl.put("material_code", row.getString("material_code"));
ioStorInvDtl.put("pcsn", row.getString("pcsn"));
ioStorInvDtl.put("bill_status", IOSEnum.BILL_STATUS.code("生成"));
ioStorInvDtl.put("qty_unit_id", row.get("qty_unit_id"));
ioStorInvDtl.put("qty_unit_name", row.getString("qty_unit_name"));
ioStorInvDtl.put("source_bill_code", row.getString("source_bill_code"));
ioStorInvDtl.put("source_bill_type", row.getString("source_bill_type"));
ioStorInvDtl.put("source_billdtl_id", row.getString("source_billdtl_id"));
ioStorInvDtl.put("plan_qty", row.get("qty"));
ioStorInvDtl.put("remark", row.getString("remark"));
ioStorInvDtl.put("assign_qty", "0");
@@ -377,10 +378,6 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
.sect_code(sectCode)
.build()
);
List<MdPbStoragevehicleextDto> outAllocationList = mdPbStoragevehicleextMapper.queryOutAllocation(pcsn,material_id);
int seq_no = 1;
BigDecimal allocation_canuse_qty=BigDecimal.ZERO;
for (StrategyStructMaterialVO outAllocation : structMaterials) {
@@ -425,6 +422,7 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
ioStorInvDisMapper.insert(ioStorInvDis);
allocation_canuse_qty = allocation_canuse_qty.add(outAllocation.getFrozen_qty());
//分配完成 结束分配
unassign_qty=unassign_qty.subtract(allocation_canuse_qty);
if (unassign_qty.doubleValue() <= 0){
break;
}
@@ -1132,7 +1130,7 @@ public class OutBillServiceImpl extends ServiceImpl<IOStorInvMapper,IOStorInv> i
finish_map.put("inv_id", null);
finish_map.put("inv_code", null);
iStructattrService.updateStatusByCode("1",finish_map);
//库存变动
//库存变动根据冻结数更新物料库存
StructattrChangeDto changeDto = StructattrChangeDto.builder()
.inv(ioStorInvDis.getIostorinv_id())
.storagevehicleCode(ioStorInvDis.getStoragevehicle_code())

View File

@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.warehouse_manage.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
import java.util.Map;

View File

@@ -21,10 +21,10 @@ import org.nl.wms.ext_manage.service.WmsToErpService;
import org.nl.wms.warehouse_manage.enums.IOSConstant;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.ReturnService;
import org.nl.wms.warehouse_manage.service.dao.IOStorInv;
import org.nl.wms.warehouse_manage.service.dao.IOStorInvDis;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvDisMapper;
import org.nl.wms.warehouse_manage.service.dao.mapper.IOStorInvMapper;
import org.nl.wms.warehouse_manage.inAndOut.service.dao.IOStorInv;
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.IOStorInvMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

View File

@@ -1 +1 @@
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"><title>北安可视化看板</title><link href=./static/css/app.d21fc9eece1277d59ed609fbf76ae4f2.css rel=stylesheet></head><body class=clearfix><div id=app></div><script type=text/javascript src=./static/js/manifest.d8d42b5e48ef97893c22.js></script><script type=text/javascript src=./static/js/app.8b7a67845ece6e48ac40.js></script></body></html>
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"><title>欧伦可视化看板</title><link href=./static/css/app.7eb34c7823b484f76dbdbf24cd625cff.css rel=stylesheet></head><body class=clearfix><div id=app></div><script type=text/javascript src=./static/js/manifest.7b7124d31a251fc046ff.js></script><script type=text/javascript src=./static/js/app.12b9502b60b1dab9d8a5.js></script></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
webpackJsonp([4],{"2L/E":function(e,t,s){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i={data:function(){return{loginname:"",password:"",baseUrl:this.$store.getters.baseUrl,setJxtTime:this.$store.getters.setJxtTime/1e3,setTime:this.$store.getters.setTime/1e3,options:[{value:"01",label:"仓储监控1"},{value:"02",label:"仓储监控2"}],value:this.$store.getters.pageNo,secCode:this.$store.getters.secCode||""}},created:function(){"02"===this.$store.getters.iskb?(console.log(this.$store.getters.iskb,1),"01"!==this.value&&this.secCode?this.$router.push("/screen02"):this.$router.push("/screen01")):console.log(this.$store.getters.iskb,2)},methods:{_config:function(){if(this.setTime<1||this.setJxtTime<1)this.$message({message:"刷新时间设置过短",type:"warning"});else if(this.setTime>10800||this.setJxtTime>10800)this.$message({message:"刷新时间设置过长",type:"warning"});else{var e={baseUrl:this.baseUrl,setTime:1e3*this.setTime,setJxtTime:1e3*this.setJxtTime,pageNo:this.value,iskb:"1",secCode:this.secCode};console.log(),this.$store.dispatch("setConfig",e),this.$router.push("/screen"+this.value)}}}},a={render:function(){var e=this,t=e.$createElement,s=e._self._c||t;return s("div",{staticClass:"body-container"},[s("h1",[e._v("仓储监控")]),e._v(" "),s("div",{staticClass:"login_wrap"},[s("div",{staticClass:"login_cnt"},[s("div",{staticClass:"title-name"},[e._v("系统配置")]),e._v(" "),s("div",{staticClass:"login_card"},[s("div",{staticClass:"card_wrap"},[s("div",{staticClass:"inputOuter"},[s("label",[e._v("域名地址")]),e._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:e.baseUrl,expression:"baseUrl"}],staticClass:"inputStyle",attrs:{type:"text"},domProps:{value:e.baseUrl},on:{input:function(t){t.target.composing||(e.baseUrl=t.target.value)}}})]),e._v(" "),s("div",{staticClass:"inputOuter"},[s("label",[e._v("看板")]),e._v(" "),s("el-select",{staticClass:"selectWraper",attrs:{placeholder:"请选择"},model:{value:e.value,callback:function(t){e.value=t},expression:"value"}},e._l(e.options,function(e){return s("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})}))],1),e._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:1===Number(e.value),expression:"Number(value) === 1"}],staticClass:"inputOuter"},[s("label",[e._v("刷新时间(秒)")]),e._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:e.setJxtTime,expression:"setJxtTime"}],staticClass:"inputStyle",attrs:{type:"number"},domProps:{value:e.setJxtTime},on:{input:function(t){t.target.composing||(e.setJxtTime=t.target.value)}}})]),e._v(" "),s("div",{directives:[{name:"show",rawName:"v-show",value:2===Number(e.value),expression:"Number(value) === 2"}],staticClass:"inputOuter"},[s("label",[e._v("刷新时间(秒)")]),e._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:e.setTime,expression:"setTime"}],staticClass:"inputStyle",attrs:{type:"number"},domProps:{value:e.setTime},on:{input:function(t){t.target.composing||(e.setTime=t.target.value)}}})]),e._v(" "),s("div",{staticClass:"inputOuter"},[s("label",[e._v("仓库编码")]),e._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:e.secCode,expression:"secCode"}],staticClass:"inputStyle",attrs:{type:"text"},domProps:{value:e.secCode},on:{input:function(t){t.target.composing||(e.secCode=t.target.value)}}})])]),e._v(" "),s("button",{staticClass:"btn",on:{click:e._config}},[e._v("配置")])])])])])},staticRenderFns:[]};var l=s("VU/8")(i,a,!1,function(e){s("6f9t")},"data-v-16b21ccb",null);t.default=l.exports},"6f9t":function(e,t){}});
//# sourceMappingURL=4.e43104d0a0bc6d6e3e94.js.map

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,c,a){for(var i,u,f,s=0,l=[];s<r.length;s++)u=r[s],t[u]&&l.push(t[u][0]),t[u]=0;for(i in c)Object.prototype.hasOwnProperty.call(c,i)&&(e[i]=c[i]);for(n&&n(r,c,a);l.length;)l.shift()();if(a)for(s=0;s<a.length;s++)f=o(o.s=a[s]);return f};var r={},t={6:0};function o(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,o){n=t[e]=[r,o]});n[2]=r;var c=document.getElementsByTagName("head")[0],a=document.createElement("script");a.type="text/javascript",a.charset="utf-8",a.async=!0,a.timeout=12e4,o.nc&&a.setAttribute("nonce",o.nc),a.src=o.p+"static/js/"+e+"."+{0:"f8b57ab4d9de4af7357a",1:"aa1371a9cb75c5e6363a",2:"51f40f46d4c4ef29cd6c",3:"814b882c67752c331ed3",4:"e43104d0a0bc6d6e3e94"}[e]+".js";var i=setTimeout(u,12e4);function u(){a.onerror=a.onload=null,clearTimeout(i);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return a.onerror=a.onload=u,c.appendChild(a),r},o.m=e,o.c=r,o.d=function(e,n,r){o.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},o.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(n,"a",n),n},o.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},o.p="./",o.oe=function(e){throw console.error(e),e}}([]);
//# sourceMappingURL=manifest.7b7124d31a251fc046ff.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,180 @@
{
"code":"1",
"desc":"查询成功",
"result":{
"yDateMax":6000,
"xDate":[
{
"id":"12-25"
},
{
"id":"12-26"
},
{
"id":"12-27"
},
{
"id":"12-28"
},
{
"id":"12-29"
},
{
"id":"12-30"
},
{
"id":"12-31"
},
{
"id":"1-1"
},
{
"id":"1-2"
},
{
"id":"1-3"
},
{
"id":"1-4"
},
{
"id":"1-5"
},
{
"id":"1-6"
},
{
"id":"1-7"
}
],
"yDate0":[
{
"num":"1000"
},
{
"num":"1500"
},
{
"num":"0"
},
{
"num":"2300"
},
{
"num":"4300"
},
{
"num":"3900"
},
{
"num":"2800"
},
{
"num":"2600"
},
{
"num":"2500"
},
{
"num":"4500"
},
{
"num":"1200"
},
{
"num":"1800"
},
{
"num":"1900"
},
{
"num":"1700"
}
],
"yDate1":[
{
"num":"900"
},
{
"num":"1400"
},
{
"num":"2600"
},
{
"num":"2200"
},
{
"num":"4200"
},
{
"num":"3800"
},
{
"num":"2500"
},
{
"num":"2300"
},
{
"num":"2400"
},
{
"num":"4000"
},
{
"num":"1000"
},
{
"num":"1200"
},
{
"num":"1100"
},
{
"num":"1100"
}
],
"yDate2":[
{
"num":"0"
},
{
"num":"0"
},
{
"num":"1200"
},
{
"num":"0"
},
{
"num":"0"
},
{
"num":"0"
},
{
"num":"0"
},
{
"num":"0"
},
{
"num":"0"
},
{
"num":"0"
},
{
"num":"0"
},
{
"num":"0"
},
{
"num":"0"
}
]
}
}

View File

@@ -2,7 +2,7 @@ export default {
'lang': 'zh',
// 平台
'platform': {
'title': 'c',
'title': 'WMS仓储系统',
'tip1': '用户名不能为空',
'tip2': '密码不能为空',
'tip3': '验证码不能为空'

View File

@@ -1,12 +1,11 @@
<template>
<el-dialog
title="单据选择"
append-to-body
:visible.sync="dialogVisible"
append-to-body
destroy-on-close
title="单据选择"
width="1000px"
@close="close"
@open="open"
>
<el-form
:inline="true"
@@ -25,8 +24,8 @@
@change="crud.toQuery()"
>
<el-option
v-for="item in tableEnum.bm_form_struc"
:key="item.value"
v-for="item in dict.INANDOUT_BILL_TYPE"
:key="item.dict_id"
:value="item.value"
:label="item.label"
/>
@@ -50,47 +49,23 @@
v-loading="crud.loading"
:data="crud.data"
row-key="id"
@select="crud.selectChange"
@select-all="crud.selectAllChange"
@selection-change="crud.selectionChangeHandler"
highlight-current-row
@current-change="clickChange"
>
<el-table-column type="selection" width="55" />
<el-table-column prop="code" label="单据编码" show-overflow-tooltip width="210px">
<el-table-column prop="code" label="单据编码" show-overflow-tooltip width="210px" />
<el-table-column prop="form_type" label="单据类型" show-overflow-tooltip width="120">
<template slot-scope="scope">
<el-link type="warning" @click="toView(scope.row)">{{ scope.row.code }}</el-link>
{{ dict.label.INANDOUT_BILL_TYPE[scope.row.form_type] }}
</template>
</el-table-column>
<el-table-column prop="form_type" label="单据类型" show-overflow-tooltip width="120" />
<el-table-column prop="biz_code" label="业务单据编码" show-overflow-tooltip width="120" />
<el-table-column prop="biz_date" label="业务单据时间" show-overflow-tooltip width="130" />
<el-table-column prop="material_id" label="物料id" show-overflow-tooltip width="120" />
<el-table-column prop="source_form_date" label="业务单据日期" show-overflow-tooltip width="120" />
<el-table-column prop="material_code" label="物料编码" show-overflow-tooltip width="120" />
<el-table-column prop="material_name" label="物料名称" show-overflow-tooltip width="120" />
<el-table-column prop="pcsn" label="批次" show-overflow-tooltip width="120" />
<el-table-column prop="qty" label="物料数量" show-overflow-tooltip />
<el-table-column prop="vehicle_code" label="载具编号" show-overflow-tooltip width="120" />
<el-table-column prop="qty" label="计划数量" show-overflow-tooltip />
<el-table-column prop="assign_qty" label="已分配数量" show-overflow-tooltip width="120" />
<el-table-column prop="status" label="单据状态" show-overflow-tooltip width="120" />
<el-table-column prop="proc_inst_id" label="对应流程实例id" show-overflow-tooltip width="120" />
<el-table-column prop="parent_id" label="父单据数据id" show-overflow-tooltip width="120" />
<el-table-column v-for="(item, index) in cols" :key="item.value" width="130" show-overflow-tooltip :label="item.lable">
<template slot-scope="scope">{{ scope.row.form_data[item.value] }}</template>
</el-table-column>
<el-table-column prop="create_time" label="创建时间" />
<el-table-column
label="操作"
width="120px"
align="center"
fixed="right"
>
<template slot-scope="scope">
<udOperation
style="display: inline"
:data="scope.row"
:disabled-edit="scope.row.is_modify === '0'"
:disabled-dle="scope.row.is_modify === '0'"
msg="确定删除吗,如果存在下级节点则一并删除,此操作不能撤销!"
/>
</template>
</el-table-column>
</el-table>
<!--分页组件-->
<pagination />
@@ -98,48 +73,13 @@
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
<el-dialog
title="单据明细"
append-to-body
:visible.sync="dtlVisible"
destroy-on-close
width="1000px"
>
<!--表格渲染-->
<el-table
:data="childrenList"
>
<el-table-column prop="code" label="单据编码" show-overflow-tooltip width="210px" />
<el-table-column prop="form_type" label="单据类型" show-overflow-tooltip width="120" />
<el-table-column prop="biz_code" label="业务单据编码" show-overflow-tooltip width="120" />
<el-table-column prop="biz_date" label="业务单据时间" show-overflow-tooltip width="130" />
<el-table-column prop="material_id" label="物料id" show-overflow-tooltip width="120" />
<el-table-column prop="pcsn" label="批次" show-overflow-tooltip width="120" />
<el-table-column prop="qty" label="物料数量" show-overflow-tooltip />
<el-table-column prop="vehicle_code" label="载具编号" show-overflow-tooltip width="120" />
<el-table-column prop="status" label="单据状态" show-overflow-tooltip width="120" />
<el-table-column prop="proc_inst_id" label="对应流程实例id" show-overflow-tooltip width="120" />
<el-table-column prop="parent_id" label="父单据数据id" show-overflow-tooltip width="120" />
<el-table-column v-for="(item, index) in cols" :key="item.value" width="130" show-overflow-tooltip :label="item.lable">
<template slot-scope="scope">{{ scope.row.form_data[item.value] }}</template>
</el-table-column>
<el-table-column prop="create_time" label="创建时间" />
</el-table>
<!--分页组件-->
<span slot="footer" class="dialog-footer">
<el-button @click="dtlVisible = false"> </el-button>
</span>
</el-dialog>
</el-dialog>
</template>
<script>
import CRUD, { header, presenter } from '@crud/crud'
import rrOperation from '@crud/RR.operation.vue'
import pagination from '@crud/Pagination.vue'
// import formstruc from '@/views/wms/config_manage/formStruc/formstruc'
// import crudClassstandard from '@/views/wms/base_manage/class_standard/classstandard'
import crudFormData from './formData'
export default {
name: 'FormDia',
@@ -148,7 +88,7 @@ export default {
return CRUD({ title: '单据', url: 'api/pmFormData', crudMethod: { ...crudFormData }, optShow: {}})
},
mixins: [presenter(), header()],
tableEnums: ['bm_form_struc#form_name#form_type'],
dicts: ['INANDOUT_BILL_TYPE'],
props: {
dialogShow: {
type: Boolean,
@@ -168,8 +108,6 @@ export default {
cols: [],
dialogVisible: false,
dtlVisible: false,
childrenList: [],
tableRadio: null,
checkrow: null,
rows: []
}
@@ -182,66 +120,17 @@ export default {
}
},
methods: {
open() {
},
[CRUD.HOOK.beforeRefresh]() {
// if (this.query.form_type !=null){
// formstruc.getHeader(this.query.form_type).then(res => {
// this.cols = res
// })
// return true
// }
// return false
},
toView(row) {
if (row.hasChildren) {
this.dtlVisible = true
this.childrenList = row.children
}
},
clickChange(item) {
this.tableRadio = item
},
handleSelectionChange(val, row) {
if (this.isSingle) {
if (val.length > 1) {
this.$refs.table.clearSelection()
this.$refs.table.toggleRowSelection(val.pop())
} else {
this.checkrow = row
}
}
},
onSelectAll() {
this.$refs.table.clearSelection()
this.checkrow = item
},
close() {
this.crud.resetQuery(false)
this.$emit('update:dialogShow', false)
},
submit() {
// 处理单选
if (this.isSingle && this.tableRadio) {
this.dialogVisible = false
const subData = {}
this.$set(subData, 't', this.form)
this.$set(subData, 'item', this.tableRadio)
this.$emit('update:dialogShow', false)
this.$emit('setMaterValue', subData)
return
}
this.rows = this.$refs.table.selection
if (this.rows.length <= 0) {
this.$message('请先勾选物料')
return
}
this.crud.resetQuery(false)
this.$emit('update:dialogShow', false)
const subData = {}
this.$set(subData, 't', this.rows[0])
this.$set(subData, 'item', this.rows[0].children)
this.$emit('setMaterValue', subData)
this.$emit('setFormValue', this.checkrow)
}
}
}

View File

@@ -110,6 +110,16 @@
<!--左侧插槽-->
<slot name="left" />
<el-button
slot="left"
class="filter-item"
type="primary"
icon="el-icon-plus"
size="mini"
@click="addFormDtl()"
>
添加单据
</el-button>
<el-button
slot="left"
class="filter-item"
@@ -169,6 +179,8 @@
<AddDtl :dialog-show.sync="dtlShow" :stor-id="storId" @tableChanged="tableChanged" />
<MaterDialog :dialog-show.sync="materShow" :mater-opt-code.sync="materType" @setMaterValue="setMaterValue" />
<FormDialog :dialog-show.sync="formShow" @setFormValue="setFormValue" />
</el-dialog>
</template>
@@ -176,6 +188,8 @@
import CRUD, { crud, form } from '@crud/crud'
import AddDtl from '@/views/wms/st/outbill/AddDtl'
import MaterDialog from '@/views/wms/pub/MaterDialog'
import FormDialog from '@/views/wms/pm_manage/form_data/FormDialog'
import checkoutbill from '@/views/wms/st/outbill/checkoutbill'
import crudBsrealstorattr from '@/views/wms/basedata/bsrealstorattr/bsrealstorattr'
@@ -196,7 +210,7 @@ const defaultForm = {
}
export default {
name: 'AddDialog',
components: { AddDtl, MaterDialog },
components: { AddDtl, MaterDialog, FormDialog },
mixins: [crud(), form(defaultForm)],
props: {
dialogShow: {
@@ -211,6 +225,7 @@ export default {
dtlShow: false,
materType: '',
materShow: false,
formShow: false,
flagnow: false,
nowrow: {},
nowindex: '',
@@ -302,11 +317,18 @@ export default {
this.materShow = true
this.nowindex = index
this.nowrow = row
/* checkoutbill.paramByCodeType({ 'bill_type': this.form.bill_type }).then(res => {
this.materType = res.materType
this.nowindex = index
this.nowrow = row
})*/
},
addFormDtl(index, row) {
if (this.form.bill_type === '') {
this.crud.notify('请选择业务类型!', CRUD.NOTIFICATION_TYPE.INFO)
return
}
if (this.form.stor_id === '') {
this.crud.notify('请选择仓库!', CRUD.NOTIFICATION_TYPE.INFO)
return
}
this.storId = this.form.stor_id
this.formShow = true
},
queryDtl(index, row) {
if (this.form.bill_type === '') {
@@ -360,6 +382,21 @@ export default {
this.nowrow.edit = false
this.form.tableData.splice(this.nowindex, 1, this.nowrow) // 通过splice 替换数据 触发视图更新
},
setFormValue(data) {
this.nowrow.material_id = data.material_id
this.nowrow.material_code = data.material_code
this.nowrow.material_name = data.material_name
this.nowrow.qty_unit_id = data.unit_id
this.nowrow.qty_unit_name = data.unit_name
this.nowrow.pcsn = data.pcsn
this.nowrow.plan_qty = data.qty
this.nowrow.qty = data.qty
this.nowrow.source_bill_code = data.code
this.nowrow.source_bill_id = data.id
this.nowrow.source_bill_type = data.form_type
this.nowrow.edit = false
this.form.tableData.splice(this.nowindex, 1, this.nowrow) // 通过splice 替换数据 触发视图更新
},
deleteRow(index, rows) {
this.form.total_qty = parseFloat(this.form.total_qty) - parseFloat(rows[index].plan_qty)
rows.splice(index, 1)

View File

@@ -86,7 +86,12 @@
<el-table-column prop="material_name" label="物料名称" :min-width="flexWidth('material_name',crud.data,'物料名称')" />
<el-table-column prop="pcsn" label="批次号" :min-width="flexWidth('pcsn',crud.data,'批次号')" />
<el-table-column prop="storagevehicle_code" label="载具号" :min-width="flexWidth('storagevehicle_code',crud.data,'载具号')" />
<el-table-column prop="canuse_qty" label="可用数" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="qty" label="数" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column label="可用数" :min-width="100" >
<template slot-scope="scope">
<span>{{ scope.row.qty - scope.row.frozen_qty }}</span>
</template>
</el-table-column>
<el-table-column prop="frozen_qty" label="冻结数" :formatter="crud.formatNum3" :min-width="100" />
<el-table-column prop="qty_unit_name" label="计量单位" :min-width="flexWidth('qty_unit_name',crud.data,'计量单位')" />
<el-table-column prop="remark" label="备注" :min-width="flexWidth('remark',crud.data,'备注')" />