cxf java调用.net_CXF在项目中的真实运用--WS访问客户端编写[java、.net]

一、首先,CXF的WS实现类由于实现了和Spring的无缝集成,因此可以采用Spring的单元测试来测试基本功能。

代码如下:

[java]

package com.defshare.sy.test.biz;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.Arrays;

import java.util.UUID;

import javax.annotation.Resource;

import org.apache.commons.io.IOUtils;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

import org.junit.Test;

import com.defshare.sy.ws.ISYWebService;

import com.defshare.sy.ws.po.Clinique;

import com.defshare.sy.ws.po.WorkList;

import com.defshare.sy.ws.po.WorkListPicFile;

public class SyWebServiceTest extends SpringTestTemplate{

@Test

public void testUploadWorkListPicFile(){

//JaxWsProxyFactoryBean proxy = new JaxWsProxyFactoryBean();

//proxy.setAddress("http://localhost:8090/sy/services/SYWebService");

//proxy.setServiceClass(ISYWebService.class);

//ISYWebService clientProxy = (ISYWebService)proxy.create();

//clientProxy.upLoadWorkListPic("", "",null);

WorkListPicFile file = new WorkListPicFile();

String serverFile = UUID.randomUUID().toString()+".DBF";

InputStream is = null;

try {

is = new FileInputStream("d:/QUESCTION.DBF");

file.setFileSize(is.available());

byte[] bytes = new byte[1024 * 1024];

int size=0;

do{

size = is.read(bytes);

if (size <= 0) {

break;

}

byte[] fixedBytes = Arrays.copyOfRange(bytes, 0, size);

file.setBytes(fixedBytes);

file.setServerFile(serverFile);

file.setWorkListId("WL0001");

int resp = syWebService.upLoadWorkListPic("WS访问账户","WS访问密码", file);

System.out.println(resp==0?"本次上传文件块成功":"本次上传文件块异常");

if (resp!=0)

break;

file.setPosition(file.getPosition() + fixedBytes.length);

}while(size>0);

} catch(IOException e) {

e.printStackTrace();

} finally {

if (is!=null)

try {

is.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

IOUtils.closeQuietly(is);

}

}

@Test

public void testremoveWorkList(){

正常输入数据1                 期望结果:成功         实际结果:

syWebService.removeWorkList("WS访问账户", "WS访问密码", "q");

}

@Test

public void testUpdateWorkList(){

WorkList wl = new WorkList();

wl.setGdbh("WL0001");

wl.setFggdbh("hehe-------");

syWebService.updateWorkList("WS访问账户", "WS访问密码", wl);

}

@Test

public void updateClinique(){

Clinique c = new Clinique();

c.setZsid("CL0001");

c.setDq("金牛区-------");

System.out.println("*******"+syWebService.updateClinique("WS访问账户", "WS访问密码", c));

}

@Resource(name="syWebService")

private ISYWebService syWebService;

@Resource(name="syWebService")

public void setSyWebService(ISYWebService syWebService) {

this.syWebService = syWebService;

}

}

二、待单元测试通过后在进行WebService调用测试,这需要发布这个WebService到服务器上:

我的这个WS发布后的WSDL如下:

http://192.168.1.89:92/services/SYWebService?wsdl

[html]

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

-

Java的测试客户端如下:

[java]

package com.defshare.sy.test.ws;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.sql.Timestamp;

import java.util.Arrays;

import java.util.UUID;

import org.apache.commons.io.IOUtils;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

import org.junit.Test;

import com.defshare.sy.po.ToothSpec;

import com.defshare.sy.ws.ISYWebService;

import com.defshare.sy.ws.po.Clinique;

import com.defshare.sy.ws.po.WorkList;

import com.defshare.sy.ws.po.WorkListPicFile;

public class syWebServiceClientTest {

/**

* 图片上传测试

*/

@Test

public void testUpLoadWorkListPic() {

JaxWsProxyFactoryBean proxy = new JaxWsProxyFactoryBean();

proxy.setAddress("http://localhost:8090/sy/services/SYWebService");

proxy.setServiceClass(ISYWebService.class);

ISYWebService clientProxy = (ISYWebService)proxy.create();

WorkListPicFile file = new WorkListPicFile();

String serverFile = UUID.randomUUID().toString()+".rar";

InputStream is = null;

try {

is = new FileInputStream("d:/webtemp.rar");

file.setFileSize(is.available());

file.setServerFile(serverFile);

byte[] bytes = new byte[1024 * 1024];

int size=0;

do{

size = is.read(bytes);

if (size <= 0) {

break;

}

byte[] fixedBytes = Arrays.copyOfRange(bytes, 0, size);

file.setBytes(fixedBytes);

file.setWorkListId("WL0001");

int resp = clientProxy.upLoadWorkListPic("WS访问账户","WS访问密码", file);

System.out.println(resp==0?"本次上传文件块成功"+fixedBytes.length+"字节,已上传"+(file.getPosition()+fixedBytes.length)+"/"+file.getFileSize()+"字节":"本次上传文件块异常");

if (resp!=0)

break;

file.setPosition(file.getPosition() + fixedBytes.length);

}while(size>0);

} catch(IOException e) {

e.printStackTrace();

} finally {

if (is!=null)

try {

is.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

IOUtils.closeQuietly(is);

}

}

@Test

public void testremoveWorkList(){

JaxWsProxyFactoryBean proxy = new JaxWsProxyFactoryBean();

proxy.setAddress("http://localhost:8080/sy/services/SYWebService");

proxy.setServiceClass(ISYWebService.class);

ISYWebService clientProxy = (ISYWebService)proxy.create();

clientProxy.removeWorkList("WS访问账户", "WS访问密码", "sdfghj");

}

@Test

public void testUpdateWorkList(){

JaxWsProxyFactoryBean proxy = new JaxWsProxyFactoryBean();

proxy.setAddress("http://localhost:8080/sy/services/SYWebService");

proxy.setServiceClass(ISYWebService.class);

ISYWebService clientProxy = (ISYWebService)proxy.create();

WorkList ws = new WorkList();

com.defshare.sy.ws.po.ToothSpec[] tt=new com.defshare.sy.ws.po.ToothSpec[2];

com.defshare.sy.ws.po.ToothSpec t=new com.defshare.sy.ws.po.ToothSpec();

ws.setGdbh("WL0001");

ws.setZsid("CL0001");

ws.setYsxm("王医生");

ws.setBrxm("张发亏");

// ws.setJjrq("2012-09-12");

t.setToothSpecId("sx001");

t.setGdbh("WL0005");

t.setYclx("进口烤瓷牙1111");

t.setYw("A1-B6");

t.setYs("A2");

t.setSl(2);

t.setAddsl(0);

t.setDx("大");

t.setZl("smsm");

t.setGx("接单中·····");

tt[0]=t;

com.defshare.sy.ws.po.ToothSpec ts=new com.defshare.sy.ws.po.ToothSpec();

ts.setGdbh("WL0001");

ts.setToothSpecId("sx002");

ts.setYclx("进口烤瓷牙22222");

ts.setYw("A1-B6");

ts.setYs("A2");

ts.setSl(2);

ts.setAddsl(0);

ts.setDx("大");

tt[1]=ts;

ws.setToothSpecs(tt);

System.out.println(clientProxy.updateWorkList("WS访问账户", "WS访问密码", ws));

}

@Test

public void upLoadClinique(){

JaxWsProxyFactoryBean proxy = new JaxWsProxyFactoryBean();

proxy.setAddress("http://localhost:8090/sy/services/SYWebService");

proxy.setServiceClass(ISYWebService.class);

ISYWebService clientProxy = (ISYWebService)proxy.create();

Clinique[] cliniques  = new Clinique[3];

cliniques[0] = new Clinique();

cliniques[0].setZsid("ZS004");

cliniques[0].setDq("成都区");

cliniques[0].setDqbh("1");

cliniques[0].setDxts(10);

cliniques[0].setLxdh("13699451030");

cliniques[0].setYsxm("蒋医生");

cliniques[0].setYwjl("黄经理");

cliniques[0].setYwy("小明");

cliniques[0].setZsdz("成都金牛区");

cliniques[0].setZsjx("asdf");

cliniques[0].setZsmc("中西医院");

cliniques[0].setZsmm("123456");

cliniques[1] = new Clinique();

cliniques[1].setZsid("ZS005");

cliniques[1].setDq("绵阳区");

cliniques[1].setDqbh("2");

cliniques[1].setDxts(15);

cliniques[1].setLxdh("15015157972");

cliniques[1].setYsxm("董医生");

cliniques[1].setYwjl("胡经理");

cliniques[1].setYwy("小强");

cliniques[1].setZsdz("成都金牛区");

cliniques[1].setZsjx("asdf");

cliniques[1].setZsmc("中西医院");

cliniques[1].setZsmm("123456");

cliniques[2] = new Clinique();

cliniques[2].setZsid("ZS006");

cliniques[2].setDq("湖北区");

cliniques[2].setDqbh("3");

cliniques[2].setDxts(10);

cliniques[2].setLxdh("13699451030");

cliniques[2].setYsxm("顾医生");

cliniques[2].setYwjl("赵经理");

cliniques[2].setYwy("小黄");

cliniques[2].setZsdz("成都金牛区");

cliniques[2].setZsjx("asdf");

cliniques[2].setZsmc("中西医院");

cliniques[2].setZsmm("123456");

clientProxy.upLoadClinique("WS访问账户", "WS访问密码", cliniques);

}

@Test

public void upLoadWorkList(){

JaxWsProxyFactoryBean proxy = new JaxWsProxyFactoryBean();

proxy.setAddress("http://localhost:8080/sy/services/SYWebService");

proxy.setServiceClass(ISYWebService.class);

ISYWebService clientProxy = (ISYWebService)proxy.create();

WorkList[] workList  = new WorkList[2];

workList[0] = new WorkList();

workList[0].setBrxm("小强哥");

workList[0].setCjr("某某");

workList[0].setCjrq("2012-12-12 13:10:00");

workList[0].setFggdbh("001");

workList[0].setFgyy("工单打回");

workList[0].setGdbh("w9527");

workList[0].setJjrq("2012-12-12 13:10:00");

workList[0].setJzrq("2012-12-12 13:10:00");

workList[0].setLuz("张山");

workList[0].setPics("asdfsadf.jsp");

workList[0].setSsdq("成都");

workList[0].setXgcs("1");

workList[0].setXgrq("2012-12-12 13:10:00");

workList[0].setYsxm("蒋医生");

workList[0].setYwy("李四");

workList[0].setZsid("ZS003");

workList[1] = new WorkList();

workList[1].setBrxm("王哥");

workList[1].setCjr("某某");

workList[1].setCjrq("2012-12-12 13:10:00");

workList[1].setFggdbh("002");

workList[1].setFgyy("工单打回");

workList[1].setGdbh("w9528");

workList[1].setJjrq("2012-12-12 13:10:00");

workList[1].setJzrq("2012-12-12 13:10:00");

workList[1].setLuz("张山");

workList[1].setPics("asdfsadf.jsp");

workList[1].setSsdq("成都");

workList[1].setXgcs("2");

workList[1].setXgrq("2012-12-12 13:10:00");

workList[1].setYsxm("蒋医生");

workList[1].setYwy("李四");

workList[1].setZsid("ZS003");

com.defshare.sy.ws.po.ToothSpec[] tt=new com.defshare.sy.ws.po.ToothSpec[2];

com.defshare.sy.ws.po.ToothSpec t=new com.defshare.sy.ws.po.ToothSpec();

// ws.setJjrq("2012-09-12");

t.setGdbh("WL0005");

t.setYclx("进口烤瓷牙");

t.setYw("A1-B6");

t.setYs("A2");

t.setSl(2);

t.setAddsl(0);

t.setDx("大");

tt[0]=t;

com.defshare.sy.ws.po.ToothSpec ts=new com.defshare.sy.ws.po.ToothSpec();

ts.setGdbh("WL0001");

ts.setYclx("进口烤瓷牙");

ts.setYw("A1-B6");

ts.setYs("A2");

ts.setSl(2);

ts.setAddsl(0);

ts.setDx("大");

tt[1]=ts;

workList[1].setToothSpecs(tt);

int result = clientProxy.upLoadWorkList("WS访问账户", "WS访问密码", workList);

System.out.println(result);

}

@Test

public void updateToothSpecGX(){

JaxWsProxyFactoryBean proxy = new JaxWsProxyFactoryBean();

proxy.setAddress("http://localhost:8080/sy/services/SYWebService");

proxy.setServiceClass(ISYWebService.class);

ISYWebService clientProxy = (ISYWebService)proxy.create();

int result = clientProxy.updateToothSpecGX("sx001", "11111");

System.out.println(result);

}

}

三、.NET测试客户端如下:

89363_0.jpg

89363_1.jpg

89363_2.jpg

89363_3.jpg

实现代码如下:

[csharp]

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using SYWSClient.ServiceRef;

using System.IO;

namespace SYWSClient

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

/**

* 上传诊所

**/

private void btnsyloadzs_Click(object sender, EventArgs e)

{

Clinique clinique = new Clinique();

if (this.txtzsid.Text == "")

{

MessageBox.Show("诊所编号不能为空.....");

return;

}

if (this.txtzsmc.Text == "")

{

MessageBox.Show("诊所名称不能为空.....");

return;

}

if (this.txtzsmm.Text == "")

{

MessageBox.Show("诊所密码不能为空.....");

return;

}

if (this.txtysmc.Text == "")

{

MessageBox.Show("诊所医生不能为空.....");

return;

}

//封装诊所的信息

clinique.zsid = this.txtzsid.Text;

clinique.zsmm = this.txtzsmm.Text;

clinique.zsmc = this.txtzsmc.Text;

clinique.ysxm = this.txtysmc.Text;

clinique.lxdh = this.txtlxdh.Text;

clinique.zsjx = this.txtzsjx.Text;

clinique.zsdz = this.txtzsdz.Text;

clinique.dq = this.txtzsdq.Text;

clinique.dqbh = this.txtdqbh.Text;

clinique.ywy = this.txtywy.Text;

clinique.ywjl = this.txtywjl.Text;

//实例webserverce客户端

SYWebServiceClient client = new SYWebServiceClient();

int flag = client.upLoadClinique("WS访问访问账户", "WS访问密码", new Clinique[] { clinique });

switch (flag)

{

case 0:

MessageBox.Show("上传诊所信息成功!");

break;

case 1:

MessageBox.Show("工单编号为空");

break;

case 2:

MessageBox.Show("诊所编号为空");

break;

case 3:

MessageBox.Show("没有文件信息上传");

break;

case 4:

MessageBox.Show("没有工单信息可以上传");

break;

case 5:

MessageBox.Show("没有工单图片文件可以上传");

break;

case 6:

MessageBox.Show("没有诊所信息可以上传");

break;

case 7:

MessageBox.Show("没有诊所信息可以上传");

break;

case 8:

MessageBox.Show("没有诊所信息可以更新");

break;

case 9:

MessageBox.Show("不安全的调用");

break;

case 10:

MessageBox.Show("不存在的工单[上传工单图片时检查]");

break;

case 11:

MessageBox.Show("输入输出异常");

break;

case 12:

MessageBox.Show("录入数据失败[存在重复数据]");

break;

case 13:

MessageBox.Show("应用程序异常");

break;

case 14:

MessageBox.Show("数据库异常");

break;

}

}

private void btnsyupdatezs_Click(object sender, EventArgs e)

{

Clinique clinique = new Clinique();

if (this.txtzsid.Text == "")

{

MessageBox.Show("诊所编号不能为空.....");

return;

}

if (this.txtzsmc.Text == "")

{

MessageBox.Show("诊所名称不能为空.....");

return;

}

if (this.txtzsmm.Text == "")

{

MessageBox.Show("诊所密码不能为空.....");

return;

}

if (this.txtysmc.Text == "")

{

MessageBox.Show("诊所医生不能为空.....");

return;

}

//封装诊所的信息

clinique.zsid = this.txtzsid.Text;

clinique.zsmm = this.txtzsmm.Text;

clinique.zsmc = this.txtzsmc.Text;

clinique.ysxm = this.txtysmc.Text;

clinique.lxdh = this.txtlxdh.Text;

clinique.zsjx = this.txtzsjx.Text;

clinique.zsdz = this.txtzsdz.Text;

clinique.dq = this.txtzsdq.Text;

clinique.dqbh = this.txtdqbh.Text;

clinique.ywy = this.txtywy.Text;

clinique.ywjl = this.txtywjl.Text;

ServiceRef.SYWebServiceClient c = new ServiceRef.SYWebServiceClient();

int flag = c.updateClinique("WS访问访问账户", "WS访问密码", clinique);

switch (flag)

{

case 0:

MessageBox.Show("修改诊所信息成功!");

break;

case 1:

MessageBox.Show("工单编号为空");

break;

case 2:

MessageBox.Show("诊所编号为空");

break;

case 3:

MessageBox.Show("没有文件信息上传");

break;

case 4:

MessageBox.Show("没有工单信息可以上传");

break;

case 5:

MessageBox.Show("没有工单图片文件可以上传");

break;

case 6:

MessageBox.Show("没有诊所信息可以上传");

break;

case 7:

MessageBox.Show("没有诊所信息可以上传");

break;

case 8:

MessageBox.Show("没有诊所信息可以更新");

break;

case 9:

MessageBox.Show("不安全的调用");

break;

case 10:

MessageBox.Show("不存在的工单[上传工单图片时检查]");

break;

case 11:

MessageBox.Show("输入输出异常");

break;

case 12:

MessageBox.Show("录入数据失败[存在重复数据]");

break;

case 13:

MessageBox.Show("应用程序异常");

break;

case 14:

MessageBox.Show("数据库异常");

break;

}

}

///

/// 上传工单

///

///

///

private void btnUploadWorkList_Click(object sender, EventArgs e)

{

WorkList w = new WorkList();

if (txtgdbh.Text == "")

{

MessageBox.Show("工单编号不能为空");

return;

}

w.gdbh = txtgdbh.Text;

if (txtfggdbh.Text == "")

{

MessageBox.Show("返工原单号不能为空!");

return;

}

w.fggdbh = txtfggdbh.Text;

if (txtzsidwokelist.Text == "")

{

MessageBox.Show("诊所编号不能为空");

return;

}

w.zsid = txtzsidwokelist.Text;

if (txtysxm.Text == "")

{

MessageBox.Show("医生姓名不能为空");

return;

}

w.ysxm = txtysxm.Text;

if (txtbrxm.Text == "")

{

MessageBox.Show("病人姓名不能为空");

return;

}

w.brxm = txtbrxm.Text;

if (textBox7.Text == "")

{

MessageBox.Show("业务员不能为空");

return;

}

w.ywy = textBox7.Text;

if (txtssdq.Text == "")

{

MessageBox.Show("所属地区不能为空");

return;

}

w.ssdq = txtssdq.Text;

if (txtfgyy.Text == "")

{

MessageBox.Show("返工原因不能为空");

}

//格式化日期

w.jjrq = ftpjjrq.Value.ToString("yyyy-mm-dd hh:mm:ss");

w.cjrq = ftpcjrq.Value.ToString("yyyy-mm-dd hh:mm:ss");

w.jzrq = dtpjzrq.Value.ToString("yyyy-mm-dd hh:mm:ss");

w.xgrq = dtpxgrq.Value.ToString("yyyy-mm-dd hh:mm:ss");

if (txtluz.Text == "")

{

MessageBox.Show("录入人不能为空");

return;

}

w.luz = txtcjr.Text;

ToothSpec ts = new ToothSpec();

if (txttoothSpecId.Text == "")

{

MessageBox.Show("规格编号不能为空");

return;

}

ts.toothSpecId = txttoothSpecId.Text;

if (txtlx.Text == "")

{

MessageBox.Show("牙齿类型不能为空");

return;

}

ts.yclx = txtlx.Text;

if (texzl.Text == "")

{

MessageBox.Show("牙齿总类不能为空");

return;

}

ts.zl = texzl.Text;

if (txtys.Text == "")

{

MessageBox.Show("牙齿颜色不能为空");

return;

}

ts.ys = txtys.Text;

if (txxjg.Text == "")

{

MessageBox.Show("JG不能为空");

return;

}

ts.jg = int.Parse(txxjg.Text);

if (textyw.Text == "")

{

MessageBox.Show("牙位不能为空");

return;

}

ts.yw = textyw.Text;

if (txtdx.Text == "")

{

MessageBox.Show("牙齿大小不能为空");

return;

}

ts.dx = txtdx.Text;

if (textsl.Text == "")

{

MessageBox.Show("数量1不能为空");

return;

}

ts.sl = int.Parse(textsl.Text);

if (textaddsl.Text == "")

{

MessageBox.Show("数量2不能为空");

return;

}

ts.addsl = int.Parse(textaddsl.Text);

if (txthbhid.Text == "")

{

MessageBox.Show("hbhid不能为空");

return;

}

ts.hbhid = txthbhid.Text;

if (txtgx.Text == "")

{

MessageBox.Show("工序不能为空");

return;

}

ts.gx = txthbhid.Text;

w.toothSpecs = new ToothSpec[] { ts };

SYWebServiceClient webService = new SYWebServiceClient();

int flag = webService.upLoadWorkList("WS访问访问账户", "WS访问密码", new WorkList[] { w });

switch (flag)

{

case 0:

MessageBox.Show("上传工单成功!");

break;

case 1:

MessageBox.Show("工单编号为空");

break;

case 2:

MessageBox.Show("诊所编号为空");

break;

case 3:

MessageBox.Show("没有文件信息上传");

break;

case 4:

MessageBox.Show("没有工单信息可以上传");

break;

case 5:

MessageBox.Show("没有工单图片文件可以上传");

break;

case 6:

MessageBox.Show("没有诊所信息可以上传");

break;

case 7:

MessageBox.Show("没有诊所信息可以上传");

break;

case 8:

MessageBox.Show("没有诊所信息可以更新");

break;

case 9:

MessageBox.Show("不安全的调用");

break;

case 10:

MessageBox.Show("不存在的工单[上传工单图片时检查]");

break;

case 11:

MessageBox.Show("输入输出异常");

break;

case 12:

MessageBox.Show("录入数据失败[存在重复数据]");

break;

case 13:

MessageBox.Show("应用程序异常");

break;

case 14:

MessageBox.Show("数据库异常");

break;

}

}

///

/// 更新工单

///

///

///

private void btnUpdateWorkList_Click(object sender, EventArgs e)

{

WorkList w = new WorkList();

if (txtgdbh.Text == "")

{

MessageBox.Show("工单编号不能为空");

return;

}

w.gdbh = txtgdbh.Text;

if (txtfggdbh.Text == "")

{

MessageBox.Show("返工原单号不能为空!");

return;

}

w.fggdbh = txtfggdbh.Text;

if (txtzsidwokelist.Text == "")

{

MessageBox.Show("诊所编号不能为空");

return;

}

w.zsid = txtzsidwokelist.Text;

if (txtysxm.Text == "")

{

MessageBox.Show("医生姓名不能为空");

return;

}

w.ysxm = txtysxm.Text;

if (txtbrxm.Text == "")

{

MessageBox.Show("病人姓名不能为空");

return;

}

w.brxm = txtbrxm.Text;

if (textBox7.Text == "")

{

MessageBox.Show("业务员不能为空");

return;

}

w.ywy = textBox7.Text;

if (txtssdq.Text == "")

{

MessageBox.Show("所属地区不能为空");

return;

}

w.ssdq = txtssdq.Text;

if (txtfgyy.Text == "")

{

MessageBox.Show("返工原因不能为空");

}

w.cjrq = ftpcjrq.Value.ToString("yyyy-mm-dd hh:mm:ss");

w.jzrq = dtpjzrq.Value.ToString("yyyy-mm-dd hh:mm:ss");

w.xgrq = dtpxgrq.Value.ToString("yyyy-mm-dd hh:mm:ss");

ToothSpec ts = new ToothSpec();

if (txttoothSpecId.Text == "") {

MessageBox.Show("规格编号不能为空");

return;

}

ts.toothSpecId = txttoothSpecId.Text;

if (txtluz.Text == "")

{

MessageBox.Show("录入人不能为空");

return;

}

w.luz = txtcjr.Text;

if (txtlx.Text == "")

{

MessageBox.Show("牙齿类型不能为空");

return;

}

ts.yclx = txtlx.Text;

if (texzl.Text == "")

{

MessageBox.Show("牙齿总类不能为空");

return;

}

ts.zl = texzl.Text;

if (txtys.Text == "")

{

MessageBox.Show("牙齿颜色不能为空");

return;

}

ts.ys = txtys.Text;

if (txxjg.Text == "")

{

MessageBox.Show("JG不能为空");

return;

}

ts.jg = int.Parse(txxjg.Text);

if (textyw.Text == "")

{

MessageBox.Show("牙位不能为空");

return;

}

ts.yw = textyw.Text;

if (txtdx.Text == "")

{

MessageBox.Show("牙齿大小不能为空");

return;

}

ts.dx = txtdx.Text;

if (textsl.Text == "")

{

MessageBox.Show("数量1不能为空");

return;

}

ts.sl = int.Parse(textsl.Text);

if (textaddsl.Text == "")

{

MessageBox.Show("数量2不能为空");

return;

}

ts.addsl = int.Parse(textaddsl.Text);

if (txthbhid.Text == "")

{

MessageBox.Show("hbhid不能为空");

return;

}

ts.hbhid = txthbhid.Text;

if (txtgx.Text == "")

{

MessageBox.Show("工序不能为空");

return;

}

ts.gx = txthbhid.Text;

w.toothSpecs = new ToothSpec[] { ts };

SYWebServiceClient webService = new SYWebServiceClient();

int flag = webService.updateWorkList("WS访问访问账户", "WS访问密码", w);

switch (flag)

{

case 0:

MessageBox.Show("更新工单成功!");

break;

case 1:

MessageBox.Show("工单编号为空");

break;

case 2:

MessageBox.Show("诊所编号为空");

break;

case 3:

MessageBox.Show("没有文件信息上传");

break;

case 4:

MessageBox.Show("没有工单信息可以上传");

break;

case 5:

MessageBox.Show("没有工单图片文件可以上传");

break;

case 6:

MessageBox.Show("没有诊所信息可以上传");

break;

case 7:

MessageBox.Show("没有诊所信息可以上传");

break;

case 8:

MessageBox.Show("没有诊所信息可以更新");

break;

case 9:

MessageBox.Show("不安全的调用");

break;

case 10:

MessageBox.Show("不存在的工单[上传工单图片时检查]");

break;

case 11:

MessageBox.Show("输入输出异常");

break;

case 12:

MessageBox.Show("录入数据失败[存在重复数据]");

break;

case 13:

MessageBox.Show("应用程序异常");

break;

case 14:

MessageBox.Show("数据库异常");

break;

}

}

///

/// 删除工单

///

///

///

private void btnRemoveWorklist_Click(object sender, EventArgs e)

{

if (txtgdbh.Text == "")

{

MessageBox.Show("要删除的工单编号不能为空");

return;

}

SYWebServiceClient webService = new SYWebServiceClient();

int flag = webService.removeWorkList("WS访问访问账户", "WS访问密码", txtgdbh.Text);

switch (flag)

{

case 0:

MessageBox.Show("删除工单成功!");

break;

case 1:

MessageBox.Show("工单编号为空");

break;

case 2:

MessageBox.Show("诊所编号为空");

break;

case 3:

MessageBox.Show("没有文件信息上传");

break;

case 4:

MessageBox.Show("没有工单信息可以上传");

break;

case 5:

MessageBox.Show("没有工单图片文件可以上传");

break;

case 6:

MessageBox.Show("没有诊所信息可以上传");

break;

case 7:

MessageBox.Show("没有诊所信息可以上传");

break;

case 8:

MessageBox.Show("没有诊所信息可以更新");

break;

case 9:

MessageBox.Show("不安全的调用");

break;

case 10:

MessageBox.Show("不存在的工单[上传工单图片时检查]");

break;

case 11:

MessageBox.Show("输入输出异常");

break;

case 12:

MessageBox.Show("录入数据失败[存在重复数据]");

break;

case 13:

MessageBox.Show("应用程序异常");

break;

case 14:

MessageBox.Show("数据库异常");

break;

}

}

///

/// 上传工单图片

///

///

///

private void btnUpload_Click(object sender, EventArgs e)

{

if (txtpicwokelistid.Text == "")

{

MessageBox.Show("请输入工单编号");

return;

}

SYWebServiceClient webService = new SYWebServiceClient();

OpenFileDialog openFile = new OpenFileDialog();

openFile.ShowDialog();

WorkListPicFile file = new WorkListPicFile();

//获得唯一图片名字

String saveFile = Guid.NewGuid().ToString() + openFile.FileName.Substring(openFile.FileName.Length - 4, 4);

Console.WriteLine("图片名称:" + saveFile);

FileStream fs = null;

int filg = -1;

try

{

fs = new FileStream(openFile.FileName, FileMode.Open);

file.serverFile = saveFile;

file.fileSize = fs.Length;

Console.WriteLine("开始上传图片,文件总共大小为:" + fs.Length);

byte[] bytes = new byte[1024 * 1024];

int size = 0;

do

{

size = fs.Read(bytes, 0, 1024 * 1024);

if (size <= 0)

{

break;

}

byte[] fixedBytes = new byte[size];

Array.Copy(bytes, fixedBytes, size);

file.bytes = fixedBytes;

file.workListId = txtpicwokelistid.Text;

filg = webService.upLoadWorkListPic("WS访问访问账户", "WS访问密码", file);

if (filg != 0)

{

break;

}

file.position = (file.position + fixedBytes.Length);

Console.WriteLine("上传成功,已上传" + file.position + "字节");

} while (size > 0);

}

catch (Exception exce)

{

MessageBox.Show(exce.Message);

}

finally

{

if (null != fs)

{

fs.Close();

}

switch (filg)

{

case 0:

MessageBox.Show("上传工单图片成功!");

break;

case 1:

MessageBox.Show("工单编号为空");

break;

case 2:

MessageBox.Show("诊所编号为空");

break;

case 3:

MessageBox.Show("没有文件信息上传");

break;

case 4:

MessageBox.Show("没有工单信息可以上传");

break;

case 5:

MessageBox.Show("没有工单图片文件可以上传");

break;

case 6:

MessageBox.Show("没有诊所信息可以上传");

break;

case 7:

MessageBox.Show("没有诊所信息可以上传");

break;

case 8:

MessageBox.Show("没有诊所信息可以更新");

break;

case 9:

MessageBox.Show("不安全的调用");

break;

case 10:

MessageBox.Show("不存在的工单[上传工单图片时检查]");

break;

case 11:

MessageBox.Show("输入输出异常");

break;

case 12:

MessageBox.Show("录入数据失败[存在重复数据]");

break;

case 13:

MessageBox.Show("应用程序异常");

break;

case 14:

MessageBox.Show("数据库异常");

break;

}

}

}

///

/// 修改牙齿工s序

///

///

///

private void btnUpdate_Click(object sender, EventArgs e)

{

if (txtycbh.Text == "")

{

MessageBox.Show("请输入牙齿编号");

return;

}

if (txtycgx.Text == "")

{

MessageBox.Show("请输入工序");

return;

}

SYWebServiceClient webService = new SYWebServiceClient();

int filg = webService.updateToothSpecGX(txtycbh.Text, txtycgx.Text);

Console.WriteLine("修改状态:"+filg);

switch (filg)

{

case 0:

MessageBox.Show("修改牙齿工序成功!");

break;

case 1:

MessageBox.Show("工单编号为空");

break;

case 2:

MessageBox.Show("诊所编号为空");

break;

case 3:

MessageBox.Show("没有文件信息上传");

break;

case 4:

MessageBox.Show("没有工单信息可以上传");

break;

case 5:

MessageBox.Show("没有工单图片文件可以上传");

break;

case 6:

MessageBox.Show("没有诊所信息可以上传");

break;

case 7:

MessageBox.Show("没有诊所信息可以上传");

break;

case 8:

MessageBox.Show("没有诊所信息可以更新");

break;

case 9:

MessageBox.Show("不安全的调用");

break;

case 10:

MessageBox.Show("不存在的工单[上传工单图片时检查]");

break;

case 11:

MessageBox.Show("输入输出异常");

break;

case 12:

MessageBox.Show("录入数据失败[存在重复数据]");

break;

case 13:

MessageBox.Show("应用程序异常");

break;

case 14:

MessageBox.Show("数据库异常");

break;

}

}

private void groupBox1_Enter(object sender, EventArgs e)

{

}

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/571901.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中值滤波去除图像噪声的matlab程序

中值滤波&#xff1a;基于排序理论的一种能有效抑制噪声的非线性信号处理技术。 方法&#xff1a;取含有基数&#xff08;偶数会有半像素的差&#xff09;个模板数据的滑动模板&#xff0c;对模板中的数据从小到大排序&#xff0c;取排在中间位置上的数据作为最终的处理结果。 …

android 音乐app 进度条_让这些可爱的APP成为你的生活好帮手

对于可爱美观的东西&#xff0c;绝大多数人都会喜欢&#xff0c;尤其是女孩子。今天给大家推荐一波可爱又实用的APP&#xff0c;让它们成为你的生活好助手。以下应用在手机应用商店搜索即可下载。01 喵喵记账 支持 iOS 和 Android&#xff0c;免费谈到记账&#xff0c;很多…

java中scanner与hashmap_Java中HashMap的使用练习

问题&#xff1a;给定任意一个字符串“today is a special day”&#xff0c;长度为任意&#xff0c;要求找出其出现次数最多的字符及计算次数。(可以用HashMap&#xff0c;HashSet&#xff0c;Collections实现)解决&#xff1a;利用HashMap和HashSet解决。代码&#xff1a;imp…

计蒜客NOIP2017提高组模拟赛(四)day1

T1:小X的质数 小 X 是一位热爱数学的男孩子&#xff0c;在茫茫的数字中&#xff0c;他对质数更有一种独特的情感。小 X 认为&#xff0c;质数是一切自然数起源的地方。 在小 X 的认知里&#xff0c;质数是除了本身和 1 以外&#xff0c;没有其他因数的数字。 但由于小 X 对质数…

c# combobox集合数据不显示_Excel也能玩转百万数据

最近一方君工作中要查询编辑很多的数据&#xff08;超过30万行&#xff0c;25个字段&#xff09;&#xff0c;这么多数据放在Excel表中当然是没办法操作的&#xff0c;筛选的时候很容易崩溃&#xff0c;原来用得很顺滑的一些公式&#xff0c;一计算就未响应&#xff0c;多点几下…

scada系统集成_MES/MOM与WMS系统集成应用案例-系统接口、交互数据分析

写在面前(By 小智)前面我们介绍了西门子、罗克韦尔、施耐德、达索等的MES/MOM平台(见文末推荐)也绍和分析了MES与ERP之间的系统集成案例&#xff1a;MES与EPR进行系统集成的实际案例-系统接口、交互数据分析同时分享了各种系统之间集成的文章&#xff1a;Teamcenter、TIA Porta…

ftl 展示图片_视频号变迁的内容展示逻辑

最初的视频号只有单列展示&#xff0c;只有关注栏&#xff0c;并没有朋友和热门区分。产出内容限制为不超过 1 分钟的视频&#xff0c;或 9 张以内的图片。单列信息流、时间倒序排列(也存在个别特例)。这里想到之前龙哥说的关于朋友圈的思考&#xff1a;朋友圈是一个广场&#…

10.3 考试 (考得不好)

T1 我只能说 它是一个比较暴力的dp&#xff0c;需要人力讨论... 所以考试觉得讨论太麻烦&#xff0c;直接内心崩溃了....(好像这也是我考炸的原因吧) 教训&#xff1a;以后要勤快一些&#xff0c;代码能力 唉唉唉 #include <cstdio> #include <cstring> #include &…

小程序[渲染层网络层错误] failed to load image_游戏中水的渲染技术

水的渲染一直是图形学需要解决的问题&#xff0c;本篇博客主要介绍用傅里叶变换算法实现的水反射&#xff0c;也是一种假反射效果&#xff0c;目的是优化效率。实现的效果如下图所示&#xff1a;使用傅里叶系数来表示地形高度的假反射效果&#xff0c;在我们开发的游戏中使用水…

pip install 报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xb5 in

当python在window环境中通过pip安装pandas报标题这样的错&#xff0c;主要是因为python默认编码格式是&#xff1a;ascii 在https://www.python.org/dev/peps/pep-0100/文章中有介绍 解决方法&#xff1a;在python/lib/site.py中加入 import sysreload(sys)sys.setdefaultenc…

jdbc是java语言编写的类和接口_JDBC——Java语言连接数据库的标准

JDBC概述APIJDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API&#xff0c;可以为多种关系数据库提供统一访问&#xff0c;它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准&#xff0c;据此可以构建更高级的工具和接口&#xff0c;使…

怎样判断电饭锅温度传感器的好坏?_空调温度传感器的作用与检测。

温度传感器是指对温度进行感应&#xff0c;并将感应的温度变化情况转换为电信号的功能部件。我们在练习温度传感器检测代换之前&#xff0c;要先对温度传感器的安装位置、结构特点和工作原理有一定的了解。1、温度传感器的安装位置及结构在空调器室内机中&#xff0c;通常设有两…

java去掉图片边框颜色_sharp 去除图片边框

trim接受参数是颜色相似度, 并不能指定边框颜色, 所以有可能会误删除内容, 需要注意trim 需要转为buffer或者文件后再次操作, 否则图片信息不变从剪裁效果来看, 精度和速度都是可以的const sharp require("sharp");const path "./html/a.png";const outp…

java mail 不用密码_iPhone 无需越狱,简单给 App 加密码锁

在手机上总有些小秘密&#xff0c;也有些APP不想被打开。由于iOS本身限制&#xff0c;想给APP加上密码锁&#xff0c;一般都是需要越狱才能实现。其实在iOS 12就加入了【屏幕使用时间】&#xff0c;用来更好设置APP使用时间的限额。屏幕使用时间屏幕时间功能可以协助您了解自己…

spark内存溢出怎么解决_和平精英:更新需要预留6G内存,玩家抱怨手机扛不住,怎么解决?...

嗨&#xff0c;小伙伴们大家好呀&#xff01;《和平精英》新版本终于来了哈&#xff0c;小伙伴们在22号上午登录游戏&#xff0c;就可以收到更新提示&#xff0c;点击进行更新就好了。或者是在各个应用商店里等待更新推送&#xff0c;也行哦&#xff01;但是呢&#xff0c;每到…

【转】LDA数学八卦

转自LDA数学八卦 在 Machine Learning 中&#xff0c;LDA 是两个常用模型的简称&#xff1a; Linear Discriminant Analysis 和 Latent Dirichlet Allocation&#xff0c; 在这篇文章中我们主要八卦的是后者。LDA 是一个在文本建模中很著名的模型&#xff0c;类似于 SVD, PLSA …

电脑字体模糊_小红书上传视频模糊?做小红书视频99%的工具都在这了

到现在小红书视频号功能已经上线快三个月了&#xff0c;越来越多的小伙伴开始拍视频、创作视频笔记&#xff0c;但是对于新接触视频的小伙伴来说&#xff0c;拍摄视频好像是一件很难的事&#xff0c;特别是不清楚该选择什么拍摄设备、不知道怎么剪辑视频&#xff0c;还有如何上…

谷歌浏览器不能上网_谷歌浏览器插件下载及安装教程!

emmm......这篇文章的内容非常小白&#xff0c;相信大部分人都会这个基本操作。但是阁主相信还有些妹子操作不来&#xff0c;如果还没有男朋友&#xff0c;那不是铁定不会安装谷歌浏览器插件么&#xff1f;其实“谷歌浏览器插件”这个组合&#xff0c;可以解决很多问题&#xf…

高级技巧之Lambda表达式

1.Lambda表达式简介 其本质上是一种匿名方法&#xff0c;它既没有方法名&#xff0c;也即没有访问修饰符和返回值类型&#xff0c;使用它来编写代码将会更加简洁&#xff0c;也更加易读。 2.使用该表达式需要配置的数据 3.传统java和使用Lambda表达式的对比 0&#xff09;总结&…

设计模式之——Builder建造模式

Builder模式又叫建造模式&#xff0c;是用于组装具有复杂结构的实例的模式。 示例程序是编写一个文档&#xff0c;并且写入到文件中&#xff0c;该文档具有以下结构&#xff0c;含有标题&#xff0c;字符串&#xff0c;一些条目。 Builder抽象类&#xff0c;为建造模式的核心pa…