| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528 |
- package com.runzhixing.action;
- import java.io.BufferedInputStream;
- import java.io.BufferedOutputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileOutputStream;
- import java.util.ArrayList;
- import java.util.Collections;
- import java.util.Comparator;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.log4j.Logger;
- import org.apache.struts2.ServletActionContext;
- import com.opensymphony.xwork2.ActionSupport;
- import com.runzhixing.bean.Car1;
- import com.runzhixing.bean.CityPlace;
- import com.runzhixing.bean.CylinderImg;
- import com.runzhixing.bean.CylinderWx;
- import com.runzhixing.bean.HiddenCoutry;
- import com.runzhixing.bean.Provice_new;
- import com.runzhixing.dao.QueryDao;
- import com.runzhixing.dao.ThirdInterfaceDao;
- import com.runzhixing.filter.MyFilter;
- import com.runzhixing.packageProcedure.AlterPassWordProcedure;
- import com.runzhixing.packageProcedure.GetStationProcedure;
- import com.runzhixing.tool.JsonUtil;
- import com.runzhixing.tool.Result;
- import com.runzhixing.tool.ResultCode;
- import com.runzhixing.tool.Tool;
- import com.runzhixing.tool.Util;
- /**
- * 宁夏对接 app业务办理功能
- * @author it5
- *
- */
- public class NxAppCarAction extends ActionSupport{
- private static final long serialVersionUID = 1L;
- private static Logger logger = Logger.getLogger(NxAppCarAction.class);
-
- private File imageCert;
- private String imageCertFileName;
- private List<File> imageItem = new ArrayList<File>();
- private List<String> imageItemFileName = new ArrayList<String>();
-
- public String getImageCertFileName() {
- return imageCertFileName;
- }
- public void setImageCertFileName(String imageCertFileName) {
- this.imageCertFileName = imageCertFileName;
- }
- public File getImageCert() {
- return imageCert;
- }
- public void setImageCert(File imageCert) {
- this.imageCert = imageCert;
- }
- public List<File> getImageItem() {
- return imageItem;
- }
- public void setImageItem(List<File> imageItem) {
- this.imageItem = imageItem;
- }
- public List<String> getImageItemFileName() {
- return imageItemFileName;
- }
- public void setImageItemFileName(List<String> imageItemFileName) {
- this.imageItemFileName = imageItemFileName;
- }
-
-
-
- /**
- * 获取市,县信息
- *
- */
- public void city_country_inifo(){
- HttpServletResponse res = ServletActionContext.getResponse();
- HttpServletRequest req = ServletActionContext.getRequest();
- Result result = null;
- boolean logined = verifyLogin(req);
- if(logined){
- String province = req.getParameter("provinceNo");
- if(Tool.isNullOrEmpty(province)){
- result = Result.failure(ResultCode.PARAM_IS_BLANK);
- }else{
- List<Provice_new> cplist = new ArrayList<Provice_new>();
- cplist = ThirdInterfaceDao.city_country_inifo(province);
- result = Result.success(ResultCode.SUCCESS_GET, cplist);
- }
-
- }else{
- result = Result.failure(ResultCode.FAIL_NOT_LOGIN);
- }
- JsonUtil.outjson(result.toString(), res, logger, JsonUtil.df, "");
- }
-
- /**
- * 获取安装/发证/制造单位信息
- */
- public void cert_install_Info(){
- HttpServletResponse res = ServletActionContext.getResponse();
- HttpServletRequest req = ServletActionContext.getRequest();
- Result result = null;
- boolean logined = verifyLogin(req);
- if(logined){
- String unitType = req.getParameter("unitType");
- String districtNo = req.getParameter("districtNo");
- if(Tool.isNullOrEmpty(districtNo)
- ||Tool.isNullOrEmpty(unitType)){
- result = Result.failure(ResultCode.PARAM_IS_BLANK);
- }else{
- districtNo = districtNo.replaceAll("(00)*$", "");
- List<HiddenCoutry> list = new ArrayList<HiddenCoutry>();
- int type = Integer.parseInt(unitType);
- if(type==0||type==3){
- list = new GetStationProcedure().getStationInfo(100, 1, districtNo, type);
- Collections.sort(list,new Comparator<HiddenCoutry>(){
- public int compare(HiddenCoutry arg0, HiddenCoutry arg1) {
- return arg0.getId().compareTo(arg1.getId());
- }
- });
- if(type==0){//发证单位
- for(HiddenCoutry hc:list){
- hc.setContactTel("028-87777259");
- hc.setAddress("四川省成都市高新西区西区达到1699号成都模具工业园");
- hc.setWorkTime("9:00-17:00(法定节假日除外)");
- hc.setLng("0.00");
- hc.setLat("0.00");
- }
- }
- result = Result.success(ResultCode.SUCCESS_GET,list);
- }else if(type==10){
- List<CityPlace> cplist = new ArrayList<CityPlace>();
- cplist = new QueryDao().getCylinderProduct();
- result = Result.success(ResultCode.SUCCESS_GET,cplist);
- }else{
- result = Result.failure(ResultCode.PARAM_IS_INVALID);
- }
-
- }
- }else{
- result = Result.failure(ResultCode.FAIL_NOT_LOGIN);
- }
- JsonUtil.outjson(result.toString(), res, logger, JsonUtil.df, "");
- }
-
- /**
- * 增删改车辆信息
- */
- public void crud_car_info(){
- HttpServletResponse res = ServletActionContext.getResponse();
- HttpServletRequest req = ServletActionContext.getRequest();
- Result result = null;
- boolean logined = verifyLogin(req);
- if(logined){
- String operType = req.getParameter("operate");
- String userGuid = req.getParameter("userGuid");
- if(Tool.isNullOrEmpty(operType)||Tool.isNullOrEmpty(userGuid)){
- result = Result.failure(ResultCode.PARAM_IS_BLANK);
- }else{
- int optype = Integer.parseInt(operType);
- if(optype==0||optype==1||optype==2){
- Car1 car = new AlterPassWordProcedure().crud_car_info(req);
- if(car.getResult()==0&&Tool.isNullOrEmpty(car.getRetinfo())){
- if(optype==0){//新增
- result = Result.success(ResultCode.SUCCESS_CREATE,car);
- }else if(optype==1){//修改
-
- String carGuid = req.getParameter("carGuid");
- List<CylinderWx> cylinderList=new ArrayList<CylinderWx>();
- cylinderList = new AlterPassWordProcedure().cylinder_info_by_car1(1,10,carGuid);
- car.setCyList(cylinderList);
- result = Result.success(ResultCode.SUCCESS_UPDATE,car);
- }else{//删除
- result = Result.success(ResultCode.SUCCESS_DELETE,car);
- String cylinderGuid = req.getParameter("cylinderGuid");
- if(!Tool.isNullOrEmpty(cylinderGuid)){
- List<CylinderWx> cylinderWxList = new ArrayList<CylinderWx>();
- String[] cyli = cylinderGuid.split(",");
- if(cyli.length>0){
- for(String cy:cyli){
- CylinderWx cw = new CylinderWx();
- cw.setCylinderGuid(cy);
- cylinderWxList.add(cw);
- }
- }
- if(cylinderWxList.size()>0){
- new AlterPassWordProcedure().crud_cylinder_info(req,cylinderWxList);
- ThirdInterfaceDao.deleteCertInfo(cylinderWxList);
- }
-
- }
- }
-
- }else{
- Map<String,Object> map=new HashMap<String, Object>();
- map.put("code", car.getResult());
- map.put("message", car.getRetinfo());
- map.put("data", car);
- JsonUtil.outjson(map, res, null, JsonUtil.df, "");
- return;
- }
- }else{
- result = Result.failure(ResultCode.FAIL_UNKNOW);
- }
-
- }
-
- }else{
- result = Result.failure(ResultCode.FAIL_NOT_LOGIN);
- }
- JsonUtil.outjson(result.toString(), res, logger, JsonUtil.df, "");
- }
-
-
- /**
- * 上传资质/证书图片
- */
- public void upload_img(){
- HttpServletResponse res = ServletActionContext.getResponse();
- HttpServletRequest req = ServletActionContext.getRequest();
- String imageType = req.getParameter("imageType");
- String certPage = req.getParameter("certPage");
- String cylinderGuid = req.getParameter("cylinderGuid");
- String userGuid = req.getParameter("userGuid");
- Result result = null;
- boolean logined = verifyLogin(req);
- if(logined){
- if(Tool.isNullOrEmpty(imageType)||Tool.isNullOrEmpty(certPage)||Tool.isNullOrEmpty(userGuid)
- ||
- Tool.isNullOrEmpty(imageCertFileName)||Tool.isNullOrEmpty(cylinderGuid)
- ||
- imageCert==null||imageCert.length()<=0){
- result = Result.failure(ResultCode.PARAM_IS_BLANK);
- }else{
- int re = 0;
- String dir = MyFilter.saveImgPath;
- String yearMonth = Util.yearMonthdf.format(new java.util.Date());
- dir +="//"+yearMonth;
- File file = new File(dir);
- if (!file.exists()) {
- file.mkdirs();
- }
-
- String imageName = "";
- int lastIndex = imageCertFileName.lastIndexOf(".");
- imageName=imageCertFileName.substring(lastIndex,imageCertFileName.length());
- imageName=cylinderGuid+"_"+imageType+"_"+certPage+imageName;
- CylinderImg cimg = new CylinderImg();
- try {
- re=1;
- cimg.setCYLINDER_GUID(cylinderGuid);
- cimg.setIMGTYPE(imageType);
- cimg.setIMGINDEX(certPage);
- cimg.setIMGDIR(yearMonth);
- cimg.setFILENAME(imageName);
- cimg.setFROMTYPE("2");
- cimg.setEDITOPERTIME(Util.df.format(new java.util.Date()));
- cimg.setUserGuid(userGuid);
- re = new QueryDao().uploadImgInfo(cimg);
- if(re!=0){
- copyBufFile(imageCert, new File(dir+"//"+imageName));
- }
- } catch (Exception e) {
- e.printStackTrace();
- re=0;
- }
- if(re==0){
- result = Result.success(ResultCode.FAIL_UPLOAD,cimg);
- }else{
- result = Result.success(ResultCode.SUCCESS_UPLOAD,cimg);
- }
- }
- }else{
- result = Result.failure(ResultCode.FAIL_NOT_LOGIN);
- }
-
- JsonUtil.outjson(result.toString(), res, logger, JsonUtil.df, "");
-
- }
-
- /**
- * 移除图片
- */
-
- public void remove_img(){
- HttpServletResponse res = ServletActionContext.getResponse();
- HttpServletRequest req = ServletActionContext.getRequest();
- String fileName = req.getParameter("fileName");
- String dir = req.getParameter("dir");
- String userGuid = req.getParameter("userGuid");
- boolean logined = verifyLogin(req);
- Result result = null;
- if (!logined) {
- result = Result.failure(ResultCode.FAIL_NOT_LOGIN);
- JsonUtil.outjson(result.toString(), res, logger, JsonUtil.df, "");
- return;
- }
- if(Tool.isNullOrEmpty(fileName)||Tool.isNullOrEmpty(dir)||Tool.isNullOrEmpty(userGuid)){
- result = Result.failure(ResultCode.PARAM_IS_BLANK);
- }else{
- CylinderImg img = new CylinderImg();
- img.setFILENAME(fileName);
- img.setUserGuid(userGuid);
- img.setIMGDIR(dir);
- // int ret = new ThirdInterfaceDao().remove_img(img);
- int ret = 1;
- if(ret==0){
- result = Result.failure(ResultCode.FAIL_DELETE,img);
- }else if(ret==1){
- String dir1 = MyFilter.saveImgPath;
- dir1 +="//"+dir+"//"+fileName;
- File file = new File(dir1);
- file.delete();
- result = Result.success(ResultCode.SUCCESS_DELETE,img);
- }else{
- result = Result.failure(ResultCode.FAIL_EXCEPTION,img);
- }
- }
- JsonUtil.outjson(result.toString(), res, logger, JsonUtil.df, "");
- }
-
- /**
- * 根据微信唯一标志号获取车辆气瓶信息
- * @param source
- * @param target
- * @throws Exception
- */
- public void get_car_cylinder_cert_info(){
- HttpServletResponse res = ServletActionContext.getResponse();
- HttpServletRequest req = ServletActionContext.getRequest();
- Result result = null;
- boolean logined = verifyLogin(req);
- if(logined){
- String userGuid = req.getParameter("userGuid");
- String pageNumber = req.getParameter("pageNumber");
- String pageSize = req.getParameter("pageSize");
- if(Tool.isNullOrEmpty(pageNumber)||Tool.isNullOrEmpty(pageSize)||Tool.isNullOrEmpty(userGuid)){
- result = Result.failure(ResultCode.PARAM_IS_BLANK);
- }else{
- List<Car1> carList = new ArrayList<Car1>();
- carList = new AlterPassWordProcedure().car_info_by_user(req);
- if(carList.size()>0){
- for(Car1 car:carList){
- String carGuid = car.getCarGuid();
- if(Tool.isNullOrEmpty(carGuid)){//获取的carguid为空
- result = Result.failure(ResultCode.FAIL_CAR_DATA_EXCEPTION,carList);
- }else{
- List<CylinderWx> cyList = new ArrayList<CylinderWx>();
- cyList = new AlterPassWordProcedure().cylinder_info_by_car1(1,10,carGuid);
- if(cyList.size()>0){
- for(CylinderWx cy:cyList){
- if(Tool.isNullOrEmpty(cy.getCylinderGuid())){
- result = Result.failure(ResultCode.FAIL_CYLINDER_DATA_EXCEPTION,carList);
- break;
- }else{
- List<CylinderImg> cyImgList = ThirdInterfaceDao.queryCylinderImg(cy.getCylinderGuid());
- cy.setImgList(cyImgList);
- if(cyImgList==null||cyImgList.size()<3){
- cy.setCertStatus(0);
- cy.setCertStatusStr("有证书未上传");
- }else{
- boolean cert0 = false;
- boolean cert1 = false;
- boolean cert2 = false;
- for(CylinderImg cyImg:cyImgList){
- if(cyImg.getIMGTYPE().equals("0")){
- cert0 = true;
- }else if(cyImg.getIMGTYPE().equals("1")){
- cert1 = true;
- }else if(cyImg.getIMGTYPE().equals("2")){
- cert2 = true;
- }
- }
- if(cert0&&cert1&&cert2){
- cy.setCertStatus(1);
- cy.setCertStatusStr("所有类型的证书都已上传");
- }else{
- cy.setCertStatus(0);
- cy.setCertStatusStr("有证书未上传");
- }
- }
- }
- }
- }
-
- car.setCyList(cyList);
- }
- }
- result = Result.success(ResultCode.SUCCESS_GET, carList);
-
- }else{//获取的车辆信息为空
- result = Result.failure(ResultCode.FAIL_RESULT_NULL);
- }
- }
- }else{
- result = Result.failure(ResultCode.FAIL_NOT_LOGIN);
- }
- JsonUtil.outjson(result.toString(), res, logger, JsonUtil.df, "");
- }
-
- /**
- * (单个气瓶)增_删_改气瓶信息
- */
- public void crud_single_cylinder_info(){
- HttpServletResponse res = ServletActionContext.getResponse();
- HttpServletRequest req = ServletActionContext.getRequest();
- String operate = req.getParameter("operate");
- Result result = null;
- if(Tool.isNullOrEmpty(operate)){
- result = Result.failure(ResultCode.PARAM_IS_BLANK);
- }else{
- if(operate.equals("0")||operate.equals("1")||operate.equals("2")){
- String carGuid = req.getParameter("carGuid");//车辆guid
- String carNo = req.getParameter("carNo");//车牌号
- String platTy = req.getParameter("plateType");
- int plateType = Tool.isNullOrEmpty(platTy)?-1:Integer.parseInt(platTy);//车辆类型
- String cylinderGuid = req.getParameter("cylinderGuid");//气瓶guid
- String cylinderNo = req.getParameter("cylinderNo");//气瓶编号
- String cylinderTy = req.getParameter("cylinderType");
- int cylinderType = Tool.isNullOrEmpty(cylinderTy)?-1:Integer.parseInt(cylinderTy);//气瓶类型
- String productNo = req.getParameter("productNo");//制造单位
- String productLicense = req.getParameter("productLicense");//生产许可
- String productDate = req.getParameter("productDate");//制造日期 yyyy-MM-dd格式,以下日期雷同
- String installStationNo = req.getParameter("installStationNo");//安装单位
- String installLicense = req.getParameter("installLicense");//安装许可
- String installCert = req.getParameter("installCert");//安装合格证
- String installTy = req.getParameter("installType");
- int installType = Tool.isNullOrEmpty(installTy)?0:Integer.parseInt(installTy);//安装类型
- String installLoc = req.getParameter("installLoc");//安装位置,后备箱/底部/顶部/货厢/中部/未知
- String installWorker = req.getParameter("installWorker");//安装人员
- String thirdPartyInstall = req.getParameter("thirdPartyInstall");//第三方安装
- String installDate = req.getParameter("installDate");//改装出厂时间
- String startUseDate = req.getParameter("startUseDate");//初次投用时间
- String nextCheckDate = req.getParameter("nextCheckDate");//下次检验时间
- String yeatL = req.getParameter("yearLimit");
- int yearLimit = Tool.isNullOrEmpty(yeatL)?0:Integer.parseInt(yeatL);//年限 0为不限制
- String timesAv = req.getParameter("timesAvailable");
- int timesAvailable = Tool.isNullOrEmpty(timesAv)?0:Integer.parseInt(timesAv);//充装次数 0为不限制
- String productType = req.getParameter("productType");//产品型号
- String vol = req.getParameter("vol");//容积
- String weight = req.getParameter("weight");//重量
- String thickness = req.getParameter("thickness");//壁厚
- String press = req.getParameter("press");//公称压力
- String material = req.getParameter("material");//材质
- String fibre = req.getParameter("fibre");//纤维
- String resin = req.getParameter("resin");//树脂
- String equitpmentNo = req.getParameter("equitpmentNo");//设备代码
- String productMonitor = req.getParameter("productMonitor");//制造监管检验机构
- String typeTest = req.getParameter("typeTest");//型式试验机构
- String valveProduct = req.getParameter("valveProduct");//阀门厂家
- String valveType = req.getParameter("valveType");//阀门型号
- String valveBatch = req.getParameter("valveBatch");//阀门批次
- String designUnit = req.getParameter("designUnit");//设计单位
- CylinderWx cw = new CylinderWx(carGuid, carNo, plateType, cylinderGuid, cylinderNo, cylinderType, productNo, productLicense, productDate, installStationNo, installLicense, installCert, installType, installLoc, installWorker, thirdPartyInstall, installDate, startUseDate, nextCheckDate, yearLimit, timesAvailable, productType, vol, weight, thickness, press, material, fibre, resin, equitpmentNo, productMonitor, typeTest, valveProduct, valveType, valveBatch, designUnit);
- CylinderWx resultCw = new AlterPassWordProcedure().crud_single_cylinder_info(req,cw);
- if(cw.getResult()==0){
- if(operate.equals("0")){
- result = Result.success(ResultCode.SUCCESS_CREATE, resultCw);
- }else if(operate.equals("1")){
- result = Result.success(ResultCode.SUCCESS_UPDATE, resultCw);
- }else{
-
- if(!Tool.isNullOrEmpty(cylinderGuid)){
- List<CylinderWx> cw1List = new ArrayList<CylinderWx>();
- CylinderWx cw1 = new CylinderWx();
- cw1.setCylinderGuid(cylinderGuid);
- cw1List.add(cw1);
- ThirdInterfaceDao.deleteCertInfo(cw1List);
-
- }
- result = Result.success(ResultCode.SUCCESS_DELETE, resultCw);
- }
-
- }else{
- Map<String,Object> map=new HashMap<String, Object>();
- map.put("code", 999);
- map.put("message", resultCw.getRetinfo());
- map.put("data", resultCw);
- JsonUtil.outjson(map, res, null, JsonUtil.df, "");
- return;
- }
- }else{
- result = Result.failure(ResultCode.PARAM_IS_INVALID);
- }
- }
- JsonUtil.outjson(result.toString(), res, null, JsonUtil.df, "");
- }
-
-
- /**
- * 接口验证
- * @param req
- */
- private boolean verifyLogin(HttpServletRequest req) {
- String station = req.getHeader("station");
- String signature = req.getHeader("signature");
- String signature2 = Util.getSignature(MyFilter.nxUser, MyFilter.nxPwd, station, MyFilter.secretKey);
- if (signature2.equals(signature)) {
- return true;
- }
- return false;
- }
-
-
-
- private void copyBufFile(File source,File target) throws Exception {
- BufferedInputStream in= new BufferedInputStream(new FileInputStream(source));
- BufferedOutputStream out=new BufferedOutputStream(new FileOutputStream(target));
- byte[] bbuf=new byte[1024];
- int len=0;
- while((len = in.read(bbuf))!=-1) {
- out.write(bbuf, 0, len);
- }
- in.close();
- out.close();
- }
- }
|