This commit is contained in:
2022-12-03 14:03:29 +08:00
parent e35bb630cd
commit 64efeb8da5
3 changed files with 179 additions and 94 deletions

View File

@@ -27,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet;
import java.util.Map; import java.util.Map;
/** /**
@@ -72,6 +73,7 @@ public class ChangeServiceImpl implements ChangeService {
/** /**
* 通过changeinv_id删除明细 * 通过changeinv_id删除明细
*
* @param changeinv_id * @param changeinv_id
*/ */
void deleteById(String changeinv_id) { void deleteById(String changeinv_id) {
@@ -153,14 +155,26 @@ public class ChangeServiceImpl implements ChangeService {
double total_qty = 0; double total_qty = 0;
double detail_count = 0; double detail_count = 0;
//定义需要需要插入的库存集合 //定义需要需要插入的库存集合
for (int j = 0; j < rows.size(); j++) { HashMap<String, HashMap> set = new HashMap<>();
HashMap row = rows.get(j); for (int i = 0; i < rows.size(); i++) {
HashMap row = rows.get(i);
String package_box_sn = (String) row.get("package_box_sn");
if (set.containsKey(package_box_sn)) {
continue;
} else {
set.put(package_box_sn, row);
}
}
for (String package_box_sn : set.keySet()) {
HashMap row = set.get(package_box_sn);
String SaleOrderItem = (String) row.get("new_sale_order_name"); String SaleOrderItem = (String) row.get("new_sale_order_name");
String DemandDate = (String) row.get("demand_date"); String DemandDate = (String) row.get("demand_date");
String CustomerName = (String) row.get("new_customer_name"); String CustomerName = (String) row.get("new_customer_name");
String isRePrintPackageBoxLabel = (String) row.get("isRePrintPackageBoxLabel"); String isRePrintPackageBoxLabel = (String) row.get("isreprintpackageboxlabel");
String isUnPackBox = (String) row.get("isUnPackBox"); String isUnPackBox = (String) row.get("isunpackbox");
String UpdatedDateOfProduction = (String) row.get("date_of_FG_inbound"); String UpdatedDateOfProduction = (String) row.get("date_of_fg_inbound");
//查询该木箱内子卷数量 //查询该木箱内子卷数量
JSONArray container_rows = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + row.get("storagevehicle_code") + "'").getResultJSONArray(0); JSONArray container_rows = WQLObject.getWQLObject("pdm_bi_subpackagerelation").query("package_box_sn = '" + row.get("storagevehicle_code") + "'").getResultJSONArray(0);
for (int i = 0; i < container_rows.size(); i++) { for (int i = 0; i < container_rows.size(); i++) {
@@ -383,16 +397,16 @@ public class ChangeServiceImpl implements ChangeService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(Map whereJson) { public void update(Map whereJson) {
//主表 //主表
WQLObject wo_mst = WQLObject.getWQLObject("ST_IVT_MoveInv"); WQLObject wo_mst = WQLObject.getWQLObject("st_ivt_structivtchange");
Long currentUserId = SecurityUtils.getCurrentUserId(); Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getCurrentNickName(); String nickName = SecurityUtils.getCurrentNickName();
String now = DateUtil.now(); String now = DateUtil.now();
String moveinv_id = (String) whereJson.get("moveinv_id"); String changeinv_id = (String) whereJson.get("changeinv_id");
//查询主表 //查询主表
JSONObject jo_mst = wo_mst.query("moveinv_id='" + moveinv_id + "'").uniqueResult(0); JSONObject jo_mst = wo_mst.query("changeinv_id='" + changeinv_id + "'").uniqueResult(0);
//调用删除明细,还原库存方法 //调用删除明细,还原库存方法
this.deleteById(moveinv_id + ""); this.deleteById(changeinv_id + "");
//获取明细 //获取明细
ArrayList<HashMap> rows = (ArrayList<HashMap>) whereJson.get("tableData"); ArrayList<HashMap> rows = (ArrayList<HashMap>) whereJson.get("tableData");
//调用明细处理方法 //调用明细处理方法

View File

@@ -83,7 +83,7 @@
v-model="query.sale_order_name" v-model="query.sale_order_name"
clearable clearable
size="small" size="small"
placeholder="sap批次" placeholder="销售订单"
style="width: 200px;" style="width: 200px;"
class="filter-item" class="filter-item"
/> />

View File

@@ -159,10 +159,9 @@
<el-table-column key="1" type="index" label="序号" width="50" align="center"/> <el-table-column key="1" type="index" label="序号" width="50" align="center"/>
<el-table-column key="3" prop="material_code" label="物料编码" width="150" align="center"/> <el-table-column key="3" prop="material_code" label="物料编码" width="150" align="center"/>
<el-table-column key="4" prop="material_name" label="物料名称" align="center" min-width="200"/> <el-table-column key="4" prop="material_name" label="物料名称" align="center" min-width="200"/>
<el-table-column key="5" prop="pcsn" label="批次号" align="center" min-width="150" show-overflow-tooltip /> <el-table-column key="5" prop="pcsn" label="批次号" align="center" min-width="150"/>
<el-table-column <el-table-column
key="10" key="10"
show-overflow-tooltip
prop="qty" prop="qty"
label="重量" label="重量"
:formatter="crud.formatNum3" :formatter="crud.formatNum3"
@@ -170,58 +169,79 @@
align="center" align="center"
/> />
<el-table-column key="11" show-overflow-tooltip prop="storagevehicle_code" label="载具号"/> <el-table-column key="11" show-overflow-tooltip prop="storagevehicle_code" label="载具号"/>
<el-table-column key="12" show-overflow-tooltip prop="turnout_sect_name" label="库区" /> <el-table-column key="12" prop="turnout_sect_name" label="库区"/>
<el-table-column key="14" show-overflow-tooltip prop="turnout_struct_code" label="货位" /> <el-table-column key="14" prop="turnout_struct_code" show-overflow-tooltip label="货位"/>
<el-table-column key="15" width="150" show-overflow-tooltip prop="sale_order_name" label="销售订单行号-" /> <el-table-column key="15" width="150" prop="sale_order_name" show-overflow-tooltip label="销售订单行号-"/>
<el-table-column key="16" width="150" show-overflow-tooltip prop="new_sale_order_name" label="销售订单行号-"> <el-table-column key="16" width="150" prop="new_sale_order_name" label="销售订单行号-">
<template scope="scope"> <template scope="scope">
<el-input v-show="!scope.row.edit" v-model="scope.row.new_sale_order_name" class="input-with-select"> <el-input v-show="!scope.row.edit" v-model="scope.row.new_sale_order_name" @input="saleInput(form.tableData[scope.$index])" class="input-with-select"/>
</el-input>
<span v-show="scope.row.edit">{{ scope.row.new_sale_order_name }}</span> <span v-show="scope.row.edit">{{ scope.row.new_sale_order_name }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="17" width="150" show-overflow-tooltip prop="customer_name" label="客户编码-" /> <el-table-column key="17" width="150" prop="customer_name" label="客户编码-"/>
<el-table-column key="18" width="150" show-overflow-tooltip prop="customer_description" label="客户名称-" /> <el-table-column key="18" width="150" prop="customer_description" label="客户名称-"/>
<el-table-column key="19" width="150" show-overflow-tooltip prop="new_customer_name" label="客户编码-"> <el-table-column key="19" width="150" prop="new_customer_name" label="客户编码-">
<template scope="scope"> <template scope="scope">
<el-input v-show="!scope.row.edit" v-model="scope.row.new_customer_name" class="input-with-select"> <el-input v-show="!scope.row.edit" v-model="scope.row.new_customer_name" @input="custInput(form.tableData[scope.$index])" class="input-with-select">
</el-input> </el-input>
<span v-show="scope.row.edit">{{ scope.row.new_customer_name }}</span> <span v-show="scope.row.edit">{{ scope.row.new_customer_name }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="20" width="150" show-overflow-tooltip prop="new_customer_description" label="客户名称-" > <el-table-column key="20" width="150" prop="new_customer_description" label="客户名称-">
<template scope="scope"> <template scope="scope">
<el-input v-show="!scope.row.edit" v-model="scope.row.new_customer_description" class="input-with-select"> <el-input v-show="!scope.row.edit" v-model="scope.row.new_customer_description" @input="custNameInput(form.tableData[scope.$index])" class="input-with-select">
</el-input> </el-input>
<span v-show="scope.row.edit">{{ scope.row.new_customer_description }}</span> <span v-show="scope.row.edit">{{ scope.row.new_customer_description }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="21" width="150" show-overflow-tooltip prop="demand_date" label="交货日期-"> <el-table-column key="21" width="300" prop="demand_date" label="交货日期-" >
<template scope="scope"> <template scope="scope">
<el-input v-show="!scope.row.edit" v-model="scope.row.demand_date" class="input-with-select"> <el-date-picker
</el-input> v-model="scope.row.demand_date"
<span v-show="scope.row.edit">{{ scope.row.demand_date }}</span> type="date"
@change="demandChange(form.tableData[scope.$index])"
:disabled="scope.row.edit"
placeholder="选择日期"
value-format="yyyy-MM-dd">
</el-date-picker>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="24" width="150" show-overflow-tooltip prop="date_of_fg_inbound" label="制作日期-"> <el-table-column key="24" width="300" prop="date_of_fg_inbound" label="制作日期-" >
<template scope="scope"> <template scope="scope">
<el-input v-show="!scope.row.edit" v-model="scope.row.date_of_fg_inbound" class="input-with-select"> <el-date-picker
</el-input> v-model="scope.row.date_of_fg_inbound"
<span v-show="scope.row.edit">{{ scope.row.date_of_fg_inbound }}</span> type="date"
:disabled="scope.row.edit"
@change="inChange(form.tableData[scope.$index])"
placeholder="选择日期"
value-format="yyyy-MM-dd">
</el-date-picker>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="22" width="150" show-overflow-tooltip prop="isreprintpackageboxlabel" label="更换外包装标签"> <el-table-column key="22" width="150" prop="isreprintpackageboxlabel" label="更换外包装标签">
<template scope="scope"> <template scope="scope">
<el-input v-show="!scope.row.edit" v-model="scope.row.isreprintpackageboxlabel" class="input-with-select"> <el-switch
</el-input> :disabled="scope.row.edit"
<span v-show="scope.row.edit">{{ scope.row.isreprintpackageboxlabel }}</span> v-model="scope.row.isreprintpackageboxlabel"
active-value="1"
inactive-value="0"
active-color="#13ce66"
@change="packageChange(form.tableData[scope.$index])"
inactive-color="#ff4949">
</el-switch>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column key="23" width="150" show-overflow-tooltip prop="isunpackbox" label="更换子卷标签"> <el-table-column key="23" width="150" prop="isunpackbox" label="更换子卷标签">
<template scope="scope"> <template scope="scope">
<el-input v-show="!scope.row.edit" v-model="scope.row.isunpackbox" class="input-with-select"> <el-switch
</el-input> :disabled="scope.row.edit"
<span v-show="scope.row.edit">{{ scope.row.isunpackbox }}</span> v-model="scope.row.isunpackbox"
active-value="1"
inactive-value="0"
@change="boxChange(form.tableData[scope.$index])"
active-color="#13ce66"
inactive-color="#ff4949">
</el-switch>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-if="crud.status.cu > 0" key="25" align="center" label="操作" width="160" fixed="right"> <el-table-column v-if="crud.status.cu > 0" key="25" align="center" label="操作" width="160" fixed="right">
@@ -377,6 +397,63 @@ export default {
} }
}) })
}, },
saleInput(val) {
for (let i = 0; i < this.form.tableData.length; i++) {
if (this.form.tableData[i].storagevehicle_code === val.storagevehicle_code) {
this.$set(this.form.tableData[i], 'new_sale_order_name', val.new_sale_order_name)
this.form.tableData.splice(i, 1, this.form.tableData[i]) // 通过splice 替换数据 触发视图更新
}
}
},
custInput(val) {
for (let i = 0; i < this.form.tableData.length; i++) {
if (this.form.tableData[i].storagevehicle_code === val.storagevehicle_code) {
this.$set(this.form.tableData[i], 'new_customer_name', val.new_customer_name)
this.form.tableData.splice(i, 1, this.form.tableData[i]) // 通过splice 替换数据 触发视图更新
}
}
},
custNameInput(val) {
for (let i = 0; i < this.form.tableData.length; i++) {
if (this.form.tableData[i].storagevehicle_code === val.storagevehicle_code) {
this.$set(this.form.tableData[i], 'new_customer_description', val.new_customer_description)
this.form.tableData.splice(i, 1, this.form.tableData[i]) // 通过splice 替换数据 触发视图更新
}
}
},
demandChange(val) {
for (let i = 0; i < this.form.tableData.length; i++) {
if (this.form.tableData[i].storagevehicle_code === val.storagevehicle_code) {
this.$set(this.form.tableData[i], 'demand_date', val.demand_date)
this.form.tableData.splice(i, 1, this.form.tableData[i]) // 通过splice 替换数据 触发视图更新
}
}
},
inChange(val) {
for (let i = 0; i < this.form.tableData.length; i++) {
if (this.form.tableData[i].storagevehicle_code === val.storagevehicle_code) {
this.$set(this.form.tableData[i], 'date_of_fg_inbound', val.date_of_fg_inbound)
this.form.tableData.splice(i, 1, this.form.tableData[i]) // 通过splice 替换数据 触发视图更新
}
}
},
boxChange(val) {
debugger
for (let i = 0; i < this.form.tableData.length; i++) {
if (this.form.tableData[i].storagevehicle_code === val.storagevehicle_code) {
this.$set(this.form.tableData[i], 'isunpackbox', val.isunpackbox)
this.form.tableData.splice(i, 1, this.form.tableData[i]) // 通过splice 替换数据 触发视图更新
}
}
},
packageChange(val) {
for (let i = 0; i < this.form.tableData.length; i++) {
if (this.form.tableData[i].storagevehicle_code === val.storagevehicle_code) {
this.$set(this.form.tableData[i], 'isreprintpackageboxlabel', val.isreprintpackageboxlabel)
this.form.tableData.splice(i, 1, this.form.tableData[i]) // 通过splice 替换数据 触发视图更新
}
}
},
async queryDtl() { async queryDtl() {
this.dtlShow = true this.dtlShow = true
}, },
@@ -452,12 +529,6 @@ export default {
}, },
handleEdit(index, row) { handleEdit(index, row) {
// 判断是否可以关闭编辑状态 // 判断是否可以关闭编辑状态
if (!row.edit) {
/*if (row.turnin_struct_id === '') {
this.crud.notify('请先选择载具:' + row.storagevehicle_code + '的移入货位!', CRUD.NOTIFICATION_TYPE.INFO)
return false
}*/
}
row.edit = !row.edit row.edit = !row.edit
this.form.tableData.splice(index, 1, row) // 通过splice 替换数据 触发视图更新 this.form.tableData.splice(index, 1, row) // 通过splice 替换数据 触发视图更新
if (row.edit) { if (row.edit) {