Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implemented: Added new inventory cycle count feature for warehouse.(OFBIZ-10577) #14

Open
wants to merge 23 commits into
base: trunk
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
14bd073
Implemented: Added new inventory cycle count feature for warehouse.
Feb 11, 2020
942c020
Merge pull request #2 from apache/trunk
yashwantdhakad Feb 22, 2020
0e3b430
Fixed: Resolved the conflicts due to code merge.
Mar 13, 2020
4d60af8
Merge pull request #4 from apache/trunk
yashwantdhakad Apr 16, 2020
7622026
Merge branch 'trunk' into OFBIZ-10577
Jun 27, 2020
3ed9eec
Merge pull request #5 from apache/trunk
yashwantdhakad Jun 27, 2020
0a64b91
Fixed: The conflicts during merge from trunk to feature branch.
Jun 27, 2020
2c5e3ea
Fixed: Fixed the following issues: 1. Added missing UI labels. 2. Fix…
Jun 27, 2020
69b9ede
Update OrderList.ftl
yashwantdhakad Jun 27, 2020
8643a8d
Merge pull request #6 from apache/trunk
yashwantdhakad Jun 27, 2020
54e5a6d
Merge branch 'trunk' into OFBIZ-10577
Jun 27, 2020
3a1144f
Merge branch 'OFBIZ-10577' of https://github.com/yashwantdhakad/ofbiz…
Jun 27, 2020
5a48e1b
Merge pull request #7 from apache/trunk
yashwantdhakad Aug 4, 2020
1aedc53
Fixed: Resolved the conflicts
Aug 4, 2020
4cc97db
Merge pull request #8 from apache/trunk
yashwantdhakad Sep 26, 2020
da1fa69
Merge pull request #9 from yashwantdhakad/trunk
yashwantdhakad Sep 26, 2020
8808fae
Merge pull request #10 from apache/trunk
yashwantdhakad Dec 26, 2020
baf98fb
Merge branch 'trunk' into OFBIZ-10577
Dec 26, 2020
762f410
Merge branch 'OFBIZ-10577' of https://github.com/yashwantdhakad/ofbiz…
Dec 26, 2020
11153e0
Merge pull request #11 from yashwantdhakad/trunk
yashwantdhakad Dec 26, 2020
6d2c38c
Merge branch 'OFBIZ-10577' of https://github.com/yashwantdhakad/ofbiz…
Dec 26, 2020
01ace7f
Fixed: Formatting changes
Dec 26, 2020
8e53664
Merge branch 'apache:trunk' into OFBIZ-10577
yashwantdhakad Sep 16, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions applications/datamodel/data/seed/ProductSeedData.xml
Original file line number Diff line number Diff line change
Expand Up @@ -588,6 +588,21 @@ under the License.
<StatusValidChange statusId="IXF_SCHEDULED" statusIdTo="IXF_CANCELLED" transitionName="Scheduled Inventory Cancelled"/>
<StatusValidChange statusId="IXF_EN_ROUTE" statusIdTo="IXF_COMPLETE" transitionName="In Route Transfer Completed"/>

<!-- inventory cycle count status -->
<StatusType statusTypeId="INV_CNT_STTS" description="Inventory Count Status" hasTable="N"/>
<StatusItem description="Created" sequenceId="01" statusCode="CREATED" statusId="INV_COUNT_CREATED" statusTypeId="INV_CNT_STTS"/>
<StatusItem description="Pending For Review" sequenceId="02" statusCode="APPROVED" statusId="INV_COUNT_APPROVED" statusTypeId="INV_CNT_STTS"/>
<StatusItem description="Completed" sequenceId="03" statusCode="COMPLETED" statusId="INV_COUNT_COMPLETED" statusTypeId="INV_CNT_STTS"/>
<StatusItem description="Rejected" sequenceId="04" statusCode="REJECTED" statusId="INV_COUNT_REJECTED" statusTypeId="INV_CNT_STTS"/>
<StatusItem description="Closed" sequenceId="05" statusCode="CLOSED" statusId="INV_COUNT_CLOSED" statusTypeId="INV_CNT_STTS"/>

<StatusValidChange statusId="INV_COUNT_CREATED" statusIdTo="INV_COUNT_COMPLETED" transitionName="Complete Inventory Count"/>
<StatusValidChange statusId="INV_COUNT_CREATED" statusIdTo="INV_COUNT_REJECTED" transitionName="Reject Inventory Count"/>
<StatusValidChange statusId="INV_COUNT_CREATED" statusIdTo="INV_COUNT_APPROVED" transitionName="Approved Inventory Count"/>
<StatusValidChange statusId="INV_COUNT_APPROVED" statusIdTo="INV_COUNT_COMPLETED" transitionName="Complete Inventory Count"/>
<StatusValidChange statusId="INV_COUNT_APPROVED" statusIdTo="INV_COUNT_REJECTED" transitionName="Reject Inventory Count"/>
<StatusValidChange statusId="INV_COUNT_REJECTED" statusIdTo="INV_COUNT_CLOSED" transitionName="Closed Inventory Count"/>

<!-- product review status -->
<StatusType description="Product Review" hasTable="N" statusTypeId="PRODUCT_REVIEW_STTS"/>
<StatusItem description="Pending" sequenceId="01" statusCode="PENDING" statusId="PRR_PENDING" statusTypeId="PRODUCT_REVIEW_STTS"/>
Expand Down
112 changes: 110 additions & 2 deletions applications/datamodel/entitydef/product-entitymodel.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1288,7 +1288,10 @@ under the License.
<field name="sectionId" type="id"></field>
<field name="levelId" type="id"></field>
<field name="positionId" type="id"></field>
<field name="geoPointId" type="id"></field>
<field name="geoPointId" type="id"></field>
<field name="locked" type="indicator"/>
<field name="lastCountDate" type="date"/>
<field name="nextCountDate" type="date"/>
<prim-key field="facilityId"/>
<prim-key field="locationSeqId"/>
<relation type="one" fk-name="FACILITY_LOC_FAC" rel-entity-name="Facility">
Expand All @@ -1299,7 +1302,10 @@ under the License.
</relation>
<relation type="one" fk-name="FACILITY_LOC_GEOPT" rel-entity-name="GeoPoint">
<key-map field-name="geoPointId"/>
</relation>
</relation>
<index name="FAC_LOC_SEQ_IDX">
<index-field name="locationSeqId"/>
</index>
</entity>
<entity entity-name="FacilityLocationGeoPoint" package-name="org.apache.ofbiz.product.facility" title="Facility Location Geo Location with history">
<field name="facilityId" type="id"></field>
Expand Down Expand Up @@ -4994,4 +5000,106 @@ under the License.
<key-map field-name="telecomCustomMethodId" rel-field-name="customMethodId"/>
</relation>
</entity>
<entity entity-name="InventoryCount"
package-name="org.apache.ofbiz.scm.product.inventory"
title="Inventory Count" >
<field name="inventoryCountId" type="id"/>
<field name="createdByUserLogin" type="id-vlong"/>
<field name="facilityId" type="id"/>
<field name="linkedSessionId" type="id"/>
<field name="statusId" type="id"/>
<field name="createdDate" type="date-time"/>
<prim-key field="inventoryCountId"/>
<relation type="one" fk-name="INV_CNT_STTS" rel-entity-name="StatusItem">
<key-map field-name="statusId"/>
</relation>
<relation type="one" fk-name="INV_CNT_FAC" rel-entity-name="Facility">
<key-map field-name="facilityId"/>
</relation>
</entity>
<entity entity-name="InventoryCountItem"
package-name="org.apache.ofbiz.product.inventory"
title="Inventory Count Item" >
<field name="inventoryCountId" type="id"/>
<field name="inventoryCountItemSeqId" type="id"/>
<field name="inventoryItemId" type="id"/>
<field name="itemStatusId" type="id"/>
<field name="locationSeqId" type="id-long"/>
<field name="productId" type="id"/>
<field name="productIdentifier" type="id-long"/>
<field name="quantity" type="fixed-point"/>
<prim-key field="inventoryCountId"/>
<prim-key field="inventoryCountItemSeqId"/>
<relation type="one" fk-name="INV_ITM_CNT_IMP" rel-entity-name="InventoryCount">
<key-map field-name="inventoryCountId"/>
</relation>
<relation type="many" fk-name="INV_CNT_INV_ITM" rel-entity-name="InventoryItem">
<key-map field-name="inventoryItemId"/>
</relation>
<relation type="one" fk-name="INV_CNT_STTS_ITM" rel-entity-name="StatusItem">
<key-map field-name="itemStatusId" rel-field-name="statusId"/>
</relation>
<relation type="many" fk-name="INV_CNT_FAC_LOC" rel-entity-name="FacilityLocation">
<key-map field-name="locationSeqId"/>
</relation>
</entity>
<entity entity-name="InventoryCountVariance"
package-name="org.apache.ofbiz.product.inventory"
title="Inventory Count Variance" >
<field name="inventoryCountId" type="id"/>
<field name="inventoryCountItemSeqId" type="id"/>
<field name="inventoryItemId" type="id"/>
<field name="productId" type="id"/>
<field name="productIdentifier" type="id-long"/>
<field name="locationSeqId" type="id"/>
<field name="systemQuantityOnHand" type="fixed-point"/>
<field name="actualQuantityOnHand" type="fixed-point"/>
<field name="varianceQuantityOnHand" type="fixed-point"/>
<field name="unitCost" type="fixed-point"/>
<field name="totalCost" type="fixed-point"/>
<field name="actualCost" type="fixed-point"/>
<field name="costVariance" type="fixed-point"/>
<field name="actualValue" type="fixed-point"/>
<field name="totalValue" type="fixed-point"/>
<field name="valueVariance" type="fixed-point"/>
<prim-key field="inventoryCountId"/>
<prim-key field="inventoryCountItemSeqId"/>
<relation type="one" fk-name="INV_COUNT_IMP" rel-entity-name="InventoryCount">
<key-map field-name="inventoryCountId"/>
</relation>
<relation type="one" fk-name="INV_COUNT_IMP_ITM" rel-entity-name="InventoryCountItem">
<key-map field-name="inventoryCountId"/>
<key-map field-name="inventoryCountItemSeqId"/>
</relation>
<relation type="many" fk-name="INV_COUNT_INV_ITM" rel-entity-name="InventoryItem">
<key-map field-name="inventoryItemId"/>
</relation>
<relation type="many" fk-name="INV_COUNT_FAC_LOC" rel-entity-name="FacilityLocation">
<key-map field-name="locationSeqId"/>
</relation>
</entity>
<view-entity entity-name="InventoryCountAndItems" package-name="org.apache.ofbiz.product.inventory">
<member-entity entity-alias="IC" entity-name="InventoryCount"/>
<member-entity entity-alias="ICI" entity-name="InventoryCountItem"/>
<alias-all entity-alias="IC"/>
<alias-all entity-alias="ICI"/>
<view-link rel-entity-alias="ICI" entity-alias="IC" rel-optional="true">
<key-map field-name="inventoryCountId"/>
</view-link>
</view-entity>
<view-entity entity-name="InventoryCountItemsAndVariance" package-name="org.apache.ofbiz.product.inventory">
<member-entity entity-alias="IC" entity-name="InventoryCount"/>
<member-entity entity-alias="ICI" entity-name="InventoryCountItem"/>
<member-entity entity-alias="ICV" entity-name="InventoryCountVariance"/>
<alias-all entity-alias="IC"/>
<alias-all entity-alias="ICI"/>
<alias-all entity-alias="ICV"/>
<view-link rel-entity-alias="IC" entity-alias="ICI" rel-optional="true">
<key-map field-name="inventoryCountId"/>
</view-link>
<view-link rel-entity-alias="ICV" entity-alias="ICI" rel-optional="true">
<key-map field-name="inventoryCountId"/>
<key-map field-name="inventoryCountItemSeqId"/>
</view-link>
</view-entity>
</entitymodel>
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,15 @@ under the License.
</simple-method>
<simple-method method-name="issueProductionRunTaskComponentInline" short-description="Does a issuance for one InventoryItem, meant to be called in-line">
<!-- only do something with this inventoryItem if there is more inventory to issue -->
<entity-and entity-name="FacilityLocation" list="facilityLocations">
<field-map field-name="facilityId" from-field="inventoryItem.facilityId"/>
<field-map field-name="locationSeqId" from-field="inventoryItem.locationSeqId"/>
<field-map field-name="locked" value="Y"/>
</entity-and>
<if-not-empty field="facilityLocations">
<add-error><fail-message message="The affected LTN# ${inventoryItem.inventoryItemId} belong to the locked locations under active counting session to prevent any inbound and outbound inventory movement. Please choose different LTN from any free location or wait till lock is released."/></add-error>
<check-errors/>
</if-not-empty>
<if-compare field="parameters.quantityNotIssued" operator="greater" value="0" type="BigDecimal">
<if-compare value="SERIALIZED_INV_ITEM" operator="equals" field="inventoryItem.inventoryItemTypeId">
<if-compare value="INV_AVAILABLE" operator="equals" field="inventoryItem.statusId">
Expand Down
79 changes: 76 additions & 3 deletions applications/product/config/ProductUiLabels.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,30 @@
<value xml:lang="zh">网站分析类型</value>
<value xml:lang="zh-TW">網站分析型態</value>
</property>
<property key="CreateCountSession">
<value xml:lang="en">Create Session</value>
</property>
<property key="CreateNewProductFeatureType">
<value xml:lang="de">Neuen Merkmaltyp erstellen</value>
<value xml:lang="en">Create New Product Feature Type</value>
<value xml:lang="es">Crear nuevo tipo de característica de producto</value>
<value xml:lang="ja">新規製品機能種類を作成</value>
<value xml:lang="nl">Aanmaken Soort productfeature</value>
<value xml:lang="vi">Tạo mới kiểu Đặc tính SP gia tăng</value>
<value xml:lang="zh">新建产品特征类型</value>
<value xml:lang="zh-TW">新建產品特色類型</value>
</property>
<property key="CreateSalesAgreement">
<value xml:lang="en">Create Sales Agreement</value>
<value xml:lang="es">Crear Acuerdo de Ventas</value>
<value xml:lang="nl">Contract aanmaken</value>
</property>
<property key="CountedInventoryItems">
<value xml:lang="en">Counted Inventory Items</value>
</property>
<property key="CountProgress">
<value xml:lang="en">Count Progress</value>
</property>
<property key="FacilityActualShippingCharges">
<value xml:lang="de">Aktuelle Lieferkosten</value>
<value xml:lang="en">Actual shipping charges</value>
Expand Down Expand Up @@ -409,6 +428,9 @@
<value xml:lang="zh">尝试接收一个已经序列化的库存明细,序列号(serialNumber)${parameters.serialNumber}或者传入的库存明细标识(inventoryItemId)${parameters.currentInventoryItemId},并且已接受数量 ${parameters.quantityAccepted} 大于1;我们不知道要做什么!</value>
<value xml:lang="zh-TW">嘗試接收一個已經序列化的庫存細項,序號(serialNumber)${parameters.serialNumber}或者傳入的庫存細項標識(inventoryItemId)${parameters.currentInventoryItemId},並且已接受數量 ${parameters.quantityAccepted} 大於1;我們不知道要做什麼!</value>
</property>
<property key="FacilityRecordCount">
<value xml:lang="en">Record Count</value>
</property>
<property key="FacilityReturnHeaderTypeNotSupported">
<value xml:lang="de">${returnHeader.returnHeaderTypeId} wird nicht unterstützt</value>
<value xml:lang="en">${returnHeader.returnHeaderTypeId} is not supported</value>
Expand Down Expand Up @@ -3676,6 +3698,9 @@
<value xml:lang="zh">送货费差异太大</value>
<value xml:lang="zh-TW">送貨費差異太大</value>
</property>
<property key="FindSession">
<value xml:lang="en">Find Session</value>
</property>
<property key="FormFieldTitle_abbrev">
<value xml:lang="de">Abkürzung</value>
<value xml:lang="en">Abbrev</value>
Expand Down Expand Up @@ -9167,7 +9192,13 @@
<value xml:lang="es">"Identificación de la instalación de inventario requerida"</value>
<value xml:lang="zh">必须有库存场所标识</value>
</property>

<property key="InventoryItemsCounted">
<value xml:lang="en">Inventory Items Counted</value>
</property>
<property key="ItemVariance">
<value xml:lang="en">Item Variance</value>
</property>

<property key="lotIdFilledInAllowed">
<value xml:lang="de">Erlaubt</value>
<value xml:lang="en">Allowed</value>
Expand Down Expand Up @@ -9198,6 +9229,15 @@
<value xml:lang="zh">必须</value>
<value xml:lang="zh-TW">必須</value>
</property>
<property key="LocationCounted">
<value xml:lang="en">Location Counted</value>
</property>
<property key="LocationNotScanned">
<value xml:lang="en">Locations not scanned in last</value>
</property>
<property key="LocationScheduledForScanning">
<value xml:lang="en">Location scheduled for scanning in next</value>
</property>
<property key="MetaDescription">
<value xml:lang="de">Meta Beschreibung</value>
<value xml:lang="en">Meta Description</value>
Expand Down Expand Up @@ -13336,6 +13376,12 @@
<value xml:lang="zh">合同</value>
<value xml:lang="zh-TW">合約</value>
</property>
<property key="FindPendingLocations">
<value xml:lang="en">Find Pending Locations</value>
</property>
<property key="PendingLocations">
<value xml:lang="en">Pending Locations</value>
</property>
<property key="ProductAgreements">
<value xml:lang="de">Verträge</value>
<value xml:lang="en">Agreements</value>
Expand Down Expand Up @@ -13875,7 +13921,7 @@
<value xml:lang="zh">关联</value>
<value xml:lang="zh-TW">結合</value>
</property>

<property key="ProductOrderReturnStatus">
<value xml:lang="de">Zurück Sendungsstatus</value>
<value xml:lang="en">Return Shipment Status</value>
Expand Down Expand Up @@ -16136,6 +16182,9 @@
<value xml:lang="zh">没有找到货运——标识</value>
<value xml:lang="zh-TW">沒有找到貨運識別</value>
</property>
<property key="ProductCountReport">
<value xml:lang="en">Count Report</value>
</property>
<property key="ProductCountryOfOrigin">
<value xml:lang="en">Country of Origin</value>
<value xml:lang="es">País de Origen</value>
Expand Down Expand Up @@ -16710,6 +16759,9 @@
<value xml:lang="zh">客户评级</value>
<value xml:lang="zh-TW">客戶評級</value>
</property>
<property key="ProductCycleCount">
<value xml:lang="en">Cycle Count</value>
</property>
<property key="ProductDL">
<value xml:lang="en">DL</value>
<value xml:lang="es">DL</value>
Expand Down Expand Up @@ -27230,6 +27282,9 @@
<value xml:lang="zh">现货数量</value>
<value xml:lang="zh-TW">現貨數量</value>
</property>
<property key="ProductQtyCounted">
<value xml:lang="en">Qty Counted</value>
</property>
<property key="ProductQtyOffset">
<value xml:lang="de">Vorhandene Menge minus Minimalbestand</value>
<value xml:lang="en">Qty Offset</value>
Expand Down Expand Up @@ -27330,6 +27385,9 @@
<value xml:lang="zh">已拒绝的数量</value>
<value xml:lang="zh-TW">已拒絕的數量</value>
</property>
<property key="ProductQtyVariance">
<value xml:lang="en">Qty Variance</value>
</property>
<property key="ProductQuantity">
<value xml:lang="de">Menge</value>
<value xml:lang="en">Quantity</value>
Expand Down Expand Up @@ -28617,6 +28675,9 @@
<value xml:lang="zh">评价这个产品!</value>
<value xml:lang="zh-TW">評論這個產品!</value>
</property>
<property key="ProductReviewCountSession">
<value xml:lang="en">Review Count Session</value>
</property>
<property key="ProductReviews">
<value xml:lang="de">Bewertungen</value>
<value xml:lang="en">Reviews</value>
Expand Down Expand Up @@ -30951,7 +31012,7 @@
<value xml:lang="vi">Để kiểm soát cách nhìn và cảm quan và cửa hàng trực tuyến</value>
<value xml:lang="zh">用于控制一个网店的外观感受。</value>
<value xml:lang="zh-TW">用於控制一個網店的外觀感受.</value>
</property>
</property>
<property key="ProductStoresFor">
<value xml:lang="de">Läden für</value>
<value xml:lang="en">Stores For</value>
Expand Down Expand Up @@ -33175,6 +33236,12 @@
<value xml:lang="zh">搜索结果</value>
<value xml:lang="zh-TW">搜尋結果</value>
</property>
<property key="Results">
<value xml:lang="en">Results</value>
</property>
<property key="ReviewSession">
<value xml:lang="en">Review Session</value>
</property>
<property key="SearchTracking">
<value xml:lang="de">Suche Lieferverfolgung</value>
<value xml:lang="en">Search of a tracking</value>
Expand All @@ -33184,6 +33251,12 @@
<value xml:lang="zh">搜索一个跟踪</value>
<value xml:lang="zh-TW">搜尋一個追蹤</value>
</property>
<property key="ToDate">
<value xml:lang="en">To Date</value>
</property>
<property key="TotalProjectedCounts">
<value xml:lang="en">Total Projected Counts</value>
</property>
<property key="Tracking">
<value xml:lang="de">Lieferverfolgung</value>
<value xml:lang="en">Tracking</value>
Expand Down
Loading