ruoyi-admin/src/main/java/com/ruoyi/web/controller/project/ServiceReimbursementdetailController.java
@@ -4,11 +4,17 @@ import java.util.Arrays; import java.util.List; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.common.utils.bean.DtoConversionUtils; import com.ruoyi.project.domain.ServiceReimbursementdetailVO; import com.ruoyi.project.service.IServiceReimbursementdetailSharedService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PutMapping; @@ -95,7 +101,11 @@ @Log(title = "æ¥éç³è¯·æç»", businessType = BusinessType.INSERT) @PostMapping @RepeatSubmit public AjaxResult add(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail) { public AjaxResult add(@RequestBody ServiceReimbursementdetailVO serviceReimbursementdetailVO) { ServiceReimbursementdetail serviceReimbursementdetail = DtoConversionUtils.sourceToTarget(serviceReimbursementdetailVO, ServiceReimbursementdetail.class); if (StringUtils.isNotBlank(serviceReimbursementdetailVO.getAnnexfilesList().toString())) { serviceReimbursementdetail.setAnnexfiles(JSON.toJSONString(serviceReimbursementdetailVO.getAnnexfilesList())); } return toAjax(serviceReimbursementdetailService.save(serviceReimbursementdetail)); } @@ -122,7 +132,12 @@ @Log(title = "æ¥éç³è¯·æç»", businessType = BusinessType.UPDATE) @PutMapping //@RepeatSubmit public AjaxResult edit(@RequestBody ServiceReimbursementdetail serviceReimbursementdetail) { public AjaxResult edit(@RequestBody ServiceReimbursementdetailVO serviceReimbursementdetailVO) { ServiceReimbursementdetail serviceReimbursementdetail = DtoConversionUtils.sourceToTarget(serviceReimbursementdetailVO, ServiceReimbursementdetail.class); if (!CollectionUtils.isEmpty(serviceReimbursementdetailVO.getAnnexfilesList())) { //对åç«¯ä¼ è¿æ¥çæ°ç»ï¼è¿è¡JSONåºååï¼å¹¶èµå¼ç»Annexfiles serviceReimbursementdetail.setAnnexfiles(JSON.toJSONString(serviceReimbursementdetailVO.getAnnexfilesList())); } return toAjax(serviceReimbursementdetailService.updateById(serviceReimbursementdetail)); } ruoyi-admin/src/main/resources/application.yml
@@ -9,8 +9,10 @@ # å®ä¾æ¼ç¤ºå¼å ³ demoEnabled: true # æä»¶è·¯å¾ 示ä¾ï¼ Windowsé ç½®D:/ruoyi/uploadPathï¼Linuxé ç½® /home/ruoyi/uploadPathï¼ # å¼åç¯å¢ profile: D:/lihusoft/OPO/WEB/Upload # å¼åç¯å¢ window # profile: D:/lihusoft/OPO/WEB/Upload # å¼åç¯å¢ linux profile: /home/smartor/uploadFile # å»é¢ç¯å¢ #profile: E:/OPO/WEB/Upload # è·åipå°åå¼å ³ ruoyi-project/src/main/java/com/ruoyi/project/domain/RbDetailFile.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,14 @@ package com.ruoyi.project.domain; import lombok.Data; @Data public class RbDetailFile { private String name; private String url; private String fileid; } ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementdetail.java
@@ -11,118 +11,159 @@ import java.math.BigDecimal; import java.util.Date; import java.util.List; import java.util.Map; /** * æ¥éç³è¯·æç»å¯¹è±¡ service_reimbursementdetail * * * @author ruoyi * @date 2022-01-24 */ @Data @ApiModel("æ¥éç³è¯·æç»") public class ServiceReimbursementdetail extends BaseEntity { public class ServiceReimbursementdetail extends BaseEntity { private static final long serialVersionUID = 1L; /** 主é®ID */ /** * 主é®ID */ @ApiModelProperty("主é®ID") //æ°æ®åºèªå¢æ¹æ@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO) private Long id; /** èµéç³è¯·ä¸»è¡¨ID */ /** * èµéç³è¯·ä¸»è¡¨ID */ @ApiModelProperty("èµéç³è¯·ä¸»è¡¨ID") @Excel(name = "èµéç³è¯·ä¸»è¡¨ID") private Long rbid; /** åºåæ¶é´ */ /** * åºåæ¶é´ */ @ApiModelProperty("åºåæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "åºåæ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date starttime; /** åºåå°ç¹ */ /** * åºåå°ç¹ */ @ApiModelProperty("åºåå°ç¹") @Excel(name = "åºåå°ç¹") private String departure; /** å°è¾¾æ¶é´ */ /** * å°è¾¾æ¶é´ */ @ApiModelProperty("å°è¾¾æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "å°è¾¾æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date endtime; /** å°è¾¾å°ç¹ */ /** * å°è¾¾å°ç¹ */ @ApiModelProperty("å°è¾¾å°ç¹") @Excel(name = "å°è¾¾å°ç¹") private String destination; /** å¤©æ° */ /** * å¤©æ° */ @ApiModelProperty("天æ°") @Excel(name = "天æ°") private Long days; /** 交éè´¹ */ /** * 交éè´¹ */ @ApiModelProperty("交éè´¹") @Excel(name = "交éè´¹") private BigDecimal trafficexpense; /** 交éå·¥å · */ /** * 交éå·¥å · */ @ApiModelProperty("交éå·¥å ·") @Excel(name = "交éå·¥å ·") private String traffictype; /** 交éå·¥å · */ /** * 交éå·¥å · */ @ApiModelProperty("交éå·¥å ·") @Excel(name = "交éå·¥å ·") private String traffictype2; /** å¸å 交éè´¹ */ /** * å¸å 交éè´¹ */ @ApiModelProperty("å¸å 交éè´¹") @Excel(name = "å¸å 交éè´¹") private BigDecimal cityfee; /** ä½å®¿è´¹ */ /** * ä½å®¿è´¹ */ @ApiModelProperty("ä½å®¿è´¹") @Excel(name = "ä½å®¿è´¹") private BigDecimal hotelexpense; /** åç¥¨å¼ æ° */ /** * åç¥¨å¼ æ° */ @ApiModelProperty("åç¥¨å¼ æ°") @Excel(name = "åç¥¨å¼ æ°") private Long invoicecount; /** éä»¶å¼ æ° */ /** * éä»¶å¼ æ° */ @ApiModelProperty("éä»¶å¼ æ°") @Excel(name = "éä»¶å¼ æ°") private Long attachcount; /** æè´¹ */ /** * æè´¹ */ @ApiModelProperty("æè´¹") @Excel(name = "æè´¹") private BigDecimal otherexpense; /** ä¼é£è´¹ */ /** * ä¼é£è´¹ */ @ApiModelProperty("ä¼é£è´¹") @Excel(name = "ä¼é£è´¹") private BigDecimal foodexpenses; /** ä¼é£è´¹è¡¥å© */ /** * ä¼é£è´¹è¡¥å© */ @ApiModelProperty("ä¼é£è´¹è¡¥å©") @Excel(name = "ä¼é£è´¹è¡¥å©") private BigDecimal foodallowance; /** é件表 */ /** * é件表 */ @ApiModelProperty("é件表") @Excel(name = "é件表") private String annexfiles; /** ä¸ä¼ æ è¯ */ /** * ä¸ä¼ æ è¯ */ @ApiModelProperty("ä¸ä¼ æ è¯") @Excel(name = "ä¸ä¼ æ è¯") private String uploadFlag; /** ä¸ä¼ æ¶é´ */ /** * ä¸ä¼ æ¶é´ */ @ApiModelProperty("ä¸ä¼ æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "ä¸ä¼ æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") @@ -130,32 +171,44 @@ private String remark; /** å·®æ å°åç代ç */ /** * å·®æ å°åç代ç */ @ApiModelProperty("å·®æ å°åç代ç ") @Excel(name = "å·®æ å°åç代ç ") private String travelprovince; /** å·®æ å°åçåç§° */ /** * å·®æ å°åçåç§° */ @ApiModelProperty("å·®æ å°åçåç§°") @Excel(name = "å·®æ å°åçåç§°") private String travelprovincename; /** å¸ç¼å· æ ¹æ®è¡æ¿åºå表 */ /** * å¸ç¼å· æ ¹æ®è¡æ¿åºå表 */ @ApiModelProperty("å¸ç¼å· æ ¹æ®è¡æ¿åºå表") @Excel(name = "å¸ç¼å· æ ¹æ®è¡æ¿åºå表") private String travelcity; /** å¸åç§° */ /** * å¸åç§° */ @ApiModelProperty("å¸åç§°") @Excel(name = "å¸åç§°") private String travelcityname; /** æå±è¡éï¼éï¼æ ¹æ®è¡æ¿åºå表 */ /** * æå±è¡éï¼éï¼æ ¹æ®è¡æ¿åºå表 */ @ApiModelProperty("æå±è¡éï¼éï¼æ ¹æ®è¡æ¿åºå表") @Excel(name = "æå±è¡éï¼éï¼æ ¹æ®è¡æ¿åºå表") private String traveltown; /** æå±è¡éï¼éï¼åç§° */ /** * æå±è¡éï¼éï¼åç§° */ @ApiModelProperty("æå±è¡éï¼éï¼åç§°") @Excel(name = "æå±è¡éï¼éï¼åç§°") private String traveltownname; @@ -169,5 +222,6 @@ private String persontype; private String personname; } ruoyi-project/src/main/java/com/ruoyi/project/domain/ServiceReimbursementdetailVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,231 @@ package com.ruoyi.project.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.fasterxml.jackson.annotation.JsonFormat; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * æ¥éç³è¯·æç»å¯¹è±¡ service_reimbursementdetail * * @author ruoyi * @date 2022-01-24 */ @Data @ApiModel("æ¥éç³è¯·æç»") public class ServiceReimbursementdetailVO extends BaseEntity { private static final long serialVersionUID = 1L; /** * 主é®ID */ @ApiModelProperty("主é®ID") //æ°æ®åºèªå¢æ¹æ@TableId(type = IdType.AUTO) @TableId(type = IdType.AUTO) private Long id; /** * èµéç³è¯·ä¸»è¡¨ID */ @ApiModelProperty("èµéç³è¯·ä¸»è¡¨ID") @Excel(name = "èµéç³è¯·ä¸»è¡¨ID") private Long rbid; /** * åºåæ¶é´ */ @ApiModelProperty("åºåæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "åºåæ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date starttime; /** * åºåå°ç¹ */ @ApiModelProperty("åºåå°ç¹") @Excel(name = "åºåå°ç¹") private String departure; /** * å°è¾¾æ¶é´ */ @ApiModelProperty("å°è¾¾æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "å°è¾¾æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date endtime; /** * å°è¾¾å°ç¹ */ @ApiModelProperty("å°è¾¾å°ç¹") @Excel(name = "å°è¾¾å°ç¹") private String destination; /** * å¤©æ° */ @ApiModelProperty("天æ°") @Excel(name = "天æ°") private Long days; /** * 交éè´¹ */ @ApiModelProperty("交éè´¹") @Excel(name = "交éè´¹") private BigDecimal trafficexpense; /** * 交éå·¥å · */ @ApiModelProperty("交éå·¥å ·") @Excel(name = "交éå·¥å ·") private String traffictype; /** * 交éå·¥å · */ @ApiModelProperty("交éå·¥å ·") @Excel(name = "交éå·¥å ·") private String traffictype2; /** * å¸å 交éè´¹ */ @ApiModelProperty("å¸å 交éè´¹") @Excel(name = "å¸å 交éè´¹") private BigDecimal cityfee; /** * ä½å®¿è´¹ */ @ApiModelProperty("ä½å®¿è´¹") @Excel(name = "ä½å®¿è´¹") private BigDecimal hotelexpense; /** * åç¥¨å¼ æ° */ @ApiModelProperty("åç¥¨å¼ æ°") @Excel(name = "åç¥¨å¼ æ°") private Long invoicecount; /** * éä»¶å¼ æ° */ @ApiModelProperty("éä»¶å¼ æ°") @Excel(name = "éä»¶å¼ æ°") private Long attachcount; /** * æè´¹ */ @ApiModelProperty("æè´¹") @Excel(name = "æè´¹") private BigDecimal otherexpense; /** * ä¼é£è´¹ */ @ApiModelProperty("ä¼é£è´¹") @Excel(name = "ä¼é£è´¹") private BigDecimal foodexpenses; /** * ä¼é£è´¹è¡¥å© */ @ApiModelProperty("ä¼é£è´¹è¡¥å©") @Excel(name = "ä¼é£è´¹è¡¥å©") private BigDecimal foodallowance; /** * é件表 */ @ApiModelProperty("é件表") @Excel(name = "é件表") private String annexfiles; /** * éä»¶éå表 */ private List annexfilesList; /** * ä¸ä¼ æ è¯ */ @ApiModelProperty("ä¸ä¼ æ è¯") @Excel(name = "ä¸ä¼ æ è¯") private String uploadFlag; /** * ä¸ä¼ æ¶é´ */ @ApiModelProperty("ä¸ä¼ æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @Excel(name = "ä¸ä¼ æ¶é´", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") private Date uploadTime; private String remark; /** * å·®æ å°åç代ç */ @ApiModelProperty("å·®æ å°åç代ç ") @Excel(name = "å·®æ å°åç代ç ") private String travelprovince; /** * å·®æ å°åçåç§° */ @ApiModelProperty("å·®æ å°åçåç§°") @Excel(name = "å·®æ å°åçåç§°") private String travelprovincename; /** * å¸ç¼å· æ ¹æ®è¡æ¿åºå表 */ @ApiModelProperty("å¸ç¼å· æ ¹æ®è¡æ¿åºå表") @Excel(name = "å¸ç¼å· æ ¹æ®è¡æ¿åºå表") private String travelcity; /** * å¸åç§° */ @ApiModelProperty("å¸åç§°") @Excel(name = "å¸åç§°") private String travelcityname; /** * æå±è¡éï¼éï¼æ ¹æ®è¡æ¿åºå表 */ @ApiModelProperty("æå±è¡éï¼éï¼æ ¹æ®è¡æ¿åºå表") @Excel(name = "æå±è¡éï¼éï¼æ ¹æ®è¡æ¿åºå表") private String traveltown; /** * æå±è¡éï¼éï¼åç§° */ @ApiModelProperty("æå±è¡éï¼éï¼åç§°") @Excel(name = "æå±è¡éï¼éï¼åç§°") private String traveltownname; private BigDecimal otherfeeamount; private String otherfeedesc; private Integer orderno; private String persontype; private String personname; } ruoyi-project/src/main/java/com/ruoyi/project/service/IServiceReimbursementService.java
@@ -1,25 +1,23 @@ package com.ruoyi.project.service; import java.util.List; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.project.domain.ServiceReimbursement; import com.ruoyi.project.domain.ServiceReimbursementEo; import com.ruoyi.project.domain.ServiceReimbursementdetail; import com.ruoyi.project.domain.*; import com.ruoyi.project.domain.dto.ServiceReimbursementDto; import com.ruoyi.project.domain.vo.SpFinancialExpensesReimbursementOut; /** * æ¥éç³è¯·Serviceæ¥å£ * * * @author ruoyi * @date 2022-01-24 */ public interface IServiceReimbursementService extends IService<ServiceReimbursement> { public interface IServiceReimbursementService extends IService<ServiceReimbursement> { /** * æ¥è¯¢æ¥éç³è¯·å表 * * * @param serviceReimbursement æ¥éç³è¯· * @return æ¥éç³è¯·éå */ @@ -27,10 +25,11 @@ Long getMaxId(); List<ServiceReimbursementdetail> getRBDetailList(Long id); List<ServiceReimbursementdetailVO> getRBDetailList(Long id); /** * æ°å¢å¤ä»½æ°æ® * * @param id * @return */ @@ -39,11 +38,12 @@ List<ServiceReimbursement> selectSearchList(ServiceReimbursementDto serviceReimbursementdto); List<SpFinancialExpensesReimbursementOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT,Integer CHECKFLAG,Integer APPLYTYPE); List<SpFinancialExpensesReimbursementOut> getListBypower(String PAUSERNO, Integer PAFUNDTYPE, String PAAPPLICANT, String PAAPPLICATIONBEGTIME, String PAAPPLICATIONENDTIME, String PADEPARTMENT, Integer CHECKFLAG, Integer APPLYTYPE); List<ServiceReimbursement> getInfoByInfoId(Long infoid); List<ServiceReimbursement> getInfoByInfoIdRelatives(Long infoid); List<ServiceReimbursementEo> getRDInfoByItem(ServiceReimbursementEo serviceReimbursementEo); } ruoyi-project/src/main/java/com/ruoyi/project/service/impl/ServiceReimbursementServiceImpl.java
@@ -1,9 +1,11 @@ package com.ruoyi.project.service.impl; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.ruoyi.common.config.RuoYiConfig; @@ -114,8 +116,26 @@ } @Override public List<ServiceReimbursementdetail> getRBDetailList(Long id) { return serviceReimbursementdetailMapper.getRBDetailList(id); public List<ServiceReimbursementdetailVO> getRBDetailList(Long id) { List<ServiceReimbursementdetailVO> serviceReimbursementdetailVOS = new ArrayList<>(); List<ServiceReimbursementdetail> rbDetailList = serviceReimbursementdetailMapper.getRBDetailList(id); for (int j = 0; j < rbDetailList.size(); j++) { ServiceReimbursementdetail serviceReimbursementdetail = rbDetailList.get(j); String annexfiles = serviceReimbursementdetail.getAnnexfiles(); ServiceReimbursementdetailVO serviceReimbursementdetailVO = DtoConversionUtils.sourceToTarget(serviceReimbursementdetail, ServiceReimbursementdetailVO.class); if (StringUtils.isNotBlank(annexfiles)) { try { serviceReimbursementdetailVO.setAnnexfilesList(JSON.parseArray(annexfiles)); } catch (Exception e) { if (e.getMessage().equals("invalid comment")) { log.error("æ¥å¼å¸¸äºï¼è大ä¸è®©æå¤ç"); } } } serviceReimbursementdetailVOS.add(serviceReimbursementdetailVO); } return serviceReimbursementdetailVOS; } @Override @@ -136,14 +156,17 @@ List<ServiceReimbursementpayeeShared> serviceReimbursementpayeeShareds = DtoConversionUtils.sourceToTarget(serviceReimbursementpayees, ServiceReimbursementpayeeShared.class); //å°ç»è£ å¥½çæ°æ®æå ¥å°åäº«è¡¨ä¸ sharedService.save(serviceReimbursementShared); //ä¸ä¼ OAæä»¶ uploadOAFileAndUpdateDb(serviceReimbursementShared); // //ä¸ä¼ OAæä»¶ // uploadOAFileAndUpdateDb(serviceReimbursementShared); //å°serviceReimbursementdetail表éçidèµå¼ç»Rdid; å°serviceReimbursementSharedéçIDèµå¼ç»RBID,å¹¶å°serviceReimbursementdetailShared表éçid置空ï¼ç±æ°æ®åºéæ°çæ for (int i = 0; i < details.size(); i++) { serviceReimbursementdetailShareds.get(i).setRdid(serviceReimbursementdetailShareds.get(i).getId()); serviceReimbursementdetailShareds.get(i).setRbid(serviceReimbursementShared.getId()); serviceReimbursementdetailShareds.get(i).setId(null); //ä¸ä¼ OAæä»¶ uploadOAFileAndUpdateDb(serviceReimbursementdetailShareds.get(i)); } detailSharedService.saveBatch(serviceReimbursementdetailShareds); //å°serviceReimbursementpayee表éçidèµå¼ç»Rpid; å°serviceReimbursementSharedéçIDèµå¼ç»RBID,å¹¶å°serviceReimbursementpayeeShared表éçid置空ï¼ç±æ°æ®åºéæ°çæ @@ -182,14 +205,12 @@ return serviceReimbursementMapper.getRDInfoByItem(serviceReimbursementEo); } int uploadOAFileAndUpdateDb(ServiceReimbursementShared remShare) { public int uploadOAFileAndUpdateDb(ServiceReimbursementdetailShared remShare) { //ä¸ä¼ OAæä»¶ //String strUrl = "http://129.88.242.39:8899/seeyon/rest/token?userName=opo&password=127814f8-84e8-4304-84a5-a71573567efd&loginName=demo3"; String strUrl = "http://129.88.242.39:8899/seeyon/rest/token"; //String strUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/token"; //ä¸ä¼ æä»¶æååï¼å»æ´æ°ç¸å ³çæ°æ®åº Map<String, Object> map = new HashMap<String, Object>(); map.put("userName", "opo"); @@ -205,106 +226,162 @@ JSONObject json1 = JSONObject.parseObject(strRes); strRes = json1.get("id").toString(); ///if(strRes.isEmpty() || "" == strRes) return -1;// 为空代表失败 //ä¸é¢éæ±è°ç¨æä»¶çæ¥å£ï¼è°ç¨æåè¿ååï¼å¾å°filenameåfileid ç¨è¿äºä¸ªå¼å»æ´æ°æ°æ® String filePath = RuoYiConfig.getUploadPath(); // String strMutfileUrl = remShare.getFileurl();//å¯è½åå¨å¤ä¸ªå°åï¼ä»¥,åå¼ String strMutfileUrl = remShare.getAnnexfiles(); String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token=" + strRes; //String strFUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/attachment?token="+strRes; //strFUrl = String.format(strFUrl, strRes); /*File test = null; File file = new File("E:\\YYJQ\\OPO\\WEB\\Upload\\upload\\2023\\02\\17"); if (file.exists() && file.isDirectory()) { // è·åææç²çæä»¶å¤¹ File[] ones = file.listFiles(); for (File one : ones) { test = one; } }*/ String filename = ""; String fileid = ""; String[] urlArray = strMutfileUrl.split(","); for (int i = 0; i < urlArray.length; i++) { String strOneFileName = urlArray[i]; String strTemp = strOneFileName.substring(15); String strFile = filePath + strTemp; //FileUploadUtils.getAbsoluteFile(filePath,strOneFileName); String struploadResult = ""; List<RbDetailFile> parseArray2 = new ArrayList<>(); List<RbDetailFile> parseArray = JSON.parseArray(remShare.getAnnexfiles(), RbDetailFile.class); for (int i = 0; i < parseArray.size(); i++) { RbDetailFile rbDetailFile = parseArray.get(i); String strFile = rbDetailFile.getUrl().replaceAll("/profile/upload", filePath); File filetest = new File(strFile); try { struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); String struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); if (StringUtils.isEmpty(struploadResult)) { log.info("HttpClientKit.sendPostWithFile 请æ±ä¸ºç©ºäº filetest:{}, strFUrl:{} ",filetest,strFUrl); return 0; } //è·åfileid JSONObject jsonR = JSONObject.parseObject(struploadResult); JSONArray jsonArr = jsonR.getJSONArray("atts"); for (int j = 0; j < jsonArr.size(); j++) { JSONObject jsonRet = jsonArr.getJSONObject(j); rbDetailFile.setFileid(jsonRet.get("fileUrl").toString()); } } catch (Exception e) { e.printStackTrace(); log.error("HttpClientKit.sendPostWithFile æ¥éäº : " + e.getMessage()); } /*CloseableHttpClient httpClient = HttpClients.createDefault(); //å建postæ¹æ³è¿æ¥å®ä¾ï¼å¨postæ¹æ³ä¸ä¼ å ¥å¾ è¿æ¥å°å HttpPost httpPost = new HttpPost(strFUrl); CloseableHttpResponse response = null; String struploadResult = ""; try { //设置请æ±åæ°ï¼ç±»ä¼¼html页é¢ä¸name屿§ï¼ MultipartEntityBuilder entity = MultipartEntityBuilder.create(); //entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); entity.setCharset(Charset.forName("UTF-8")); byte[] fileBytes = Files.readAllBytes(Paths.get(strFile)); if (fileBytes != null) { //å 容类åï¼ç¨äºå®ä¹ç½ç»æä»¶çç±»ååç½é¡µçç¼ç ï¼å³å®æä»¶æ¥æ¶æ¹å°ä»¥ä»ä¹å½¢å¼ãä»ä¹ç¼ç 读åè¿ä¸ªæä»¶ ContentType OCTEC_STREAM = ContentType.create("application/octet-stream", Charset.forName("UTF-8")); //æ·»å æä»¶ entity.addBinaryBody("file", fileBytes, OCTEC_STREAM, strTemp); } httpPost.setEntity(entity.build()); //å起请æ±ï¼å¹¶è¿å请æ±ååº response = httpClient.execute(httpPost); struploadResult = EntityUtils.toString(response.getEntity(), "utf-8"); } catch (Exception e) { e.printStackTrace(); }*/ //String strFRes = HttpClientKit.postMsg(strFUrl,jsonFObj); if (struploadResult == null) return 0; if (struploadResult.isEmpty()) return 0; JSONObject jsonR = JSONObject.parseObject(struploadResult); JSONArray jsonArr = jsonR.getJSONArray("atts"); for (int j = 0; j < jsonArr.size(); j++) { JSONObject jsonRet = jsonArr.getJSONObject(j); String name1 = jsonRet.get("filename").toString(); String id1 = jsonRet.get("fileUrl").toString(); filename += name1; fileid += id1; if (i != urlArray.length - 1) { filename += ","; fileid += ","; } } parseArray2.add(rbDetailFile); } long nId = remShare.getId(); remShare.setId(nId); remShare.setFilename(filename); remShare.setFileid(fileid); log.info("remShareçæ°æ®ä¸º : {}:", remShare.toString()); boolean bRet = sharedService.updateById(remShare); if (!bRet) return -1; remShare.setAnnexfiles(JSON.toJSONString(parseArray2)); log.info("ServiceReimbursementdetailShared æ¯å¦å ä¸äºfileid : {}",remShare); return 0; } // int uploadOAFileAndUpdateDb(ServiceReimbursementShared remShare) { // //ä¸ä¼ OAæä»¶ // //String strUrl = "http://129.88.242.39:8899/seeyon/rest/token?userName=opo&password=127814f8-84e8-4304-84a5-a71573567efd&loginName=demo3"; // String strUrl = "http://129.88.242.39:8899/seeyon/rest/token"; // //String strUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/token"; // //ä¸ä¼ æä»¶æååï¼å»æ´æ°ç¸å ³çæ°æ®åº // // // Map<String, Object> map = new HashMap<String, Object>(); // map.put("userName", "opo"); // map.put("password", "4126407a-9821-4874-be41-6568abd6dbe5"); // map.put("loginName", "demo3"); // // JSONObject jsonObj = new JSONObject(map); // // System.out.println("uploadOAFileAndUpdateDb + jsonObject" + jsonObj.toString() + "\r\n" + jsonObj.toJSONString()); // String strRes = HttpClientKit.postOpr(strUrl, jsonObj.toString());// // //String strRes = HttpClientKit.postMsg(strUrl,jsonObj);//å¾å°è¿åçtoken? // // JSONObject json1 = JSONObject.parseObject(strRes); // strRes = json1.get("id").toString(); // // ///if(strRes.isEmpty() || "" == strRes) return -1;// 为空代表失败 // // //ä¸é¢éæ±è°ç¨æä»¶çæ¥å£ï¼è°ç¨æåè¿ååï¼å¾å°filenameåfileid ç¨è¿äºä¸ªå¼å»æ´æ°æ°æ® // // String filePath = RuoYiConfig.getUploadPath(); // // String strMutfileUrl = remShare.getFileurl();//å¯è½åå¨å¤ä¸ªå°åï¼ä»¥,åå¼ // String strMutfileUrl = remShare.getAnnexfiles(); // String strFUrl = "http://129.88.242.39:8899/seeyon/rest/attachment?token=" + strRes; // //String strFUrl = "http://slb.hospitalstar.com:8899/seeyon/rest/attachment?token="+strRes; // //strFUrl = String.format(strFUrl, strRes); // // /*File test = null; // File file = new File("E:\\YYJQ\\OPO\\WEB\\Upload\\upload\\2023\\02\\17"); // if (file.exists() && file.isDirectory()) { // // è·åææç²çæä»¶å¤¹ // File[] ones = file.listFiles(); // for (File one : ones) { // test = one; // } // }*/ // // String filename = ""; // String fileid = ""; // // String[] urlArray = strMutfileUrl.split(","); // for (int i = 0; i < urlArray.length; i++) { // String strOneFileName = urlArray[i]; // String strTemp = strOneFileName.substring(15); // String strFile = filePath + strTemp; // //FileUploadUtils.getAbsoluteFile(filePath,strOneFileName); // String struploadResult = ""; // File filetest = new File(strFile); // try { // struploadResult = HttpClientKit.sendPostWithFile(filetest, strFUrl); // } catch (Exception e) { // e.printStackTrace(); // } // // // /*CloseableHttpClient httpClient = HttpClients.createDefault(); // //å建postæ¹æ³è¿æ¥å®ä¾ï¼å¨postæ¹æ³ä¸ä¼ å ¥å¾ è¿æ¥å°å // HttpPost httpPost = new HttpPost(strFUrl); // CloseableHttpResponse response = null; // // String struploadResult = ""; // try { // //设置请æ±åæ°ï¼ç±»ä¼¼html页é¢ä¸name屿§ï¼ // MultipartEntityBuilder entity = MultipartEntityBuilder.create(); // //entity.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); // entity.setCharset(Charset.forName("UTF-8")); // // byte[] fileBytes = Files.readAllBytes(Paths.get(strFile)); // if (fileBytes != null) { // //å 容类åï¼ç¨äºå®ä¹ç½ç»æä»¶çç±»ååç½é¡µçç¼ç ï¼å³å®æä»¶æ¥æ¶æ¹å°ä»¥ä»ä¹å½¢å¼ãä»ä¹ç¼ç 读åè¿ä¸ªæä»¶ // ContentType OCTEC_STREAM = ContentType.create("application/octet-stream", Charset.forName("UTF-8")); // //æ·»å æä»¶ // entity.addBinaryBody("file", fileBytes, OCTEC_STREAM, strTemp); // } // // httpPost.setEntity(entity.build()); // //å起请æ±ï¼å¹¶è¿å请æ±ååº // response = httpClient.execute(httpPost); // struploadResult = EntityUtils.toString(response.getEntity(), "utf-8"); // } // catch (Exception e) // { // e.printStackTrace(); // }*/ // // //String strFRes = HttpClientKit.postMsg(strFUrl,jsonFObj); // if (struploadResult == null) return 0; // if (struploadResult.isEmpty()) return 0; // // JSONObject jsonR = JSONObject.parseObject(struploadResult); // // JSONArray jsonArr = jsonR.getJSONArray("atts"); // for (int j = 0; j < jsonArr.size(); j++) { // JSONObject jsonRet = jsonArr.getJSONObject(j); // String name1 = jsonRet.get("filename").toString(); // String id1 = jsonRet.get("fileUrl").toString(); // filename += name1; // fileid += id1; // if (i != urlArray.length - 1) { // filename += ","; // fileid += ","; // } // } // // } // // long nId = remShare.getId(); // remShare.setId(nId); // remShare.setFilename(filename); // remShare.setFileid(fileid); // log.info("remShareçæ°æ®ä¸º : {}:", remShare.toString()); // boolean bRet = sharedService.updateById(remShare); // if (!bRet) return -1; // // return 0; // } }