Index: ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java =================================================================== diff -u -r28350 -r28351 --- ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java (.../InvoiceOptimizeManagerImpl.java) (revision 28350) +++ ssts-invoice/src/main/java/com/forgon/disinfectsystem/invoicemanager/service/InvoiceOptimizeManagerImpl.java (.../InvoiceOptimizeManagerImpl.java) (revision 28351) @@ -5126,8 +5126,6 @@ String idColumnName,String idColumnValue, List disposableGoodsStorageAdjustVoTotalList){ List> tousseInstanceUpdateMapList = new ArrayList>(); - //包实例对应的申请项map - Map tousseInstanceToTousseItemMap = new HashMap(); for (Entry>> entry : tousseItemToTdToTiListMapMap.entrySet()) { TousseItem tousseItem = entry.getKey(); InvoicePlan invoicePlan = tousseItem.getInvoicePlan(); @@ -5156,44 +5154,37 @@ tousseInstanceUpdateMap.put("invoiceserialNumber", invoice.getSerialNumber()); tousseInstanceUpdateMap.put("id", tousseInstance.getId()); tousseInstanceUpdateMap.put("status", statusAfterInvoice); + + tousseInstanceUpdateMap.put("settleAccountsDepart", invoicePlan.getSettleAccountsDepart()); + tousseInstanceUpdateMap.put("settleAccountsDepartCoding", invoicePlan.getSettleAccountsDepartCoding()); tousseInstanceUpdateMapList.add(tousseInstanceUpdateMap); - //包实例对应的申请项 - TousseItem tousseItemOfTousseInstanceMapping = tousseInstanceToTousseItemMap.get(tousseInstance); - if(tousseItemOfTousseInstanceMapping != null){ - InvoicePlan invoicePlanOfTousseInstanceMapping = tousseItemOfTousseInstanceMapping.getInvoicePlan(); - if(invoicePlanOfTousseInstanceMapping != null){ - tousseInstanceUpdateMap.put("settleAccountsDepart", invoicePlanOfTousseInstanceMapping.getSettleAccountsDepart()); - tousseInstanceUpdateMap.put("settleAccountsDepartCoding", invoicePlanOfTousseInstanceMapping.getSettleAccountsDepartCoding()); - } - } - tousseInstanceToTousseItemMap.put(tousseInstance, tousseItem); } } } if(CollectionUtils.isNotEmpty(tousseInstanceUpdateMapList)){ String sender = params.optString("sender"); - //(如果invoice_id不为null,表示二次发货,一次发货的几个字段不设值,二次发货的不设值) + //(如果invoice_id不为null,表示二次发货,一次发货的几个字段不设值,二次发货的需要设值) String updateTousseInstanceBatchSql = String.format( - "update %s set location='%s',locationForDisplay='%s'," - + "wareHouseId=%s,wareHouseName='%s'," + "update %s set wareHouseId=%s,wareHouseName='%s'," + "invoice_id=(case when invoice_id is null then ? else invoice_id end)," + + "location=(case when invoice_id is null then '%s' else location end)," + + "locationForDisplay=(case when invoice_id is null then '%s' else locationForDisplay end)," + "invoiceSender=(case when invoice_id is null then '%s' else invoiceSender end)," + "invoiceSendTime=(case when invoice_id is null then %s else invoiceSendTime end)," + "invoiceserialNumber=?,status=?," + "settleAccountsDepart=(case when invoice_id is null then ? else settleAccountsDepart end)," + "settleAccountsDepartCode=(case when invoice_id is null then ? else settleAccountsDepartCode end)," + "invoice2_id=(case when invoice_id is null then null else ? end)," + + "location_2=(case when invoice_id is null then null else '%s' end)," + + "locationForDisplay2=(case when invoice_id is null then null else '%s' end)," + "settleAccountsDepart2=(case when invoice_id is null then null else ? end), " + "settleAccountsDepartCode2=(case when invoice_id is null then null else ? end)," + "invoiceSender2=(case when invoice_id is null then null else '%s' end)," + "invoiceSendTime2=(case when invoice_id is null then null else %s end)" + "where id=?", - TousseInstance.class.getSimpleName(), - orgUnit.getOrgUnitCoding(),orgUnit.getName(), - targetWarehouse.getId(),targetWarehouse.getName(),sender, - dateQueryAdapter.dateAdapter(currentDateTime), - - sender,dateQueryAdapter.dateAdapter(currentDateTime)); + TousseInstance.class.getSimpleName(),targetWarehouse.getId(),targetWarehouse.getName(), + orgUnit.getOrgUnitCoding(),orgUnit.getName(),sender,dateQueryAdapter.dateAdapter(currentDateTime), + orgUnit.getOrgUnitCoding(),orgUnit.getName(),sender,dateQueryAdapter.dateAdapter(currentDateTime)); jdbcTemplate.batchUpdate(updateTousseInstanceBatchSql, new BatchPreparedStatementSetter() { @Override