rev:代码合并

This commit is contained in:
2023-05-29 10:49:49 +08:00
parent 973425d6a8
commit 5ef00cf5ce
16 changed files with 129 additions and 90 deletions

View File

@@ -102,5 +102,12 @@ public class IStivtlostorivnCpOutController {
return new ResponseEntity<>(HttpStatus.OK);
}
@PostMapping("/getStructIvt")
@Log("获取手工分配库存")
@ApiOperation("获取手工分配库存")
public ResponseEntity<Object> getStructIvt(@RequestBody JSONObject whereJson){
return new ResponseEntity<>(iStIvtIostorinvCpOutService.getStructIvt(whereJson),HttpStatus.OK);
}
}

View File

@@ -122,4 +122,13 @@ public interface IStIvtIostorinvCpOutService extends IService<StIvtIostorinvCp>
* }
*/
void confirm(JSONObject whereJson);
/**
* 获取手工分配库存
* @param whereJson
* {
* 明细row
* }
*/
List getStructIvt(JSONObject whereJson);
}

View File

@@ -473,6 +473,16 @@ public class StIvtIostorinvCpOutServiceImpl extends ServiceImpl<StIvtIostorinvCp
}
@Override
public List getStructIvt(JSONObject whereJson) {
JSONObject param = new JSONObject();
param.put("materia_id", whereJson.getString("materia_id"));
param.put("stor_id", whereJson.getString("stor_id"));
if (ObjectUtil.isNotEmpty(whereJson.getString("sale_id"))) param.put("sale_id", whereJson.getString("sale_id"));
return iStIvtStructivtCpService.getStructIvt(param);
}
@NotNull
private StIvtIostorinvCp packageMstForm(StIvtIostorinvCp stIvtIostorinvCp,JSONObject whereJson,Boolean isUpdate) {
JSONArray rows = whereJson.getJSONArray("tableData");

View File

@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtCp;
import java.util.List;
/**
* <p>
* 仓位库存表 服务类
@@ -37,4 +39,12 @@ public interface IStIvtStructivtCpService extends IService<StIvtStructivtCp> {
*/
StIvtStructivtCp queryIvtOutOne(JSONObject json);
/**
* 获取手工分配库存
* @param whereJson
* {
* 明细row
* }
*/
List getStructIvt(JSONObject whereJson);
}

View File

@@ -4,6 +4,9 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.storage_manage.productmanage.service.structIvt.dao.StIvtStructivtCp;
import java.util.List;
import java.util.Map;
/**
* <p>
* 仓位库存表 Mapper 接口
@@ -16,4 +19,6 @@ public interface StIvtStructivtCpMapper extends BaseMapper<StIvtStructivtCp> {
StIvtStructivtCp queryIvtOutOne(JSONObject json);
List<Map> getStructIvt(JSONObject json);
}

View File

@@ -26,4 +26,27 @@
LIMIT 1
</select>
<select id="getStructIvt" resultType="java.util.Map">
SELECT
ivt.*
FROM
ST_IVT_StructIvt_CP ivt
LEFT JOIN st_ivt_structattr attr ON ivt.struct_id = attr.struct_id
WHERE attr.lock_type = '0'
<if test="stor_id != null and stor_id != ''">
and attr.stor_id = #{stor_id}
</if>
<if test="sect_id != null and sect_id != ''">
and attr.sect_id = #{sect_id}
</if>
<if test="material_id != null and material_id != ''">
and ivt.material_id = #{material_id}
</if>
<if test="sale_id != null and sale_id != ''">
and ivt.sale_id = #{sale_id}
</if>
order by ivt.canuse_qty ASC,ivt.struct_code ASC
</select>
</mapper>

View File

@@ -22,6 +22,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
* <p>
@@ -85,6 +86,11 @@ public class StIvtStructivtCpServiceImpl extends ServiceImpl<StIvtStructivtCpMap
return baseMapper.queryIvtOutOne(json);
}
@Override
public List getStructIvt(JSONObject whereJson) {
return baseMapper.getStructIvt(whereJson);
}
/*
加待入
*/

View File

@@ -5,16 +5,13 @@ import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiOperation;
import org.nl.common.anno.Log;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.storage_manage.rawmanage.service.check.dto.CheckQuery;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.IStIvtMoreorlessmstYlService;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dao.dto.MoreOrlessQuery;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dto.MoreOrlessQuery;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* <p>
* 损溢单主表 前端控制器

View File

@@ -10,7 +10,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import io.jsonwebtoken.lang.Assert;
import org.jetbrains.annotations.NotNull;
import org.nl.common.TableDataInfo;
@@ -24,15 +23,12 @@ import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrServ
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr;
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
import org.nl.wms.storage_manage.CHECKEnum;
import org.nl.wms.storage_manage.IOSEnum;
import org.nl.wms.storage_manage.productmanage.service.iostorInv.dao.StIvtIostorinvCp;
import org.nl.wms.storage_manage.rawmanage.service.check.IStIvtCheckdtlYlService;
import org.nl.wms.storage_manage.rawmanage.service.check.IStIvtCheckmstYlService;
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckdtlYl;
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckmstYl;
import org.nl.wms.storage_manage.rawmanage.service.check.dao.mapper.StIvtCheckmstYlMapper;
import org.nl.wms.storage_manage.rawmanage.service.check.dto.CheckQuery;
import org.nl.wms.storage_manage.rawmanage.service.iostorInv.dao.StIvtIostorinvYl;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.IStIvtMoreorlessmstYlService;
import org.nl.wms.storage_manage.semimanage.MLEnum;
import org.springframework.beans.factory.annotation.Autowired;
@@ -40,7 +36,6 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Stream;
/**
* <p>

View File

@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dao.StIvtMoreorlessmstYl;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dao.dto.MoreOrlessQuery;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dto.MoreOrlessQuery;
import java.util.List;
import java.util.Map;

View File

@@ -4,7 +4,7 @@ import org.apache.ibatis.annotations.Param;
import org.nl.common.domain.query.PageQuery;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dao.StIvtMoreorlessmstYl;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dao.dto.MoreOrlessQuery;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dto.MoreOrlessQuery;
import java.util.List;
import java.util.Map;

View File

@@ -1,10 +1,9 @@
package org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dao.dto;
package org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dto;
import lombok.Data;
import org.nl.common.domain.query.BaseQuery;
import org.nl.common.domain.query.QParam;
import org.nl.common.enums.QueryTEnum;
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckmstYl;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dao.StIvtMoreorlessmstYl;
/*

View File

@@ -24,13 +24,11 @@ import org.nl.wms.masterdata_manage.storage.service.storage.IStIvtStructattrServ
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtBsrealstorattr;
import org.nl.wms.masterdata_manage.storage.service.storage.dao.StIvtStructattr;
import org.nl.wms.storage_manage.CHECKEnum;
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckdtlYl;
import org.nl.wms.storage_manage.rawmanage.service.check.dao.StIvtCheckmstYl;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dto.MoreOrlessQuery;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.IStIvtMoreorlessdtlYlService;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.IStIvtMoreorlessmstYlService;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dao.StIvtMoreorlessdtlYl;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dao.StIvtMoreorlessmstYl;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dao.dto.MoreOrlessQuery;
import org.nl.wms.storage_manage.rawmanage.service.moveOrLess.dao.mapper.StIvtMoreorlessmstYlMapper;
import org.nl.wms.storage_manage.rawmanage.service.structIvt.IStIvtStructivtYlService;
import org.nl.wms.storage_manage.rawmanage.service.structIvt.dao.StIvtStructivtYl;

View File

@@ -79,17 +79,16 @@
>
自动取消
</el-button>
<!-- <el-button
<el-button
slot="left"
class="filter-item"
type="primary"
icon="el-icon-plus"
size="mini"
:disabled="button3"
@click="openStructIvt"
>
手工分配
</el-button>-->
</el-button>
</span>
</div>
<el-card class="box-card" shadow="never" :body-style="{padding:'0'}">
@@ -327,6 +326,12 @@ export default {
}
},
openStructIvt() {
debugger
if (this.currentRow.iostorinv_id === undefined) {
this.crud.notify('请选择明细!', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
this.currentRow.remark = ''
this.currentRow.stor_id = this.storId
productOut.getStructIvt(this.currentRow).then(res => {

View File

@@ -1,4 +1,3 @@
<!--suppress ALL -->
<template>
<el-dialog
append-to-body
@@ -21,7 +20,7 @@
</div>
</span>
<div class="crud-opts2">
<span class="role-span" style="width: 100px">可分配库存</span>
<span class="role-span">可分配库存</span>
<div class="crud-opts-form">
<el-form ref="form2" :inline="true" :model="queryrow" size="mini">
<el-form-item label="待分配" prop="unassign_qty">
@@ -57,29 +56,7 @@
clearable
style="width: 220px"
size="mini"
placeholder="货位编码"
prefix-icon="el-icon-search"
class="filter-item"
/>
</el-form-item>
<el-form-item label="sap批次" prop="remark">
<el-input
v-model="queryrow.sap_pcsn"
clearable
style="width: 220px"
size="mini"
placeholder="sap批次"
prefix-icon="el-icon-search"
class="filter-item"
/>
</el-form-item>
<el-form-item label="子卷号" prop="remark">
<el-input
v-model="queryrow.pcsn"
clearable
style="width: 220px"
size="mini"
placeholder="子卷号"
placeholder="货位编码、名称或载具号"
prefix-icon="el-icon-search"
class="filter-item"
/>
@@ -93,7 +70,7 @@
ref="table"
:data="tableDtl"
style="width: 100%;"
max-height="500"
max-height="400"
border
:highlight-current-row="true"
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
@@ -101,18 +78,17 @@
<el-table-column type="index" label="序号" width="50" align="center" />
<el-table-column show-overflow-tooltip prop="sect_name" label="库区" align="center" />
<el-table-column show-overflow-tooltip prop="struct_code" label="仓位" align="center" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="号" align="center" width="250px" />
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="载具号" align="center" />
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column show-overflow-tooltip sortable prop="pcsn" label="子卷批次号" align="center" width="150px" />
<el-table-column show-overflow-tooltip sortable prop="sap_pcsn" label="sap批次" align="center" width="140px" />
<el-table-column show-overflow-tooltip prop="pcsn" label="批次号" align="center" />
<el-table-column show-overflow-tooltip prop="canuse_qty" label="可出重量" :formatter="crud.formatNum3" align="center" />
<!-- <el-table-column show-overflow-tooltip prop="plan_qty" label="重量" :formatter="crud.formatNum3" width="160" align="center">-->
<!-- <template scope="scope">-->
<!-- <el-input-number v-show="!scope.row.edit" v-model="scope.row.plan_qty" :precision="3" :max="100000000" />-->
<!-- <span v-show="scope.row.edit">{{ scope.row.plan_qty }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" align="center" />-->
<el-table-column show-overflow-tooltip prop="plan_qty" label="重量" :formatter="crud.formatNum3" width="160" align="center">
<template scope="scope">
<el-input-number v-show="!scope.row.edit" v-model="scope.row.plan_qty" :precision="3" :max="100000000" />
<span v-show="scope.row.edit">{{ scope.row.plan_qty }}</span>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" align="center" />
<el-table-column align="center" label="操作" width="160" fixed="right">
<template scope="scope">
<el-button v-show="!scope.row.edit" type="primary" class="filter-item" size="mini" icon="el-icon-edit" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
@@ -126,9 +102,8 @@
<script>
import CRUD, { header } from '@crud/crud'
// import crudSectattr from '@/views/wms/basedata/st/sect/sectattr'
import crudSectattr from '@/api/wms/basedata/st/sectattr'
import productOut from '@/views/wms/storage_manage/product/productOut/productout'
// import crudUserStor from '@/views/wms/basedata/st/userStor/userStor'
export default {
name: 'StructIvt',
@@ -145,17 +120,12 @@ export default {
openArray: {
type: Array,
default: () => { return [] }
},
storId: {
type: String,
default: null
}
},
data() {
return {
dialogVisible: false,
dialogVisible2: false,
goal_unassign_qty: 0,
queryrow: {},
sects: [],
tableDtl: []
@@ -175,24 +145,21 @@ export default {
rowmst: {
handler(newValue, oldValue) {
this.queryrow = newValue
this.goal_unassign_qty = JSON.parse(JSON.stringify(this.queryrow.unassign_qty))
}
}
},
methods: {
open() {
/* crudUserStor.getSect({ 'stor_id': this.storId }).then(res => {
crudSectattr.getSect({ 'stor_id': this.queryrow.stor_id }).then(res => {
this.sects = res.content
})*/
this.query.source_bill_code = this.queryrow.source_bill_code
this.query.material_id = this.queryrow.material_id
})
},
queryStruct() {
this.queryrow.unassign_qty = parseFloat(this.queryrow.unassign_qty) + parseFloat(this.queryrow.assign_qty)
this.queryrow.assign_qty = 0
/* productOut.getStructIvt(this.queryrow).then(res => {
productOut.getStructIvt(this.queryrow).then(res => {
this.tableDtl = res
})*/
})
},
sectQueryChange(val) {
if (val.length === 1) {
@@ -210,28 +177,27 @@ export default {
},
handleEdit(index, row) {
// 判断是否可以关闭编辑状态
if (row.edit === undefined) {
this.$set(row, 'edit', false)
if (!row.edit) {
if (row.plan_qty > this.queryrow.unassign_qty) {
this.crud.notify('出库重量不能超过未分配数', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
if (row.plan_qty > row.canuse_qty) {
this.crud.notify('出库重量不能超过库存可出重量', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
if (row.plan_qty === 0) {
this.crud.notify('出库重量为0不能保存', CRUD.NOTIFICATION_TYPE.INFO)
return false
}
}
row.edit = !row.edit
if (row.edit) {
this.queryrow.unassign_qty = parseFloat(this.queryrow.unassign_qty) - parseFloat(row.canuse_qty)
this.queryrow.assign_qty = parseFloat(this.queryrow.assign_qty) + parseFloat(row.canuse_qty)
this.queryrow.unassign_qty = parseFloat(this.queryrow.unassign_qty) - row.plan_qty
this.queryrow.assign_qty = parseFloat(this.queryrow.assign_qty) + row.plan_qty
} else {
this.queryrow.assign_qty = parseFloat(this.queryrow.assign_qty) - parseFloat(row.canuse_qty)
// 如果待分配重量等于0则 明细重量 - 已分配重量
if (parseInt(this.queryrow.unassign_qty) === 0) {
this.queryrow.unassign_qty = parseFloat(this.goal_unassign_qty) - parseFloat(this.queryrow.assign_qty)
} else {
this.queryrow.unassign_qty = parseFloat(this.queryrow.unassign_qty) + parseFloat(row.canuse_qty)
}
if (this.queryrow.unassign_qty > this.goal_unassign_qty) {
this.queryrow.unassign_qty = JSON.parse(JSON.stringify(this.goal_unassign_qty))
}
// 如果已分配汇总量 > 明细重量 则待分配重量为0
if (this.queryrow.assign_qty > this.goal_unassign_qty) {
this.queryrow.unassign_qty = parseFloat('0')
}
this.queryrow.unassign_qty = parseFloat(this.queryrow.unassign_qty) + row.plan_qty
this.queryrow.assign_qty = parseFloat(this.queryrow.assign_qty) - row.plan_qty
}
this.tableDtl.splice(index, 1, row) // 通过splice 替换数据 触发视图更新
},
@@ -251,7 +217,7 @@ export default {
rows.push(item)
}
})
productOut.manualDiv({ 'row': this.queryrow, 'rows': rows }).then(res => {
checkoutbill.manualDiv({ 'row': this.queryrow, 'rows': rows }).then(res => {
this.$emit('update:dialogShow', false)
this.$emit('StructIvtClosed')
})
@@ -264,7 +230,7 @@ export default {
rows.push(item)
}
})
productOut.manualDiv({ 'row': this.queryrow, 'rows': rows }).then(res => {
checkoutbill.manualDiv({ 'row': this.queryrow, 'rows': rows }).then(res => {
this.$emit('update:dialogShow', false)
this.$emit('StructIvtClosed')
})

View File

@@ -72,6 +72,14 @@ export function confirm(data) {
})
}
export function getStructIvt(data) {
return request({
url: 'api/productOut/getStructIvt',
method: 'post',
data
})
}
export default {
add,
edit,
@@ -81,5 +89,6 @@ export default {
allDivIvt,
allCancel,
setPoint,
confirm
confirm,
getStructIvt
}