取消回写发票号

This commit is contained in:
lihao 2025-05-21 15:59:04 +08:00
parent dd97474435
commit dca3a1ec9e
5 changed files with 38 additions and 37 deletions

View File

@ -128,16 +128,12 @@ public class GatheringAddAfterListenerAction {
for(IDataFromF2ForM30 data : datas) { for(IDataFromF2ForM30 data : datas) {
if (!ccustomerid.equals(data.getPayBillOrderCust())) { if (!ccustomerid.equals(data.getPayBillOrderCust())) {
if(!data.getFirstBillType().equals("30") ){
throw new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0", "04006011-0193", (String)null, new String[]{head.getVbillcode()})); throw new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0", "04006011-0193", (String)null, new String[]{head.getVbillcode()}));
} }
}
if (!cinvoicecustid.equals(data.getPayBillCustomer())) { if (!cinvoicecustid.equals(data.getPayBillCustomer())) {
if(!data.getFirstBillType().equals("30") ){
throw new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0", "04006011-0194", (String)null, new String[]{head.getVbillcode()})); throw new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0", "04006011-0194", (String)null, new String[]{head.getVbillcode()}));
} }
}
if (!corigcurrencyid.equals(data.getPayBillCurID())) { if (!corigcurrencyid.equals(data.getPayBillCurID())) {
throw new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0", "04006011-0195", (String)null, new String[]{head.getVbillcode()})); throw new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0", "04006011-0195", (String)null, new String[]{head.getVbillcode()}));
@ -148,11 +144,9 @@ public class GatheringAddAfterListenerAction {
} }
if (MathTool.isDiffSign(ntotalorigmny, data.getPayBillmny())) { if (MathTool.isDiffSign(ntotalorigmny, data.getPayBillmny())) {
if(!data.getFirstBillType().equals("30") ) {;
throw new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0", "04006011-0412")); throw new BusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4006011_0", "04006011-0412"));
} }
} }
}
} }
@ -297,9 +291,9 @@ public class GatheringAddAfterListenerAction {
for(Map.Entry<String, Collection<IDataFromF2ForM30>> entry : dataMap.entrySet()) { for(Map.Entry<String, Collection<IDataFromF2ForM30>> entry : dataMap.entrySet()) {
if (csaleorderidSet.contains(entry.getKey())) { if (csaleorderidSet.contains(entry.getKey())) {
this.updateDataMap.put((String)entry.getKey(), (Collection)entry.getValue()); this.updateDataMap.put(entry.getKey(), entry.getValue());
} else { } else {
this.insertDataMap.put((String)entry.getKey(), (Collection)entry.getValue()); this.insertDataMap.put(entry.getKey(), entry.getValue());
} }
} }

View File

@ -121,26 +121,33 @@ public JSONString ClosesoUpdateBL(JSONString json) {
// for (Map<String,Object> row : operationresult) { // for (Map<String,Object> row : operationresult) {
// operationId = (String) row.get("bd.pk_defdoc"); // operationId = (String) row.get("bd.pk_defdoc");
// } // }
operationId = (String) valList.get("ID"); operationId = (String) valList.get("id");
if (operationId == null) {
errojson.put("status", "0");
errojson.put("message", "操作类型不存在");
errojson.put("codeList", null);
// 返回表示操作成功的JSON字符串
return ResultMessageUtil.toJSON(errojson);
}
for (int i = 0; i < array.size(); i++) { for (int i = 0; i < array.size(); i++) {
Map item = (Map) array.get(i); Map item = (Map) array.get(i);
String vctcode = (String) item.getOrDefault("vctcode", ""); String vctcode = (String) item.getOrDefault("vctcode", "");
// updateSql = " UPDATE so_saleorder h" + updateSql = " UPDATE so_saleorder h" +
// " SET h.vdef1 = '" + operationId + "' , h.vdef19 = '"+json.toJSONString() +"' '"+ " SET h.vdef1 = '" + operationId + "' "+
// " WHERE EXISTS (" + " WHERE EXISTS (" +
// " SELECT 1" + " SELECT 1" +
// " FROM so_saleorder_b b" + " FROM so_saleorder_b b" +
// " left join bd_defdoc hbd on hbd.pk_defdoc=b.vbdef1 "+ " left join bd_defdoc hbd on hbd.pk_defdoc=b.vbdef1 "+
// " WHERE b.csaleorderid = h.csaleorderid" + " WHERE b.csaleorderid = h.csaleorderid" +
// " AND hbd.code = '" + vctcode + "' " + " AND hbd.code = '" + vctcode + "' " +
// " );"; " );";
// updateSql = " UPDATE so_saleorder h" + // updateSql = " UPDATE so_saleorder h" +
// " SET h.vdef19 = '" + json.toJSONString() + "' " + // " SET h.vdef19 = '" + json.toJSONString() + "' " +
// " WHERE h.vdef6 = '" + "ZKWEQ0400425" + "' " + " ;"; // " WHERE h.vdef6 = '" + "ZKWEQ0400425" + "' " + " ;";
updateSql = " UPDATE so_saleorder h" + // updateSql = " UPDATE so_saleorder h" +
" SET h.vdef1 = '" + operationId + "' , h.vdef19 = '"+json.toJSONString() +"' '"+ // " SET h.vdef1 = '" + operationId + "' , h.vdef19 = '"+json.toJSONString() +"' '"+
" WHERE h.vdef6 = '" + vctcode + "' " + " ;"; // " WHERE h.vdef6 = '" + result.get(0)[0]+ "' " + " ;";
// ÑéÖ¤operation×ÖÎÊÇ·ñ´æÔÚ // ÑéÖ¤operation×ÖÎÊÇ·ñ´æÔÚ
if (vctcode == null) { if (vctcode == null) {
return ResultMessageUtil.exceptionToJSON(new NullPointerException("vctcode:null")); return ResultMessageUtil.exceptionToJSON(new NullPointerException("vctcode:null"));
@ -151,7 +158,7 @@ public JSONString ClosesoUpdateBL(JSONString json) {
+ "left join org_salesorg o on h.pk_org=o.pk_salesorg " + "left join org_salesorg o on h.pk_org=o.pk_salesorg "
+" left join bd_defdoc hbd on hbd.pk_defdoc=b.vbdef1 "+ +" left join bd_defdoc hbd on hbd.pk_defdoc=b.vbdef1 "+
"where h.vdef6='" + vctcode + "' "; "where hbd.code='" + vctcode + "' ";
List<Object[]> result = (List<Object[]>) getQueryService().executeQuery(sql, new ArrayListProcessor()); List<Object[]> result = (List<Object[]>) getQueryService().executeQuery(sql, new ArrayListProcessor());
if (result == null || result.size() == 0) { if (result == null || result.size() == 0) {
errojson.put("status", "0"); errojson.put("status", "0");

View File

@ -126,10 +126,10 @@ public class DataChangeLogic {
for (int i = 0; i < rows.length; ++i) { for (int i = 0; i < rows.length; ++i) {
String materialPk = (String) rows[i].getCell("pk_materiel").getValue(); String materialPk = (String) rows[i].getCell("pk_materiel").getValue();
// gridPrecisionOperator.addNumPrecision("xmsl", i, (String)materialMeasdocMap.get(materialPk)); // gridPrecisionOperator.addNumPrecision("xmsl", i, (String)materialMeasdocMap.get(materialPk));
gridPrecisionOperator.addNumPrecision("caninvoice_xmsl", i, (String) materialMeasdocMap.get(materialPk)); // gridPrecisionOperator.addNumPrecision("caninvoice_xmsl", i, (String) materialMeasdocMap.get(materialPk));
gridPrecisionOperator.addNumPrecision("invoiceing_xmsl", i, (String) materialMeasdocMap.get(materialPk)); // gridPrecisionOperator.addNumPrecision("invoiceing_xmsl", i, (String) materialMeasdocMap.get(materialPk));
gridPrecisionOperator.addNumPrecision("invoiced_xmsl", i, (String) materialMeasdocMap.get(materialPk)); // gridPrecisionOperator.addNumPrecision("invoiced_xmsl", i, (String) materialMeasdocMap.get(materialPk));
gridPrecisionOperator.addCurrencyPricePrecision("xmdj", i, orgLocalCurrPK); // gridPrecisionOperator.addCurrencyPricePrecision("xmdj", i, orgLocalCurrPK);
} }
gridPrecisionOperator.processPrecision(); gridPrecisionOperator.processPrecision();
@ -188,10 +188,10 @@ public class DataChangeLogic {
for (int i = 0; i < rows.length; ++i) { for (int i = 0; i < rows.length; ++i) {
String materialPk = (String) rows[i].getCell("pk_materiel").getValue(); String materialPk = (String) rows[i].getCell("pk_materiel").getValue();
// gridPrecisionOperator.addNumPrecision("xmsl", i, (String)materialMeasdocMap.get(materialPk)); // gridPrecisionOperator.addNumPrecision("xmsl", i, (String)materialMeasdocMap.get(materialPk));
gridPrecisionOperator.addNumPrecision("caninvoice_xmsl", i, (String) materialMeasdocMap.get(materialPk)); // gridPrecisionOperator.addNumPrecision("caninvoice_xmsl", i, (String) materialMeasdocMap.get(materialPk));
gridPrecisionOperator.addNumPrecision("invoiced_xmsl", i, (String) materialMeasdocMap.get(materialPk)); // gridPrecisionOperator.addNumPrecision("invoiced_xmsl", i, (String) materialMeasdocMap.get(materialPk));
gridPrecisionOperator.addNumPrecision("invoiceing_xmsl", i, (String) materialMeasdocMap.get(materialPk)); // gridPrecisionOperator.addNumPrecision("invoiceing_xmsl", i, (String) materialMeasdocMap.get(materialPk));
gridPrecisionOperator.addCurrencyPricePrecision("xmdj", i, orgLocalCurrPK); // gridPrecisionOperator.addCurrencyPricePrecision("xmdj", i, orgLocalCurrPK);
} }
gridPrecisionOperator.processPrecision(); gridPrecisionOperator.processPrecision();

View File

@ -1360,7 +1360,7 @@ public class InvoiceTransferUtil {
pinvoice.setZnj(headvo.getZnj() == null ? null : getUFDoubleToBigDecimal(headvo.getZnj()).setScale(2, UFDouble.ROUND_HALF_UP)); pinvoice.setZnj(headvo.getZnj() == null ? null : getUFDoubleToBigDecimal(headvo.getZnj()).setScale(2, UFDouble.ROUND_HALF_UP));
pinvoice.setJehj(headvo.getJehj() == null ? null : getUFDoubleToBigDecimal(headvo.getJehj()).setScale(2, UFDouble.ROUND_HALF_UP)); pinvoice.setJehj(headvo.getJehj() == null ? null : getUFDoubleToBigDecimal(headvo.getJehj()).setScale(2, UFDouble.ROUND_HALF_UP));
pinvoice.setCjh(headvo.getCjh()); pinvoice.setCjh(headvo.getCjh());
pinvoice.setKqysssxbgglbm(headvo.getKqysssxbgglbm()); // pinvoice.setKqysssxbgglbm(headvo.getKqysssxbgglbm());
return pinvoice; return pinvoice;
} }

View File

@ -31,7 +31,7 @@ public class InvoiceTaskPlugin implements IBackgroundWorkPlugin{
" left join sscivm_ivapplog on sscivm_ivapplog.fphm = sscivm_invoice.fphm " + " left join sscivm_ivapplog on sscivm_ivapplog.fphm = sscivm_invoice.fphm " +
" where " + " where " +
" sscivm_invoice_relation.billtype = '32' " + " sscivm_invoice_relation.billtype = '32' " +
" and so_saleinvoice.vdef20 <> 'Y' " + " and (so_saleinvoice.vdef20 <> 'Y' OR so_saleinvoice.vdef13 IS NULL OR so_saleinvoice.vdef13='~' ) " +
" and sscivm_invoice.dr = 0 " + " and sscivm_invoice.dr = 0 " +
" and sscivm_ivapplog.kpzt = 2 "; " and sscivm_ivapplog.kpzt = 2 ";
// + " so_saleinvoice.vbillcode = 'SI2024070400000738' "; // + " so_saleinvoice.vbillcode = 'SI2024070400000738' ";
@ -76,10 +76,10 @@ public class InvoiceTaskPlugin implements IBackgroundWorkPlugin{
// Logger.error("---sirSqlExecute------"+sirSql); // Logger.error("---sirSqlExecute------"+sirSql);
//ERP销售发票回传根据销售发票id回写发票号和单据编号 //ERP销售发票回传根据销售发票id回写发票号和单据编号
// String sSaleSql = "UPDATE so_saleinvoice set vdef20 = 'Y' , vdef13 = '" + fphm + "', vbillcode = '" + fphm +"' where csaleinvoiceid = '" + csaleinvoiceid + "'"; // String sSaleSql = "UPDATE so_saleinvoice set vdef20 = 'Y' , vdef13 = '" + fphm + "', vbillcode = '" + fphm +"' where csaleinvoiceid = '" + csaleinvoiceid + "'";
String sSaleSql = "UPDATE so_saleinvoice set vdef20 = 'Y' , vdef13 = '" + fphm + "' where csaleinvoiceid = '" + csaleinvoiceid + "'"; // String sSaleSql = "UPDATE so_saleinvoice set vdef20 = 'Y' , vdef13 = '" + fphm + "' where csaleinvoiceid = '" + csaleinvoiceid + "'";
dao.executeUpdate(sSaleSql); // dao.executeUpdate(sSaleSql);
Logger.error("---sSaleSqlExecute------"+sSaleSql); // Logger.error("---sSaleSqlExecute------"+sSaleSql);
//根据销售发票id 回写下游应收单表头发票号 //根据销售发票id 回写下游应收单表头发票号
String recBillSql = "MERGE INTO ar_recbill a USING (select DISTINCT pk_recbill,top_billid,top_billtype from ar_recitem) b ON ( a.pk_recbill = b.pk_recbill AND b.top_billid = '" + csaleinvoiceid + "' AND b.top_billtype = '32' ) \n" + String recBillSql = "MERGE INTO ar_recbill a USING (select DISTINCT pk_recbill,top_billid,top_billtype from ar_recitem) b ON ( a.pk_recbill = b.pk_recbill AND b.top_billid = '" + csaleinvoiceid + "' AND b.top_billtype = '32' ) \n" +
"WHEN MATCHED THEN\n" + "WHEN MATCHED THEN\n" +