采购单新增单价和金额修改功能

This commit is contained in:
weizhiqiang 2019-10-18 16:30:05 +08:00
parent 44483ee3b5
commit f71d5f65ba
6 changed files with 88 additions and 39 deletions

View file

@ -73,13 +73,14 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService{
entity = purchaseOrderDao.queryMaterialsById(bean); entity = purchaseOrderDao.queryMaterialsById(bean);
if(entity != null && !entity.isEmpty()){ if(entity != null && !entity.isEmpty()){
//获取单价 //获取单价
itemAllPrice = new BigDecimal(entity.get("estimatePurchasePrice").toString()); itemAllPrice = new BigDecimal(bean.get("estimatePurchasePrice").toString());
entity.put("id", ToolUtil.getSurFaceId()); entity.put("id", ToolUtil.getSurFaceId());
entity.put("headerId", useId);//单据主表id entity.put("headerId", useId);//单据主表id
entity.put("operNumber", bean.get("rkNum"));//数量 entity.put("operNumber", bean.get("rkNum"));//数量
//计算子单总价单价*数量 //计算子单总价单价*数量
itemAllPrice = itemAllPrice.multiply(new BigDecimal(bean.get("rkNum").toString())); itemAllPrice = itemAllPrice.multiply(new BigDecimal(bean.get("rkNum").toString()));
entity.put("allPrice", itemAllPrice);//单据子表总价 entity.put("allPrice", itemAllPrice);//单据子表总价
entity.put("estimatePurchasePrice", bean.get("estimatePurchasePrice"));//单价
entity.put("remark", bean.get("remark"));//备注 entity.put("remark", bean.get("remark"));//备注
entity.put("depotId", bean.get("depotId"));//仓库 entity.put("depotId", bean.get("depotId"));//仓库
entity.put("mType", 0);//商品类型 0.普通 1.组合件 2.普通子件 entity.put("mType", 0);//商品类型 0.普通 1.组合件 2.普通子件
@ -195,13 +196,14 @@ public class PurchaseOrderServiceImpl implements PurchaseOrderService{
entity = purchaseOrderDao.queryMaterialsById(bean); entity = purchaseOrderDao.queryMaterialsById(bean);
if(entity != null && !entity.isEmpty()){ if(entity != null && !entity.isEmpty()){
//获取单价 //获取单价
itemAllPrice = new BigDecimal(entity.get("estimatePurchasePrice").toString()); itemAllPrice = new BigDecimal(bean.get("estimatePurchasePrice").toString());
entity.put("id", ToolUtil.getSurFaceId()); entity.put("id", ToolUtil.getSurFaceId());
entity.put("headerId", useId);//单据主表id entity.put("headerId", useId);//单据主表id
entity.put("operNumber", bean.get("rkNum"));//数量 entity.put("operNumber", bean.get("rkNum"));//数量
//计算子单总价单价*数量 //计算子单总价单价*数量
itemAllPrice = itemAllPrice.multiply(new BigDecimal(bean.get("rkNum").toString())); itemAllPrice = itemAllPrice.multiply(new BigDecimal(bean.get("rkNum").toString()));
entity.put("allPrice", itemAllPrice);//单据子表总价 entity.put("allPrice", itemAllPrice);//单据子表总价
entity.put("estimatePurchasePrice", bean.get("estimatePurchasePrice"));//单价
entity.put("remark", bean.get("remark"));//备注 entity.put("remark", bean.get("remark"));//备注
entity.put("depotId", bean.get("depotId"));//仓库 entity.put("depotId", bean.get("depotId"));//仓库
entity.put("mType", 0);//商品类型 0.普通 1.组合件 2.普通子件 entity.put("mType", 0);//商品类型 0.普通 1.组合件 2.普通子件

View file

@ -39,7 +39,6 @@
a.`name` materialName, a.`name` materialName,
a.model materialModel, a.model materialModel,
b.id mUnitId, b.id mUnitId,
b.estimate_purchase_price estimatePurchasePrice,
IFNULL(c.`name`, a.unit_name) unitName, IFNULL(c.`name`, a.unit_name) unitName,
IFNULL(c.number, '1') baseNumber, IFNULL(c.number, '1') baseNumber,
#{depotId} depotId #{depotId} depotId

View file

@ -107,16 +107,16 @@ layui.config({
$.each(item.unitList, function(j, bean) { $.each(item.unitList, function(j, bean) {
if(item.firstInUnit == bean.unitId){ if(item.firstInUnit == bean.unitId){
$("#unitId" + thisRowNum).val(bean.id); $("#unitId" + thisRowNum).val(bean.id);
$("#unitPrice" + thisRowNum).html(bean.estimatePurchasePrice.toFixed(2));//单价 $("#unitPrice" + thisRowNum).val(bean.estimatePurchasePrice.toFixed(2));//单价
$("#amountOfMoney" + thisRowNum).html((rkNum * parseFloat(bean.estimatePurchasePrice)).toFixed(2));//金额 $("#amountOfMoney" + thisRowNum).val((rkNum * parseFloat(bean.estimatePurchasePrice)).toFixed(2));//金额
return false; return false;
} }
}); });
}else{//不是多单位 }else{//不是多单位
var firstItem = item.unitList[0]; var firstItem = item.unitList[0];
$("#unitId" + thisRowNum).val(firstItem.id); $("#unitId" + thisRowNum).val(firstItem.id);
$("#unitPrice" + thisRowNum).html(firstItem.estimatePurchasePrice.toFixed(2));//单价 $("#unitPrice" + thisRowNum).val(firstItem.estimatePurchasePrice.toFixed(2));//单价
$("#amountOfMoney" + thisRowNum).html((rkNum * parseFloat(firstItem.estimatePurchasePrice)).toFixed(2));//金额 $("#amountOfMoney" + thisRowNum).val((rkNum * parseFloat(firstItem.estimatePurchasePrice)).toFixed(2));//金额
} }
form.render('select'); form.render('select');
return false; return false;
@ -145,8 +145,8 @@ layui.config({
if(thisRowValue == bean.id){//获取规格 if(thisRowValue == bean.id){//获取规格
//获取当前行数量 //获取当前行数量
var rkNum = parseInt($("#rkNum" + thisRowNum).val()); var rkNum = parseInt($("#rkNum" + thisRowNum).val());
$("#unitPrice" + thisRowNum).html(bean.estimatePurchasePrice.toFixed(2));//单价 $("#unitPrice" + thisRowNum).val(bean.estimatePurchasePrice.toFixed(2));//单价
$("#amountOfMoney" + thisRowNum).html((rkNum * parseFloat(bean.estimatePurchasePrice)).toFixed(2));//金额 $("#amountOfMoney" + thisRowNum).val((rkNum * parseFloat(bean.estimatePurchasePrice)).toFixed(2));//金额
return false; return false;
} }
}); });
@ -154,8 +154,8 @@ layui.config({
} }
}); });
} else { } else {
$("#unitPrice" + thisRowNum).html("");//重置单价为空 $("#unitPrice" + thisRowNum).val("0.00");//重置单价为空
$("#amountOfMoney" + thisRowNum).html("");//重置金额为空 $("#amountOfMoney" + thisRowNum).val("0.00");//重置金额为空
} }
//加载库存 //加载库存
loadTockByDepotAndMUnit(thisRowNum); loadTockByDepotAndMUnit(thisRowNum);
@ -208,11 +208,22 @@ layui.config({
} }
} }
var showTdByEdit = 'rkNum';//根据那一列的值进行变化,默认根据数量
//数量变化 //数量变化
$("body").on("input", ".rkNum", function() { $("body").on("input", ".rkNum, .unitPrice, .amountOfMoney", function() {
if($(this).attr("class").replace("layui-input change-input ", "") != showTdByEdit){
showTdByEdit = $(this).attr("class").replace("layui-input change-input ", "");
$(".change-input").parent().removeAttr("style");
$("." + showTdByEdit).parent().css({'background-color': '#e6e6e6'});
}
calculatedTotalPrice(); calculatedTotalPrice();
}); });
$("body").on("change", ".rkNum", function() { $("body").on("change", ".rkNum, .unitPrice, .amountOfMoney", function() {
if($(this).attr("class").replace("layui-input change-input ", "") != showTdByEdit){
showTdByEdit = $(this).attr("class").replace("layui-input change-input ", "");
$(".change-input").parent().removeAttr("style");
$("." + showTdByEdit).parent().css({'background-color': '#e6e6e6'});
}
calculatedTotalPrice(); calculatedTotalPrice();
}); });
@ -226,10 +237,20 @@ layui.config({
//获取数量 //获取数量
var rkNum = parseInt(isNull($("#rkNum" + rowNum).val()) ? "0" : $("#rkNum" + rowNum).val()); var rkNum = parseInt(isNull($("#rkNum" + rowNum).val()) ? "0" : $("#rkNum" + rowNum).val());
//获取单价 //获取单价
var unitPrice = parseFloat(isNull($("#unitPrice" + rowNum).html()) ? "0" : $("#unitPrice" + rowNum).html()); var unitPrice = parseFloat(isNull($("#unitPrice" + rowNum).val()) ? "0" : $("#unitPrice" + rowNum).val());
//输出金额 //获取单价
$("#amountOfMoney" + rowNum).html((rkNum * unitPrice).toFixed(2)); var amountOfMoney = parseFloat(isNull($("#amountOfMoney" + rowNum).val()) ? "0" : $("#amountOfMoney" + rowNum).val());
allPrice += rkNum * unitPrice; if("rkNum" === showTdByEdit){//数量
//输出金额
$("#amountOfMoney" + rowNum).val((rkNum * unitPrice).toFixed(2));
}else if("unitPrice" === showTdByEdit){//单价
//输出金额
$("#amountOfMoney" + rowNum).val((rkNum * unitPrice).toFixed(2));
}else if("amountOfMoney" === showTdByEdit){//金额
//输出单价
$("#unitPrice" + rowNum).val((amountOfMoney / rkNum).toFixed(2));
}
allPrice += parseFloat($("#amountOfMoney" + rowNum).val());
}); });
$("#allPrice").html(allPrice.toFixed(2)); $("#allPrice").html(allPrice.toFixed(2));
} }
@ -267,6 +288,7 @@ layui.config({
materialId: $("#materialId" + rowNum).val(), materialId: $("#materialId" + rowNum).val(),
mUnitId: $("#unitId" + rowNum).val(), mUnitId: $("#unitId" + rowNum).val(),
rkNum: $("#rkNum" + rowNum).val(), rkNum: $("#rkNum" + rowNum).val(),
estimatePurchasePrice: $("#unitPrice" + rowNum).val(),
remark: $("#remark" + rowNum).val() remark: $("#remark" + rowNum).val()
}; };
tableData.push(row); tableData.push(row);
@ -339,6 +361,8 @@ layui.config({
form.render('select'); form.render('select');
form.render('checkbox'); form.render('checkbox');
rowNum++; rowNum++;
//设置根据某列变化的颜色
$("." + showTdByEdit).parent().css({'background-color': '#e6e6e6'});
} }
//删除行 //删除行

View file

@ -116,8 +116,8 @@ layui.config({
$("#materialId" + (rowNum - 1)).val(item.materialId);//产品回显 $("#materialId" + (rowNum - 1)).val(item.materialId);//产品回显
$("#currentTock" + (rowNum - 1)).html(item.currentTock);//库存回显 $("#currentTock" + (rowNum - 1)).html(item.currentTock);//库存回显
$("#rkNum" + (rowNum - 1)).val(item.operNum);//数量回显 $("#rkNum" + (rowNum - 1)).val(item.operNum);//数量回显
$("#unitPrice" + (rowNum - 1)).html(item.unitPrice.toFixed(2));//单价回显 $("#unitPrice" + (rowNum - 1)).val(item.unitPrice.toFixed(2));//单价回显
$("#amountOfMoney" + (rowNum - 1)).html(item.allPrice.toFixed(2));//金额回显 $("#amountOfMoney" + (rowNum - 1)).val(item.allPrice.toFixed(2));//金额回显
$("#remark" + (rowNum - 1)).val(item.remark);//备注回显 $("#remark" + (rowNum - 1)).val(item.remark);//备注回显
//设置标识 //设置标识
$("tr[trcusid='tr" + (rowNum - 1) + "']").attr("thisid", item.id); $("tr[trcusid='tr" + (rowNum - 1) + "']").attr("thisid", item.id);
@ -147,16 +147,16 @@ layui.config({
$.each(item.unitList, function(j, bean) { $.each(item.unitList, function(j, bean) {
if(item.firstInUnit == bean.unitId){ if(item.firstInUnit == bean.unitId){
$("#unitId" + thisRowNum).val(bean.id); $("#unitId" + thisRowNum).val(bean.id);
$("#unitPrice" + thisRowNum).html(bean.estimatePurchasePrice.toFixed(2));//单价 $("#unitPrice" + thisRowNum).val(bean.estimatePurchasePrice.toFixed(2));//单价
$("#amountOfMoney" + thisRowNum).html((rkNum * parseFloat(bean.estimatePurchasePrice)).toFixed(2));//金额 $("#amountOfMoney" + thisRowNum).val((rkNum * parseFloat(bean.estimatePurchasePrice)).toFixed(2));//金额
return false; return false;
} }
}); });
}else{//不是多单位 }else{//不是多单位
var firstItem = item.unitList[0]; var firstItem = item.unitList[0];
$("#unitId" + thisRowNum).val(firstItem.id); $("#unitId" + thisRowNum).val(firstItem.id);
$("#unitPrice" + thisRowNum).html(firstItem.estimatePurchasePrice.toFixed(2));//单价 $("#unitPrice" + thisRowNum).val(firstItem.estimatePurchasePrice.toFixed(2));//单价
$("#amountOfMoney" + thisRowNum).html((rkNum * parseFloat(firstItem.estimatePurchasePrice)).toFixed(2));//金额 $("#amountOfMoney" + thisRowNum).val((rkNum * parseFloat(firstItem.estimatePurchasePrice)).toFixed(2));//金额
} }
form.render('select'); form.render('select');
return false; return false;
@ -185,8 +185,8 @@ layui.config({
if(thisRowValue == bean.id){//获取规格 if(thisRowValue == bean.id){//获取规格
//获取当前行数量 //获取当前行数量
var rkNum = parseInt($("#rkNum" + thisRowNum).val()); var rkNum = parseInt($("#rkNum" + thisRowNum).val());
$("#unitPrice" + thisRowNum).html(bean.estimatePurchasePrice.toFixed(2));//单价 $("#unitPrice" + thisRowNum).val(bean.estimatePurchasePrice.toFixed(2));//单价
$("#amountOfMoney" + thisRowNum).html((rkNum * parseFloat(bean.estimatePurchasePrice)).toFixed(2));//金额 $("#amountOfMoney" + thisRowNum).val((rkNum * parseFloat(bean.estimatePurchasePrice)).toFixed(2));//金额
return false; return false;
} }
}); });
@ -194,8 +194,8 @@ layui.config({
} }
}); });
} else { } else {
$("#unitPrice" + thisRowNum).html("");//重置单价为空 $("#unitPrice" + thisRowNum).val("0.00");//重置单价为空
$("#amountOfMoney" + thisRowNum).html("");//重置金额为空 $("#amountOfMoney" + thisRowNum).val("0.00");//重置金额为空
} }
//加载库存 //加载库存
loadTockByDepotAndMUnit(thisRowNum); loadTockByDepotAndMUnit(thisRowNum);
@ -248,11 +248,22 @@ layui.config({
} }
} }
var showTdByEdit = 'rkNum';//根据那一列的值进行变化,默认根据数量
//数量变化 //数量变化
$("body").on("input", ".rkNum", function() { $("body").on("input", ".rkNum, .unitPrice, .amountOfMoney", function() {
if($(this).attr("class").replace("layui-input change-input ", "") != showTdByEdit){
showTdByEdit = $(this).attr("class").replace("layui-input change-input ", "");
$(".change-input").parent().removeAttr("style");
$("." + showTdByEdit).parent().css({'background-color': '#e6e6e6'});
}
calculatedTotalPrice(); calculatedTotalPrice();
}); });
$("body").on("change", ".rkNum", function() { $("body").on("change", ".rkNum, .unitPrice, .amountOfMoney", function() {
if($(this).attr("class").replace("layui-input change-input ", "") != showTdByEdit){
showTdByEdit = $(this).attr("class").replace("layui-input change-input ", "");
$(".change-input").parent().removeAttr("style");
$("." + showTdByEdit).parent().css({'background-color': '#e6e6e6'});
}
calculatedTotalPrice(); calculatedTotalPrice();
}); });
@ -266,10 +277,20 @@ layui.config({
//获取数量 //获取数量
var rkNum = parseInt(isNull($("#rkNum" + rowNum).val()) ? "0" : $("#rkNum" + rowNum).val()); var rkNum = parseInt(isNull($("#rkNum" + rowNum).val()) ? "0" : $("#rkNum" + rowNum).val());
//获取单价 //获取单价
var unitPrice = parseFloat(isNull($("#unitPrice" + rowNum).html()) ? "0" : $("#unitPrice" + rowNum).html()); var unitPrice = parseFloat(isNull($("#unitPrice" + rowNum).val()) ? "0" : $("#unitPrice" + rowNum).val());
//输出金额 //获取单价
$("#amountOfMoney" + rowNum).html((rkNum * unitPrice).toFixed(2)); var amountOfMoney = parseFloat(isNull($("#amountOfMoney" + rowNum).val()) ? "0" : $("#amountOfMoney" + rowNum).val());
allPrice += rkNum * unitPrice; if("rkNum" === showTdByEdit){//数量
//输出金额
$("#amountOfMoney" + rowNum).val((rkNum * unitPrice).toFixed(2));
}else if("unitPrice" === showTdByEdit){//单价
//输出金额
$("#amountOfMoney" + rowNum).val((rkNum * unitPrice).toFixed(2));
}else if("amountOfMoney" === showTdByEdit){//金额
//输出单价
$("#unitPrice" + rowNum).val((amountOfMoney / rkNum).toFixed(2));
}
allPrice += parseFloat($("#amountOfMoney" + rowNum).val());
}); });
$("#allPrice").html(allPrice.toFixed(2)); $("#allPrice").html(allPrice.toFixed(2));
} }
@ -307,6 +328,7 @@ layui.config({
materialId: $("#materialId" + rowNum).val(), materialId: $("#materialId" + rowNum).val(),
mUnitId: $("#unitId" + rowNum).val(), mUnitId: $("#unitId" + rowNum).val(),
rkNum: $("#rkNum" + rowNum).val(), rkNum: $("#rkNum" + rowNum).val(),
estimatePurchasePrice: $("#unitPrice" + rowNum).val(),
thisId: isNull($(item).attr("thisid")) ? "" : $(item).attr("thisid"), thisId: isNull($(item).attr("thisid")) ? "" : $(item).attr("thisid"),
remark: $("#remark" + rowNum).val() remark: $("#remark" + rowNum).val()
}; };
@ -381,6 +403,8 @@ layui.config({
form.render('select'); form.render('select');
form.render('checkbox'); form.render('checkbox');
rowNum++; rowNum++;
//设置根据某列变化的颜色
$("." + showTdByEdit).parent().css({'background-color': '#e6e6e6'});
} }
//删除行 //删除行

View file

@ -95,9 +95,9 @@
<td><select id="{{materialId}}" lay-filter="selectMaterialProperty" lay-search win-verify="required"></select></td> <td><select id="{{materialId}}" lay-filter="selectMaterialProperty" lay-search win-verify="required"></select></td>
<td><select id="{{unitId}}" lay-filter="selectUnitProperty" lay-search win-verify="required"></select></td> <td><select id="{{unitId}}" lay-filter="selectUnitProperty" lay-search win-verify="required"></select></td>
<td id="{{currentTock}}"></td> <td id="{{currentTock}}"></td>
<td><input type="text" class="layui-input rkNum" value="1" id="{{rkNum}}" win-verify="required|number"/></td> <td><input type="text" class="layui-input change-input rkNum" value="1" id="{{rkNum}}" win-verify="required|number"/></td>
<td id="{{unitPrice}}"></td> <td><input type="text" class="layui-input change-input unitPrice" id="{{unitPrice}}" win-verify="required|money"/></td>
<td id="{{amountOfMoney}}"></td> <td><input type="text" class="layui-input change-input amountOfMoney" id="{{amountOfMoney}}" win-verify="required|money"/></td>
<td><input type="text" class="layui-input" id="{{remark}}"/></td> <td><input type="text" class="layui-input" id="{{remark}}"/></td>
</tr> </tr>
</script> </script>

View file

@ -22,9 +22,9 @@
<td><select id="{{materialId}}" lay-filter="selectMaterialProperty" lay-search win-verify="required"></select></td> <td><select id="{{materialId}}" lay-filter="selectMaterialProperty" lay-search win-verify="required"></select></td>
<td><select id="{{unitId}}" lay-filter="selectUnitProperty" lay-search win-verify="required"></select></td> <td><select id="{{unitId}}" lay-filter="selectUnitProperty" lay-search win-verify="required"></select></td>
<td id="{{currentTock}}"></td> <td id="{{currentTock}}"></td>
<td><input type="text" class="layui-input rkNum" value="1" id="{{rkNum}}" win-verify="required|number"/></td> <td><input type="text" class="layui-input change-input rkNum" value="1" id="{{rkNum}}" win-verify="required|number"/></td>
<td id="{{unitPrice}}"></td> <td><input type="text" class="layui-input change-input unitPrice" id="{{unitPrice}}" win-verify="required|money"/></td>
<td id="{{amountOfMoney}}"></td> <td><input type="text" class="layui-input change-input amountOfMoney" id="{{amountOfMoney}}" win-verify="required|money"/></td>
<td><input type="text" class="layui-input" id="{{remark}}"/></td> <td><input type="text" class="layui-input" id="{{remark}}"/></td>
</tr> </tr>
</script> </script>