* GRN preview for M18: show both stock qty (acceptedQty) and purchase qty (converted) for a specific receipt date.
* This is a DRY-RUN preview only (does not call M18).
* Excludes POs whose [com.ffii.fpsms.modules.purchaseOrder.entity.PurchaseOrder.m18CreatedUId] is in [com.ffii.fpsms.m18.M18GrnRules.SKIP_GRN_FOR_M18_CREATED_UIDS] (same as live GRN posting).
*/
fun searchGrnPreviewM18(receiptDate: String): List<Map<String, Any?>> {
val formatted = receiptDate.replace("/", "-")
val args = mutableMapOf<String, Any>("receiptDate" to formatted)
val skipGrnM18CreatedUidInList = M18GrnRules.SKIP_GRN_FOR_M18_CREATED_UIDS.joinToString(", ")
val sql = """
SELECT
sil.id AS stockInLineId,
@@ -996,6 +999,7 @@ return result
AND DATE(sil.receiptDate) = DATE(:receiptDate)
AND sil.purchaseOrderId IS NOT NULL
AND sil.status = 'completed'
AND (po.m18CreatedUId IS NULL OR po.m18CreatedUId NOT IN ($skipGrnM18CreatedUidInList))
ORDER BY sil.purchaseOrderId, sil.purchaseOrderLineId, sil.id
""".trimIndent()
val rows = jdbcDao.queryForList(sql, args)
+ 6- 0
src/main/java/com/ffii/fpsms/modules/stock/service/StockInLineService.ktZobrazit soubor
@@ -688,6 +689,11 @@ open class StockInLineService(
logger.info("[tryUpdatePurchaseOrderAndCreateGrnIfCompleted] DEBUG: Skipping M18 GRN - missing M18 ids for PO id=${savedPo.id} code=${savedPo.code}. m18BeId=${savedPo.m18BeId}, supplier.m18Id=${savedPo.supplier?.m18Id}, currency.m18Id=${savedPo.currency?.m18Id}")
return
}
val m18Created = savedPo.m18CreatedUId
if (m18Created != null && m18Created in M18GrnRules.SKIP_GRN_FOR_M18_CREATED_UIDS) {
logger.info("[tryUpdatePurchaseOrderAndCreateGrnIfCompleted] Skipping M18 GRN - m18CreatedUId=$m18Created in skip list for PO id=${savedPo.id} code=${savedPo.code}")
return
}
//temp comment this TODO will only check purchase order + dnNo duplicated
// logger.info("[tryUpdatePurchaseOrderAndCreateGrnIfCompleted] Skipping M18 GRN - already created for PO id=${savedPo.id} code=${savedPo.code} (avoids core_201 duplicate)")
+ 17- 26
src/main/resources/FGStockInLabel/FGStockInLabel.jrxmlZobrazit soubor
@@ -1,20 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.21.3.final using JasperReports Library version 6.21.3-4a3078d20785ebe464f18037d738d12fc98c13cf -->
-- precondition-sql-check expectedResult:0 SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'purchase_order' AND COLUMN_NAME = 'm18CreatedUId'
ALTER TABLE `purchase_order`
ADD COLUMN `m18CreatedUId` BIGINT NULL COMMENT 'M18 PO create user id (mainpo.createUid)' AFTER `m18BeId`;
+ 5- 0
src/main/resources/db/changelog/changes/20260325_onpack_qr_template_type.sqlZobrazit soubor
@@ -0,0 +1,5 @@
--liquibase formatted sql
--changeset fpsms:onpack_qr_template_type
ALTER TABLE `onpack_qr`
ADD COLUMN `template_type` varchar(20) NOT NULL DEFAULT 'bmp' COMMENT 'bmp: LOGO_4 bmp + onpack2030; text: Static QR text + onpack2030_2' AFTER `filename`;
+ 12- 0
src/main/resources/db/changelog/changes/20260326_onpack_qr_text_rows.sqlZobrazit soubor
@@ -0,0 +1,12 @@
--liquibase formatted sql
--changeset fpsms:onpack_qr_text_rows
INSERT INTO `onpack_qr` (`code`, `filename`, `template_type`) VALUES
('PP2338', '', 'text'),
('PP1175', '', 'text'),
('PP2236', '', 'text'),
('PP2237', '', 'text'),
('PP2238', '', 'text'),
('PP2239', '', 'text'),
('PP2336', '', 'text')
ON DUPLICATE KEY UPDATE `template_type` = VALUES(`template_type`);
binární
src/main/resources/onpack2030_2/29BF30F0E9FA4F800147936FC6B1DCFE.bmpZobrazit soubor
Před
Za
binární
src/main/resources/onpack2030_2/33D5006F86DAFDE8BA743C4C55DEAEDA.bmpZobrazit soubor
Před
Za
binární
src/main/resources/onpack2030_2/72CB65B12DF2E8E4A2698BB3DAE8155A.bmpZobrazit soubor
Před
Za
binární
src/main/resources/onpack2030_2/731813F5BB5E82176C254DDAF620529A.bmpZobrazit soubor
Před
Za
binární
src/main/resources/onpack2030_2/8CF3057D15F4C2931D361668CCCB66A9.bmpZobrazit soubor
Před
Za
binární
src/main/resources/onpack2030_2/93628E5851758D32BCA25B00602F6D2E.bmpZobrazit soubor
Před
Za
binární
src/main/resources/onpack2030_2/A49477813D8529AAE0442F3BCD81327A.bmpZobrazit soubor