From 3697ca81ae651e6087706668744f5b67535f9f40 Mon Sep 17 00:00:00 2001 From: YYC <1833023622@qq.com> Date: 星期一, 23 十二月 2024 17:37:33 +0800 Subject: [PATCH] 数据调整 --- src/main/java/com/fzzy/web/TestController.java | 192 +++++ src/main/java/com/fzzy/api/entity/Api9201.java | 198 +++++ src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java | 2 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java | 2 src/main/java/com/fzzy/push/gd2022/ApiCodeConstant.java | 1 src/main/java/com/fzzy/otherview/gd2022/pr/GDApi1023PR.java | 6 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync9201.java | 182 +++++ src/main/resources/templates/home/home.html | 3 src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java | 5 src/main/java/com/fzzy/api/view/repository/Api9201Rep.java | 37 + src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync9201Rep.java | 22 src/main/java/com/fzzy/otherview/gd2022/pr/GDApi9201PR.java | 239 +++++++ src/main/java/com/fzzy/otherview/gd2022/GdApi9201.view.xml | 1105 ++++++++++++++++++++++++++++++++ src/main/resources/application.yml | 2 14 files changed, 1,985 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/fzzy/api/entity/Api9201.java b/src/main/java/com/fzzy/api/entity/Api9201.java new file mode 100644 index 0000000..e708e6d --- /dev/null +++ b/src/main/java/com/fzzy/api/entity/Api9201.java @@ -0,0 +1,198 @@ +package com.fzzy.api.entity; + +import com.alibaba.fastjson.annotation.JSONField; +import com.bstek.dorado.annotation.PropertyDef; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.fzzy.push.gd2022.dto.Gd2022Api1023Dtl; +import com.fzzy.push.gd2022.dto.Gd2022Api1023People; +import com.fzzy.push.gd2022.dto.Gd2022Api1023Way; +import lombok.Data; + +import javax.persistence.*; +import java.io.Serializable; +import java.util.Date; +import java.util.List; + +/** + * 鐔忚捀澶囨涓昏〃淇℃伅 + * + * @Author:YAN + */ +@Entity +@Data +@Table(name = "API_9201") +public class Api9201 extends ApiParent implements Serializable { + + @Id + @Column(name = "id", length = 12) + @PropertyDef(label = "id", description = "鍏ュ簱鏃ユ湡+4浣嶉『搴忓彿") + private String id; + + @Column(name = "xzbm", length = 4) + @PropertyDef(label = "鐔忚捀澶囨缂栧彿", description = "4浣嶉『搴忓彿") + private String xzbm; + + @Column(name = "kqdm", length = 21) + @PropertyDef(label = "搴撳尯浠g爜") + private String kqdm; + + @Column(name = "kqmc", length = 21) + @PropertyDef(label = "搴撳尯鍚嶇О") + private String kqmc; + + @Column(name = "tbrq") + @PropertyDef(label = "濉姤鏃ユ湡") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date tbrq; + + @Column(name = "dwdm", length = 18) + @PropertyDef(label = "鍗曚綅浠g爜", description = "浼佷笟淇$敤浠g爜") + private String dwdm; + + @Column(name = "dwmc", length = 18) + @PropertyDef(label = "鍗曚綅鍚嶇О") + private String dwmc; + + @Column(name = "sqxzrq") + @PropertyDef(label = "鐢宠鐔忚捀鏃ユ湡") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date sqxzrq; + + @Column(name = "fzr", length = 20) + @PropertyDef(label = "璐熻矗浜�") + private String fzr; + + @Column(name = "fzrdh", length = 11) + @PropertyDef(label = "璐熻矗浜虹數璇�") + private String fzrdh; + + @Column(name = "xcfzr", length = 20) + @PropertyDef(label = "鐜板満璐熻矗浜�") + private String xcfzr; + + @Column(name = "fzrzw", length = 10) + @PropertyDef(label = "鐜板満璐熻矗浜鸿亴鍔�") + private String xcfzrzw; + + @Column(name = "xcfzrdh", length = 11) + @PropertyDef(label = "鐜板満璐熻矗浜虹數璇�") + private String xcfzrdh; + + @Column(name = "tbr", length = 20) + @PropertyDef(label = "濉〃浜�") + private String tbr; + + @Column(name = "tbrdh", length = 11) + @PropertyDef(label = "濉〃浜虹數璇�") + private String tbrdh; + + @Column(name = "sfszjjxd", length = 2) + @PropertyDef(label = "鏄惁璁剧疆璀︽垝绾�(涓�)", description = "鏄垨鍚�") + private String sfszjjxd; + + @Column(name = "sfszjjxx", length = 2) + @PropertyDef(label = "鏄惁璁剧疆璀︽垝绾�(瑗�)", description = "鏄垨鍚�") + private String sfszjjxx; + + @Column(name = "sfszjjxn", length = 2) + @PropertyDef(label = "鏄惁璁剧疆璀︽垝绾�(鍗�)", description = "鏄垨鍚�") + private String sfszjjxn; + + @Column(name = "sfszjjxb", length = 2) + @PropertyDef(label = "鏄惁璁剧疆璀︽垝绾�(鍖�)", description = "鏄垨鍚�") + private String sfszjjxb; + + @Column(name = "ssxzzystqybqk", length = 1024) + @PropertyDef(label = "瀹炴柦鐔忚捀浣滀笟鏃跺ぉ姘旈鎶ユ儏鍐�") + private String ssxzzystqybqk; + + @Column(name = "xzssgcap", length = 1024) + @PropertyDef(label = "鐔忚捀瀹夋帓鍙婂疄鏂借繃绋�") + private String xzssgcap; + + @Column(name = "aqfhjyjcccs", length = 1024) + @PropertyDef(label = "瀹夊叏闃叉姢鍙婂簲鎬ュ缃帾鏂�") + private String aqfhjyjcccs; + + @Column(name = "xzzysx", length = 1024) + @PropertyDef(label = "鐔忚捀娉ㄦ剰浜嬮」") + private String xzzysx; + + @Column(name = "fileStorageId", length = 19) + @PropertyDef(label = "鏂囦欢瀛樺偍ID") + private String fileStorageId; + + @Column(name = "yjmc", length = 64) + @PropertyDef(label = "鑽墏鍚嶇О") + private String yjmc; + + @Column(name = "yjlx", length = 10) + @PropertyDef(label = "鑽墏绫诲瀷/鍨嬪彿") + private String yjlx; + + @Column(name = "yjyxqz") + @PropertyDef(label = "鑽墏鏈夋晥鏈熻嚦") + private Date yjyxqz; + + @Column(name = "lqsl", precision = 20, scale = 3) + @PropertyDef(label = "棰嗗彇鏁伴噺", description = "鍏枻") + private Double lqsl; + + @Column(name = "sysbjfs", length = 20) + @PropertyDef(label = "鏂借嵂璁惧鍙婃柟寮�") + private String sysbjfs; + + @Column(name = "zcdd", length = 30) + @PropertyDef(label = "鏆傚瓨鍦扮偣") + private String zcdd; + + @Column(name = "lqr", length = 20) + @PropertyDef(label = "棰嗗彇浜�") + private String lqr; + + @Column(name = "lqrq") + @PropertyDef(label = "棰嗗彇鏃堕棿") + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") + private Date lqrq; + + @Column(name = "czbz", length = 1) + @PropertyDef(label = "鎿嶄綔鏍囧織") + private String czbz; + + @Column(name = "zhgxsj") + @PropertyDef(label = "鏇存柊鏃堕棿") + private Date zhgxsj; + + @Column(name = "dtl", length = 2000) + @PropertyDef(label = "绮儏鏄庣粏琛�") + private String dtl; + + @Column(name = "way", length = 2000) + @PropertyDef(label = "鐔忚捀澶囨鏂瑰紡") + private String way; + + @Column(name = "people", length = 2000) + @PropertyDef(label = "绮儏鏄庣粏琛�") + private String people; + + + /** + * 鍌ㄧ伯绮儏鏄庣粏琛� + */ + @Transient + private List<Gd2022Api1023Dtl> dtls; + + /** + * 鐔忚捀澶囨鏂瑰紡 + */ + @Transient + private List<Gd2022Api1023Way> ways; + + /** + * 鐔忚捀浣滀笟浜哄憳 + */ + @Transient + private List<Gd2022Api1023People> peoples; + + +} diff --git a/src/main/java/com/fzzy/api/view/repository/Api9201Rep.java b/src/main/java/com/fzzy/api/view/repository/Api9201Rep.java new file mode 100644 index 0000000..62034f5 --- /dev/null +++ b/src/main/java/com/fzzy/api/view/repository/Api9201Rep.java @@ -0,0 +1,37 @@ +package com.fzzy.api.view.repository; + +import com.fzzy.api.entity.Api1307; +import com.fzzy.api.entity.Api9201; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + + +public interface Api9201Rep extends JpaRepository<Api9201, String>, JpaSpecificationExecutor<Api9201> { + + + /** + * 鏍规嵁琛ㄥ崟涓婚敭鏇存柊鎿嶄綔鏍囧織鐘舵�� + * + * @param dwdm 涓婚敭ID + * @param czbz 鎿嶄綔鏍囧織 + * @return + */ + @Transactional + @Modifying + @Query("update Api9201 set czbz =:czbz where dwdm =:dwdm ") + int updateStatus(@Param("dwdm") String dwdm, @Param("czbz") String czbz); + + + @Query("from Api9201 where kqdm=:kqdm and zhgxsj >=:start and zhgxsj <:end order by zhgxsj ") + List<Api9201> findPushDataByTime(@Param("kqdm") String kqdm, @Param("start") Date start, @Param("end") Date end); + + @Query("from Api9201 where bizId=:bizId ") + List<Api9201> getDataByBizId(@Param("bizId") String bizId); +} diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java index fc2d2bb..ebfe114 100644 --- a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java +++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService13.java @@ -36,6 +36,8 @@ @Autowired private Fzzy40Sync1311 fzzySync1311; @Autowired + private Fzzy40Sync9201 fzzySync9201; + @Autowired private Fzzy40Sync2103 fzzy40Sync2103; @Override @@ -48,10 +50,11 @@ /*-----鍚勭渷鐙湁鎺ュ彛淇℃伅鍚屾-----*/ - if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_GD_2022.getCode().equals(param.getPushProtocol())) { + if (StringUtils.isNotEmpty(param.getPushProtocol()) && (PushProtocol.SB_GD_2022.getCode().equals(param.getPushProtocol())||PushProtocol.SB_GD_2023.getCode().equals(param.getPushProtocol()))) { //骞夸笢鐪佸钩鍙�2022鐗堬紝闇�瑕佸悓姝ョ啅钂稿妗堜俊鎭� //鐔忚捀澶囨鏁版嵁鍚屾 fzzySync1023.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd()); + fzzySync9201.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd()); } if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.getCode().equals(param.getPushProtocol())) { //涓婃捣甯傚钩鍙�2023鐗堬紝闇�瑕佸悓姝ョ伯鎯呰澶囬厤缃俊鎭� diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java index 75cb071..76af5ef 100644 --- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java +++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1023.java @@ -75,7 +75,7 @@ apiLog.setType(ApiLog.TYPE_SYNC); apiLog.setKqdm(deptId); apiLog.setUploadTime(new Date()); - apiLog.setInteId(ApiCodeConstant.API_1023); + apiLog.setInteId(ApiCodeConstant.API_9201); apiLog.setStatus(99); apiLog.setId(ContextUtil.getUUID()); try { diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java index 4eefe04..d09660f 100644 --- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java +++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java @@ -103,7 +103,7 @@ //绮绛夌骇 mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, fz40Quality.getFoodLevel()); api1310.setLsdjdm(mappingCode); - api1310.setRkrq(DateUtils.addDays(fz40Quality.getTime(), -30)); + api1310.setRkrq(fz40Quality.getStoreDate()); api1310.setJylb(fz40Quality.getType()); api1310.setJysj(fz40Quality.getTime()); api1310.setJydw(fz40Quality.getUser()); diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync9201.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync9201.java new file mode 100644 index 0000000..2c46ab5 --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync9201.java @@ -0,0 +1,182 @@ +package com.fzzy.async.fzzy40.impl; + +import com.alibaba.fastjson2.JSON; +import com.fzzy.api.Constant; +import com.fzzy.api.entity.*; +import com.fzzy.api.service.ApiCommonService; +import com.fzzy.api.service.ApiTriggerService; +import com.fzzy.api.utils.ContextUtil; +import com.fzzy.api.view.repository.*; +import com.fzzy.async.fzzy40.entity.Fz40DrugLogApply; +import com.fzzy.async.fzzy40.entity.Fz40DrugLogDtl; +import com.fzzy.async.fzzy40.entity.Fz40DrugLogPeople; +import com.fzzy.async.fzzy40.repository.*; +import com.fzzy.push.gd2022.ApiCodeConstant; +import com.fzzy.push.gd2022.dto.Gd2022Api1023Dtl; +import com.fzzy.push.gd2022.dto.Gd2022Api1023People; +import com.fzzy.push.gd2022.dto.Gd2022Api1023Way; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 鐔忚捀澶囨淇℃伅 + * + * @Author:YAN + */ +@Slf4j +@Component +public class Fzzy40Sync9201 { + @Autowired + private Api1101Rep api1101Rep; + @Autowired + private Api1102Rep api1102Rep; + @Autowired + private Fzzy40Sync9201Rep fzzy40Sync9201Rep; + @Autowired + private Fzzy40SyncDrugLogPeopleRep drugLogPeopleRep; + @Autowired + private Fzzy40SyncDrugLogDtlRep drugLogDtlRep; + @Autowired + private ApiLogRep apiLogRep; + @Autowired + private ApiCommonService commonService; + @Autowired + private ApiTriggerService apiTriggerService; + + @Autowired + private Api9201Rep api9201Rep; + + + /** + * 鍚屾鐔忚捀澶囨淇℃伅 + * + * @param deptId + * @param start + * @param end + */ + public void syncData(String kqdm, String deptId, Date start, Date end) { + log.info("-------------9201鎺ュ彛鐔忚捀澶囨淇℃伅寮�濮嬪悓姝�------------------"); + + //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭� + ApiLog apiLog = new ApiLog(); + apiLog.setType(ApiLog.TYPE_SYNC); + apiLog.setKqdm(deptId); + apiLog.setUploadTime(new Date()); + apiLog.setInteId(ApiCodeConstant.API_9201); + apiLog.setStatus(99); + apiLog.setId(ContextUtil.getUUID()); + try { + List<Fz40DrugLogApply> list = fzzy40Sync9201Rep.listDrugLogApply(deptId, start, end); + + if (null == list || list.isEmpty()) { + log.info("-------------娌℃湁鑾峰彇鍒扮啅钂稿妗堜俊鎭�------------------"); + return; + } + List<Gd2022Api1023Dtl> dtlList; + List<Gd2022Api1023Way> wayList; + List<Gd2022Api1023People> peopleList; + + List<Api9201> api9201List; + + + Api9201 api9201; + Gd2022Api1023Dtl api9201Dtl; + Gd2022Api1023Way api9201Way; + Gd2022Api1023People api9201People; + + for (Fz40DrugLogApply data : list) { + + api9201 = new Api9201(); + BeanUtils.copyProperties(data, api9201); + api9201.setBizId(data.getXzbm()); + api9201.setId(data.getXzbm()); + api9201.setXzbm(data.getXzbm().substring(8)); + api9201.setKqdm(kqdm); + List<Api1102> api1102List = api1102Rep.findPushData(kqdm); + if (null != api1102List && api1102List.size() > 0) { + api9201.setKqmc(api1102List.get(0).getKqmc()); + } + + api9201.setDwdm(kqdm.substring(0, 18)); + List<Api1101> api1101List = api1101Rep.findPushData(kqdm); + if (null != api1101List && api1101List.size() > 0) { + api9201.setDwmc(api1101List.get(0).getDwmc()); + } + api9201.setYjmc(data.getDrugName()); + api9201.setYjlx(data.getDrugType()); + api9201.setLqrq(data.getLqsj()); + api9201.setZhgxsj(data.getUpdateTime()); + if (data.getLqr().contains("銆�")) { + api9201.setLqr(data.getLqr().replace('銆�', '|')); + } + + //鍌ㄧ伯绮儏鏄庣粏琛� + List<Fz40DrugLogDtl> dtls = drugLogDtlRep.listDrugLogDtl(data.getXzbm()); + Api1105 api1105 = commonService.getApi1105Cache(data.getDepotId()); + api9201Dtl = new Gd2022Api1023Dtl(); + BeanUtils.copyProperties(data, api9201Dtl); + if (null != api1105) { + api9201Dtl.setCfmc(api1105.getHwmc()); + api9201Dtl.setCfdm(api1105.getHwdm().substring(0, 25)); + } + + //绮鍝佺 + String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, data.getFoodVariety()); + api9201Dtl.setLspzdm(mappingCode); + api9201Dtl.setLsxzdm(data.getFoodType()); + api9201Dtl.setLsdjdm(data.getFoodLevel()); + api9201Dtl.setLssl(data.getNumber()); + api9201Dtl.setSf(data.getPerWet()); + api9201Dtl.setZz(data.getPerImpurity()); + + + dtlList = new ArrayList<>(); + dtlList.add(api9201Dtl); + api9201.setDtl(JSON.toJSONString(dtlList)); + + + api9201Way = new Gd2022Api1023Way(); + BeanUtils.copyProperties(data, api9201Way); + wayList = new ArrayList<>(); + wayList.add(api9201Way); + api9201.setWay(JSON.toJSONString(wayList)); + + List<Fz40DrugLogPeople> peoples = drugLogPeopleRep.listDrugLogPeople(data.getXzbm()); + if (null != peoples && peoples.size() > 0) { + peopleList = new ArrayList<>(); + for (Fz40DrugLogPeople people : peoples) { + api9201People = new Gd2022Api1023People(); + BeanUtils.copyProperties(people, api9201People); + api9201People.setXm(people.getMx()); + if (StringUtils.isEmpty(people.getZyzg())) { + api9201People.setZyzg("鍩硅鍚堟牸"); + } + peopleList.add(api9201People); + } + api9201.setPeople(JSON.toJSONString(peopleList)); + + api9201List = api9201Rep.getDataByBizId(api9201.getBizId()); + if (null == api9201List || api9201List.isEmpty()) { + api9201.setCzbz(Constant.CZBZ_I); + } else { + api9201.setCzbz(api9201List.get(0).getCzbz()); + } + } + api9201Rep.save(api9201); + log.info("9201---鍚屾鏁版嵁锛歿}", api9201.toString()); + } + + } catch (Exception e) { + log.error("---鐔忚捀澶囨鍚屾鎵ц澶辫触----{}", e.toString()); + apiLog.setResult("鐔忚捀澶囨淇℃伅鍚屾鎵ц澶辫触锛�" + e.getMessage()); + apiLogRep.save(apiLog); + } + } +} diff --git a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync9201Rep.java b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync9201Rep.java new file mode 100644 index 0000000..c54d78f --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync9201Rep.java @@ -0,0 +1,22 @@ +package com.fzzy.async.fzzy40.repository; + +import com.fzzy.async.fzzy40.entity.Fz40DrugLogApply; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; + +import java.util.Date; +import java.util.List; + +/** + * 鐔忚捀澶囨淇℃伅 + * + * @Author:YAN + */ +public interface Fzzy40Sync9201Rep extends JpaRepository<Fz40DrugLogApply, String> { + + //鏌ヨ鐔忚捀澶囨涓昏〃 + @Query("from Fz40DrugLogApply where deptId =:deptId and updateTime >=:start and updateTime <:end order by updateTime ") + List<Fz40DrugLogApply> listDrugLogApply(@Param("deptId") String deptId, @Param("start") Date start, @Param("end") Date end); + + } diff --git a/src/main/java/com/fzzy/otherview/gd2022/GdApi9201.view.xml b/src/main/java/com/fzzy/otherview/gd2022/GdApi9201.view.xml new file mode 100644 index 0000000..d587a0a --- /dev/null +++ b/src/main/java/com/fzzy/otherview/gd2022/GdApi9201.view.xml @@ -0,0 +1,1105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ViewConfig> + <Arguments/> + <Context/> + <Model> + <DataType name="dtMain"> + <Property name="creationType">com.fzzy.api.entity.Api9201</Property> + <PropertyDef name="bizId"> + <Property/> + <Property name="label">涓氬姟id</Property> + </PropertyDef> + <PropertyDef name="kqdm"> + <Property/> + <Property name="label">搴撳尯浠g爜</Property> + </PropertyDef> + <PropertyDef name="syncTime"> + <Property name="dataType">Date</Property> + <Property name="label">鍚屾鏃堕棿</Property> + </PropertyDef> + <PropertyDef name="id"> + <Property/> + <Property name="label">id</Property> + </PropertyDef> + <PropertyDef name="xzbm"> + <Property/> + <Property name="label">鐔忚捀澶囨缂栧彿</Property> + </PropertyDef> + <PropertyDef name="kqmc"> + <Property/> + <Property name="label">搴撳尯鍚嶇О</Property> + </PropertyDef> + <PropertyDef name="tbrq"> + <Property name="dataType">Date</Property> + <Property name="label">濉姤鏃ユ湡</Property> + </PropertyDef> + <PropertyDef name="dwdm"> + <Property/> + <Property name="label">鍗曚綅浠g爜</Property> + </PropertyDef> + <PropertyDef name="dwmc"> + <Property/> + <Property name="label">鍗曚綅鍚嶇О</Property> + </PropertyDef> + <PropertyDef name="sqxzrq"> + <Property name="dataType">Date</Property> + <Property name="label">鐢宠鐔忚捀鏃ユ湡</Property> + </PropertyDef> + <PropertyDef name="fzr"> + <Property/> + <Property name="label">璐熻矗浜�</Property> + </PropertyDef> + <PropertyDef name="fzrdh"> + <Property/> + <Property name="label">璐熻矗浜虹數璇�</Property> + </PropertyDef> + <PropertyDef name="xcfzr"> + <Property/> + <Property name="label">鐜板満璐熻矗浜�</Property> + </PropertyDef> + <PropertyDef name="xcfzrzw"> + <Property/> + <Property name="label">鐜板満璐熻矗浜鸿亴鍔�</Property> + </PropertyDef> + <PropertyDef name="xcfzrdh"> + <Property/> + <Property name="label">鐜板満璐熻矗浜虹數璇�</Property> + </PropertyDef> + <PropertyDef name="tbr"> + <Property/> + <Property name="label">濉〃浜�</Property> + </PropertyDef> + <PropertyDef name="tbrdh"> + <Property/> + <Property name="label">濉〃浜虹數璇�</Property> + </PropertyDef> + <PropertyDef name="sfszjjxd"> + <Property/> + <Property name="label">鏄惁璁剧疆璀︽垝绾�(涓�)</Property> + </PropertyDef> + <PropertyDef name="sfszjjxx"> + <Property/> + <Property name="label">鏄惁璁剧疆璀︽垝绾�(瑗�)</Property> + </PropertyDef> + <PropertyDef name="sfszjjxn"> + <Property/> + <Property name="label">鏄惁璁剧疆璀︽垝绾�(鍗�)</Property> + </PropertyDef> + <PropertyDef name="sfszjjxb"> + <Property/> + <Property name="label">鏄惁璁剧疆璀︽垝绾�(鍖�)</Property> + </PropertyDef> + <PropertyDef name="ssxzzystqybqk"> + <Property/> + <Property name="label">瀹炴柦鐔忚捀浣滀笟鏃跺ぉ姘旈鎶ユ儏鍐�</Property> + </PropertyDef> + <PropertyDef name="xzssgcap"> + <Property/> + <Property name="label">鐔忚捀瀹夋帓鍙婂疄鏂借繃绋�</Property> + </PropertyDef> + <PropertyDef name="aqfhjyjcccs"> + <Property/> + <Property name="label">瀹夊叏闃叉姢鍙婂簲鎬ュ缃帾鏂�</Property> + </PropertyDef> + <PropertyDef name="xzzysx"> + <Property/> + <Property name="label">鐔忚捀娉ㄦ剰浜嬮」</Property> + </PropertyDef> + <PropertyDef name="fileStorageId"> + <Property/> + <Property name="label">鏂囦欢瀛樺偍ID</Property> + </PropertyDef> + <PropertyDef name="yjmc"> + <Property/> + <Property name="label">鑽墏鍚嶇О</Property> + </PropertyDef> + <PropertyDef name="yjlx"> + <Property/> + <Property name="label">鑽墏绫诲瀷/鍨嬪彿</Property> + </PropertyDef> + <PropertyDef name="yjyxqz"> + <Property name="dataType">Date</Property> + <Property name="label">鑽墏鏈夋晥鏈熻嚦</Property> + </PropertyDef> + <PropertyDef name="lqsl"> + <Property name="dataType">Double</Property> + <Property name="label">棰嗗彇鏁伴噺</Property> + </PropertyDef> + <PropertyDef name="sysbjfs"> + <Property/> + <Property name="label">鏂借嵂璁惧鍙婃柟寮�</Property> + </PropertyDef> + <PropertyDef name="zcdd"> + <Property/> + <Property name="label">鏆傚瓨鍦扮偣</Property> + </PropertyDef> + <PropertyDef name="lqr"> + <Property/> + <Property name="label">棰嗗彇浜�</Property> + </PropertyDef> + <PropertyDef name="lqrq"> + <Property name="dataType">Date</Property> + <Property name="label">棰嗗彇鏃堕棿</Property> + </PropertyDef> + <PropertyDef name="czbz"> + <Property/> + <Property name="label">鎿嶄綔鏍囧織</Property> + </PropertyDef> + <PropertyDef name="zhgxsj"> + <Property name="dataType">Date</Property> + <Property name="label">鏇存柊鏃堕棿</Property> + </PropertyDef> + <PropertyDef name="dtl"> + <Property/> + <Property name="label">绮儏鏄庣粏琛�</Property> + </PropertyDef> + <PropertyDef name="way"> + <Property/> + <Property name="label">鐔忚捀澶囨鏂瑰紡</Property> + </PropertyDef> + <PropertyDef name="people"> + <Property/> + <Property name="label">绮儏鏄庣粏琛�</Property> + </PropertyDef> + </DataType> + <DataType name="dtGBArea"> + <Property name="creationType">com.fzzy.api.entity.GbArea</Property> + <PropertyDef name="code"> + <Property></Property> + <Property name="label">鎺ュ彛缂栫爜</Property> + </PropertyDef> + <PropertyDef name="name"> + <Property></Property> + <Property name="label">鍚嶇О</Property> + </PropertyDef> + <PropertyDef name="parentCode"> + <Property></Property> + <Property name="label">鐖剁紪鐮�</Property> + </PropertyDef> + <PropertyDef name="disabledTag"> + <Property></Property> + <Property name="label">绂佺敤</Property> + </PropertyDef> + <PropertyDef name="simple"> + <Property></Property> + <Property name="label">鏄惁榛樿</Property> + </PropertyDef> + <PropertyDef name="remark"> + <Property></Property> + <Property name="label">澶囨敞璇存槑</Property> + </PropertyDef> + </DataType> + <DataType name="dtLog"> + <Property name="creationType">com.fzzy.api.entity.ApiLog</Property> + <PropertyDef name="id"> + <Property></Property> + </PropertyDef> + <PropertyDef name="kqdm"> + <Property></Property> + <Property name="label">搴撳尯浠g爜</Property> + </PropertyDef> + <PropertyDef name="inteId"> + <Property></Property> + <Property name="label">鎺ュ彛缂栧彿</Property> + </PropertyDef> + <PropertyDef name="uploadTime"> + <Property name="dataType">Date</Property> + <Property name="label">涓婁紶鏃堕棿</Property> + </PropertyDef> + <PropertyDef name="status"> + <Property name="dataType">int</Property> + <Property name="label">涓婁紶缁撴灉</Property> + </PropertyDef> + <PropertyDef name="result"> + <Property></Property> + <Property name="label">杩斿洖淇℃伅</Property> + </PropertyDef> + <PropertyDef name="dataId"> + <Property></Property> + <Property name="label">鎺ュ彛鏁版嵁涓婚敭</Property> + </PropertyDef> + <PropertyDef name="data"> + <Property></Property> + <Property name="label">鎺ュ彛鎶ユ枃</Property> + </PropertyDef> + </DataType> + <DataType name="dtDtl"> + <Property name="creationType">com.fzzy.push.gd2022.dto.Gd2022Api1023Dtl</Property> + <PropertyDef name="cfdm"> + <Property/> + </PropertyDef> + <PropertyDef name="lspzdm"> + <Property/> + </PropertyDef> + <PropertyDef name="lsxzdm"> + <Property/> + </PropertyDef> + <PropertyDef name="lsdjdm"> + <Property/> + </PropertyDef> + <PropertyDef name="lssl"> + <Property name="dataType">Double</Property> + </PropertyDef> + <PropertyDef name="sf"> + <Property name="dataType">Double</Property> + </PropertyDef> + <PropertyDef name="zz"> + <Property name="dataType">Double</Property> + </PropertyDef> + <PropertyDef name="lw"> + <Property name="dataType">Double</Property> + </PropertyDef> + <PropertyDef name="cw"> + <Property name="dataType">Double</Property> + </PropertyDef> + <PropertyDef name="cnsd"> + <Property name="dataType">Double</Property> + </PropertyDef> + <PropertyDef name="clfs"> + <Property/> + </PropertyDef> + <PropertyDef name="cfmc"> + <Property/> + </PropertyDef> + <PropertyDef name="rkrq"> + <Property name="dataType">Date</Property> + </PropertyDef> + <PropertyDef name="hc"> + <Property/> + </PropertyDef> + <PropertyDef name="cldjpd"> + <Property/> + </PropertyDef> + <PropertyDef name="ldtj"> + <Property name="dataType">Double</Property> + </PropertyDef> + <PropertyDef name="kjtj"> + <Property name="dataType">Double</Property> + </PropertyDef> + <PropertyDef name="lddwyyl"> + <Property name="dataType">Double</Property> + </PropertyDef> + <PropertyDef name="kjdwyyl"> + <Property name="dataType">Double</Property> + </PropertyDef> + <PropertyDef name="zyyl"> + <Property name="dataType">Double</Property> + </PropertyDef> + <PropertyDef name="qmx"> + <Property/> + </PropertyDef> + <PropertyDef name="jhxzksrq"> + <Property name="dataType">Date</Property> + </PropertyDef> + <PropertyDef name="jhxzjsrq"> + <Property name="dataType">Date</Property> + </PropertyDef> + </DataType> + <DataType name="dtPeople"> + <Property name="creationType">com.fzzy.push.gd2022.dto.Gd2022Api1023People</Property> + <PropertyDef name="xm"> + <Property/> + </PropertyDef> + <PropertyDef name="zw"> + <Property/> + </PropertyDef> + <PropertyDef name="zyzg"> + <Property/> + </PropertyDef> + <PropertyDef name="stzk"> + <Property/> + </PropertyDef> + <PropertyDef name="xzrwfg"> + <Property/> + </PropertyDef> + <PropertyDef name="sfwb"> + <Property/> + </PropertyDef> + </DataType> + <DataType name="dtWay"> + <Property name="creationType">com.fzzy.push.gd2022.dto.Gd2022Api1023Way</Property> + <PropertyDef name="xznd"> + <Property name="dataType">Double</Property> + </PropertyDef> + <PropertyDef name="mbsj"> + <Property name="dataType">Integer</Property> + </PropertyDef> + <PropertyDef name="xzfs"> + <Property/> + </PropertyDef> + <PropertyDef name="sqfs"> + <Property/> + </PropertyDef> + </DataType> + <DataType name="dtParam"> + <Property name="creationType">com.fzzy.api.data.ApiParam</Property> + <PropertyDef name="kqdm"> + <Property></Property> + <Property name="label">鎵�灞炲簱鍖�</Property> + </PropertyDef> + <PropertyDef name="start"> + <Property name="dataType">Date</Property> + <Property name="label">寮�濮嬫椂闂�</Property> + </PropertyDef> + <PropertyDef name="end"> + <Property name="dataType">Date</Property> + <Property name="label">鎴鏃堕棿</Property> + </PropertyDef> + <PropertyDef name="czbz"> + <Property></Property> + <Property name="label">鎿嶄綔鏍囧織</Property> + <Property name="mapping"> + <Property name="mapValues">${dorado.getDataProvider("apiTriggerService#trigger").getResult("CZBZ")}</Property> + <Property name="keyProperty">code</Property> + <Property name="valueProperty">name</Property> + </Property> + </PropertyDef> + </DataType> + </Model> + <View layout="regionPadding:10"> + <Property name="packages">font-awesome,css-common</Property> + <DataSet id="dsMain"> + <Property name="dataType">[dtMain]</Property> + <Property name="dataProvider">gDApi9201PR#pageList</Property> + <Property name="pageSize">20</Property> + </DataSet> + <DataSet id="dsQuery"> + <ClientEvent name="onReady">self.insert();</ClientEvent> + <Property name="dataType">dtParam</Property> + </DataSet> + <AutoForm> + <Property name="dataSet">dsQuery</Property> + <Property name="cols">*,*,*,*</Property> + <Property name="labelAlign">right</Property> + <Property name="labelSeparator">锛�</Property> + <Property name="labelWidth">90</Property> + <AutoFormElement> + <Property name="name">kqdm</Property> + <Property name="property">kqdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">start</Property> + <Property name="property">start</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">end</Property> + <Property name="property">end</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">czbz</Property> + <Property name="property">czbz</Property> + <Property name="trigger">autoMappingDropDown2</Property> + <Editor/> + </AutoFormElement> + </AutoForm> + <ToolBar> + <ToolBarLabel> + <Property name="text">宸ュ叿鏍忥細</Property> + <Property name="style"> + <Property name="font-weight">bold</Property> + </Property> + </ToolBarLabel> + <ToolBarButton> + <ClientEvent name="onClick">view.get("#dsMain").flushAsync();</ClientEvent> + <Property name="caption">鍒锋柊</Property> + <Property name="iconClass">fa fa-search</Property> + <Property name="width">100</Property> + <Property name="exClassName">toolbar-button-push</Property> + </ToolBarButton> + <ToolBarButton> + <ClientEvent name="onClick">view.get("#dsMain").insert();
 +view.get("#dialogMain").show();</ClientEvent> + <Property name="caption">鏂板</Property> + <Property name="iconClass">fa fa-plus</Property> + <Property name="width">100</Property> + <Property name="exClassName">toolbar-button</Property> + </ToolBarButton> + <ToolBarButton> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +if(cur){
 + view.get("#dialogMain").show();
 +}else{
 + $alert("璇峰嬀閫夐渶瑕佷慨鏀圭殑鏁版嵁锛�");
 +}
 +</ClientEvent> + <Property name="caption">淇敼</Property> + <Property name="iconClass">fa fa-pencil</Property> + <Property name="width">100</Property> + <Property name="exClassName">toolbar-button-warm</Property> + </ToolBarButton> + <Separator/> + <ToolBarButton> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +if(cur){
 + view.get("#ajaxDelUpdate").set("parameter",cur).execute(function(result){
 + if(result){
 + $alert(result);
 + } else{
 + cur.set("czbz","d");
 + }
 + });
 +}else{
 + $alert("璇峰嬀閫夐渶瑕佹爣璁板垹闄ょ殑鏁版嵁锛�");
 +}
 +</ClientEvent> + <Property name="caption">鏍囪鍒犻櫎</Property> + <Property name="iconClass">fa fa-minus</Property> + <Property name="exClassName">toolbar-button-warn</Property> + <Property name="width">100</Property> + </ToolBarButton> + <ToolBarButton> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +if(cur){
 + view.get("#ajaxDel").set("parameter",cur).execute(function(result){
 + if(result){
 + $alert(result);
 + } else{
 + cur.remove();
 + }
 + });
 +}else{
 + $alert("璇峰嬀閫夐渶瑕佸垹闄ょ殑鏁版嵁锛�");
 +}</ClientEvent> + <Property name="caption">鐩存帴鍒犻櫎</Property> + <Property name="iconClass">fa fa-minus</Property> + <Property name="exClassName">toolbar-button-warn</Property> + <Property name="width">100</Property> + </ToolBarButton> + <Separator/> + <ToolBarButton> + <ClientEvent name="onClick">var select = view.get("#dgMain").get("selection");
 +if(select && select.length > 0){
 + view.get("#ajaxPush").set("parameter",select).execute(function(result){
 + view.get("#dsMain").flushAsync();
 + $notify(result);
 + });
 +}else{
 + $alert("璇峰嬀閫夐渶瑕佷笂鎶ョ殑鏁版嵁锛�");
 +}</ClientEvent> + <Property name="caption">鎵嬪姩涓婁紶</Property> + <Property name="iconClass">fa fa-hand-o-up</Property> + <Property name="exClassName">toolbar-button-push</Property> + <Property name="width">100</Property> + </ToolBarButton> + <Fill/> + <ToolBarButton> + <ClientEvent name="onClick">//鏄剧ず璁板綍
 +view.get("#iFrame").reload();
 +view.get("#dialogLog").show();</ClientEvent> + <Property name="caption">涓婁紶璁板綍</Property> + <Property name="iconClass">fa fa-bars</Property> + <Property name="exClassName">toolbar-button</Property> + </ToolBarButton> + </ToolBar> + <DataGrid id="dgMain"> + <Property name="dataSet">dsMain</Property> + <Property name="selectionMode">multiRows</Property> + <Property name="readOnly">true</Property> + <RowNumColumn/> + <RowSelectorColumn> + <Property name="caption">涓婁紶</Property> + </RowSelectorColumn> + <DataColumn name="xzbm"> + <Property name="property">xzbm</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="kqmc"> + <Property name="property">kqmc</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="tbrq"> + <Property name="property">tbrq</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="dwdm"> + <Property name="property">dwdm</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="fzr"> + <Property name="property">fzr</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="fzrdh"> + <Property name="property">fzrdh</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="xcfzr"> + <Property name="property">xcfzr</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="czbz"> + <Property name="property">czbz</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="zhgxsj"> + <Property name="property">zhgxsj</Property> + <Property name="align">center</Property> + </DataColumn> + </DataGrid> + <ToolBar layoutConstraint="bottom"> + <Fill/> + <DataPilot> + <Property name="itemCodes">pageSize,pages</Property> + <Property name="dataSet">dsMain</Property> + </DataPilot> + </ToolBar> + <Dialog id="dialogMain" layout="regionPadding:5"> + <Property name="width">85%</Property> + <Property name="closeable">false</Property> + <Property name="iconClass">fa fa-sliders</Property> + <Property name="caption">鐔忚捀澶囨淇℃伅</Property> + <Property name="height">85%</Property> + <Buttons> + <Button> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +view.get("#updateSave").execute(function(){
 + self.get("parent").hide();
 +});</ClientEvent> + <Property name="caption">纭畾</Property> + <Property name="iconClass">fa fa-check</Property> + </Button> + <Button> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +self.get("parent").hide();
 +if(cur) cur.cancel();</ClientEvent> + <Property name="caption">鍙栨秷</Property> + <Property name="iconClass">fa fa-times</Property> + </Button> + </Buttons> + <Children> + <FieldSet layout="regionPadding:5"> + <Property name="caption">鍩虹淇℃伅</Property> + <Buttons/> + <Children> + <AutoForm> + <Property name="dataSet">dsMain</Property> + <Property name="cols">*,*,*,*</Property> + <Property name="labelPosition">top</Property> + <Property name="labelSeparator">:</Property> + <AutoFormElement> + <Property name="name">xzbm</Property> + <Property name="property">xzbm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">kqdm</Property> + <Property name="property">kqdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">kqmc</Property> + <Property name="property">kqmc</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">tbrq</Property> + <Property name="property">tbrq</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">dwdm</Property> + <Property name="property">dwdm</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">dwmc</Property> + <Property name="property">dwmc</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">sqxzrq</Property> + <Property name="property">sqxzrq</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">fzr</Property> + <Property name="property">fzr</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">fzrdh</Property> + <Property name="property">fzrdh</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">xcfzr</Property> + <Property name="property">xcfzr</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">xcfzrzw</Property> + <Property name="property">xcfzrzw</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">xcfzrdh</Property> + <Property name="property">xcfzrdh</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">tbr</Property> + <Property name="property">tbr</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">tbrdh</Property> + <Property name="property">tbrdh</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">sfszjjxd</Property> + <Property name="property">sfszjjxd</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">sfszjjxx</Property> + <Property name="property">sfszjjxx</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">sfszjjxn</Property> + <Property name="property">sfszjjxn</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">sfszjjxb</Property> + <Property name="property">sfszjjxb</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">ssxzzystqybqk</Property> + <Property name="property">ssxzzystqybqk</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">xzssgcap</Property> + <Property name="property">xzssgcap</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">aqfhjyjcccs</Property> + <Property name="property">aqfhjyjcccs</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">xzzysx</Property> + <Property name="property">xzzysx</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">fileStorageId</Property> + <Property name="property">fileStorageId</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">yjmc</Property> + <Property name="property">yjmc</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">yjlx</Property> + <Property name="property">yjlx</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">yjyxqz</Property> + <Property name="property">yjyxqz</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">lqsl</Property> + <Property name="property">lqsl</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">sysbjfs</Property> + <Property name="property">sysbjfs</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">zcdd</Property> + <Property name="property">zcdd</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">lqr</Property> + <Property name="property">lqr</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">lqrq</Property> + <Property name="property">lqrq</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">czbz</Property> + <Property name="property">czbz</Property> + <Editor/> + </AutoFormElement> + <AutoFormElement> + <Property name="name">zhgxsj</Property> + <Property name="property">zhgxsj</Property> + <Editor/> + </AutoFormElement> + </AutoForm> + </Children> + </FieldSet> + <FieldSet layout="regionPadding:5"> + <Property name="caption">鐔忚捀浣滀笟浜哄憳淇℃伅</Property> + <Buttons/> + <Children> + <Panel layout="regionPadding:5"> + <Property name="caption">浜哄憳淇℃伅</Property> + <Property name="height">400</Property> + <Buttons/> + <Children> + <Container layout="regionPadding:10"> + <Property name="exClassName">bg-color</Property> + <Property name="contentOverflow">hidden</Property> + <Property name="height">55</Property> + <Label layoutConstraint="left"> + <Property name="text">鑿滃崟鏍忥細</Property> + </Label> + <Button layoutConstraint="left"> + <ClientEvent name="onClick">var list = view.get("#dsMain.data:#").get("way");
 +list.insert({});</ClientEvent> + <Property name="caption">鏂板</Property> + <Property name="exClassName">btn-default</Property> + <Property name="iconClass">fa fa-plus</Property> + </Button> + <Button layoutConstraint="left"> + <ClientEvent name="onClick">var data = view.get("#dataPeoples.currentEntity");
 +if(!data){
 + return;
 +}
 +data.remove();</ClientEvent> + <Property name="caption">鍒犻櫎</Property> + <Property name="iconClass">fa fa-minus</Property> + <Property name="exClassName">btn-warn</Property> + </Button> + </Container> + <DataGrid id="dataPeoples"> + <Property name="dataPath">#.people</Property> + <Property name="dataSet">dsMain</Property> + <DataColumn name="xm"> + <Property name="property">xm</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="zw"> + <Property name="property">zw</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="zyzg"> + <Property name="property">zyzg</Property> + <Property name="trigger">listDropZG</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="stzk"> + <Property name="property">stzk</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="xzrwfg"> + <Property name="property">xzrwfg</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="sfwb"> + <Property name="property">sfwb</Property> + <Property name="trigger">listDropYN</Property> + <Property name="align">center</Property> + </DataColumn> + </DataGrid> + </Children> + <Tools/> + </Panel> + </Children> + </FieldSet> + <FieldSet layout="regionPadding:5"> + <Property name="caption">鐔忚捀澶囨鏂瑰紡淇℃伅</Property> + <Buttons/> + <Children> + <Panel layout="regionPadding:5"> + <Property name="caption">鐔忚捀澶囨鏂瑰紡</Property> + <Property name="height">400</Property> + <Buttons/> + <Children> + <Container layout="regionPadding:10"> + <Property name="exClassName">bg-color</Property> + <Property name="contentOverflow">hidden</Property> + <Property name="height">55</Property> + <Label layoutConstraint="left"> + <Property name="text">鑿滃崟鏍忥細</Property> + </Label> + <Button layoutConstraint="left"> + <ClientEvent name="onClick">var list = view.get("#dsMain.data:#").get("drugLogWays");
 +list.insert({});</ClientEvent> + <Property name="caption">鏂板</Property> + <Property name="exClassName">btn-default</Property> + <Property name="iconClass">fa fa-plus</Property> + </Button> + <Button layoutConstraint="left"> + <ClientEvent name="onClick">var data = view.get("#dataWays.currentEntity");
 +if(!data){
 + return;
 +}
 +data.remove();</ClientEvent> + <Property name="caption">鍒犻櫎</Property> + <Property name="iconClass">fa fa-minus</Property> + <Property name="exClassName">btn-warn</Property> + </Button> + </Container> + <DataGrid id="dataWays"> + <Property name="dataPath">#.way</Property> + <Property name="dataSet">dsMain</Property> + <DataColumn name="xznd"> + <Property name="property">xznd</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="mbsj"> + <Property name="property">mbsj</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="xzfs"> + <Property name="property">xzfs</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="sqfs"> + <Property name="property">sqfs</Property> + <Property name="align">center</Property> + </DataColumn> + </DataGrid> + </Children> + <Tools/> + </Panel> + </Children> + </FieldSet> + </Children> + <Tools/> + </Dialog> + <Dialog id="dialogDtl" layout="regionPadding:5"> + <Property name="caption">鐔忚捀浣滀笟鐨勫偍绮伯鎯�</Property> + <Property name="width">90%</Property> + <Property name="iconClass">fa fa-sliders</Property> + <Property name="height">90%</Property> + <Buttons> + <Button> + <ClientEvent name="onClick">self.get("parent").hide();</ClientEvent> + <Property name="caption">纭畾</Property> + <Property name="iconClass">fa fa-check</Property> + </Button> + <Button> + <ClientEvent name="onClick">var cur = view.get("#dgMain").getCurrentItem();
 +self.get("parent").hide();
 +if(cur) cur.cancel();</ClientEvent> + <Property name="caption">鍙栨秷</Property> + <Property name="iconClass">fa fa-times</Property> + </Button> + </Buttons> + <Children> + <FieldSet layout="regionPadding:5"> + <Property name="caption">鐔忚捀浣滀笟鐨勫偍绮伯鎯呮槑缁�</Property> + <Buttons/> + <Children> + <Panel layout="regionPadding:5"> + <Property name="caption">鍌ㄧ伯绮儏鏄庣粏</Property> + <Buttons/> + <Children> + <Container layout="regionPadding:10"> + <Property name="exClassName">bg-color</Property> + <Property name="contentOverflow">hidden</Property> + <Property name="height">55</Property> + <Label layoutConstraint="left"> + <Property name="text">鑿滃崟鏍忥細</Property> + </Label> + <Button layoutConstraint="left"> + <ClientEvent name="onClick">var list = view.get("#dsMain.data:#").get("dtlList");
 +list.insert({});
 +view.get("#addDtl").show();</ClientEvent> + <Property name="caption">鏂板</Property> + <Property name="exClassName">btn-default</Property> + <Property name="iconClass">fa fa-plus</Property> + </Button> + <Button layoutConstraint="left"> + <ClientEvent name="onClick">var cur = view.get("#dgDtl").getCurrentItem();
 +if(cur){
 + view.get("#addDtl").show();
 +}else{
 + $alert("璇峰嬀閫夐渶瑕佷慨鏀圭殑鏁版嵁锛�");
 +}</ClientEvent> + <Property name="caption">淇敼</Property> + <Property name="exClassName">btn-warm</Property> + <Property name="iconClass">fa fa-pencil</Property> + </Button> + <Button layoutConstraint="left"> + <ClientEvent name="onClick">var list = view.get("#dsMain.data:#").get("dtls");
 +list.remove();
 +view.get("#updateDelDtl").execute(function(){
 +});</ClientEvent> + <Property name="caption">鍒犻櫎</Property> + <Property name="iconClass">fa fa-minus</Property> + <Property name="exClassName">btn-warn</Property> + </Button> + </Container> + <DataGrid id="dgDtl"> + <Property name="dataPath">#.dtls</Property> + <Property name="dataSet">dsMain</Property> + <DataColumn name="cfdm"> + <Property name="property">cfdm</Property> + <Property name="readOnly">true</Property> + <Property name="align">center</Property> + <Property name="width">260</Property> + </DataColumn> + <DataColumn name="lspzdm"> + <Property name="property">lspzdm</Property> + <Property name="readOnly">true</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="lsxzdm"> + <Property name="property">lsxzdm</Property> + <Property name="readOnly">true</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="cldjpd"> + <Property name="property">cldjpd</Property> + <Property name="readOnly">true</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="zyyl"> + <Property name="property">zyyl</Property> + <Property name="readOnly">true</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="qmx"> + <Property name="property">qmx</Property> + <Property name="readOnly">true</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="jhxzksrq"> + <Property name="property">jhxzksrq</Property> + <Property name="readOnly">true</Property> + <Property name="align">center</Property> + </DataColumn> + <DataColumn name="jhxzjsrq"> + <Property name="property">jhxzjsrq</Property> + <Property name="readOnly">true</Property> + <Property name="align">center</Property> + </DataColumn> + </DataGrid> + </Children> + <Tools/> + </Panel> + </Children> + </FieldSet> + </Children> + <Tools/> + </Dialog> + <CustomDropDown id="cddGbArea"> + <Property name="assignmentMap">xzqhdm=code,xzqhmc=name</Property> + <Property name="height">500</Property> + <Property name="minHeight">500</Property> + <Property name="maxHeight">500</Property> + <Property name="width">400</Property> + <Container layout="regionPadding:5"> + <DataSet id="dsGBArea"> + <Property name="dataProvider">gbAreaPR#findByCode</Property> + <Property name="dataType">[dtGBArea]</Property> + </DataSet> + <Container layout="hbox regionPadding:5"> + <TextEditor id="key2"> + <Property name="blankText"> -- 缂栫爜鎴栬�呭悕绉� --</Property> + <Property name="width">200</Property> + </TextEditor> + <Button> + <ClientEvent name="onClick">var key = view.get("#key2.value");
 +view.get("#dsGBArea").set("parameter",{key:key}).flushAsync();</ClientEvent> + <Property name="iconClass">fa fa-search</Property> + <Property name="caption">鏌ヨ</Property> + </Button> + <Button> + <ClientEvent name="onClick">var data = view.get("#dsGBArea.data:#");
 +if (data) {
 + view.get("#cddGbArea").close(data.toJSON());
 +}</ClientEvent> + <Property name="caption">纭畾</Property> + <Property name="iconClass">fa fa-check</Property> + </Button> + </Container> + <DataGrid> + <ClientEvent name="onDataRowDoubleClick">var data = view.get("#dsGBArea.data:#");
 +if(data){
 + view.get("#cddGbArea").close(data.toJSON());
 +}</ClientEvent> + <Property name="dataSet">dsGBArea</Property> + <Property name="readOnly">true</Property> + <DataColumn name="code"> + <Property name="property">code</Property> + </DataColumn> + <DataColumn name="name"> + <Property name="property">name</Property> + </DataColumn> + </DataGrid> + </Container> + </CustomDropDown> + <Dialog id="dialogLog"> + <Property name="width">90%</Property> + <Property name="height">90%</Property> + <Property name="caption">涓婁紶璁板綍</Property> + <Property name="iconClass">fa fa-sliders</Property> + <Buttons> + <Button> + <ClientEvent name="onClick">self.get("parent").hide();</ClientEvent> + <Property name="caption">鍏抽棴</Property> + <Property name="iconClass">fa fa-times</Property> + <Property name="exClassName">toolbar-button-warn</Property> + </Button> + </Buttons> + <Children> + <Container> + <IFrame id="iFrame"> + <Property name="path">com.fzzy.api.view.ApiLog.d</Property> + <Property name="userData"> + <Entity> + <Property name="deptId">deptId</Property> + </Entity> + </Property> + </IFrame> + </Container> + </Children> + <Tools/> + </Dialog> + <UpdateAction id="updateDelDtl"> + <Property name="dataResolver">gDApi9201PR#updateSave</Property> + <Property name="confirmMessage">褰撳墠鏁版嵁鍒犻櫎鍚庢棤娉曟仮澶嶏紝璇风‘璁よ鍒犻櫎涔堬紵</Property> + <UpdateItem> + <Property name="dataPath">[#current]</Property> + <Property name="dataSet">dsMain</Property> + </UpdateItem> + </UpdateAction> + <UpdateAction id="updateSave"> + <Property name="dataResolver">gDApi1023PR#saveData</Property> + <UpdateItem> + <Property name="dataPath">[#current]</Property> + <Property name="dataSet">dsMain</Property> + </UpdateItem> + </UpdateAction> + <AjaxAction id="ajaxDel"> + <Property name="confirmMessage">褰撳墠鏁版嵁鍒犻櫎鍚庢棤娉曟仮澶嶏紝璇风‘璁よ鍒犻櫎涔堬紵</Property> + <Property name="service">gDApi9201PR#delData</Property> + </AjaxAction> + <AjaxAction id="ajaxDelUpdate"> + <Property name="confirmMessage">褰撳墠鏁版嵁鍒犻櫎鍚庢棤娉曟仮澶嶏紝璇风‘璁よ鍒犻櫎涔堬紵</Property> + <Property name="service">gDApi9201PR#delUpdate</Property> + </AjaxAction> + <AjaxAction id="ajaxPush"> + <Property name="service">gDApi9201PR#pushData</Property> + </AjaxAction> + <ListDropDown id="listDropYN"> + <Property name="items">鏄�,鍚�</Property> + </ListDropDown> + <ListDropDown id="listDropZG"> + <Property name="items">鍒濈骇,涓骇,楂樼骇</Property> + </ListDropDown> + </View> +</ViewConfig> diff --git a/src/main/java/com/fzzy/otherview/gd2022/pr/GDApi1023PR.java b/src/main/java/com/fzzy/otherview/gd2022/pr/GDApi1023PR.java index 9101183..0b7860a 100644 --- a/src/main/java/com/fzzy/otherview/gd2022/pr/GDApi1023PR.java +++ b/src/main/java/com/fzzy/otherview/gd2022/pr/GDApi1023PR.java @@ -66,7 +66,7 @@ @Override public Predicate toPredicate(Root<ApiInfoData> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) { List<Predicate> predicates = new ArrayList<>(); //鎵�鏈夌殑鏂█ - Predicate predicate = criteriaBuilder.equal(root.get("inteId"), ApiCodeConstant.API_1023); + Predicate predicate = criteriaBuilder.equal(root.get("inteId"), ApiCodeConstant.API_9201); predicates.add(predicate); if (null != param) { if (StringUtils.isNotBlank(param.getKqdm())) { @@ -169,7 +169,7 @@ } //灏佽鍙傛暟 - ApiParam param = new ApiParam(apiConf, "21", ApiCodeConstant.API_1023); + ApiParam param = new ApiParam(apiConf, "21", ApiCodeConstant.API_9201); //鑾峰彇瀹炵幇鎺ュ彛 ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol()); @@ -184,7 +184,7 @@ if (responseDto.getSuccess() == 0) { if (Constant.CZBZ_I.equals(data.getCzbz())) { //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵�� - List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_1023, DateFormatUtils.format(data.getTbrq(), "yyyyMMdd") + data.getXzbm(), data.getKqdm()); + List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_9201, DateFormatUtils.format(data.getTbrq(), "yyyyMMdd") + data.getXzbm(), data.getKqdm()); data.setCzbz(Constant.CZBZ_U); infoData = apiInfoList.get(0); infoData.setUpdateTime(new Date()); diff --git a/src/main/java/com/fzzy/otherview/gd2022/pr/GDApi9201PR.java b/src/main/java/com/fzzy/otherview/gd2022/pr/GDApi9201PR.java new file mode 100644 index 0000000..159301e --- /dev/null +++ b/src/main/java/com/fzzy/otherview/gd2022/pr/GDApi9201PR.java @@ -0,0 +1,239 @@ +package com.fzzy.otherview.gd2022.pr; + + +import com.bstek.dorado.annotation.DataProvider; +import com.bstek.dorado.annotation.DataResolver; +import com.bstek.dorado.annotation.Expose; +import com.bstek.dorado.data.provider.Page; +import com.fzzy.api.Constant; +import com.fzzy.api.data.ApiParam; +import com.fzzy.api.dto.ResponseDto; +import com.fzzy.api.entity.Api9201; +import com.fzzy.api.entity.ApiConfs; +import com.fzzy.api.service.ApiCommonService; +import com.fzzy.api.service.ApiPushManager; +import com.fzzy.api.service.ApiRemoteService; +import com.fzzy.api.utils.ContextUtil; +import com.fzzy.api.view.repository.Api9201Rep; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.data.jpa.domain.Specification; +import org.springframework.stereotype.Component; + + +import javax.persistence.criteria.CriteriaBuilder; +import javax.persistence.criteria.CriteriaQuery; +import javax.persistence.criteria.Predicate; +import javax.persistence.criteria.Root; +import java.util.ArrayList; +import java.util.List; + +/** + * 骞夸笢鐪佹帴鍙�-9201 鐔忚捀澶囨 + * + * @author czt + * @date 2023/8/17 + */ +@Component(value = "gDApi9201PR") +public class GDApi9201PR { + + @Autowired + private Api9201Rep api9201Rep; + + @Autowired + private ApiCommonService apiCommonService; + + @Autowired + private ApiPushManager apiPushManager; + + /** + * gDApi9201PR#pageList + * + * @return + */ + @DataProvider + public void pageList(Page<Api9201> page, ApiParam param) { + + //澶氬弬鏁板垎椤垫煡璇� + Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, "id"); + + if (null == param) { + org.springframework.data.domain.Page<Api9201> japPage = api9201Rep.findAll(pageable); + page.setEntityCount((int) japPage.getTotalElements()); + page.setEntities(japPage.getContent()); + + return; + } + + Specification<Api9201> specification = new Specification<Api9201>() { + private static final long serialVersionUID = 1L; + + public Predicate toPredicate(Root<Api9201> root, CriteriaQuery<?> query, CriteriaBuilder cb) { + List<Predicate> predicates = new ArrayList<>(); //鎵�鏈夌殑鏂█ + + if (StringUtils.isNotBlank(param.getKqdm())) { + Predicate predicate1 = cb.equal(root.get("hwdm"), param.getKqdm()); + predicates.add(predicate1); + } + + if (StringUtils.isNotBlank(param.getCzbz())) { + Predicate predicate2 = cb.equal(root.get("czbz"), param.getCzbz()); + predicates.add(predicate2); + } + if (null != param.getStart()) { + Predicate predicate3 = cb.greaterThan(root.get("ywrq"), ContextUtil.getCurZero(param.getStart())); + predicates.add(predicate3); + } + + if (null != param.getEnd()) { + Predicate predicate4 = cb.lessThan(root.get("ywrq"), ContextUtil.getNextZero(param.getEnd())); + predicates.add(predicate4); + } + return cb.and(predicates.toArray(new Predicate[0])); + } + }; + + org.springframework.data.domain.Page<Api9201> japPage = api9201Rep.findAll(specification, pageable); + page.setEntityCount((int) japPage.getTotalElements()); + page.setEntities(japPage.getContent()); + } + + + /** + * gDApi9201PR#updateSave + * + * @param entity + */ + @DataResolver + public void updateSave(Api9201 entity) { + + // 鎵嬪姩灏哾oradoEntity瀵硅薄杞崲涓烘爣鍑咮ean瀵硅薄 + Api9201 data = new Api9201(); + BeanUtils.copyProperties(entity, data); + + data.setKqdm(data.getKqdm().trim()); + + api9201Rep.save(data); + } + + /** + * gDApi9201PR#delData + * + * @param data + */ + @Expose + public String delData(Api9201 data) { + + api9201Rep.deleteById(data.getId()); + + return null; + } + + /** + * 鏇存柊鍒犻櫎鏍囪 gDApi9201PR#delUpdate + * + * @param entity + */ + @Expose + public String delUpdate(Api9201 entity) { + + entity.setCzbz(Constant.CZBZ_D); + + Api9201 data = new Api9201(); + BeanUtils.copyProperties(entity, data); + + api9201Rep.save(data); + return null; + } + + /** + * gDApi9201PR#pushData + * + * @param items + */ + @Expose + public String pushData(List<Api9201> items) { + + //鑾峰彇閰嶇疆 + String kqdm = items.get(0).getKqdm(); + ApiConfs apiConf = apiCommonService.getConf(kqdm); + + if (null == apiConf) { + return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触"; + } + + //鑾峰彇瀹炵幇鎺ュ彛 + ApiRemoteService apiRemoteService = apiPushManager.getApiRemoteService(apiConf.getPushProtocol()); + if (null == apiRemoteService) { + return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触"; + } + + return pushDataSingle(items, apiRemoteService, apiConf); + } + + /** + * 鍗曟潯鏁版嵁json鎺ㄩ�� + * + * @param items + * @param apiRemoteService + * @param apiConf + * @return + */ + private String pushDataSingle(List<Api9201> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) { + ResponseDto responseDto; + String result = ""; + + //灏佽鍙傛暟 + ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_13, Constant.API_CODE_9201); + + Api9201 d; + for (Api9201 data : items) { + d = new Api9201(); + BeanUtils.copyProperties(data, d); + param.setBizId(data.getBizId()); + responseDto = apiRemoteService.pushData(param, apiConf, d); + + result += responseDto.toString(); + if (responseDto.getSuccess() == 0) { + if (Constant.CZBZ_I.equals(d.getCzbz())) { + api9201Rep.updateStatus(data.getDwdm(), Constant.CZBZ_U); + } + } + } + return result; + } + + /** + * 闆嗗悎褰㈠紡鎺ㄩ�� + * + * @param items + * @param apiRemoteService + * @param apiConf + * @return + */ + private String pushDataList(List<Api9201> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) { + + //灏佽鍙傛暟 + ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_13, Constant.API_CODE_9201); + + + //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮� + ResponseDto responseDto = apiRemoteService.pushData(param, apiConf, items); + if (responseDto.getSuccess() == 0) { + //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵�� + for (Api9201 data : items) { + if (Constant.CZBZ_I.equals(data.getCzbz())) { + //鏇存柊鐘舵�� + api9201Rep.updateStatus(data.getDwdm(), Constant.CZBZ_U); + } + } + } + + return responseDto.toString(); + } + +} diff --git a/src/main/java/com/fzzy/push/gd2022/ApiCodeConstant.java b/src/main/java/com/fzzy/push/gd2022/ApiCodeConstant.java index f375a67..5463f5b 100644 --- a/src/main/java/com/fzzy/push/gd2022/ApiCodeConstant.java +++ b/src/main/java/com/fzzy/push/gd2022/ApiCodeConstant.java @@ -9,6 +9,7 @@ public static String API_1023 = "1023"; public static String API_2001 = "2001"; public static String API_2002 = "2002"; + public static String API_9201 = "9201"; /** * 鎺ュ彛缂栫爜-1001 韬唤璁よ瘉鎺ュ彛 */ diff --git a/src/main/java/com/fzzy/web/TestController.java b/src/main/java/com/fzzy/web/TestController.java index 9d3d200..4c128c0 100644 --- a/src/main/java/com/fzzy/web/TestController.java +++ b/src/main/java/com/fzzy/web/TestController.java @@ -1,4 +1,5 @@ package com.fzzy.web; + import com.bstek.dorado.util.DateUtils; import com.fzzy.api.data.ApiParam; import com.fzzy.async.fzzy30.Fzzy30SyncService12; @@ -8,6 +9,21 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; +import ws.schild.jave.Encoder; +import ws.schild.jave.EncoderException; +import ws.schild.jave.MultimediaObject; +import ws.schild.jave.encode.AudioAttributes; +import ws.schild.jave.encode.EncodingAttributes; +import ws.schild.jave.encode.VideoAttributes; +import ws.schild.jave.info.AudioInfo; +import ws.schild.jave.info.VideoSize; + + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.math.BigDecimal; /** * @author vince.xu @@ -22,23 +38,191 @@ public class TestController { @Autowired private Fzzy30SyncService12 fzzySyncService12; + /** * */ @RequestMapping(value = "test", method = RequestMethod.GET) - public String test(@RequestParam(name = "kqdm")String kqdm, @RequestParam(name = "deptId")String deptId, @RequestParam(name = "start")String start,@RequestParam(name = "end") String end) { + public String test(@RequestParam(name = "kqdm") String kqdm, @RequestParam(name = "deptId") String deptId, @RequestParam(name = "start") String start, @RequestParam(name = "end") String end) { try { ApiParam apiParam = new ApiParam(); apiParam.setKqdm(kqdm); apiParam.setDeptId(deptId); - apiParam.setStart(DateUtils.parse("yyyy-MM-dd HH:mm:ss",start)); - apiParam.setEnd(DateUtils.parse("yyyy-MM-dd HH:mm:ss",end)); + apiParam.setStart(DateUtils.parse("yyyy-MM-dd HH:mm:ss", start)); + apiParam.setEnd(DateUtils.parse("yyyy-MM-dd HH:mm:ss", end)); fzzySyncService12.syncData(apiParam); } catch (Exception e) { - log.error(e.getMessage(),e); + log.error(e.getMessage(), e); e.printStackTrace(); } return ""; } + + + public static void main(String[] args) throws EncoderException { + // 鍘嬬缉鍓嶆枃浠惰矾寰� + File source = new File("D:\\IGDS\\FILE\\COMMON\\202412\\20241218100601.mp4"); + // 鍘嬬缉鍚庣殑鏂囦欢璺緞 + File target = new File("D:\\IGDS\\FILE\\COMMON\\202412\\202412181006.mp4"); + compre(source, target, 1); + + } + + /** + * 瑙嗛鍘嬬缉 + * + * @param source 婧愭枃浠� + * @param target 鐩爣鏂囦欢 + * @param rate 鍘嬬缉姣� + */ + public static void compre(File source, File target, Integer rate) throws EncoderException { + try { + System.out.println("---------------寮�濮嬪帇缂�---------------"); + long start = System.currentTimeMillis(); + + // 闊抽缂栫爜灞炴�ч厤缃� + AudioAttributes audio = new AudioAttributes(); + audio.setCodec("libmp3lame"); + // 璁剧疆闊抽姣旂壒鐜�,鍗曚綅:b (姣旂壒鐜囪秺楂橈紝娓呮櫚搴�/闊宠川瓒婂ソ锛屽綋鐒舵枃浠朵篃灏辫秺澶� 56000 = 56kb) + // audio.setBitRate(new Integer(56_000)); + audio.setBitRate(new Integer(10)); + // 璁剧疆閲嶆柊缂栫爜鐨勯煶棰戞祦涓娇鐢ㄧ殑澹伴亾鏁帮紙1 =鍗曞0閬擄紝2 = 鍙屽0閬擄紙绔嬩綋澹帮級锛� + audio.setChannels(1); + // 閲囨牱鐜囪秺楂樺0闊崇殑杩樺師搴﹁秺濂斤紝鏂囦欢瓒婂ぇ + // audio.setSamplingRate(new Integer(44100)); + audio.setSamplingRate(new Integer(22050)); + // 瑙嗛缂栫爜灞炴�ч厤缃� + VideoAttributes video = new VideoAttributes(); + // 璁剧疆缂栫爜 + video.setCodec("mpeg4"); + //璁剧疆闊抽姣旂壒鐜�,鍗曚綅:b (姣旂壒鐜囪秺楂橈紝娓呮櫚搴�/闊宠川瓒婂ソ锛屽綋鐒舵枃浠朵篃灏辫秺澶� 5600000 = 5600kb) + // video.setBitRate(new Integer(5_600_000 / rate)); + video.setBitRate(new Integer(10 / rate)); + + // 璁剧疆瑙嗛甯х巼锛堝抚鐜囪秺浣庯紝瑙嗛浼氬嚭鐜版柇灞傦紝瓒婇珮璁╀汉鎰熻瓒婅繛缁級,杩欓噷 闄�1000鏄负浜嗗崟浣嶈浆鎹� + video.setFrameRate(new Integer(15)); + + + // 缂栫爜璁剧疆 + EncodingAttributes attr = new EncodingAttributes(); + attr.setOutputFormat("mp4"); + attr.setAudioAttributes(audio); + attr.setVideoAttributes(video); + + // 璁剧疆鍊肩紪鐮� + Encoder ec = new Encoder(); + ec.encode(new MultimediaObject(source), target, attr); + + + System.out.println("---------------缁撴潫鍘嬬缉---------------"); + long end = System.currentTimeMillis(); + System.out.println("鍘嬬缉鍓嶅ぇ灏忥細" + source.length() + " 鍘嬬缉鍚庡ぇ灏忥細" + target.length()); + System.out.println("鍘嬬缉鑰楁椂锛�" + (end - start)); + + } catch (EncoderException e) { + e.printStackTrace(); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } + + } + + /** + * 浼犺棰慒ile瀵硅薄锛堣繖鏄竴涓叿浣撶殑鏂囦欢锛夛紝杩斿洖鍘嬬缉鍚嶧ile瀵硅薄淇℃伅 + * + * @param source + */ + public static File compressionVideo(File source, String picName) { + if (source == null) { + return null; + } + String newPath = source.getAbsolutePath().substring(0, source.getAbsolutePath().lastIndexOf(File.separator)).concat(File.separator).concat(picName); + File target = new File(newPath); + try { + MultimediaObject object = new MultimediaObject(source); + AudioInfo audioInfo = object.getInfo().getAudio(); + // 鏍规嵁瑙嗛澶у皬鏉ュ垽鏂槸鍚﹂渶瑕佽繘琛屽帇缂�, + int maxSize = 5; + double mb = Math.ceil(source.length() / 1048576); + int second = (int) object.getInfo().getDuration() / 1000; + BigDecimal bd = new BigDecimal(String.format("%.4f", mb / second)); + System.out.println("寮�濮嬪帇缂╄棰戜簡--> 瑙嗛姣忕骞冲潎 " + bd + " MB "); + // 瑙嗛 > 5MB, 鎴栬�呮瘡绉� > 0.5 MB 鎵嶅仛鍘嬬缉锛� 涓嶉渶瑕佺殑璇濆彲浠ユ妸鍒ゆ柇鍘绘帀 + boolean temp = mb > maxSize || bd.compareTo(new BigDecimal(0.5)) > 0; +// if(temp){ + long time = System.currentTimeMillis(); + //TODO 瑙嗛灞炴�ц缃� + int maxBitRate = 128000; + int maxSamplingRate = 44100; + int bitRate = 800000; + int maxFrameRate = 20; + int maxWidth = 1280; + + AudioAttributes audio = new AudioAttributes(); + // 璁剧疆閫氱敤缂栫爜鏍煎紡10 audio.setCodec("aac"); + // 璁剧疆鏈�澶у�硷細姣旂壒鐜囪秺楂橈紝娓呮櫚搴�/闊宠川瓒婂ソ + // 璁剧疆闊抽姣旂壒鐜�,鍗曚綅:b (姣旂壒鐜囪秺楂橈紝娓呮櫚搴�/闊宠川瓒婂ソ锛屽綋鐒舵枃浠朵篃灏辫秺澶� 128000 = 182kb) + if (audioInfo.getBitRate() > maxBitRate) { + audio.setBitRate(new Integer(maxBitRate)); + } + + // 璁剧疆閲嶆柊缂栫爜鐨勯煶棰戞祦涓娇鐢ㄧ殑澹伴亾鏁帮紙1 =鍗曞0閬擄紝2 = 鍙屽0閬擄紙绔嬩綋澹帮級锛夈�傚鏋滄湭璁剧疆浠讳綍澹伴亾鍊硷紝鍒欑紪鐮佸櫒灏嗛�夋嫨榛樿鍊� 0銆� + audio.setChannels(audioInfo.getChannels()); + // 閲囨牱鐜囪秺楂樺0闊崇殑杩樺師搴﹁秺濂斤紝鏂囦欢瓒婂ぇ + // 璁剧疆闊抽閲囨牱鐜囷紝鍗曚綅锛氳但鍏� hz + // 璁剧疆缂栫爜鏃跺�欑殑闊抽噺鍊硷紝鏈缃负0,濡傛灉256锛屽垯闊抽噺鍊间笉浼氭敼鍙� + // audio.setVolume(256); + if (audioInfo.getSamplingRate() > maxSamplingRate) { + audio.setSamplingRate(maxSamplingRate); + } + + //TODO 瑙嗛缂栫爜灞炴�ч厤缃� + ws.schild.jave.info.VideoInfo videoInfo = object.getInfo().getVideo(); + VideoAttributes video = new VideoAttributes(); + video.setCodec("h264"); + //璁剧疆闊抽姣旂壒鐜�,鍗曚綅:b (姣旂壒鐜囪秺楂橈紝娓呮櫚搴�/闊宠川瓒婂ソ锛屽綋鐒舵枃浠朵篃灏辫秺澶� 800000 = 800kb) + if (videoInfo.getBitRate() > bitRate) { + video.setBitRate(bitRate); + } + + // 瑙嗛甯х巼锛�15 f / s 甯х巼瓒婁綆锛屾晥鏋滆秺宸� + // 璁剧疆瑙嗛甯х巼锛堝抚鐜囪秺浣庯紝瑙嗛浼氬嚭鐜版柇灞傦紝瓒婇珮璁╀汉鎰熻瓒婅繛缁級锛岃棰戝抚鐜囷紙Frame rate锛夋槸鐢ㄤ簬娴嬮噺鏄剧ず甯ф暟鐨勯噺搴︺�傛墍璋撶殑娴嬮噺鍗曚綅涓烘瘡绉掓樉绀哄抚鏁�(Frames per Second锛岀畝锛欶PS锛夋垨鈥滆但鍏光�濓紙Hz锛夈�� + if (videoInfo.getFrameRate() > maxFrameRate) { + video.setFrameRate(maxFrameRate); + } + + // 闄愬埗瑙嗛瀹介珮 + int width = videoInfo.getSize().getWidth(); + int height = videoInfo.getSize().getHeight(); + if (width > maxWidth) { + float rat = (float) width / maxWidth; + video.setSize(new VideoSize(maxWidth, (int) (height / rat))); + } + + EncodingAttributes attr = new EncodingAttributes(); +// attr.setFormat("mp4"); + attr.setAudioAttributes(audio); + attr.setVideoAttributes(video); + + // 閫熷害鏈�蹇殑鍘嬬缉鏂瑰紡锛� 鍘嬬缉閫熷害 浠庡揩鍒版參锛� ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow and placebo. +// attr.setPreset(PresetUtil.VERYFAST); +// attr.setCrf(27); +// // 璁剧疆绾跨▼鏁� +// attr.setEncodingThreads(Runtime.getRuntime().availableProcessors()/2); + + Encoder encoder = new Encoder(); + encoder.encode(new MultimediaObject(source), target, attr); + System.out.println("鍘嬬缉鎬昏�楁椂锛�" + (System.currentTimeMillis() - time) / 1000); + return target; +// } + } catch (Exception e) { + e.printStackTrace(); + } finally { + if (target.length() > 0) { + source.delete(); + } + } + return source; + } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index bbeeabd..86a70b3 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,7 +1,7 @@ ########################## Server ########################## spring: profiles: - active: dev + active: pro application: name: igds-api main: diff --git a/src/main/resources/templates/home/home.html b/src/main/resources/templates/home/home.html index 4b4b9b3..692acde 100644 --- a/src/main/resources/templates/home/home.html +++ b/src/main/resources/templates/home/home.html @@ -340,6 +340,9 @@ <dd> <a lay-href="com.fzzy.otherview.gd2022.GdApi1023.d">鐔忚捀澶囨</a> </dd> + <dd> + <a lay-href="com.fzzy.otherview.gd2022.GdApi9201.d">鐔忚捀澶囨鏂�</a> + </dd> </dl> </dd> <dd> -- Gitblit v1.9.3