From db11361d175266a95c4cc058f1daf25c08b7dc12 Mon Sep 17 00:00:00 2001 From: WS <1143478319@qq.com> Date: 星期二, 15 八月 2023 11:09:13 +0800 Subject: [PATCH] V4.0版本入库质检数据同步 --- src/main/java/com/fzzy/async/fzzy40/entity/Fz40CheckItem.java | 112 ++++++++++++++++++ src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java | 200 +++++++++++++++++++++++++++++++++ src/main/java/com/fzzy/async/fzzy40/entity/Fz40CheckItemKey.java | 18 +++ src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1203Rep.java | 23 +++ src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java | 4 5 files changed, 357 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java index 6aa894c..11947f2 100644 --- a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java +++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java @@ -3,6 +3,7 @@ import com.fzzy.api.data.ApiParam; import com.fzzy.api.data.SyncProtocol; import com.fzzy.api.service.SyncService12; +import com.fzzy.async.fzzy35.impl.Fzzy35Sync1203; import com.fzzy.async.fzzy35.impl.Fzzy35Sync1208; import com.fzzy.async.fzzy40.impl.*; import org.springframework.beans.factory.annotation.Autowired; @@ -27,6 +28,8 @@ private Fzzy40Sync1212 fzzySync1212; @Autowired private Fzzy40Sync1208 fzzySync1208; + @Autowired + private Fzzy40Sync1203 fzzySync1203; @Override public String getProtocol() { @@ -51,6 +54,7 @@ fzzySync1202.syncData(kqdm, deptId, start, end); //绮鍏ュ簱璐ㄦ TODO + fzzySync1203.syncData(kqdm, deptId, start, end); //绮鍏ュ簱缁撶畻 TODO diff --git a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40CheckItem.java b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40CheckItem.java new file mode 100644 index 0000000..6fff5fd --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40CheckItem.java @@ -0,0 +1,112 @@ +package com.fzzy.async.fzzy40.entity; + +import com.bstek.dorado.annotation.PropertyDef; +import com.fzzy.async.fzzy35.entity.Fz35CheckItemKey; +import lombok.Data; + +import javax.persistence.*; +import java.io.Serializable; + +/** + * 鐢ㄤ簬鍑哄叆搴撹川妫�璇︾粏椤瑰拰鏃ュ父宸℃鐨勮缁嗛」璁板綍 + * + * @author: andy.jia + * @description: + * @version: + * @data:2020骞�4鏈�7鏃� + */ +@Data +@Entity +@Table(name = "D_CHECK_ITEM") +@IdClass(Fz40CheckItemKey.class) +public class Fz40CheckItem implements Serializable { + + /** + * + */ + private static final long serialVersionUID = 1L; + + @Id + @Column(name = "CHECK_ID_", length = 40) + @PropertyDef(label = "妫�娴嬬紪鐮�") + private String checkId; + + @Id + @Column(name = "COMPANY_ID_", length = 10) + @PropertyDef(label = "缁勭粐缂栫爜") + private String companyId; + + @Id + @Column(name = "STANDARD_ID_", length = 10) + @PropertyDef(label = "妫�娴嬮」缂栫爜") + private String standardId; + + @Column(name = "STANDARD_NAME_", length = 50) + @PropertyDef(label = "鍖栭獙椤�") + private String standardName; + + @Column(name = "UNIT_", length = 20) + @PropertyDef(label = "鍗曚綅") + private String unit; + + @Column(name = "UPPER_LIMIT_") + @PropertyDef(label = "鏍囧噯浼愬��") + private Double upperLimit; + + @Column(name = "OPERA_SYMBOL_", length = 4) + @PropertyDef(label = "杩愮畻绗﹀彿") + private String operaSymbol; + + @Column(name = "RULE_NUM_") + @PropertyDef(label = "鎵i噸绯绘暟") + private Double ruleNum; + + @Column(name = "RULE_ADD_") + @PropertyDef(label = "澧為噸%") + private Double ruleAdd; + + @Column(name = "RULE_ADD_END_") + @PropertyDef(label = "澧為噸涓婇檺%") + private Double ruleAddEnd; + + @Column(name = "RULE_REDUCE_") + @PropertyDef(label = "鎵i噸鍊�%") + private Double ruleReduce; + + @Column(name = "VALUE_", length = 40) + @PropertyDef(label = "妫�娴嬪��") + private String value; + + @Column(name = "RULE_PRICE_") + @PropertyDef(label = "鎵h垂绯绘暟") + private Double rulePrice; + + @Column(name = "RULE_REDUCE_PRICE_") + @PropertyDef(label = "鎵h垂") + private Double ruleReducePrice; + + @Column(name = "ADD_NUM_") + @PropertyDef(label = "澧為噸", description = "鍗曚綅锛歬G") + private Double addNum; + + @Column(name = "DE_NUM_") + @PropertyDef(label = "鎵i噸", description = "鍗曚綅锛歬G") + private Double deNum; + + @Column(name = "ADD_PRICE_") + @PropertyDef(label = "澧炰环", description = "鍗曚綅锛氬厓") + private Double addPrice; + + @Column(name = "DE_PRICE_") + @PropertyDef(label = "鎵d环", description = "鍗曚綅锛氬厓") + private Double dePrice; + + @Column(name = "RESULT_", length = 2) + @PropertyDef(label = "妫�楠岀粨鏋�", description = "0=涓嶅悎鏍� 1=鍚堟牸") + private String result; + + @Column(name = "REMARKS_", length = 50) + @PropertyDef(label = "澶囨敞") + private String remarks; + +} diff --git a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40CheckItemKey.java b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40CheckItemKey.java new file mode 100644 index 0000000..b6c995d --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40CheckItemKey.java @@ -0,0 +1,18 @@ +package com.fzzy.async.fzzy40.entity; + +import lombok.AllArgsConstructor; +import lombok.Data; + +import java.io.Serializable; + +@Data +@AllArgsConstructor +public class Fz40CheckItemKey implements Serializable { + private String checkId; + private String companyId; + private String standardId; + + public Fz40CheckItemKey(){ + super(); + } + } \ No newline at end of file diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java new file mode 100644 index 0000000..ded0330 --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1203.java @@ -0,0 +1,200 @@ +package com.fzzy.async.fzzy40.impl; + +import com.fzzy.api.Constant; +import com.fzzy.api.entity.Api1105; +import com.fzzy.api.entity.Api1203; +import com.fzzy.api.entity.ApiLog; +import com.fzzy.api.entity.GbCheckItem; +import com.fzzy.api.service.ApiCommonService; +import com.fzzy.api.service.ApiTriggerService; +import com.fzzy.api.utils.ContextUtil; +import com.fzzy.api.view.repository.Api1203Rep; +import com.fzzy.api.view.repository.ApiLogRep; +import com.fzzy.api.view.repository.GbCheckItemRep; +import com.fzzy.async.fzzy40.entity.Fz40CheckItem; +import com.fzzy.async.fzzy40.entity.Fz40InoutRecord; +import com.fzzy.async.fzzy40.repository.Fzzy40Sync1202Rep; +import com.fzzy.async.fzzy40.repository.Fzzy40Sync1203Rep; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.time.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +/** + * 绮鍏ュ簱妫�楠屼俊鎭� + */ +@Slf4j +@Component +public class Fzzy40Sync1203 { + + /** + * 鍏ュ簱绫诲瀷 + */ + private final static String INOUT_TYPE_IN = "IN"; + + @Autowired + private Fzzy40Sync1202Rep fzzySync1202Rep; + @Autowired + private Fzzy40Sync1203Rep fzzySync1203Rep; + + @Autowired + private ApiTriggerService apiTriggerService; + @Autowired + private Api1203Rep api1203Rep; + @Autowired + private GbCheckItemRep gbCheckItemRep; + @Autowired + private ApiCommonService commonService; + @Autowired + private ApiLogRep apiLogRep; + + /** + * 绮鍏ュ簱妫�楠屼俊鎭� + * + * @param deptId + * @param start + * @param end + */ + public void syncData(String kqdm, String deptId, Date start, Date end) { + + log.info("-------------1203鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------"); + + //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭� + ApiLog apiLog = new ApiLog(); + apiLog.setType(ApiLog.TYPE_SYNC); + apiLog.setKqdm(deptId); + apiLog.setUploadTime(new Date()); + apiLog.setInteId(Constant.API_CODE_1203); + apiLog.setStatus(99); + apiLog.setId(ContextUtil.getUUID()); + try { + //鑾峰彇绮鍏ュ簱璁板綍淇℃伅 + List<Fz40InoutRecord> list = fzzySync1202Rep.listInoutRecord(deptId, INOUT_TYPE_IN, start, end); + + if (null == list || list.isEmpty()) { + log.info("-------------娌℃湁鑾峰彇鍒扮伯椋熷叆搴撲俊鎭�------------------"); + return; + } + + Api1203 apiData; + Api1105 api1105; + List<Fz40CheckItem> fz40CheckItems; + List<GbCheckItem> gbCheckList; + String jyxm; + String jyz; + String zkj; + String zkl; + List<Api1203> api1203List; + for (Fz40InoutRecord sysData : list) { + if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){ + sysData.setRecordWeight(sysData.getSettleWeight()); + } + //鍒ゆ柇鍑�閲嶆槸鍚﹀ぇ浜�0锛岀瓑浜�0琛ㄧず涓嶅悎鏍硷紝涓嶈繘琛屽悓姝ヤ笂浼� + if(null == sysData.getRecordWeight() || sysData.getRecordWeight() == 0){ + continue; + } + + //鑾峰彇鍏ュ簱璐ㄦ淇℃伅 + fz40CheckItems = fzzySync1203Rep.listInoutCheckItem(sysData.getCheckId(), deptId.substring(0, 4)); + if (null == fz40CheckItems || fz40CheckItems.isEmpty()) { + log.info("-------------娌℃湁鑾峰彇鍒板綋鍓嶅叆搴撹川妫�淇℃伅--------------"); + continue; + } + + //鑾峰彇璐т綅淇℃伅 + api1105 = commonService.getApi1105Cache(sysData.getDepotId()); + if (null == api1105) { + continue; + } + + apiData = new Api1203(); + + apiData.setRkjydh(Constant.INOUT_TYPE_14 + sysData.getId().substring(4)); + + //璐т綅浠g爜 + apiData.setHwdm(api1105.getHwdm()); + apiData.setRkywdh(apiData.getRkjydh()); + if(null == sysData.getFullWeightTime()){ + sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 5)); + } + apiData.setQysj(sysData.getFullWeightTime()); + apiData.setQyrxm(sysData.getCheckUser()); + //鎵︽牱鏂瑰紡 2-鏅鸿兘闅忔満 + apiData.setQyfs("2"); + + //妫�娴嬮」锛屾娴嬪�硷紝澧炴墸浠峰強澧炴墸閲� + jyxm = ""; + jyz = ""; + zkj = ""; + zkl = ""; + for (Fz40CheckItem fz40CheckItem : fz40CheckItems) { + gbCheckList = gbCheckItemRep.findByBizCode(fz40CheckItem.getStandardId()); + + if (gbCheckList == null || gbCheckList.isEmpty()) { + continue; + } + if (StringUtils.isEmpty(fz40CheckItem.getValue())) { + continue; + } + jyxm += gbCheckList.get(0).getCode() + ","; + jyz += fz40CheckItem.getValue() + ","; + zkj += ",0.0"; + zkl += ",0.0"; + } + + apiData.setJyxm(jyxm); + apiData.setJyz(jyz); + apiData.setZkj(zkj.substring(1)); + apiData.setZkl(zkl.substring(1)); + if("UNPASS".equals(sysData.getCheckStatus())){ + apiData.setJyjg("0"); + } + if("PASS".equals(sysData.getCheckStatus())){ + apiData.setJyjg("1"); + } + apiData.setJyrxm(sysData.getCheckUser()); + apiData.setJysj(DateUtils.addMinutes(sysData.getFullWeightTime(), 5)); + + //绮鍝佺 + String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety()); + apiData.setLspzdm(mappingCode); + + //绮瀹氱瓑 + + //淇濈鍛樺鏍� + + + //绮绛夌骇 + mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, sysData.getFoodLevel()); + apiData.setLsdd(mappingCode); + + //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂� + apiData.setZhgxsj(sysData.getCompleteTime()); + + //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂� + apiData.setBizId(sysData.getId()); + apiData.setKqdm(kqdm); + apiData.setSyncTime(new Date()); + + api1203List = api1203Rep.getDataById(apiData.getRkjydh()); + if(null == api1203List || api1203List.isEmpty()){ + apiData.setCzbz(Constant.CZBZ_I); + }else { + apiData.setCzbz(api1203List.get(0).getCzbz()); + } + + //淇濆瓨鏁版嵁 + api1203Rep.save(apiData); + log.info("1203---鍚屾鏁版嵁锛歿}", apiData.toString()); + } + } catch (Exception e) { + log.error("---鍚屾澶辫触----{}", e); + apiLog.setResult("鍚屾澶辫触锛�" + e.getMessage()); + apiLogRep.save(apiLog); + } + } +} diff --git a/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1203Rep.java b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1203Rep.java new file mode 100644 index 0000000..374137f --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy40/repository/Fzzy40Sync1203Rep.java @@ -0,0 +1,23 @@ +package com.fzzy.async.fzzy40.repository; + +import com.fzzy.async.fzzy40.entity.Fz40CheckItem; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; + +import java.util.List; + +/** + * 绮鍏ュ簱璐ㄦ + */ +public interface Fzzy40Sync1203Rep extends JpaRepository<Fz40CheckItem, String> { + + /** + * 鏍规嵁鍏ュ簱妫�楠岀紪鐮佽幏鍙栨楠屼俊鎭� + * + * @param checkId + * @return + */ + @Query("from Fz40CheckItem where checkId=:checkId and companyId=:companyId order by standardId") + List<Fz40CheckItem> listInoutCheckItem(@Param("checkId") String checkId, @Param("companyId") String companyId); +} -- Gitblit v1.9.3