CcbHttpServiceImpl.java 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578
  1. package com.ruoyi.ccb.service.impl;
  2. import cn.hutool.core.util.ObjectUtil;
  3. import com.alibaba.fastjson.JSON;
  4. import com.alibaba.fastjson.JSONObject;
  5. import com.github.pagehelper.PageInfo;
  6. import com.ruoyi.ccb.domain.*;
  7. import com.ruoyi.ccb.domain.basic.CargoDetail;
  8. import com.ruoyi.ccb.domain.basic.CargoLockInfo;
  9. import com.ruoyi.ccb.domain.basic.Page;
  10. import com.ruoyi.ccb.domain.basic.SyncedOrg;
  11. import com.ruoyi.ccb.service.CcbHttpService;
  12. import com.ruoyi.common.core.domain.AjaxResult;
  13. import com.ruoyi.common.utils.DateUtils;
  14. import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
  15. import com.ruoyi.warehouseBusiness.service.IWarehouseBillsCcbService;
  16. import lombok.AllArgsConstructor;
  17. import org.springframework.stereotype.Service;
  18. import org.springframework.transaction.annotation.Transactional;
  19. import java.math.BigDecimal;
  20. import java.util.ArrayList;
  21. import java.util.List;
  22. import java.util.Map;
  23. import java.util.stream.Collectors;
  24. /**
  25. * CCB-HTTP接口实现
  26. *
  27. * @author s
  28. */
  29. @Service
  30. @AllArgsConstructor
  31. public class CcbHttpServiceImpl implements CcbHttpService {
  32. private final IWarehouseBillsCcbService ccbService;
  33. @Override
  34. public VoucherR takeVoucherIsExist(Voucher voucher) {
  35. // 库存帐查询
  36. List<Map<String, Object>> stockList = ccbService.getStockList(voucher.getTakeVoucher(), voucher.getUserName());
  37. VoucherR voucherR = new VoucherR();
  38. if (stockList.size() > 0) {
  39. voucherR.setIsExist("Y");
  40. } else {
  41. voucherR.setIsExist("N");
  42. }
  43. voucherR.setBeLongUser(voucher.getUserName());
  44. voucherR.setUscc(voucher.getUscc());
  45. return voucherR;
  46. }
  47. @Override
  48. public VoucherDetailR takeVoucherDetail(Voucher voucher) {
  49. // 库存帐查询
  50. List<CargoDetail> cargos = new ArrayList<>();
  51. List<Map<String, Object>> stockList = ccbService.getStockList(voucher.getTakeVoucher(), voucher.getUserName());
  52. stockList.forEach(map -> {
  53. String temp = JSON.toJSONString(map);
  54. CargoDetail detail = JSON.parseObject(temp, CargoDetail.class);
  55. detail.setNumberUnit("件");
  56. detail.setWeightUnit("千克");
  57. detail.setCargoBelong(voucher.getUserName());
  58. detail.setInStorageNumber(detail.getTakeVoucher());
  59. detail.setRemainNumber(detail.getNumberLeft());
  60. detail.setRemainWeight(detail.getWeightLeft());
  61. detail.setElectronicTags(ccbService.getLabel(detail.getTakeVoucher()));
  62. JSONObject object = JSON.parseObject(temp);
  63. if (!"0".equals(object.getString("lockStatus"))) {
  64. CargoLockInfo lockInfo = new CargoLockInfo();
  65. lockInfo.setCargoNo(detail.getCargoNo());
  66. lockInfo.setBlNumber(detail.getBlNumber());
  67. lockInfo.setCargoBelong(detail.getCargoBelong());
  68. lockInfo.setTakeVoucher(detail.getTakeVoucher());
  69. lockInfo.setNumber(detail.getNumberLeft());
  70. lockInfo.setNumberUnit(detail.getNumberUnit());
  71. lockInfo.setWeight(detail.getWeightLeft());
  72. lockInfo.setWeightUnit(detail.getWeightUnit());
  73. lockInfo.setSpeci(detail.getSpeci());
  74. lockInfo.setReasonCode("PLGL");
  75. lockInfo.setLockTime(object.getDate("lockTime"));
  76. lockInfo.setWrNumber(detail.getWrNumber());
  77. lockInfo.setElectronicTags(detail.getElectronicTags());
  78. detail.setLockInfo(lockInfo);
  79. }
  80. cargos.add(detail);
  81. });
  82. VoucherDetailR detailR = new VoucherDetailR();
  83. detailR.setTakeVoucher(voucher.getTakeVoucher());
  84. detailR.setStorageEnterpriseName(voucher.getUserName());
  85. detailR.setBondedStatus(0);
  86. detailR.setUserName(voucher.getUserName());
  87. detailR.setUscc(voucher.getUscc());
  88. detailR.setCargos(cargos);
  89. return detailR;
  90. }
  91. @Override
  92. public PledgeR cargoPledge(Pledge pledge) {
  93. List<String> billNoList = pledge.getCargos()
  94. .stream()
  95. .map(CargoDetail::getTakeVoucher)
  96. .collect(Collectors.toList());
  97. // 出质处理
  98. AjaxResult result = ccbService.lockStock(pledge.getNewUserName(), billNoList, false);
  99. PledgeR pledgeR = new PledgeR();
  100. pledgeR.setUserName(pledge.getUserName());
  101. pledgeR.setUscc(pledge.getUscc());
  102. pledgeR.setNewUserName(pledge.getNewUserName());
  103. pledgeR.setNewUserNameUscc(pledge.getNewUserNameUscc());
  104. pledgeR.setCargos(pledge.getCargos());
  105. if ((int) result.get("code") != 200) {
  106. pledgeR.setResult("N");
  107. pledgeR.setReason((String) result.get("msg"));
  108. } else {
  109. pledgeR.setResult("Y");
  110. }
  111. return pledgeR;
  112. }
  113. @Override
  114. public PledgeR cargoPledgeOut(Pledge pledge) {
  115. List<String> billNoList = pledge.getCargos()
  116. .stream()
  117. .map(CargoDetail::getTakeVoucher)
  118. .collect(Collectors.toList());
  119. // 解质处理
  120. AjaxResult result = ccbService.unlockStock(billNoList, false);
  121. PledgeR pledgeR = new PledgeR();
  122. pledgeR.setUserName(pledge.getNewUserName());
  123. pledgeR.setUscc(pledge.getNewUserNameUscc());
  124. pledgeR.setCargos(pledge.getCargos());
  125. if ((int) result.get("code") != 200) {
  126. pledgeR.setResult("N");
  127. pledgeR.setReason((String) result.get("msg"));
  128. } else {
  129. pledgeR.setResult("Y");
  130. }
  131. return pledgeR;
  132. }
  133. @Override
  134. @Transactional(rollbackFor = Exception.class)
  135. public InOutCargoR inCargoReq(InOutCargo inOutCargo) {
  136. List<TWarehousebillsitems> items = convert(inOutCargo.getCargos());
  137. AjaxResult result = ccbService.inAndOutStock("SJRK", items);
  138. InOutCargoR inOutCargoR = new InOutCargoR();
  139. inOutCargoR.setUserName(inOutCargo.getUserName());
  140. inOutCargoR.setUscc(inOutCargo.getUscc());
  141. inOutCargoR.setReqUser(inOutCargo.getReqUser());
  142. if ((int) result.get("code") != 200) {
  143. inOutCargoR.setResult("N");
  144. inOutCargoR.setReason((String) result.get("msg"));
  145. } else {
  146. inOutCargoR.setResult("Y");
  147. }
  148. return inOutCargoR;
  149. }
  150. @Override
  151. public InOutCargoR outCargoReq(InOutCargo inOutCargo) {
  152. List<TWarehousebillsitems> items = convert(inOutCargo.getCargos());
  153. AjaxResult result = ccbService.inAndOutStock("SJCK", items);
  154. InOutCargoR inOutCargoR = new InOutCargoR();
  155. inOutCargoR.setUserName(inOutCargo.getUserName());
  156. inOutCargoR.setUscc(inOutCargo.getUscc());
  157. inOutCargoR.setReqUser(inOutCargo.getReqUser());
  158. if ((int) result.get("code") != 200) {
  159. inOutCargoR.setResult("N");
  160. inOutCargoR.setReason((String) result.get("msg"));
  161. } else {
  162. inOutCargoR.setResult("Y");
  163. inOutCargoR.setReason("");
  164. }
  165. return inOutCargoR;
  166. }
  167. @Override
  168. public Page syncOrg(SyncOrg syncOrg) {
  169. Page page = syncOrg.getPage();
  170. if (ObjectUtil.isNull(page)) {
  171. page = new Page();
  172. page.setPageNo(1);
  173. page.setPageSize(10);
  174. }
  175. List<Map<String, Object>> orgList = ccbService.getSyncOrg(page.getPageNo(), page.getPageSize(), syncOrg.getRegisterAfter());
  176. page.setTotalRecords(new PageInfo<>(orgList).getTotal());
  177. List<SyncedOrg> orgListR = orgList.stream()
  178. .map(e -> JSON.parseObject(JSON.toJSONString(e), SyncedOrg.class))
  179. .collect(Collectors.toList());
  180. page.setContent(orgListR);
  181. return page;
  182. }
  183. @Override
  184. public PledgeR generateWrNumber(Pledge pledge) {
  185. List<CargoDetail> cargos = pledge.getCargos();
  186. List<String> billNoList = cargos.stream()
  187. .map(CargoDetail::getTakeVoucher)
  188. .collect(Collectors.toList());
  189. AjaxResult result = ccbService.unlockStock(billNoList, true);
  190. PledgeR pledgeR = new PledgeR();
  191. pledgeR.setUserName(pledge.getUserName());
  192. pledgeR.setUscc(pledge.getUscc());
  193. pledgeR.setNewUserName(pledge.getNewUserName());
  194. pledgeR.setNewUserNameUscc(pledge.getNewUserNameUscc());
  195. if ((int) result.get("code") != 200) {
  196. pledgeR.setResult("N");
  197. pledgeR.setReason((String) result.get("msg"));
  198. } else {
  199. pledgeR.setResult("Y");
  200. cargos.forEach(cargo -> cargo.setWrNumber(cargo.getTakeVoucher()));
  201. }
  202. pledgeR.setCargos(cargos);
  203. return pledgeR;
  204. }
  205. @Override
  206. public PledgeR cancelWrNumber(Pledge pledge) {
  207. List<String> billNoList = pledge.getCargos()
  208. .stream()
  209. .map(CargoDetail::getTakeVoucher)
  210. .collect(Collectors.toList());
  211. // 解质处理
  212. AjaxResult result = ccbService.unlockStock(billNoList, true);
  213. PledgeR pledgeR = new PledgeR();
  214. pledgeR.setUserName(pledge.getUserName());
  215. pledgeR.setUscc(pledge.getUscc());
  216. pledgeR.setNewUserName(pledge.getNewUserName());
  217. pledgeR.setNewUserNameUscc(pledge.getNewUserNameUscc());
  218. if ((int) result.get("code") != 200) {
  219. pledgeR.setResult("N");
  220. pledgeR.setReason((String) result.get("msg"));
  221. } else {
  222. pledgeR.setResult("Y");
  223. }
  224. pledgeR.setCargos(pledge.getCargos());
  225. return pledgeR;
  226. }
  227. /**
  228. * 查询提单号
  229. *
  230. * @param mblno 报文
  231. * @return 结果
  232. */
  233. @Override
  234. public MblnoR blNumberIsExist(Mblno mblno) {
  235. // 库存帐查询
  236. List<Map<String, Object>> stockList = ccbService.selectBlNumber(mblno.getBlNumber(), mblno.getUserName(), null);
  237. //提单号返回信息
  238. MblnoR voucherR = new MblnoR();
  239. //判断该提单号是否存在
  240. if (stockList.size() > 0) {
  241. voucherR.setIsExist("Y");
  242. } else {
  243. voucherR.setIsExist("N");
  244. }
  245. voucherR.setBeLongUser(mblno.getUserName());
  246. voucherR.setUscc(mblno.getUscc());
  247. return voucherR;
  248. }
  249. /**
  250. * 提单号详情
  251. *
  252. * @param mblno
  253. * @return
  254. */
  255. @Override
  256. public MblnoDetailR blNumberDetail(Mblno mblno) {
  257. // 货物信息集合
  258. List<CargoDetail> cargos = new ArrayList<>();
  259. //获取库存信息
  260. List<Map<String, Object>> stockList = ccbService.getStockList(mblno.getBlNumber(), mblno.getUserName());
  261. //遍历库存信息,将拿到的货物信息存入集合中
  262. stockList.forEach(map -> {
  263. String temp = JSON.toJSONString(map);
  264. //货物信息
  265. CargoDetail detail = JSON.parseObject(temp, CargoDetail.class);
  266. detail.setNumberUnit("件");
  267. detail.setWeightUnit("千克");
  268. detail.setCargoBelong(mblno.getUserName());
  269. detail.setInStorageNumber(detail.getTakeVoucher());
  270. detail.setRemainNumber(detail.getNumberLeft());
  271. detail.setRemainWeight(detail.getWeightLeft());
  272. detail.setElectronicTags(ccbService.getLabel(detail.getTakeVoucher()));
  273. detail.setBlNumber(mblno.getBlNumber());
  274. JSONObject object = JSON.parseObject(temp);
  275. //判断货物是否为锁定状态
  276. if (!"0".equals(object.getString("lockStatus"))) {
  277. //货物锁定信息
  278. CargoLockInfo lockInfo = new CargoLockInfo();
  279. lockInfo.setCargoNo(detail.getCargoNo());
  280. lockInfo.setBlNumber(detail.getBlNumber());
  281. lockInfo.setCargoBelong(detail.getCargoBelong());
  282. lockInfo.setTakeVoucher(detail.getTakeVoucher());
  283. lockInfo.setNumber(detail.getNumberLeft());
  284. lockInfo.setNumberUnit(detail.getNumberUnit());
  285. lockInfo.setWeight(detail.getWeightLeft());
  286. lockInfo.setWeightUnit(detail.getWeightUnit());
  287. lockInfo.setSpeci(detail.getSpeci());
  288. lockInfo.setReasonCode("PLGL");
  289. lockInfo.setLockTime(object.getDate("lockTime"));
  290. lockInfo.setWrNumber(detail.getWrNumber());
  291. lockInfo.setElectronicTags(detail.getElectronicTags());
  292. detail.setLockInfo(lockInfo);
  293. }
  294. cargos.add(detail);
  295. });
  296. //提单号返回信息
  297. MblnoDetailR detailR = new MblnoDetailR();
  298. detailR.setBlNumber(mblno.getBlNumber());
  299. detailR.setStorageEnterpriseName(mblno.getUserName());
  300. detailR.setBondedStatus(0);
  301. detailR.setUserName(mblno.getUserName());
  302. detailR.setUscc(mblno.getUscc());
  303. detailR.setCargos(cargos);
  304. return detailR;
  305. }
  306. /**
  307. * 核库指令
  308. *
  309. * @param checkCargo 报文
  310. * @return 结果
  311. */
  312. @Override
  313. public CheckCargoR checkCargoCmd(CheckCargo checkCargo) {
  314. // 库存帐查询
  315. List<Map<String, Object>> stockList = ccbService.getStockList(checkCargo.getTakeVoucher(), checkCargo.getUserName());
  316. CheckCargoR voucherR = new CheckCargoR();
  317. if (stockList.size() > 0) {
  318. voucherR.setResult("Y");
  319. } else {
  320. voucherR.setResult("N");
  321. voucherR.setReason("未找到库存!");
  322. }
  323. return voucherR;
  324. }
  325. /**
  326. * 查询核库结果
  327. *
  328. * @param checkCargoResult 报文
  329. * @return 结果
  330. */
  331. @Override
  332. public CheckCargoResultR checkCargoResult(CheckCargoResult checkCargoResult) {
  333. // 货物信息集合
  334. List<CargoDetail> cargos = new ArrayList<>();
  335. //核库设备清单
  336. String[] checkDevices = null;
  337. //核库员
  338. String[] checkers = null;
  339. //获取库存信息(总数)
  340. List<Map<String, Object>> stockList = ccbService.selectBlNumber(checkCargoResult.getBlNumber(), checkCargoResult.getUserName(), checkCargoResult.getTakeVoucher());
  341. //获取库存信息(分页)
  342. List<Map<String, Object>> stockList1 = ccbService.selectBlNumberPage(
  343. checkCargoResult.getBlNumber(),
  344. checkCargoResult.getUserName(),
  345. checkCargoResult.getTakeVoucher(),
  346. checkCargoResult.getPageNo(),
  347. checkCargoResult.getPageSize());
  348. //遍历库存信息,将拿到的货物信息存入集合中
  349. stockList1.forEach(map -> {
  350. String temp = JSON.toJSONString(map);
  351. //货物信息
  352. CargoDetail detail = JSON.parseObject(temp, CargoDetail.class);
  353. detail.setNumberUnit("件");
  354. detail.setWeightUnit("千克");
  355. detail.setCargoBelong(checkCargoResult.getUserName());
  356. detail.setInStorageNumber(detail.getTakeVoucher());
  357. detail.setRemainNumber(detail.getNumberLeft());
  358. detail.setRemainWeight(detail.getWeightLeft());
  359. detail.setElectronicTags(ccbService.getLabel(detail.getTakeVoucher()));
  360. // detail.setBlNumber(checkCargoResult.getBlNumber());
  361. JSONObject object = JSON.parseObject(temp);
  362. //判断货物是否为锁定状态
  363. if (!"0".equals(object.getString("lockStatus"))) {
  364. //货物锁定信息
  365. CargoLockInfo lockInfo = new CargoLockInfo();
  366. lockInfo.setCargoNo(detail.getCargoNo());
  367. lockInfo.setBlNumber(detail.getBlNumber());
  368. lockInfo.setCargoBelong(detail.getCargoBelong());
  369. lockInfo.setTakeVoucher(detail.getTakeVoucher());
  370. lockInfo.setNumber(detail.getNumberLeft());
  371. lockInfo.setNumberUnit(detail.getNumberUnit());
  372. lockInfo.setWeight(detail.getWeightLeft());
  373. lockInfo.setWeightUnit(detail.getWeightUnit());
  374. lockInfo.setSpeci(detail.getSpeci());
  375. lockInfo.setReasonCode("PLGL");
  376. lockInfo.setLockTime(object.getDate("lockTime"));
  377. lockInfo.setWrNumber(detail.getWrNumber());
  378. lockInfo.setElectronicTags(detail.getElectronicTags());
  379. detail.setLockInfo(lockInfo);
  380. }
  381. cargos.add(detail);
  382. });
  383. //核库返回数据
  384. CheckCargoResultContent checkCargoResultContent = new CheckCargoResultContent();
  385. checkCargoResultContent.setCargos(cargos);
  386. checkCargoResultContent.setCheckers(checkers);
  387. checkCargoResultContent.setCheckDevices(checkDevices);
  388. checkCargoResultContent.setCheckTime(DateUtils.getNowDate());
  389. //核库返回报文
  390. CheckCargoResultR checkCargoResultR = new CheckCargoResultR();
  391. checkCargoResultR.setPageSize(stockList1.size());
  392. checkCargoResultR.setPageNo(checkCargoResult.getPageNo());
  393. checkCargoResultR.setTotalRecords(stockList.size());
  394. checkCargoResultR.setContent(checkCargoResultContent);
  395. return checkCargoResultR;
  396. }
  397. /**
  398. * 查询用户资产
  399. *
  400. * @param assets 报文
  401. * @return 结果
  402. */
  403. @Override
  404. public AssetsR queryAssets(Assets assets) {
  405. // 货物信息集合
  406. List<CargoDetail> cargos = new ArrayList<>();
  407. //获取库存信息
  408. List<Map<String, Object>> stockList1 = ccbService.selectQueryAssets(
  409. assets.getBlNumber(),
  410. assets.getUserName(),
  411. assets.getWrNumber(),
  412. assets.getCargoType());
  413. //遍历库存信息,将拿到的货物信息存入集合中
  414. stockList1.forEach(map -> {
  415. String temp = JSON.toJSONString(map);
  416. //货物信息
  417. CargoDetail detail = JSON.parseObject(temp, CargoDetail.class);
  418. detail.setNumberUnit("件");
  419. detail.setWeightUnit("千克");
  420. detail.setCargoBelong(assets.getUserName());
  421. detail.setInStorageNumber(detail.getTakeVoucher());
  422. detail.setRemainNumber(detail.getNumberLeft());
  423. detail.setRemainWeight(detail.getWeightLeft());
  424. detail.setElectronicTags(ccbService.getLabel(detail.getTakeVoucher()));
  425. // detail.setBlNumber(assets.getBlNumber());
  426. JSONObject object = JSON.parseObject(temp);
  427. //判断货物是否为锁定状态
  428. if (!"0".equals(object.getString("lockStatus"))) {
  429. //货物锁定信息
  430. CargoLockInfo lockInfo = new CargoLockInfo();
  431. lockInfo.setCargoNo(detail.getCargoNo());
  432. lockInfo.setBlNumber(detail.getBlNumber());
  433. lockInfo.setCargoBelong(detail.getCargoBelong());
  434. lockInfo.setTakeVoucher(detail.getTakeVoucher());
  435. lockInfo.setNumber(detail.getNumberLeft());
  436. lockInfo.setNumberUnit(detail.getNumberUnit());
  437. lockInfo.setWeight(detail.getWeightLeft());
  438. lockInfo.setWeightUnit(detail.getWeightUnit());
  439. lockInfo.setSpeci(detail.getSpeci());
  440. lockInfo.setReasonCode("PLGL");
  441. lockInfo.setLockTime(object.getDate("lockTime"));
  442. lockInfo.setWrNumber(detail.getWrNumber());
  443. lockInfo.setElectronicTags(detail.getElectronicTags());
  444. detail.setLockInfo(lockInfo);
  445. }
  446. cargos.add(detail);
  447. });
  448. //返回数据
  449. AssetsR assetsR = new AssetsR();
  450. assetsR.setCargos(cargos);
  451. return assetsR;
  452. }
  453. /**
  454. * 跌价补货
  455. * @param replenishment 报文
  456. * @return 结果
  457. */
  458. @Override
  459. public ReplenishmentR cargosRF(Replenishment replenishment) {
  460. return null;
  461. }
  462. /**
  463. * 移库请求
  464. * @param moveCargo 报文
  465. * @return 结果
  466. */
  467. @Override
  468. public MoveCargoR moveCargoReq(MoveCargo moveCargo) {
  469. return null;
  470. }
  471. /**
  472. * 数据转换
  473. *
  474. * @param cargos 出入库数据
  475. * @return 结果
  476. */
  477. private List<TWarehousebillsitems> convert(List<CargoDetail> cargos) {
  478. List<TWarehousebillsitems> items = new ArrayList<>();
  479. for (CargoDetail cargo : cargos) {
  480. TWarehousebillsitems item = new TWarehousebillsitems();
  481. item.setCargoNo(cargo.getCargoNo());
  482. item.setCargoBelong(cargo.getCargoBelong());
  483. item.setfMblno(cargo.getBlNumber());
  484. item.setfPackagespecs(cargo.getSpeci());
  485. item.setfOriginalbillno(cargo.getBlNumber());
  486. item.setfBillingway(3L);
  487. item.setfCntqty(1L);
  488. item.setWarehouseNo(cargo.getWarehouseNo());
  489. item.setShelvesNo(cargo.getShelvesName());
  490. if (ObjectUtil.isNotNull(cargo.getNumber())) {
  491. item.setfPlanqty(cargo.getNumber());
  492. item.setfQty(cargo.getNumber());
  493. } else {
  494. String[] s = String.valueOf(cargo.getWeight()).split("\\.");
  495. item.setfPlanqty(Long.parseLong(s[0]));
  496. item.setfQty(Long.parseLong(s[0]));
  497. }
  498. if (ObjectUtil.isNotNull(cargo.getWeight())) {
  499. item.setfPlangrossweight(BigDecimal.valueOf(cargo.getWeight()));
  500. item.setfPlannetweight(BigDecimal.valueOf(cargo.getWeight()));
  501. item.setfGrossweight(BigDecimal.valueOf(cargo.getWeight()));
  502. item.setfNetweight(BigDecimal.valueOf(cargo.getWeight()));
  503. } else {
  504. item.setfPlangrossweight(BigDecimal.valueOf(cargo.getNumber()));
  505. item.setfPlannetweight(BigDecimal.valueOf(cargo.getNumber()));
  506. item.setfGrossweight(BigDecimal.valueOf(cargo.getNumber()));
  507. item.setfNetweight(BigDecimal.valueOf(cargo.getNumber()));
  508. }
  509. // fSealno代替保税字段
  510. item.setfSealno(cargo.getBondedStatus());
  511. item.setfPlanvolumn(BigDecimal.ZERO);
  512. item.setfVolumn(BigDecimal.ZERO);
  513. item.setfBillstatus(10L);
  514. item.setElectronicTags(cargo.getElectronicTags());
  515. items.add(item);
  516. }
  517. return items;
  518. }
  519. }