|  |  |  | 
|---|
|  |  |  | import com.fzzy.async.fzzy40.repository.Fzzy40SyncInoutRecordItemRep; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.apache.commons.lang.StringUtils; | 
|---|
|  |  |  | import org.apache.commons.lang.time.DateFormatUtils; | 
|---|
|  |  |  | import org.apache.commons.lang.time.DateUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.stereotype.Component; | 
|---|
|  |  |  | 
|---|
|  |  |  | for (Fz40InoutRecord sysData : list) { | 
|---|
|  |  |  | listIds = new ArrayList<>(); | 
|---|
|  |  |  | //判断是否为船运 | 
|---|
|  |  |  | if(StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")){ | 
|---|
|  |  |  | if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) { | 
|---|
|  |  |  | listInoutRecordItem = fzzy40SyncInoutRecordItemRep.findDataByRecordId(sysData.getId()); | 
|---|
|  |  |  | if(null != listInoutRecordItem && listInoutRecordItem.size() > 0){ | 
|---|
|  |  |  | int idNum = Integer.valueOf(sysData.getId().substring(12))*100 + 10001; | 
|---|
|  |  |  | if (null != listInoutRecordItem && listInoutRecordItem.size() > 0) { | 
|---|
|  |  |  | int idNum = Integer.valueOf(sysData.getId().substring(12)) * 100 + 10001; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | for (Fz40InoutRecordItem fz40InoutRecordItem : listInoutRecordItem) { | 
|---|
|  |  |  | listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4,10) + String.valueOf(idNum).substring(1)); | 
|---|
|  |  |  | idNum ++; | 
|---|
|  |  |  | if ("DEL".equals(fz40InoutRecordItem.getRecordStatus())) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4, 10) + String.valueOf(idNum).substring(1)); | 
|---|
|  |  |  | idNum++; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | listIds.add(Constant.INOUT_TYPE_14 + sysData.getId().substring(4)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | for (String listId : listIds) { | 
|---|
|  |  |  | //查询粮食入库信息,若为空则不进行同步上传 | 
|---|
|  |  |  | api1102List = api1202Rep.getDataById(listId); | 
|---|
|  |  |  | if(null == api1102List || api1102List.isEmpty()){ | 
|---|
|  |  |  | if (null == api1102List || api1102List.isEmpty()) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | //货位代码 | 
|---|
|  |  |  | apiData.setHwdm(api1102List.get(0).getHwdm()); | 
|---|
|  |  |  | apiData.setRkywdh(api1102List.get(0).getRkywdh()); | 
|---|
|  |  |  | if(null == sysData.getFullWeightTime()){ | 
|---|
|  |  |  | if (null == sysData.getFullWeightTime()) { | 
|---|
|  |  |  | sysData.setFullWeightTime(DateUtils.addMinutes(sysData.getRegisterTime(), 5)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //判断业务时间与单据号是否匹配,若不匹配,则更改业务时间为单据号所在的时间 | 
|---|
|  |  |  | SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); | 
|---|
|  |  |  | Date time = dateFormat.parse(apiData.getRkjydh().substring(2, 8)); | 
|---|
|  |  |  | int numDay = DateUtil.difDay(DateUtil.getCurZero(sysData.getRegisterTime()), DateUtil.getCurZero(time)); | 
|---|
|  |  |  | if(numDay != 0){ | 
|---|
|  |  |  | sysData.setRegisterTime(DateUtils.addDays(sysData.getRegisterTime(), numDay)); | 
|---|
|  |  |  | String time = apiData.getRkjydh().substring(2, 8); | 
|---|
|  |  |  | if (sysData.getCheckTime() != null) { | 
|---|
|  |  |  | String isCheckTime = DateFormatUtils.format(sysData.getCheckTime(), "yyMMdd"); | 
|---|
|  |  |  | if (!isCheckTime.equals(time)) { | 
|---|
|  |  |  | int difDay = DateUtil.difDay1(sysData.getRegisterTime(), sysData.getCheckTime()); | 
|---|
|  |  |  | apiData.setRkjydh("14" + isCheckTime + String.format("%02d", difDay) + api1102List.get(0).getRkywdh().substring(10)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | apiData.setQysj(sysData.getRegisterTime()); | 
|---|
|  |  |  | //船运使用入库单据号做质检单号 | 
|---|
|  |  |  | if (StringUtils.isNotEmpty(sysData.getTransType()) && sysData.getTransType().equals("3")) { | 
|---|
|  |  |  | apiData.setRkjydh(api1102List.get(0).getRkywdh()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | apiData.setQyrxm(sysData.getCheckUser()); | 
|---|
|  |  |  | //扦样方式 2-智能随机 | 
|---|
|  |  |  | apiData.setQyfs("2"); | 
|---|
|  |  |  | 
|---|
|  |  |  | if (StringUtils.isEmpty(fz40CheckItem.getValue())) { | 
|---|
|  |  |  | continue; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | jyxm += gbCheckList.get(0).getCode() + ","; | 
|---|
|  |  |  | jyz += fz40CheckItem.getValue() + ","; | 
|---|
|  |  |  | jyxm += "," + gbCheckList.get(0).getCode(); | 
|---|
|  |  |  | jyz += "," + fz40CheckItem.getValue(); | 
|---|
|  |  |  | zkj += ",0.0"; | 
|---|
|  |  |  | zkl += ",0.0"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if (jyxm.length() > 0) { | 
|---|
|  |  |  | jyxm = jyxm.substring(1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (jyz.length() > 0) { | 
|---|
|  |  |  | jyz = jyz.substring(1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | apiData.setJyxm(jyxm); | 
|---|
|  |  |  | apiData.setJyz(jyz); | 
|---|
|  |  |  | apiData.setZkj(StringUtils.isEmpty(zkj)?"":zkj.substring(1)); | 
|---|
|  |  |  | apiData.setZkl(StringUtils.isEmpty(zkl)?"":zkl.substring(1)); | 
|---|
|  |  |  | if("UNPASS".equals(sysData.getCheckStatus())){ | 
|---|
|  |  |  | apiData.setZkj(StringUtils.isEmpty(zkj) ? "" : zkj.substring(1)); | 
|---|
|  |  |  | apiData.setZkl(StringUtils.isEmpty(zkl) ? "" : zkl.substring(1)); | 
|---|
|  |  |  | if ("UNPASS".equals(sysData.getCheckStatus())) { | 
|---|
|  |  |  | apiData.setJyjg("0"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if("PASS".equals(sysData.getCheckStatus())){ | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | apiData.setJyjg("1"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | apiData.setJyrxm(sysData.getCheckUser()); | 
|---|
|  |  |  | apiData.setJysj(DateUtils.addMinutes(sysData.getRegisterTime(), 30)); | 
|---|
|  |  |  | if (null == sysData.getCheckTime()) { | 
|---|
|  |  |  | sysData.setCheckTime(DateUtils.addMinutes(sysData.getFullWeightTime(), -5)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (sysData.getCheckTime().after(sysData.getEmptyWeightTime())) { | 
|---|
|  |  |  | sysData.setCheckTime(DateUtils.addMinutes(sysData.getFullWeightTime(), -5)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | apiData.setJysj(sysData.getCheckTime()); | 
|---|
|  |  |  | if (null == sysData.getSampleTime()) { | 
|---|
|  |  |  | sysData.setSampleTime(DateUtils.addMinutes(sysData.getCheckTime(), -1)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (sysData.getSampleTime().after(sysData.getCheckTime())) { | 
|---|
|  |  |  | sysData.setSampleTime(DateUtils.addMinutes(sysData.getCheckTime(), -1)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | apiData.setQysj(sysData.getSampleTime()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //粮食品种 | 
|---|
|  |  |  | String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety().substring(0,3)); | 
|---|
|  |  |  | String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, sysData.getFoodVariety()); | 
|---|
|  |  |  | apiData.setLspzdm(mappingCode); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //保管员复核 | 
|---|
|  |  |  | apiData.setBgyfh(apiData.getJyjg()); | 
|---|
|  |  |  | apiData.setSpaqzbsfhg("1"); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //粮食等级 | 
|---|
|  |  |  | mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSDJ, sysData.getFoodLevel()); | 
|---|
|  |  |  | 
|---|
|  |  |  | apiData.setSyncTime(new Date()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | api1203List = api1203Rep.getDataById(apiData.getRkjydh()); | 
|---|
|  |  |  | if(null == api1203List || api1203List.isEmpty()){ | 
|---|
|  |  |  | if (null == api1203List || api1203List.isEmpty()) { | 
|---|
|  |  |  | apiData.setCzbz(Constant.CZBZ_I); | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | apiData.setCzbz(api1203List.get(0).getCzbz()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | apiLogRep.save(apiLog); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | public static void main(String[] args) { | 
|---|
|  |  |  | //判断业务时间与单据号是否匹配,若不匹配,则更改业务时间为单据号所在的时间 | 
|---|
|  |  |  | String id = "142508200001"; | 
|---|
|  |  |  | String time = id.substring(2, 8); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | String isCheckTime = "250821"; | 
|---|
|  |  |  | if (!isCheckTime.equals(time)) { | 
|---|
|  |  |  | int difDay = 2; | 
|---|
|  |  |  | String idd = "14" + isCheckTime + difDay + id.substring(9); | 
|---|
|  |  |  | System.out.println(idd); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|