diff --git a/erp_web/js/common/common.js b/erp_web/js/common/common.js index bd5e071c..7912aec4 100644 --- a/erp_web/js/common/common.js +++ b/erp_web/js/common/common.js @@ -83,7 +83,7 @@ } function dgResize() { var searchTabHeight = $('.box-body').height(); - if($('#tableData').length) { + if($('#tableData') && $('#tableData').length && $('#tableData').datagrid()) { $('#tableData').datagrid('resize', { width: $(window).width() - 6, height: $(window).height() - searchTabHeight -43 diff --git a/erp_web/js/pages/bill/in_out.js b/erp_web/js/pages/bill/in_out.js index ac92b12e..5a76cb05 100644 --- a/erp_web/js/pages/bill/in_out.js +++ b/erp_web/js/pages/bill/in_out.js @@ -6,9 +6,9 @@ var userBusinessList=null; var userdepot=null; var url; + var editIndex = undefined; var depotHeadID = 0; var preTotalPrice = 0; //前一次加载的金额 - var editIndex = undefined; var listTitle = ""; //单据标题 var listType = ""; //入库 出库 var listSubType = ""; //采购 销售等 @@ -233,7 +233,7 @@ }); }, //查找库存的方法 - findStockNumById: function (depotId, meId, monthTime, body, input, ratio, type) { + findStockNumById: function (depotId, meId, monthTime, currentRowDom, input, ratio, type) { var thisRatio = 1; //比例 $.ajax({ url: "/material/findByIdWithBarCode", @@ -290,12 +290,12 @@ } } thisStock = (thisStock / loadRatio).toFixed(2); - body.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", thisStock); //加载库存数据 + currentRowDom.find("[field='Stock']").find(input).val(thisStock).attr("data-stock", thisStock); //加载库存数据 } else { - body.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 + currentRowDom.find("[field='Stock']").find(input).val(0).attr("data-stock", 0); //加载库存数据 } - body.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 + currentRowDom.find("[field='Stock']").find(input).prop("readonly", "readonly"); //设置库存数据为只读 } }, error:function() { @@ -315,19 +315,17 @@ var taxLastMoneyTotal = 0; //金额的合计 body.find("[field='AllPrice']").each(function(){ - if($(this).find("div").text()!==""){ - TotalPrice = TotalPrice + parseFloat($(this).find("div").text().toString()); + if($(this).find("input").val()!==""){ + TotalPrice = TotalPrice + parseFloat($(this).find("input").val().toString()); } }); - TotalPrice = TotalPrice + UnitPrice*OperNumber; footer.find("[field='AllPrice']").find("div").text((TotalPrice).toFixed(2)); //金额的合计 //价税合计的总计 body.find("[field='TaxLastMoney']").each(function(){ - if($(this).find("div").text()!==""){ - taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("div").text().toString())-0); + if($(this).find("input").val()!==""){ + taxLastMoneyTotal = taxLastMoneyTotal + (parseFloat($(this).find("input").val().toString())-0); } }); - taxLastMoneyTotal = taxLastMoneyTotal + (UnitPrice*OperNumber*(1+taxRate/100)); footer.find("[field='TaxLastMoney']").find("div").text((taxLastMoneyTotal).toFixed(2)); //价税合计的页脚总计 var discount = $("#Discount").val(); //优惠率 var discountMoney = (taxLastMoneyTotal*discount/100).toFixed(2); @@ -1052,9 +1050,13 @@ var inputDom = $("#depotHeadFM .panel.datagrid .datagrid-view2 .datagrid-body"); var appendDom = $("#depotHeadDlg #append"); autoJumpNextInput(inputDom, appendDom); //敲回车键自动跳转到下一个文本框 - var body =$("#depotHeadFM .datagrid-body"); - var footer =$("#depotHeadFM .datagrid-footer"); - var input = ".datagrid-editable-input"; + var body =$("#depotHeadFM .datagrid-view2 .datagrid-body"); + var rowDom = body.find(".datagrid-row"); + var footer =$("#depotHeadFM .datagrid-view2 .datagrid-footer"); + var input = "input[type=text]"; + body.find(".datagrid-row").find("input").off("keyup").on("keyup",function(){ + editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index"); + }); body.find("[field='MaterialExtendId']").find(".textbox-text").focus().select(); //默认选择商品框 //点击商品下拉框,自动加载数量、单价、金额 body.find("[field='Stock']").find(input).prop("readonly","readonly"); @@ -1083,82 +1085,89 @@ }); //修改数量,自动计算金额和合计,另外计算含税单价、税额、价税合计 body.find("[field='OperNumber']").find(input).off("keyup").on("keyup",function(){ - var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 - var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index"); + var UnitPrice = rowDom.eq(editIndex).find("[field='UnitPrice']").find(input).val(); //单价 + var taxRate = rowDom.eq(editIndex).find("[field='TaxRate']").find(input).val(); //税率 var OperNumber =$(this).val()-0; //数量 - body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + rowDom.eq(editIndex).find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + rowDom.eq(editIndex).find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + rowDom.eq(editIndex).find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + rowDom.eq(editIndex).find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 self.statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); }); //修改单价,自动计算金额和合计 body.find("[field='UnitPrice']").find(input).off("keyup").on("keyup",function(){ + editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index"); var UnitPrice =$(this).val()-0; //单价 - var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 - body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + var taxRate = rowDom.eq(editIndex).find("[field='TaxRate']").find(input).val(); //税率 + var OperNumber = rowDom.eq(editIndex).find("[field='OperNumber']").find(input).val(); //数量 + rowDom.eq(editIndex).find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + rowDom.eq(editIndex).find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + rowDom.eq(editIndex).find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + rowDom.eq(editIndex).find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 self.statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); }); //修改含税单价,自动计算单价、金额、税额、价税合计和合计 body.find("[field='TaxUnitPrice']").find(input).off("keyup").on("keyup",function(){ + editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index"); var TaxUnitPrice =$(this).val()-0; //含税单价 - var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + var taxRate = rowDom.eq(editIndex).find("[field='TaxRate']").find(input).val(); //税率 var UnitPrice = TaxUnitPrice/(1+taxRate/100); //计算单价 - body.find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 - body.find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + rowDom.eq(editIndex).find("[field='UnitPrice']").find(input).val((UnitPrice).toFixed(2)); //单价 + var OperNumber = currentRowDom.find("[field='OperNumber']").find(input).val(); //数量 + rowDom.eq(editIndex).find("[field='AllPrice']").find(input).val((UnitPrice*OperNumber).toFixed(2)); //金额 + rowDom.eq(editIndex).find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + rowDom.eq(editIndex).find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 self.statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); }); //修改金额,自动计算单价、税额、价税合计和合计 body.find("[field='AllPrice']").find(input).off("keyup").on("keyup",function(){ - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 - var taxRate = body.find("[field='TaxRate']").find(input).val(); //税率 + editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index"); + var OperNumber = rowDom.eq(editIndex).find("[field='OperNumber']").find(input).val(); //数量 + var taxRate = rowDom.eq(editIndex).find("[field='TaxRate']").find(input).val(); //税率 var AllPrice =$(this).val()-0; //金额 var UnitPrice = (AllPrice/OperNumber).toFixed(2); - body.find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + rowDom.eq(editIndex).find("[field='UnitPrice']").find(input).val(UnitPrice); //单价 + rowDom.eq(editIndex).find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + rowDom.eq(editIndex).find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + rowDom.eq(editIndex).find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 self.statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); }); //修改税率,自动计算含税单价、税额、价税合计和合计 body.find("[field='TaxRate']").find(input).off("keyup").on("keyup",function(){ + editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index"); var taxRate =$(this).val()-0; //税率 - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 - var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + var OperNumber = rowDom.eq(editIndex).find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = rowDom.eq(editIndex).find("[field='UnitPrice']").find(input).val(); //单价 + rowDom.eq(editIndex).find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + rowDom.eq(editIndex).find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + rowDom.eq(editIndex).find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 self.statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); }); //修改税额,自动计算税率、含税单价、价税合计和合计 body.find("[field='TaxMoney']").find(input).off("keyup").on("keyup",function(){ + editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index"); var taxMoney =$(this).val()-0; //税额 - var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var AllPrice = rowDom.eq(editIndex).find("[field='AllPrice']").find(input).val(); //金额 var taxRate = taxMoney/AllPrice*100; //税率 - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 - var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 - body.find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 + var OperNumber = rowDom.eq(editIndex).find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = rowDom.eq(editIndex).find("[field='UnitPrice']").find(input).val(); //单价 + rowDom.eq(editIndex).find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + rowDom.eq(editIndex).find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + rowDom.eq(editIndex).find("[field='TaxLastMoney']").find(input).val((UnitPrice*OperNumber*(1+taxRate/100)).toFixed(2)); //价税合计 self.statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); }); //修改价税合计,自动计算税率、含税单价、税额和合计 body.find("[field='TaxLastMoney']").find(input).off("keyup").on("keyup",function(){ + editIndex = $(this).closest(".datagrid-row").attr("datagrid-row-index"); var taxLastMoney =$(this).val()-0; //价税合计 - var AllPrice = body.find("[field='AllPrice']").find(input).val(); //金额 + var AllPrice = rowDom.eq(editIndex).find("[field='AllPrice']").find(input).val(); //金额 var taxRate = (taxLastMoney-AllPrice)/AllPrice*100; //税率 - var OperNumber = body.find("[field='OperNumber']").find(input).val(); //数量 - var UnitPrice = body.find("[field='UnitPrice']").find(input).val(); //单价 - body.find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 - body.find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 + var OperNumber = rowDom.eq(editIndex).find("[field='OperNumber']").find(input).val(); //数量 + var UnitPrice = rowDom.eq(editIndex).find("[field='UnitPrice']").find(input).val(); //单价 + rowDom.eq(editIndex).find("[field='TaxUnitPrice']").find(input).val((UnitPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + rowDom.eq(editIndex).find("[field='TaxRate']").find(input).val((taxRate).toFixed(2)); //税率 + rowDom.eq(editIndex).find("[field='TaxMoney']").find(input).val((UnitPrice*OperNumber*(taxRate/100)).toFixed(2)); //税额 self.statisticsFun(body,UnitPrice,OperNumber,footer,taxRate); }); //默认税率为0 @@ -1167,7 +1176,7 @@ taxRateDom.val(0); } //在商品类型加载 组装件、普通子件 - var mType = body.find("[field='MType']"); + var mType = rowDom.eq(editIndex).find("[field='MType']"); var rowListLength = mType.find(input).closest(".datagrid-row").attr("datagrid-row-index"); var mTypeValue = "组合件"; if(rowListLength > 0){ @@ -1180,39 +1189,30 @@ }, //新增明细 append: function () { - if (endEditing()) { - $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); - editIndex = $('#materialData').datagrid('getRows').length - 1; - $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); - this.autoReckon(); - } + $('#materialData').datagrid('appendRow', {DepotId:defDepotId}); + editIndex = $('#materialData').datagrid('getRows').length - 1; + $('#materialData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex); + this.autoReckon(); }, //批量删除明细 batchDel: function () { - /** - * 1、删除之前必须先调用endEditing结束编辑 - * 2、如果只是调用endEditing结束编辑那么正在编辑行的被选中状态会被去掉 - * 所以要在调用endEditing先获取选中的行 - */ var self = this; var row = $('#materialData').datagrid('getChecked'); - if (endEditing()) { - if (row.length == 0) { - $.messager.alert('删除提示', '没有记录被选中!', 'info'); - return; - } - if (row.length > 0) { - $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { - if (r) { - var body =$("#depotHeadFM .datagrid-body"); - var footer =$("#depotHeadFM .datagrid-footer"); - for (var i = 0; i < row.length; i++) { - $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); - self.statisticsFun(body,0,0,footer,0); - } + if (row.length == 0) { + $.messager.alert('删除提示', '没有记录被选中!', 'info'); + return; + } + if (row.length > 0) { + $.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条单据信息吗?', function (r) { + if (r) { + var body =$("#depotHeadFM .datagrid-body"); + var footer =$("#depotHeadFM .datagrid-footer"); + for (var i = 0; i < row.length; i++) { + $('#materialData').datagrid('deleteRow', $('#materialData').datagrid("getRowIndex", row[i])); + self.statisticsFun(body,0,0,footer,0); } - }); - } + } + }); } }, //单行删除明细 @@ -1240,8 +1240,6 @@ }, //判断明细 CheckData: function (type) { - this.append(); - this.removeit(); var change = $('#materialData').datagrid('getChanges').length; if(type =="add" && !change) { $.messager.alert('提示','请输入明细信息!','warning'); @@ -1288,11 +1286,12 @@ var wholesaleDecimal = info.wholesaleDecimal-0; //销售价 var lowDecimal = info.lowDecimal-0; //最低售价 var commodityUnit = info.commodityUnit; //商品单位 - body =$("#depotHeadFM .datagrid-body"); - footer =$("#depotHeadFM .datagrid-footer"); - input = ".datagrid-editable-input"; - body.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 - body.find("[field='Unit']").find(input).val(commodityUnit); //设置单位 + body =$("#depotHeadFM .datagrid-view2 .datagrid-body"); + footer =$("#depotHeadFM .datagrid-view2 .datagrid-footer"); + input = "input[type=text]"; + var currentRowDom = body.find(".datagrid-row").eq(editIndex); + currentRowDom.find("[field='Unit']").find(input).prop("readonly","readonly"); //设置计量单位为只读 + currentRowDom.find("[field='Unit']").find(input).val(commodityUnit); //设置单位 if(info.unit){ //如果存在计量单位信息 ratio = 1; //重置比例为1 loadRatio = ratio; @@ -1328,20 +1327,20 @@ detailPrice = 0; } var operNumber = 1; - body.find("[field='OperNumber']").find(input).val(operNumber); //数量初始化 - body.find("[field='UnitPrice']").find(input).val(detailPrice); - body.find("[field='AllPrice']").find(input).val(detailPrice); - var taxRate = body.find("[field='TaxRate']").find(input).val()-0; //获取税率 - body.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 - body.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 - body.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 + currentRowDom.find("[field='OperNumber']").find(input).val(operNumber).focus().select(); //数量初始化 + currentRowDom.find("[field='UnitPrice']").find(input).val(detailPrice); + currentRowDom.find("[field='AllPrice']").find(input).val(detailPrice); + var taxRate = currentRowDom.find("[field='TaxRate']").find(input).val()-0; //获取税率 + currentRowDom.find("[field='TaxUnitPrice']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //含税单价 + currentRowDom.find("[field='TaxMoney']").find(input).val((detailPrice*(taxRate/100)).toFixed(2)); //税额 + currentRowDom.find("[field='TaxLastMoney']").find(input).val((detailPrice*(1+taxRate/100)).toFixed(2)); //价税合计 self.statisticsFun(body,detailPrice,1,footer,taxRate); //查询库存信息 - var depotId = body.find("[field='DepotId']").find(".textbox-value").val(); + var depotId = currentRowDom.find("[field='DepotId']").find(".textbox-value").val(); if(depotId) { var type = "select"; //type 类型:点击 click,选择 select - self.findStockNumById(depotId, meId, monthTime, body, input, loadRatio, type); + self.findStockNumById(depotId, meId, monthTime, currentRowDom, input, loadRatio, type); } } }, @@ -1351,12 +1350,20 @@ }); } }, + //结束全部的编辑 + endAllEdit: function(){ + var rowLen = $("#materialData").datagrid('getRows').length; + for(var i=0; i>>>>>>>>>>>>>>>>>>设置基础数量异常", e); - } - } - if (StringUtil.isExist(tempUpdatedJson.get("UnitPrice"))) { - depotItem.setUnitPrice(tempUpdatedJson.getBigDecimal("UnitPrice")); - } - if (StringUtil.isExist(tempUpdatedJson.get("TaxUnitPrice"))) { - depotItem.setTaxUnitPrice(tempUpdatedJson.getBigDecimal("TaxUnitPrice")); - } - if (StringUtil.isExist(tempUpdatedJson.get("AllPrice"))) { - depotItem.setAllPrice(tempUpdatedJson.getBigDecimal("AllPrice")); - } - depotItem.setRemark(tempUpdatedJson.getString("Remark")); - if (tempUpdatedJson.get("DepotId") != null && StringUtil.isExist(tempUpdatedJson.get("DepotId"))) { - depotItem.setDepotId(tempUpdatedJson.getLong("DepotId")); - } - if (tempUpdatedJson.get("AnotherDepotId") != null && StringUtil.isExist(tempUpdatedJson.get("AnotherDepotId"))) { - depotItem.setAnotherDepotId(tempUpdatedJson.getLong("AnotherDepotId")); - } - if (StringUtil.isExist(tempUpdatedJson.get("TaxRate"))) { - depotItem.setTaxRate(tempUpdatedJson.getBigDecimal("TaxRate")); - } - if (StringUtil.isExist(tempUpdatedJson.get("TaxMoney"))) { - depotItem.setTaxMoney(tempUpdatedJson.getBigDecimal("TaxMoney")); - } - if (StringUtil.isExist(tempUpdatedJson.get("TaxLastMoney"))) { - depotItem.setTaxLastMoney(tempUpdatedJson.getBigDecimal("TaxLastMoney")); - } - depotItem.setOtherField1(tempUpdatedJson.getString("OtherField1")); - depotItem.setOtherField2(tempUpdatedJson.getString("OtherField2")); - depotItem.setOtherField3(tempUpdatedJson.getString("OtherField3")); - depotItem.setOtherField4(tempUpdatedJson.getString("OtherField4")); - depotItem.setOtherField5(tempUpdatedJson.getString("OtherField5")); - depotItem.setMaterialType(tempUpdatedJson.getString("MType")); - /** - * create by: qiankunpingtai - * create time: 2019/3/25 15:18 - * website:https://qiankunpingtai.cn - * description: - * 修改了商品类型时,库中的商品和页面传递的不同 - * 这里需要重新获取页面传递的商品信息 - */ - if(!material.getId().equals(depotItem.getMaterialId())){ - material= materialService.getMaterial(depotItem.getMaterialId()); - if(material==null){ - continue; - } - } - /**出库时处理序列号*/ - if(BusinessConstants.DEPOTHEAD_TYPE_OUT.equals(depotHead.getType())){ - BigDecimal stock = getStockByParam(depotItem.getDepotId(),depotItem.getMaterialId(),null,null,tenantId); - BigDecimal thisBasicNumber = depotItem.getBasicNumber()==null?BigDecimal.ZERO:depotItem.getBasicNumber(); - if(systemConfigService.getMinusStockFlag() == false && stock.compareTo(thisBasicNumber)<0){ - throw new BusinessRunTimeException(ExceptionConstants.MATERIAL_STOCK_NOT_ENOUGH_CODE, - String.format(ExceptionConstants.MATERIAL_STOCK_NOT_ENOUGH_MSG,material==null?"":material.getName())); - } - if(!BusinessConstants.SUB_TYPE_TRANSFER.equals(depotHead.getSubType())) { - /** - * 判断商品是否开启序列号,开启的收回序列号,未开启的跳过 - * */ - if(BusinessConstants.ENABLE_SERIAL_NUMBER_ENABLED.equals(material.getEnableSerialNumber())) { - //查询单据子表中开启序列号的数据列表 - serialNumberService.checkAndUpdateSerialNumber(depotItem, userInfo); - } - } - } - this.updateDepotItemWithObj(depotItem); - //更新当前库存 - updateCurrentStock(depotItem,tenantId); - } - } return null; } /** @@ -621,6 +468,17 @@ public class DepotItemService { return unitName; } + @Transactional(value = "transactionManager", rollbackFor = Exception.class) + public void deleteDepotItemHeadId(Long headerId)throws Exception { + DepotItemExample example = new DepotItemExample(); + example.createCriteria().andHeaderIdEqualTo(headerId); + try{ + depotItemMapper.deleteByExample(example); + }catch(Exception e){ + JshException.writeFail(logger, e); + } + } + @Transactional(value = "transactionManager", rollbackFor = Exception.class) public int batchDeleteDepotItemByIds(String ids)throws Exception { User userInfo=userService.getCurrentUser();