Changeset 5733
- Timestamp:
- Nov 19, 2019, 11:50:40 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/net.sf.basedb.meludi/trunk/src/net/sf/basedb/meludi/servlet/ReferralGeneratorServlet.java
r5732 r5733 226 226 dc = sc.newDbControl(); 227 227 String startItemName = req.getParameter("startitemname"); 228 int numSerialDigits = Meludi.fetchReferralNumDigits(sc.getActiveProjectId()); 229 numSerialDigits = numSerialDigits - sitePrefixLength; 228 230 //String startitemIdDigits = Meludi.fetchRootDigits(startItemName, sc.getActiveProjectId()); 229 231 String startitemIdDigits = Meludi.fetchReferralDigits(startItemName, sc.getActiveProjectId()); … … 232 234 if (startItemName.startsWith(Meludi.fetchFfpeBlockItemPrefix(sc.getActiveProjectId()))) 233 235 { 236 numSerialDigits = Meludi.fetchFfpeBlockItemNumDigits(sc.getActiveProjectId()); 234 237 nofItems = Values.getInteger(req.getParameter("nofFfpeBlocks"), 1); 235 238 } … … 237 240 238 241 String itemIdDigitsPure = startitemIdDigits.substring(sitePrefixLength); 239 String nextitemIdDigitsPure = nextItemIdDigits(itemIdDigitsPure, nofItems); 240 System.out.println("ReferralGeneratorServlet::doGet(): cmd = " + cmd + " UpdateUsedItemIdDigitsList: itemIdDigitsPure = " + itemIdDigitsPure + " nextitemIdDigitsPure = " + nextitemIdDigitsPure); 242 String nextitemIdDigitsPure = nextItemIdDigits(itemIdDigitsPure, numSerialDigits, nofItems); 243 //String nextitemIdDigitsPure = nextItemIdDigits(startitemIdDigits, numDigits, nofItems); 244 System.out.println("ReferralGeneratorServlet::doGet(): cmd = " + cmd + " UpdateUsedItemIdDigitsList: itemIdDigitsPure = " + itemIdDigitsPure + " numSerialDigits = " + numSerialDigits + " nofItems = " + nofItems + " nextitemIdDigitsPure = " + nextitemIdDigitsPure); 241 245 242 246 // Get date string … … 407 411 String sitePrefix = itemIdRootDigits.substring(0,sitePrefixLength); 408 412 System.out.println("ReferralGeneratorServlet::doGet(): cmd = " + cmd + " GenerateReferralForms: startItemName = " + startItemName + " itemIdRootDigits = " + itemIdRootDigits + " sitePrefix = " + sitePrefix); 413 int refNumDigits = Meludi.fetchReferralNumDigits(sc.getActiveProjectId()); 414 int numSerialDigits = refNumDigits - sitePrefixLength; 409 415 410 416 SimpleProgressReporter progress = new SimpleProgressReporter(null); … … 461 467 if (i > 0) 462 468 { 463 itemIdDigits = nextItemIdDigits(itemIdDigits );469 itemIdDigits = nextItemIdDigits(itemIdDigits, numSerialDigits); 464 470 } 465 471 //String itemIdDigitsBiopsy = itemIdDigits + "C"; … … 536 542 if (i > 0) 537 543 { 538 itemIdDigits = nextItemIdDigits(itemIdDigits );544 itemIdDigits = nextItemIdDigits(itemIdDigits, numSerialDigits); 539 545 } 540 546 //String itemIdDigitsBiopsy = itemIdDigits + "C"; … … 586 592 String itemIdRootDigits = Meludi.fetchReferralDigits(startItemName, sc.getActiveProjectId()); 587 593 String sitePrefix = itemIdRootDigits.substring(0,sitePrefixLength); 594 int numDigits = Meludi.fetchFfpeBlockItemNumDigits(sc.getActiveProjectId()); 588 595 589 596 // Get case item from referral ID in order to get patient item … … 646 653 if (i > 0) 647 654 { 648 itemIdDigits = nextItemIdDigits(itemIdDigits );655 itemIdDigits = nextItemIdDigits(itemIdDigits, numDigits); 649 656 } 650 657 //String itemIdDigitsBiopsy = itemIdDigits + "C"; … … 800 807 //String pad = Values.getString(req.getParameter("pad"), ""); 801 808 String itemIdRootDigits = Meludi.fetchRootDigits(startFfpeBlockName, Subtype.FFPE_BLOCK, sc.getActiveProjectId()); 809 int numDigits = Meludi.fetchFfpeBlockItemNumDigits(sc.getActiveProjectId()); 802 810 803 811 // Get FFPE block item from FFPE block name … … 846 854 if (i > 0) 847 855 { 848 ffpeBlockDigits = nextItemIdDigits(ffpeBlockDigits );856 ffpeBlockDigits = nextItemIdDigits(ffpeBlockDigits, numDigits); 849 857 } 850 858 String ffpeBlockId = ffpeBlockPrefix + ffpeBlockDigits; … … 1003 1011 //System.out.println("ReferralGeneratorServlet::doGet(): cmd = " + cmd + ": batchType = " + batchType + " startItemName = " + startItemName + " endItemName = " + endItemName); 1004 1012 // FFPE section forms contain several items on one referral form set 1013 int refNumDigits = Meludi.fetchReferralNumDigits(sc.getActiveProjectId()); 1014 int numSerialDigits = refNumDigits - sitePrefixLength; 1005 1015 int nofItems = Values.getInteger(req.getParameter("nofformsets"), 1); 1006 1016 //System.out.println("ReferralGeneratorServlet::doGet(): cmd = " + cmd + ": batchType = " + batchType + " startItemName = " + startItemName + " nofItems = " + nofItems); 1007 1017 if (startItemName.startsWith(Meludi.fetchFfpeBlockItemPrefix(sc.getActiveProjectId()))) 1008 1018 { 1019 numSerialDigits = Meludi.fetchFfpeBlockItemNumDigits(sc.getActiveProjectId()); 1009 1020 nofItems = Values.getInteger(req.getParameter("nofFfpeBlocks"), 1); 1010 1021 } … … 1019 1030 if (endItemName == null || endItemName.equals("undefined")) 1020 1031 { 1021 String endItemIdDigits = nextItemIdDigits(startItemIdDigits, (nofItems-1));1032 String endItemIdDigits = nextItemIdDigits(startItemIdDigits, numSerialDigits, (nofItems-1)); 1022 1033 endItemName = itemPrefix + endItemIdDigits; 1023 1034 } … … 1674 1685 DateToStringConverter d3 = new DateToStringConverter(new SimpleDateFormat("yyyy-MM-dd HH:mm")); 1675 1686 String itemPrefix = Meludi.fetchReferralPrefix(dc.getSessionControl().getActiveProjectId()); 1687 int refNumDigits = Meludi.fetchReferralNumDigits(dc.getSessionControl().getActiveProjectId()); 1688 int numSerialDigits = refNumDigits - sitePrefixLength; 1676 1689 String timeStampStr = d3.convert(new Date()); 1677 String endItemIdDigits = nextItemIdDigits(startItemIdDigits, (nofFormSets-1));1690 String endItemIdDigits = nextItemIdDigits(startItemIdDigits, numSerialDigits, (nofFormSets-1)); 1678 1691 String startItemId = itemPrefix + startItemIdDigits; 1679 1692 String endItemId = itemPrefix + endItemIdDigits; … … 1754 1767 } 1755 1768 1756 private String nextItemIdDigits(String itemIdDigits) 1769 /** 1770 * Increments an input item id with or without site prefix one unit. 1771 * 1772 * @param itemIdDigits String The item id with or without site prefix. 1773 * @param numSerialDigits int The number of digits in serial number part of the item id, excluding optional site prefix. 1774 * @return String The item id with given increment. 1775 */ 1776 private String nextItemIdDigits(String itemIdDigits, int numSerialDigits) 1757 1777 { 1758 String nextItemIdDigits = nextItemIdDigits(itemIdDigits, 1);1778 String nextItemIdDigits = nextItemIdDigits(itemIdDigits, numSerialDigits, 1); 1759 1779 return nextItemIdDigits; 1760 1780 } … … 1765 1785 * 1766 1786 * @param itemIdDigits String The item id with or without site prefix. 1787 * @param numSerialDigits int The number of digits in serial number part of the item id, excluding optional site prefix. 1767 1788 * @param incr Integer Increment of item id. 1768 1789 * @return String The item id with given increment. 1769 1790 */ 1770 private String nextItemIdDigits(String itemIdDigits, Integer incr)1791 private String nextItemIdDigits(String itemIdDigits, int numSerialDigits, Integer incr) 1771 1792 { 1793 System.out.println(new Date() + " nextItemIdDigits(): Start: itemIdDigits = \"" + itemIdDigits + "\" numSerialDigits = " + numSerialDigits + " incr = " + incr + "."); 1772 1794 String nextItemIdDigits = null; 1773 1795 String sitePrefix = ""; … … 1775 1797 if (itemIdDigits != null) 1776 1798 { 1777 if (itemIdDigits.length() > 6)1799 if (itemIdDigits.length() > numSerialDigits) 1778 1800 { 1779 1801 sitePrefix = itemIdDigits.substring(0,sitePrefixLength); 1780 1802 itemIdDigitsPure = itemIdDigits.substring(sitePrefixLength); 1781 1803 } 1782 else if (itemIdDigits.length() > 4)1804 else 1783 1805 { 1784 1806 itemIdDigitsPure = itemIdDigits; 1785 1807 } 1808 System.out.println(new Date() + " nextItemIdDigits(): sitePrefix = \"" + sitePrefix + "\" itemIdDigitsPure = \"" + itemIdDigitsPure + "\"."); 1786 1809 String itemIdDigitsSuffix = ""; 1787 if (itemIdDigitsPure.length() > 5)1810 if (itemIdDigitsPure.length() > numSerialDigits) 1788 1811 { 1789 1812 // Extract item ID suffix … … 1791 1814 itemIdDigitsPure = itemIdDigitsPure.substring(0, itemIdDigitsPure.length() - 1); 1792 1815 } 1816 System.out.println(new Date() + " nextItemIdDigits(): itemIdDigitsSuffix = \"" + itemIdDigitsSuffix + "\" itemIdDigitsPure = \"" + itemIdDigitsPure + "\"."); 1793 1817 // Remove initial zeroes 1794 1818 while (itemIdDigitsPure.indexOf("0") == 0) … … 1805 1829 } 1806 1830 // Add initial zeroes 1807 while (nextItemIdDigitsPure.length() < 5)1831 while (nextItemIdDigitsPure.length() < numSerialDigits) 1808 1832 { 1809 1833 // Add initial zero … … 1812 1836 // Add item ID prefix and optional suffix 1813 1837 nextItemIdDigits = sitePrefix + nextItemIdDigitsPure + itemIdDigitsSuffix; 1838 System.out.println(new Date() + " nextItemIdDigits(): siteProefix = \"" + sitePrefix + "\" nextItemIdDigitsPure = \"" + nextItemIdDigitsPure + "\" itemIdDigitsSuffix = \"" + itemIdDigitsSuffix + "\" nextItemIdDigits = \"" + nextItemIdDigits + "\"."); 1814 1839 } 1815 1840 return nextItemIdDigits;
Note: See TracChangeset
for help on using the changeset viewer.