|
|
@@ -61,10 +61,11 @@ public class ERPServiceImpl implements ERPService {
|
|
|
//Object tab_ma=baseDao.getFieldDataByCondition("enterprise","EN_WHICHSYSTEM","1=1");
|
|
|
SqlRowList rs_main = baseDao.queryForRowSet("select * from invoiceOrder left join customer on io_cucode=cu_code where io_id="+id);
|
|
|
if(rs_main.next()){
|
|
|
+ String autoInvoiceFlag= baseDao.isDBSetting("InvoiceOrder", "autoInvoice")?"true":"false";
|
|
|
//数据组装
|
|
|
InvoiceOrderDTO invoiceOrderDTO=new InvoiceOrderDTO();
|
|
|
invoiceOrderDTO.setOrderType("1");
|
|
|
- invoiceOrderDTO.setAutoInvoiceFlag("false");//自动开票
|
|
|
+ invoiceOrderDTO.setAutoInvoiceFlag(autoInvoiceFlag );//自动开票
|
|
|
invoiceOrderDTO.setRepeatCall("0");
|
|
|
|
|
|
OrderDTO orderDTO=new OrderDTO();
|
|
|
@@ -72,7 +73,7 @@ public class ERPServiceImpl implements ERPService {
|
|
|
orderDTO.setAddDate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(rs_main.getDate("io_date")));
|
|
|
orderDTO.setInvoiceLine(rs_main.getGeneralString("io_invoiceline"));
|
|
|
orderDTO.setSpecificFactor("0");
|
|
|
- orderDTO.setSaleTaxNum(donlimConfig.getTaxnum());
|
|
|
+ orderDTO.setSaleTaxNum(donlimConfig.getTaxnum());//
|
|
|
orderDTO.setBuyerName(rs_main.getGeneralString("cu_name"));//客户名称
|
|
|
orderDTO.setTaxNum(rs_main.getGeneralString("cu_taxid").trim());//购方税号
|
|
|
orderDTO.setAccount(rs_main.getGeneralString("cu_bankaccount"));
|
|
|
@@ -212,4 +213,62 @@ public class ERPServiceImpl implements ERPService {
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> cancelInvoiceOrder(String master, int id) {
|
|
|
+ Map<String, Object> map = new HashMap<String, Object>();
|
|
|
+ Object[] obs=baseDao.getFieldsDataByCondition("YITOA_DATACENTER.dock_invoice_config",new String[]{"appKey","appSecret","token","taxnum"},"username='"+master+"'");
|
|
|
+ if(obs==null){
|
|
|
+ return null;//对接信息为配置
|
|
|
+ }
|
|
|
+ String url=donlimConfig.getRoute();
|
|
|
+ System.out.println(url);
|
|
|
+ String appKey = donlimConfig.getAppKey();
|
|
|
+ String appSecret = donlimConfig.getAppSecret();
|
|
|
+ String token = donlimConfig.getToken();
|
|
|
+ String taxnum= donlimConfig.getTaxnum();
|
|
|
+ if(donlimConfig.isProd()){
|
|
|
+ System.out.println("prod");
|
|
|
+ appKey = obs[0].toString();
|
|
|
+ appSecret = obs[1].toString();
|
|
|
+ token = obs[2].toString();// 访问令牌
|
|
|
+ taxnum = obs[3].toString();// 授权企业税号
|
|
|
+ }else{
|
|
|
+ System.out.println("dev");
|
|
|
+ }
|
|
|
+ SpObserver.putSp(master);
|
|
|
+ SqlRowList rs_main = baseDao.queryForRowSet("select * from invoiceOrder left join customer on io_cucode=cu_code where io_id="+id);
|
|
|
+ if(rs_main.next()){
|
|
|
+ String code= rs_main.getGeneralString("io_code");
|
|
|
+ Map<String,String> reqParam=new HashMap<>();
|
|
|
+ reqParam.put("originalOrderNo",code);
|
|
|
+ reqParam.put("saleTaxNum",taxnum);
|
|
|
+
|
|
|
+ String content=JSONArray.toJSONString(reqParam);
|
|
|
+ NNOpenSDK sdk = NNOpenSDK.getIntance();
|
|
|
+ String method = "nuonuo.OpeMplatform.deleteOrder"; // API方法名
|
|
|
+ String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,32位随机码,无需修改,保持默认即可
|
|
|
+ String result = sdk.sendPostSyncRequest(url, senid, appKey, appSecret, token, taxnum, method, content);
|
|
|
+ Map<Object, Object> res=JSONUtil.toMap(result);
|
|
|
+ System.out.println(result);
|
|
|
+ Object status=res.get("status");
|
|
|
+ Object message=res.get("message");
|
|
|
+ if(status !=null && "0000".equals(status.toString())){//调用成功
|
|
|
+ baseDao.execute("update invoiceOrder set io_dockstatus='' where io_id="+id);
|
|
|
+ baseDao.execute("insert into invoicedockLog(id_,code_,date_,result_,err_,keyvalue_)values(invoicedockLog_seq.nextval,'开票订单删除',sysdate,'SUCCEED','',"+id+") ");
|
|
|
+ map.put("success", true);
|
|
|
+ map.put("message", message);
|
|
|
+ }else{
|
|
|
+ baseDao.execute("update invoiceOrder set io_dockstatus='取消失败' where io_id="+id);
|
|
|
+ baseDao.execute("insert into invoicedockLog(id_,code_,date_,result_,err_,keyvalue_)values(invoicedockLog_seq.nextval,'开票订单删除',sysdate,'FAILED','("+status+")"+message+"',"+id+") ");
|
|
|
+ map.put("success", false);
|
|
|
+ map.put("message", "("+status+")"+message);
|
|
|
+ }
|
|
|
+ logger.info("pushInvoiceOrder master {} ,id {} status {} message {}",master,id,status,message);
|
|
|
+ return map;
|
|
|
+ }else{//数据无效
|
|
|
+ logger.info("findOrderState err {对接源信息无效} ,master {} , id {} status {} message {}",master,id);
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
}
|