Commit c82f49b43f1dbf28a6fad58071ceda59aca3f678

Authored by zengbo
2 parents 3c969fb0 07d7508c

Merge branch 'developMain' of http://172.16.29.40:8010/huhai/WMSV1 into developMain

Showing 85 changed files with 991 additions and 323 deletions
.idea/encodings.xml
... ... @@ -3,10 +3,9 @@
3 3 <component name="Encoding" native2AsciiForPropertiesFiles="true" defaultCharsetForPropertiesFiles="UTF-8">
4 4 <file url="file://$PROJECT_DIR$" charset="UTF-8" />
5 5 <file url="file://$PROJECT_DIR$/src/main/resources/static/js/qrcode/jquery-qrcode-0.14.0.min.js" charset="GBK" />
  6 + <file url="file://$PROJECT_DIR$/src/main/resources/static/js/qrcode/qrcode.min.js" charset="GBK" />
6 7 <file url="file://$PROJECT_DIR$/src/main/resources/templates/inventory/cyclecountDetail/addGoods.html" charset="UTF-8" />
7 8 <file url="file://$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/report.html" charset="GBK" />
8   - <file url="file://$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/report.html" charset="GBK" />
9   - <file url="file://$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/report.html" charset="GBK" />
10 9 <file url="PROJECT" charset="GBK" />
11 10 </component>
12 11 </project>
13 12 \ No newline at end of file
... ...
sql/huaheng20180921.sql
... ... @@ -490,7 +490,7 @@ CREATE TABLE `cyclecount_detail` (
490 490 `locationId` int(11) NULL DEFAULT NULL COMMENT '库位id',
491 491 `locationCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '库位编码',
492 492 `materialId` int(11) NOT NULL COMMENT '物料Id',
493   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  493 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
494 494 `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
495 495 `receiptId` int(11) NOT NULL COMMENT '入库单id',
496 496 `receiptDetailId` int(11) NULL DEFAULT NULL COMMENT '入库单明细id',
... ... @@ -1031,7 +1031,7 @@ CREATE TABLE `inventory` (
1031 1031 `companyId` int(11) NULL DEFAULT NULL COMMENT '公司id',
1032 1032 `companyCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司编码',
1033 1033 `materialId` int(11) NULL DEFAULT NULL COMMENT '物料Id',
1034   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  1034 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
1035 1035 `receiptId` int(11) NOT NULL COMMENT '入库单id',
1036 1036 `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
1037 1037 `receiptDetailId` int(11) NULL DEFAULT NULL COMMENT '入库单明细id',
... ... @@ -1089,7 +1089,7 @@ CREATE TABLE `inventory_transaction` (
1089 1089 `companyCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '货主编码',
1090 1090 `materialId` int(11) NULL DEFAULT NULL COMMENT '物料Id',
1091 1091 `materialName` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称',
1092   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  1092 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
1093 1093 `billId` int(11) NOT NULL COMMENT '单头',
1094 1094 `billCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '单编码',
1095 1095 `billDetailId` int(11) NULL DEFAULT NULL COMMENT '单明细id',
... ... @@ -1532,7 +1532,7 @@ CREATE TABLE `material` (
1532 1532 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
1533 1533 `warehouseId` int(11) NOT NULL COMMENT '仓库Id',
1534 1534 `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '仓库编码',
1535   - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  1535 + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
1536 1536 `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料类别',
1537 1537 `name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',
1538 1538 `barcode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '条码',
... ... @@ -1954,7 +1954,7 @@ CREATE TABLE `receipt_container_detail` (
1954 1954 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id号',
1955 1955 `headerId` int(11) NOT NULL COMMENT '组盘头id号',
1956 1956 `receiptDetailId` int(11) NOT NULL COMMENT '入库单明细id号',
1957   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码',
  1957 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码',
1958 1958 `qty` decimal(12, 3) NOT NULL COMMENT '组盘数量',
1959 1959 `created` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
1960 1960 `createdBy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建用户',
... ... @@ -2014,7 +2014,7 @@ CREATE TABLE `receipt_detail` (
2014 2014 `receiptId` int(11) NOT NULL COMMENT '入库单id',
2015 2015 `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
2016 2016 `materialId` int(11) NULL DEFAULT NULL COMMENT '物料Id',
2017   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  2017 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
2018 2018 `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
2019 2019 `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
2020 2020 `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
... ... @@ -2064,7 +2064,7 @@ CREATE TABLE `receipt_detail_history` (
2064 2064 `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仓库',
2065 2065 `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
2066 2066 `materialId` int(11) NOT NULL COMMENT '物料Id',
2067   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  2067 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
2068 2068 `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
2069 2069 `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
2070 2070 `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
... ... @@ -2180,7 +2180,7 @@ CREATE TABLE `shipment_container_detail` (
2180 2180 `headerId` int(11) NOT NULL COMMENT '组盘头id号',
2181 2181 `shipmentHeaderId` int(11) NOT NULL COMMENT '出库头d号',
2182 2182 `shipmentDetailId` int(11) NOT NULL COMMENT '出库明细id号',
2183   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码',
  2183 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码',
2184 2184 `materialName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称',
2185 2185 `qty` decimal(12, 3) NOT NULL COMMENT '配盘数量',
2186 2186 `inventoryId` int(11) NOT NULL COMMENT '关联库存Id',
... ... @@ -2217,7 +2217,7 @@ CREATE TABLE `shipment_detail` (
2217 2217 `shipmentId` int(11) NOT NULL COMMENT '出库单id',
2218 2218 `shipmentCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '出库单编码',
2219 2219 `materialId` int(11) NOT NULL COMMENT '物料Id',
2220   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  2220 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
2221 2221 `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
2222 2222 `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
2223 2223 `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
... ... @@ -2253,7 +2253,7 @@ CREATE TABLE `shipment_detail_history` (
2253 2253 `shipmentId` int(11) NOT NULL COMMENT '出库单id',
2254 2254 `shipmentCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '出库单编码',
2255 2255 `materialId` int(11) NOT NULL COMMENT '物料Id',
2256   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  2256 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
2257 2257 `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
2258 2258 `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
2259 2259 `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
... ... @@ -3932,7 +3932,7 @@ CREATE TABLE `task_detail` (
3932 3932 `warehouseId` int(11) NOT NULL COMMENT '仓库Id',
3933 3933 `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仓库',
3934 3934 `allocationId` int(11) NULL DEFAULT NULL COMMENT '入库或者组盘详情表ID',
3935   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码',
  3935 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码',
3936 3936 `containerCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '出入库货箱Code',
3937 3937 `sourceLocation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '源库位',
3938 3938 `destinationLocation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '目的库位',
... ...
sql/huaheng_20180913.sql
... ... @@ -485,7 +485,7 @@ CREATE TABLE `cyclecount_detail` (
485 485 `locationId` int(11) NULL DEFAULT NULL COMMENT '库位id',
486 486 `locationCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '库位编码',
487 487 `materialId` int(11) NOT NULL COMMENT '物料Id',
488   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  488 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
489 489 `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
490 490 `receiptId` int(11) NOT NULL COMMENT '入库单id',
491 491 `receiptDetailId` int(11) NULL DEFAULT NULL COMMENT '入库单明细id',
... ... @@ -551,7 +551,7 @@ CREATE TABLE `inventory` (
551 551 `companyId` int(11) NOT NULL COMMENT '公司id',
552 552 `companyCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司编码',
553 553 `materialId` int(11) NOT NULL COMMENT '物料Id',
554   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  554 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
555 555 `receiptId` int(11) NOT NULL COMMENT '入库单id',
556 556 `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
557 557 `receiptDetailId` int(11) NULL DEFAULT NULL COMMENT '入库单明细id',
... ... @@ -657,7 +657,7 @@ CREATE TABLE `inventory_transaction` (
657 657 `companyCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '货主编码',
658 658 `materialId` int(11) NOT NULL COMMENT '物料Id',
659 659 `materialName` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称',
660   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  660 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
661 661 `billId` int(11) NOT NULL COMMENT '单头',
662 662 `billCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '单编码',
663 663 `billDetailId` int(11) NULL DEFAULT NULL COMMENT '单明细id',
... ... @@ -867,7 +867,7 @@ CREATE TABLE `material` (
867 867 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
868 868 `warehouseId` int(11) NOT NULL COMMENT '仓库Id',
869 869 `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '仓库编码',
870   - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  870 + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
871 871 `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料类别',
872 872 `name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称',
873 873 `barcode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '条码',
... ... @@ -1283,7 +1283,7 @@ CREATE TABLE `receipt_container_detail` (
1283 1283 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id号',
1284 1284 `headerId` int(11) NOT NULL COMMENT '组盘头id号',
1285 1285 `receiptDetailId` int(11) NOT NULL COMMENT '入库单明细id号',
1286   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码',
  1286 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码',
1287 1287 `qty` decimal(12, 3) NOT NULL COMMENT '组盘数量',
1288 1288 `created` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
1289 1289 `createdBy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建用户',
... ... @@ -1431,7 +1431,7 @@ CREATE TABLE `receipt_detail` (
1431 1431 `receiptId` int(11) NOT NULL COMMENT '入库单id',
1432 1432 `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
1433 1433 `materialId` int(11) NOT NULL COMMENT '物料Id',
1434   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  1434 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
1435 1435 `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
1436 1436 `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
1437 1437 `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
... ... @@ -1515,7 +1515,7 @@ CREATE TABLE `receipt_detail_history` (
1515 1515 `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仓库',
1516 1516 `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码',
1517 1517 `materialId` int(11) NOT NULL COMMENT '物料Id',
1518   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  1518 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
1519 1519 `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
1520 1520 `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
1521 1521 `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
... ... @@ -1652,7 +1652,7 @@ CREATE TABLE `shipment_container_detail` (
1652 1652 `headerId` int(11) NOT NULL COMMENT '组盘头id号',
1653 1653 `shipmentHeaderId` int(11) NOT NULL COMMENT '出库头d号',
1654 1654 `shipmentDetailId` int(11) NOT NULL COMMENT '出库明细id号',
1655   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码',
  1655 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码',
1656 1656 `materialName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称',
1657 1657 `qty` decimal(12, 3) NOT NULL COMMENT '配盘数量',
1658 1658 `inventoryId` int(11) NOT NULL COMMENT '关联库存Id',
... ... @@ -1800,7 +1800,7 @@ CREATE TABLE `shipment_detail` (
1800 1800 `shipmentId` int(11) NOT NULL COMMENT '出库单id',
1801 1801 `shipmentCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '出库单编码',
1802 1802 `materialId` int(11) NOT NULL COMMENT '物料Id',
1803   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  1803 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
1804 1804 `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
1805 1805 `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
1806 1806 `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
... ... @@ -1877,7 +1877,7 @@ CREATE TABLE `shipment_detail_history` (
1877 1877 `shipmentId` int(11) NOT NULL COMMENT '出库单id',
1878 1878 `shipmentCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '出库单编码',
1879 1879 `materialId` int(11) NOT NULL COMMENT '物料Id',
1880   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码',
  1880 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码',
1881 1881 `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次',
1882 1882 `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号',
1883 1883 `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号',
... ... @@ -7927,7 +7927,7 @@ CREATE TABLE `task_detail` (
7927 7927 `warehouseId` int(11) NOT NULL COMMENT '仓库Id',
7928 7928 `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仓库',
7929 7929 `allocationId` int(11) NULL DEFAULT NULL COMMENT '容器物料表ID',
7930   - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码',
  7930 + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码',
7931 7931 `containerCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '出入库货箱Code',
7932 7932 `sourceLocation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '源库位',
7933 7933 `destinationLocation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '目的库位',
... ...
src/main/java/com/huaheng/api/Common/ReceiptApi.java 0 → 100644
  1 +package com.huaheng.api.Common;
  2 +
  3 +
  4 +import com.alibaba.fastjson.JSON;
  5 +import com.huaheng.common.utils.StringUtils;
  6 +import com.huaheng.common.utils.http.HttpUtils;
  7 +import com.huaheng.common.utils.security.ShiroUtils;
  8 +import com.huaheng.framework.aspectj.lang.annotation.Log;
  9 +import com.huaheng.framework.aspectj.lang.constant.BusinessType;
  10 +import com.huaheng.framework.web.controller.BaseController;
  11 +import com.huaheng.framework.web.domain.AjaxResult;
  12 +import com.huaheng.pc.general.material.domain.Material;
  13 +import com.huaheng.pc.general.material.service.IMaterialService;
  14 +import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
  15 +import com.huaheng.pc.receipt.receiptDetail.service.IReceiptDetailService;
  16 +import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader;
  17 +import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptModel;
  18 +import com.huaheng.pc.receipt.receiptHeader.service.IReceiptHeaderService;
  19 +import com.huaheng.pc.system.dict.service.IDictDataService;
  20 +import io.swagger.annotations.Api;
  21 +import org.springframework.beans.factory.annotation.Autowired;
  22 +import org.springframework.web.bind.annotation.PostMapping;
  23 +import org.springframework.web.bind.annotation.RequestMapping;
  24 +import org.springframework.web.bind.annotation.ResponseBody;
  25 +import org.springframework.web.bind.annotation.RestController;
  26 +
  27 +/**
  28 + * 入库下发和入传接口
  29 + * @author huaheng
  30 + * @date 2018-12-20
  31 + *
  32 + *
  33 + *
  34 + */
  35 +import java.util.List;
  36 +
  37 +@RestController
  38 +@RequestMapping("/api/receipt")
  39 +@Api(tags = {"receipt"}, description = "入库接口")
  40 +public class ReceiptApi extends BaseController {
  41 +
  42 + @Autowired
  43 + private IDictDataService dictDataService;
  44 + @Autowired
  45 + private IReceiptHeaderService receiptHeaderService;
  46 + @Autowired
  47 + private IReceiptDetailService receiptDetailService;
  48 + @Autowired
  49 + private IMaterialService materialService;
  50 +
  51 +
  52 +
  53 + @Log(title = "入库单下发", action = BusinessType.INSERT)
  54 + @PostMapping("/insertReceipt")
  55 + @ResponseBody
  56 + public AjaxResult insertReceipt(ReceiptModel receiptModel){
  57 + if(receiptModel==null){
  58 + return AjaxResult.error("参数不对");
  59 + }
  60 + ReceiptHeader receiptHeader=receiptModel.getReceiptHeader();
  61 + List<ReceiptDetail> receiptDetails=receiptModel.getReceiptDetails();
  62 + if(receiptHeader==null || receiptDetails==null){
  63 + return AjaxResult.error("入库主单或入库子单有问题");
  64 + }
  65 +
  66 + if(dictDataService.checkConfig("receiptType", receiptHeader.getType()) == false)
  67 + {
  68 + return AjaxResult.error("没有对应的入库单类型");
  69 + }
  70 + Integer result = receiptHeaderService.insert(receiptHeader);
  71 + if(result<1){
  72 + return AjaxResult.error("新增主单失败");
  73 + }
  74 +
  75 +
  76 + for(ReceiptDetail item :receiptDetails){
  77 + ReceiptHeader receiptHeaderB=receiptHeaderService.selectEntityById(item.getReceiptId());
  78 + if(!receiptHeader.equals(receiptHeaderB)){
  79 + return AjaxResult.error("主子单据不匹配");
  80 + }
  81 + if (receiptHeader.getFirstStatus() > 100) {
  82 + //表示已经加入了波次
  83 + return AjaxResult.error("主单据状态不允许新增明细");
  84 + }
  85 +
  86 + Material material = new Material();
  87 + material.setCode(item.getMaterialCode());
  88 + material.setWarehouseId(item.getWarehouseId());
  89 + material = materialService.selectFirstEntity(material);
  90 + if (material == null) {
  91 + return AjaxResult.error("物料未找到");
  92 + }
  93 + if (StringUtils.isNotEmpty(material.getCompanyCode()) &&
  94 + ShiroUtils.getCompanyCodeList().contains(material.getCompanyCode()) == false)
  95 + {
  96 + return AjaxResult.error("物料不属于当前货主!");
  97 + }
  98 + if(receiptDetailService.insert(item) > 0){
  99 + //更新表头的总行数和总数量统计
  100 + receiptHeader.setTotalQty(receiptHeader.getTotalQty().add(item.getQty()));
  101 + receiptHeader.setTotalLines(receiptHeader.getTotalLines() + 1);
  102 + receiptHeaderService.updateByModel(receiptHeader);
  103 + }
  104 + else {
  105 + return AjaxResult.error("新增单据明细失败");
  106 + }
  107 + }
  108 + return AjaxResult.success("入库单据下发成功");
  109 + }
  110 +
  111 +
  112 +
  113 +
  114 + //出库单回传
  115 + @Log(title = "入库单回传", action = BusinessType.INSERT)
  116 + @PostMapping("/shipmentAssign")
  117 + @ResponseBody
  118 + public AjaxResult shipmentAssign(String url)
  119 + {
  120 + ReceiptHeader receiptHeader = new ReceiptHeader();
  121 + receiptHeader.setLastStatus((short)300);
  122 + receiptHeader = receiptHeaderService.selectFirstEntity(receiptHeader);
  123 + if (receiptHeader == null) {
  124 + return AjaxResult.error("入库回传主单不存在");
  125 + }
  126 + ReceiptDetail receiptDetail = new ReceiptDetail();
  127 + receiptDetail.setReceiptCode(receiptHeader.getCode());
  128 + List<ReceiptDetail> receiptDetails = receiptDetailService.selectListEntityByEqual(receiptDetail);
  129 + if (receiptDetails == null) {
  130 + return AjaxResult.error("入库回传子单不存在");
  131 + }
  132 + ReceiptModel model=new ReceiptModel();
  133 + model.setReceiptHeader(receiptHeader);
  134 + model.setReceiptDetails(receiptDetails);
  135 + String JsonParam = JSON.toJSONString(model);
  136 + String result = HttpUtils.sendPost(url, JsonParam);
  137 + AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
  138 + receiptHeader.setFirstStatus((short)900);
  139 + receiptHeader.setLastStatus((short)900);
  140 + receiptHeaderService.updateByModel(receiptHeader);
  141 + return ajaxResult;
  142 + }
  143 +}
... ...
src/main/java/com/huaheng/api/Common/ShipmentApi.java 0 → 100644
  1 +package com.huaheng.api.Common;
  2 +
  3 +import com.alibaba.fastjson.JSON;
  4 +import com.huaheng.common.utils.StringUtils;
  5 +import com.huaheng.common.utils.http.HttpUtils;
  6 +import com.huaheng.common.utils.security.ShiroUtils;
  7 +import com.huaheng.framework.aspectj.lang.annotation.Log;
  8 +import com.huaheng.framework.aspectj.lang.constant.BusinessType;
  9 +import com.huaheng.framework.web.controller.BaseController;
  10 +import com.huaheng.framework.web.domain.AjaxResult;
  11 +import com.huaheng.pc.general.company.service.ICompanyService;
  12 +import com.huaheng.pc.general.material.domain.Material;
  13 +import com.huaheng.pc.general.material.service.IMaterialService;
  14 +import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
  15 +import com.huaheng.pc.shipment.shipmentDetail.service.IShipmentDetailService;
  16 +import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
  17 +import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentModel;
  18 +import com.huaheng.pc.shipment.shipmentHeader.service.IShipmentHeaderService;
  19 +import com.huaheng.pc.system.dict.service.IDictDataService;
  20 +import io.swagger.annotations.Api;
  21 +import org.springframework.beans.factory.annotation.Autowired;
  22 +import org.springframework.web.bind.annotation.PostMapping;
  23 +import org.springframework.web.bind.annotation.RequestMapping;
  24 +import org.springframework.web.bind.annotation.ResponseBody;
  25 +import org.springframework.web.bind.annotation.RestController;
  26 +
  27 +import java.util.ArrayList;
  28 +import java.util.List;
  29 +
  30 +/**
  31 + * 出库下发和回传接口
  32 + * @author huaheng
  33 + * @date 2018-12-18
  34 + *
  35 + *
  36 + *
  37 + */
  38 +@RestController
  39 +@RequestMapping("/api/shipment")
  40 +@Api(tags = {"shipment"}, description = "出库接口")
  41 +public class ShipmentApi extends BaseController {
  42 +
  43 +
  44 + @Autowired
  45 + private IDictDataService dictDataService;
  46 + @Autowired
  47 + IShipmentDetailService shipmentDetailService;
  48 + @Autowired
  49 + ICompanyService companyService;
  50 + @Autowired
  51 + IShipmentHeaderService shipmentHeaderService;
  52 + @Autowired
  53 + private IMaterialService materialService;
  54 +
  55 + //出库单下发
  56 + @Log(title = "出库单下发", action = BusinessType.INSERT)
  57 + @PostMapping("/insertShipment")
  58 + @ResponseBody
  59 + public AjaxResult insertShipment(ShipmentModel shipmentModel){
  60 + if(shipmentModel==null){
  61 + return AjaxResult.error("参数不对");
  62 + }
  63 + ShipmentHeader shipmentHeader=new ShipmentHeader();
  64 + List<ShipmentDetail> shipmentDetails=new ArrayList<>();
  65 + try {
  66 + shipmentHeader=shipmentModel.getShipmentHeader();
  67 + shipmentDetails=shipmentModel.getShipmentDetails();
  68 + }catch (Exception e){
  69 + return AjaxResult.error("出库主单或出库子单有问题");
  70 + }
  71 + if(dictDataService.checkConfig("shipmentType", shipmentHeader.getType()) == false)
  72 + {
  73 + return AjaxResult.error("没有对应的出库单类型");
  74 + }
  75 + int result = shipmentHeaderService.insert(shipmentHeader);
  76 + if(result<1){
  77 + return AjaxResult.error("新增主单失败");
  78 + }
  79 +
  80 + //添加细表到shipmentDetail
  81 + for(ShipmentDetail shipmentDetail : shipmentDetails) {
  82 + ShipmentHeader shipmentHeaderB = shipmentHeaderService.selectEntityById(shipmentDetail.getShipmentId());
  83 + if (!shipmentHeaderB.equals(shipmentHeader)) {
  84 + return AjaxResult.error("找不到主单据");
  85 + }
  86 + if (shipmentHeaderB.getFirstStatus() > 100) {
  87 + //表示已经加入了波次
  88 + return AjaxResult.error("主单据状态不允许新增明细");
  89 + }
  90 + Material material = new Material();
  91 + material.setCode(shipmentDetail.getMaterialCode());
  92 + material.setWarehouseId(shipmentDetail.getWarehouseId());
  93 + material = materialService.selectFirstEntity(material);
  94 + if (material == null) {
  95 + return AjaxResult.error("物料未找到");
  96 + }
  97 + if (StringUtils.isNotEmpty(material.getCompanyCode()) &&
  98 + ShiroUtils.getCompanyCodeList().contains(material.getCompanyCode()) == false)
  99 + {
  100 + return AjaxResult.error("物料不属于当前货主!");
  101 + }
  102 +
  103 + if (shipmentDetailService.insert(shipmentDetail) > 0){
  104 + //更新单据总行数与总数量
  105 + shipmentHeader.setTotalLines(shipmentHeader.getTotalLines() + 1);
  106 + shipmentHeader.setTotalQty(shipmentHeader.getTotalQty().add(shipmentDetail.getQty()));
  107 + shipmentHeaderService.updateByModel(shipmentHeader);
  108 + }
  109 + else {
  110 + return AjaxResult.error("新增单据明细失败");
  111 + }
  112 + }
  113 + return AjaxResult.success("出库单下发成功");
  114 + }
  115 +
  116 +
  117 +
  118 + //出库单回传
  119 + @Log(title = "出库单回传", action = BusinessType.INSERT)
  120 + @PostMapping("/shipmentAssign")
  121 + @ResponseBody
  122 + public AjaxResult shipmentAssign(String url)
  123 + {
  124 + ShipmentHeader shipmentHeader = new ShipmentHeader();
  125 + shipmentHeader.setLastStatus(300);
  126 + shipmentHeader = shipmentHeaderService.selectFirstEntity(shipmentHeader);
  127 + if (shipmentHeader == null) {
  128 + return AjaxResult.error("出库回传主单不存在");
  129 + }
  130 + ShipmentDetail shipmentDetail = new ShipmentDetail();
  131 + shipmentDetail.setShipmentCode(shipmentHeader.getCode());
  132 + List<ShipmentDetail> shipmentDetails = shipmentDetailService.selectListEntityByEqual(shipmentDetail);
  133 + if (shipmentDetails == null) {
  134 + return AjaxResult.error("出库回传子单不存在");
  135 + }
  136 + ShipmentModel model=new ShipmentModel();
  137 + model.setShipmentHeader(shipmentHeader);
  138 + model.setShipmentDetails(shipmentDetails);
  139 + String JsonParam = JSON.toJSONString(model);
  140 + String result = HttpUtils.sendPost(url, JsonParam);
  141 + AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
  142 + shipmentHeader.setFirstStatus(900);
  143 + shipmentHeader.setLastStatus(900);
  144 + shipmentHeaderService.updateByModel(shipmentHeader);
  145 + return ajaxResult;
  146 + }
  147 +
  148 +
  149 +}
... ...
src/main/java/com/huaheng/api/U8/controller/ICSShipmentApi.java 0 → 100644
  1 +package com.huaheng.api.U8.controller;
  2 +
  3 +import com.huaheng.api.U8.domain.ICSShipmentModel;
  4 +import com.huaheng.api.U8.service.ICSShipmentService;
  5 +import com.huaheng.framework.aspectj.lang.annotation.Log;
  6 +import com.huaheng.framework.aspectj.lang.constant.BusinessType;
  7 +import com.huaheng.framework.web.controller.BaseController;
  8 +import com.huaheng.framework.web.domain.AjaxResult;
  9 +import io.swagger.annotations.Api;
  10 +import org.springframework.beans.factory.annotation.Autowired;
  11 +import org.springframework.web.bind.annotation.PostMapping;
  12 +import org.springframework.web.bind.annotation.RequestMapping;
  13 +import org.springframework.web.bind.annotation.ResponseBody;
  14 +import org.springframework.web.bind.annotation.RestController;
  15 +
  16 +/**
  17 + * u8-wms出库下发或回传接口
  18 + *
  19 + *
  20 + */
  21 +
  22 +
  23 +@RestController
  24 +@RequestMapping("/api/ICSShipment")
  25 +@Api(tags = {"shipment"}, description = "出库下发或回传接口")
  26 +public class ICSShipmentApi extends BaseController {
  27 +
  28 +
  29 + @Autowired
  30 + private ICSShipmentService icsShipmentService;
  31 +
  32 + //出库下发
  33 + @Log(title = "出库下发", action = BusinessType.INSERT)
  34 + @PostMapping("/insertICSShipment")
  35 + @ResponseBody
  36 + public AjaxResult insertICSShipment(ICSShipmentModel icsShipmentModel){
  37 + AjaxResult ajaxResult = icsShipmentService.insertICSShipment(icsShipmentModel);
  38 + return ajaxResult;
  39 + }
  40 +
  41 +
  42 +
  43 + //出库下发
  44 + @Log(title = "出库回传", action = BusinessType.GRANT)
  45 + @PostMapping("/ICSShipmentAssign")
  46 + @ResponseBody
  47 + public AjaxResult ICSShipmentAssign(String url){
  48 + AjaxResult ajaxResult = icsShipmentService.ICSShipmentAssign(url);
  49 + return ajaxResult;
  50 + }
  51 +
  52 +
  53 +}
... ...
src/main/java/com/huaheng/api/U8/domain/ICSShipmentModel.java 0 → 100644
  1 +package com.huaheng.api.U8.domain;
  2 +
  3 +import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail;
  4 +import com.huaheng.pc.icsShipment.icsShipmentHeader.domain.ICSShipmentHeader;
  5 +
  6 +import java.util.List;
  7 +
  8 +
  9 +/**
  10 + *
  11 + * 出库下发或回传模型
  12 + * @author huaheng
  13 + * @date 2018-12-18
  14 + *
  15 + */
  16 +
  17 +public class ICSShipmentModel {
  18 + private ICSShipmentHeader icsShipmentHeader;
  19 + private List<ICSShipmentDetail> icsShipmentDetails;
  20 +
  21 + public ICSShipmentHeader getIcsShipmentHeader() {
  22 + return icsShipmentHeader;
  23 + }
  24 +
  25 + public void setIcsShipmentHeader(ICSShipmentHeader icsShipmentHeader) {
  26 + this.icsShipmentHeader = icsShipmentHeader;
  27 + }
  28 +
  29 + public List<ICSShipmentDetail> getIcsShipmentDetails() {
  30 + return icsShipmentDetails;
  31 + }
  32 +
  33 + public void setIcsShipmentDetails(List<ICSShipmentDetail> icsShipmentDetails) {
  34 + this.icsShipmentDetails = icsShipmentDetails;
  35 + }
  36 +}
... ...
src/main/java/com/huaheng/api/U8/service/ICSShipmentService.java 0 → 100644
  1 +package com.huaheng.api.U8.service;
  2 +
  3 +import com.alibaba.fastjson.JSON;
  4 +import com.huaheng.api.Common.ShipmentApi;
  5 +import com.huaheng.api.U8.domain.ICSShipmentModel;
  6 +import com.huaheng.common.utils.StringUtils;
  7 +import com.huaheng.common.utils.http.HttpUtils;
  8 +import com.huaheng.common.utils.security.ShiroUtils;
  9 +import com.huaheng.framework.web.domain.AjaxResult;
  10 +import com.huaheng.pc.general.company.domain.Company;
  11 +import com.huaheng.pc.general.company.service.ICompanyService;
  12 +import com.huaheng.pc.general.material.domain.Material;
  13 +import com.huaheng.pc.general.material.service.IMaterialService;
  14 +import com.huaheng.pc.general.warehouse.domain.Warehouse;
  15 +import com.huaheng.pc.general.warehouse.service.IWarehouseService;
  16 +import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail;
  17 +import com.huaheng.pc.icsShipment.icsShipmentDetail.service.ICSShipmentDetailService;
  18 +import com.huaheng.pc.icsShipment.icsShipmentHeader.domain.ICSShipmentHeader;
  19 +import com.huaheng.pc.icsShipment.icsShipmentHeader.service.ICSShipmentHeaderService;
  20 +import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
  21 +import com.huaheng.pc.shipment.shipmentDetail.service.IShipmentDetailService;
  22 +import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
  23 +import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentModel;
  24 +import com.huaheng.pc.shipment.shipmentHeader.service.IShipmentHeaderService;
  25 +import org.springframework.beans.factory.annotation.Autowired;
  26 +import org.springframework.stereotype.Service;
  27 +
  28 +import java.util.ArrayList;
  29 +import java.util.List;
  30 +
  31 +@Service
  32 +public class ICSShipmentService {
  33 +
  34 + @Autowired
  35 + private IShipmentHeaderService shipmentHeaderService;
  36 + @Autowired
  37 + IShipmentDetailService shipmentDetailService;
  38 + @Autowired
  39 + private IWarehouseService warehouseService;
  40 + @Autowired
  41 + private ICompanyService companyService;
  42 + @Autowired
  43 + private IMaterialService materialService;
  44 + @Autowired
  45 + private ICSShipmentHeaderService icsShipmentHeaderService;
  46 + @Autowired
  47 + private ICSShipmentDetailService icsShipmentDetailService;
  48 +
  49 + //u8-wms出库下发
  50 + public AjaxResult insertICSShipment(ICSShipmentModel icsShipmentModel){
  51 +
  52 + //获取主单和子单列
  53 + if(icsShipmentModel==null){
  54 + return AjaxResult.error("u8上传参数错误");
  55 + }
  56 + ICSShipmentHeader icsShipmentHeader=icsShipmentModel.getIcsShipmentHeader();
  57 + List<ICSShipmentDetail> icsShipmentDetails=icsShipmentModel.getIcsShipmentDetails();
  58 + if(icsShipmentHeader==null || icsShipmentDetails==null){
  59 + return AjaxResult.error("参数异常,不匹配");
  60 + }
  61 + //判断系统中有没有该货主
  62 + companyService.checkwarehouseCompany(icsShipmentHeader.getCompanyCode());
  63 +
  64 + //将主表插入到新的接收主表里去
  65 + int result=icsShipmentHeaderService.insertModel(icsShipmentHeader);
  66 + if(result<1){
  67 + return AjaxResult.error("出库主单传输失败!");
  68 + }
  69 +
  70 + //将子表插入到新的接收子表里去
  71 + for(ICSShipmentDetail item : icsShipmentDetails){
  72 + int result1=icsShipmentDetailService.insertModel(item);
  73 + if(result1<1){
  74 + return AjaxResult.error("出库子单传输失败!");
  75 + }
  76 + }
  77 +
  78 + //根据icsShipmentHeader生成shipmentHeader
  79 + String type=icsShipmentHeader.getcBusType();
  80 + ShipmentHeader shipmentHeader=new ShipmentHeader();
  81 + Warehouse warehouse=new Warehouse();
  82 + String warehouseCode=new String();
  83 + if(type.equals("调拨")){
  84 + warehouseCode=icsShipmentHeader.getoWHCode();
  85 + }else {
  86 + warehouseCode=icsShipmentHeader.getcWHCode();
  87 + }
  88 + warehouse.setCode(warehouseCode);
  89 + int warehouseId=warehouseService.selectFirstEntity(warehouse).getId();
  90 + Company company=new Company();
  91 + String companyCode=icsShipmentHeader.getCompanyCode();
  92 + company.setCode(companyCode);
  93 + int companyId=companyService.selectFirstEntity(company).getId();
  94 + String code = shipmentHeaderService.createCode(type);
  95 + shipmentHeader.setType(type);
  96 + shipmentHeader.setId(null);
  97 + shipmentHeader.setLastUpdated(null);
  98 + shipmentHeader.setLastUpdatedBy(ShiroUtils.getLoginName());
  99 + shipmentHeader.setCreated(null);
  100 + shipmentHeader.setCreatedBy(ShiroUtils.getLoginName());
  101 + shipmentHeader.setWarehouseId(warehouseId);
  102 + shipmentHeader.setWarehouseCode(warehouseCode);
  103 + shipmentHeader.setCompanyId(companyId);
  104 + shipmentHeader.setCompanyCode(companyCode);
  105 + shipmentHeader.setCode(code);
  106 + shipmentHeader.setUploadStatus(0);
  107 + if(type.equals("生产")){
  108 + shipmentHeader.setSourceCode(icsShipmentHeader.getMoCode());
  109 + }else if(type.equals("销售")){
  110 + shipmentHeader.setSourceCode(icsShipmentHeader.getcDLCode());
  111 + }else if(type.equals("调拨")){
  112 + shipmentHeader.setSourceCode(icsShipmentHeader.getcTVCode());
  113 + }
  114 + else {
  115 + shipmentHeader.setSourceCode(icsShipmentHeader.getcCode());
  116 + }
  117 +
  118 +
  119 +
  120 +
  121 + //根据icsShipmentDetail生成shipmentAetail
  122 + List<ShipmentDetail> shipmentDetails=new ArrayList<ShipmentDetail>();
  123 + for(ICSShipmentDetail icsShipmentDetail : icsShipmentDetails) {
  124 + //查找物料
  125 + Material material = new Material();
  126 + material.setCode(icsShipmentDetail.getcInvCode());
  127 + material=materialService.selectFirstEntity(material);
  128 +
  129 + ShipmentDetail shipmentDetail = new ShipmentDetail();
  130 + shipmentDetail.setId(null);
  131 + shipmentDetail.setWarehouseId(warehouseId);
  132 + shipmentDetail.setWarehouseCode(icsShipmentDetail.getcWHCode());
  133 + shipmentDetail.setMaterialId(material.getId());
  134 + shipmentDetail.setMaterialCode(material.getCode());
  135 + shipmentDetail.setCreated(null);
  136 + shipmentDetail.setCreatedBy(ShiroUtils.getLoginName());
  137 + shipmentDetail.setLastUpdated(null);
  138 + shipmentDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
  139 + shipmentDetail.setCompanyId(companyId);
  140 + shipmentDetail.setCompanyCode(icsShipmentDetail.getCompanyCode());
  141 + shipmentDetail.setShipmentId(shipmentHeader.getId());
  142 + shipmentDetail.setShipmentCode(shipmentHeader.getCode());
  143 + if (StringUtils.isNotEmpty(icsShipmentDetail.getIrowno().toString())) {
  144 + shipmentDetail.setSourceLine(icsShipmentDetail.getIrowno().toString());
  145 + }
  146 + if (StringUtils.isNotEmpty(icsShipmentDetail.getSortSeq().toString())) {
  147 + shipmentDetail.setSourceLine(icsShipmentDetail.getSortSeq().toString());
  148 + }
  149 + shipmentDetail.setQty(icsShipmentDetail.getcQuantity());
  150 + shipmentDetails.add(shipmentDetail);
  151 + }
  152 +
  153 + //调用公共API
  154 + ShipmentApi shipmentApi=new ShipmentApi();
  155 + ShipmentModel shipmentModel=new ShipmentModel();
  156 + shipmentModel.setShipmentHeader(shipmentHeader);
  157 + shipmentModel.setShipmentDetails(shipmentDetails);
  158 + return shipmentApi.insertShipment(shipmentModel);
  159 + }
  160 +
  161 +
  162 +
  163 + //wms-u8出库回传
  164 + public AjaxResult ICSShipmentAssign(String url){
  165 +
  166 + //先找到出库主单
  167 + ShipmentHeader shipmentHeader = new ShipmentHeader();
  168 + shipmentHeader.setLastStatus(300);
  169 + shipmentHeader = shipmentHeaderService.selectFirstEntity(shipmentHeader);
  170 + if (shipmentHeader == null) {
  171 + return AjaxResult.error("出库回传主单不存在");
  172 + }
  173 + ShipmentDetail shipmentDetail = new ShipmentDetail();
  174 +
  175 + shipmentDetail.setShipmentCode(shipmentHeader.getCode());
  176 + List<ShipmentDetail> shipmentDetails = shipmentDetailService.selectListEntityByEqual(shipmentDetail);
  177 + if (shipmentDetails == null) {
  178 + return AjaxResult.error("出库回传子单不存在");
  179 + }
  180 +
  181 + ICSShipmentHeader icsShipmentHeader=new ICSShipmentHeader();
  182 + String type=shipmentHeader.getType();
  183 + String code=shipmentHeader.getSourceCode();
  184 + List<ICSShipmentDetail> icsShipmentDetails=new ArrayList<ICSShipmentDetail>();
  185 + ICSShipmentDetail icsShipmentDetail=new ICSShipmentDetail();
  186 +
  187 +
  188 + //出库类型为采购的主单和子单
  189 + if(type.equals("采购")){
  190 + icsShipmentHeader.setcCode(code);
  191 + icsShipmentHeader=icsShipmentHeaderService.selectModel(icsShipmentHeader);
  192 + icsShipmentHeader.setID(shipmentHeader.getId());
  193 + icsShipmentDetail.setcCode(code);
  194 + icsShipmentDetails=icsShipmentDetailService.selectList(icsShipmentDetail);
  195 + for(ICSShipmentDetail item :icsShipmentDetails){
  196 + shipmentDetail.setShipmentCode(code);
  197 + shipmentDetail.setSourceLine(item.getIrowno().toString());
  198 + shipmentDetailService.selectFirstEntity(shipmentDetail);
  199 + item.setID(shipmentDetail.getId());
  200 + }
  201 + }
  202 +
  203 + //出库类型为材料或其他的主单和子单
  204 + if(type.equals("材料") || type.equals("其他")){
  205 + icsShipmentHeader.setcCode(code);
  206 + icsShipmentHeader=icsShipmentHeaderService.selectModel(icsShipmentHeader);
  207 + icsShipmentDetail.setcCode(code);
  208 + icsShipmentDetails=icsShipmentDetailService.selectList(icsShipmentDetail);
  209 + }
  210 +
  211 + //出库类型为销售的主单和子单
  212 + if(type.equals("销售")){
  213 + icsShipmentHeader.setcDLCode (code);
  214 + icsShipmentHeader=icsShipmentHeaderService.selectModel(icsShipmentHeader);
  215 + icsShipmentHeader.setcCode(shipmentHeader.getSourceCode());
  216 + icsShipmentHeader.setID(icsShipmentHeader.getDLID());
  217 + icsShipmentHeader.setdDate(icsShipmentHeader.getdPODate());
  218 + }
  219 +
  220 + //出库类型为调拨的主单和子单
  221 + if(type.equals("调拨")){
  222 + icsShipmentHeader.setcTVCode (code);
  223 + icsShipmentHeader=icsShipmentHeaderService.selectModel(icsShipmentHeader);
  224 + icsShipmentHeader.setcCode(shipmentHeader.getSourceCode());
  225 + icsShipmentHeader.setcWHCode(icsShipmentHeader.getoWHCode());
  226 + icsShipmentHeader.setcWHName(icsShipmentHeader.getoWHName());
  227 + }
  228 +
  229 +
  230 +
  231 + ICSShipmentModel model=new ICSShipmentModel();
  232 + model.setIcsShipmentHeader(icsShipmentHeader);
  233 + model.setIcsShipmentDetails(icsShipmentDetails);
  234 + String JsonParam = JSON.toJSONString(model);
  235 + String result = HttpUtils.sendPost(url, JsonParam);
  236 + AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class);
  237 + shipmentHeader.setFirstStatus(900);
  238 + shipmentHeader.setLastStatus(900);
  239 + shipmentHeaderService.updateByModel(shipmentHeader);
  240 + return ajaxResult;
  241 +
  242 + }
  243 +}
... ...
src/main/java/com/huaheng/mobile/inventory/MobileInventory.java
... ... @@ -8,7 +8,7 @@ public class MobileInventory {
8 8 private int id;
9 9 /** 库位编号 */
10 10 private String locationCode;
11   - /** 物料编码 */
  11 + /** 存货编码 */
12 12 private String materialCode;
13 13 /**物料名称 */
14 14 private String materialName;
... ...
src/main/java/com/huaheng/mobile/inventory/MobileInventoryController.java
... ... @@ -41,7 +41,7 @@ public class MobileInventoryController {
41 41 @PostMapping("/getInventoryInfo")
42 42 @ApiOperation("移动端获得库存详情")
43 43 @Log(title = "移动端获得库存详情", action = BusinessType.OTHER)
44   - public AjaxResult getInventoryInfo(@RequestBody @ApiParam(value="物料编码或者库位号") Map<String, String> param) {
  44 + public AjaxResult getInventoryInfo(@RequestBody @ApiParam(value="存货编码或者库位号") Map<String, String> param) {
45 45 if (param.get("code") == null || param.get("code").trim().length() < 1)
46 46 throw new JSONException("查询码(code)不能为空");
47 47 if (param.get("companyCode") == null || param.get("companyCode").trim().length() < 1)
... ...
src/main/java/com/huaheng/pc/general/customer/domain/ShipMaterialDetail.java
... ... @@ -7,7 +7,7 @@ public class ShipMaterialDetail {
7 7  
8 8 /** 仓库 */
9 9 private String warehouseCode;
10   - /** 物料编码 */
  10 + /** 存货编码 */
11 11 private String materialCode;
12 12 /** 发货数量 */
13 13 private BigDecimal qty = new BigDecimal(0);
... ...
src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java
... ... @@ -143,7 +143,7 @@ public class MaterialController extends BaseController
143 143 receiptDetail.setDeleted(false);
144 144 Map<String, Object> map = receiptDetailService.selectFirstMap("id", receiptDetail);
145 145 if (map != null) {
146   - return AjaxResult.error("物料编码(" + material.getCode() +")存在入库单,不能删除!");
  146 + return AjaxResult.error("存货编码(" + material.getCode() +")存在入库单,不能删除!");
147 147 }
148 148 material.setDeleted(true);
149 149 material.setLastUpdatedBy(ShiroUtils.getLoginName());
... ...
src/main/java/com/huaheng/pc/general/material/domain/Material.java
... ... @@ -24,7 +24,7 @@ public class Material extends BaseEntity
24 24 private Integer warehouseId;
25 25 /** 仓库编码 */
26 26 private String warehouseCode;
27   - /** 物料编码 */
  27 + /** 存货编码 */
28 28 private String code;
29 29 /** 物料类别 */
30 30 private String type;
... ...
src/main/java/com/huaheng/pc/general/material/service/MaterialServiceImpl.java
... ... @@ -90,7 +90,11 @@ public class MaterialServiceImpl implements IMaterialService {
90 90 material.getCompanyCodeList().add("");
91 91 material.setEnable(true);
92 92 material.setDeleted(false);
93   - material.setCode(materialCode);
  93 + if(materialCode.length() == 11) {
  94 + material.setCode(materialCode);
  95 + } else {
  96 + material.setUserDef1(materialCode);
  97 + }
94 98 Material result= selectFirstEntity(material);
95 99 if(result == null) {
96 100 material = new Material();
... ...
src/main/java/com/huaheng/pc/icsShipment/icsShipmentDetail/domain/ICSShipmentDetail.java
... ... @@ -28,7 +28,7 @@ public class ICSShipmentDetail implements Serializable {
28 28 private Integer AutoID;
29 29  
30 30 //采购单一类的行号
31   - private Integer rowno;
  31 + private Integer irowno;
32 32  
33 33 //项目号
34 34 private String cItemName ;
... ... @@ -155,12 +155,12 @@ public class ICSShipmentDetail implements Serializable {
155 155 AutoID = autoID;
156 156 }
157 157  
158   - public Integer getRowno() {
159   - return rowno;
  158 + public Integer getIrowno() {
  159 + return irowno;
160 160 }
161 161  
162   - public void setRowno(Integer rowno) {
163   - this.rowno = rowno;
  162 + public void setIrowno(Integer irowno) {
  163 + this.irowno = irowno;
164 164 }
165 165  
166 166 public String getcItemName() {
... ...
src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderService.java
... ... @@ -17,6 +17,4 @@ public interface ICSShipmentHeaderService {
17 17 //添加出库下发主单
18 18 int insertModel(ICSShipmentHeader condition);
19 19  
20   - AjaxResult inserModel(ICSShipmentHeader condition);
21   -
22 20 }
... ...
src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderServiceImpl.java
... ... @@ -31,16 +31,5 @@ public class ICSShipmentHeaderServiceImpl implements ICSShipmentHeaderService {
31 31 return icsShipmentHeaderMapper.insertModel(condition);
32 32 }
33 33  
34   - @Override
35   - public AjaxResult inserModel(ICSShipmentHeader condition) {
36   - int result=0;
37   - result=insertModel(condition);
38   - if(result<1){
39   - return AjaxResult.error("出库下发失败");
40   - }else {
41   - return AjaxResult.success("出库下发成功");
42   - }
43   - }
44   -
45 34  
46 35 }
... ...
src/main/java/com/huaheng/pc/inventory/cyclecountDetail/domain/CyclecountDetail.java
... ... @@ -38,7 +38,7 @@ public class CyclecountDetail extends BaseEntity
38 38 private String containerCode;
39 39 /** 物料Id */
40 40 private Integer materialId;
41   - /** 物料编码 */
  41 + /** 存货编码 */
42 42 private String materialCode;
43 43 //物料规格
44 44 private String materialSpecification;
... ...
src/main/java/com/huaheng/pc/inventory/cyclecountDetail/service/CyclecountDetailServiceImpl.java
... ... @@ -173,9 +173,9 @@ public class CyclecountDetailServiceImpl implements ICyclecountDetailService {
173 173 }else{
174 174 return AjaxResult.error("容器忙碌,请选择空闲容器!");
175 175 }
176   - //物料编码判定
  176 + //存货编码判定
177 177 Material temp = new Material();
178   - temp.setCode(cyclecountDetail.getMaterialCode());//物料编码
  178 + temp.setCode(cyclecountDetail.getMaterialCode());//存货编码
179 179 temp.setWarehouseId(cyclecountHeader.getWarehouseId());
180 180 temp.setDeleted(false);
181 181 Material material = materialService.selectFirstEntity(temp);
... ... @@ -186,9 +186,9 @@ public class CyclecountDetailServiceImpl implements ICyclecountDetailService {
186 186 return AjaxResult.error("物料不属于当前货主!");
187 187 }
188 188 if(material.getCode().equals(cyclecountDetail.getMaterialCode())){
189   - cyclecountDetail2.setMaterialCode(cyclecountDetail.getMaterialCode());//物料编码
  189 + cyclecountDetail2.setMaterialCode(cyclecountDetail.getMaterialCode());//存货编码
190 190 }else{
191   - return AjaxResult.error("物料编码错误!");
  191 + return AjaxResult.error("存货编码错误!");
192 192 }
193 193  
194 194 cyclecountDetail2.setMaterialSpecification(material.getSpecification()); //物料规格
... ...
src/main/java/com/huaheng/pc/inventory/inventory/domain/Inventory.java
... ... @@ -43,8 +43,10 @@ public class Inventory extends BaseEntity
43 43 private String companyCode;
44 44 /** 物料Id */
45 45 private Integer materialId;
46   - /** 物料编码 */
  46 + /** 存货编码 */
47 47 private String materialCode;
  48 + /** 物料代码 */
  49 + private String materialOldCode;
48 50 /** 物料名称 */
49 51 private String materialName;
50 52 /** 物料类别 */
... ... @@ -205,6 +207,16 @@ public class Inventory extends BaseEntity
205 207 {
206 208 return materialCode;
207 209 }
  210 +
  211 + public String getMaterialOldCode() {
  212 + return materialOldCode;
  213 + }
  214 +
  215 + public Inventory setMaterialOldCode(String materialOldCode) {
  216 + this.materialOldCode = materialOldCode;
  217 + return this;
  218 + }
  219 +
208 220 public void setMaterialName(String materialName)
209 221 {
210 222 this.materialName = materialName;
... ...
src/main/java/com/huaheng/pc/inventory/inventory/domain/InventorySearch.java
... ... @@ -31,7 +31,7 @@ public class InventorySearch extends BaseEntity {
31 31 private String companyCode;
32 32 /** 物料Id */
33 33 private Integer materialId;
34   - /** 物料编码 */
  34 + /** 存货编码 */
35 35 private String materialCode;
36 36 /** 物料名称 */
37 37 private String materialName;
... ...
src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java
... ... @@ -43,7 +43,7 @@ public class InventoryTransaction extends BaseEntity
43 43 private String companyCode;
44 44 /** 物料Id */
45 45 private Integer materialId;
46   - /** 物料编码 */
  46 + /** 存货编码 */
47 47 private String materialCode;
48 48 /** 物料名称 */
49 49 private String materialName;
... ...
src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java
... ... @@ -27,9 +27,9 @@ public class ReceiptContainerDetail extends BaseEntity
27 27 private Integer receiptId;
28 28 /** 入库单明细id号 */
29 29 private Integer receiptDetailId;
30   - /** 物料编码 */
  30 + /** 存货编码 */
31 31 private String materialCode;
32   - /** 物料编码 */
  32 + /** 存货编码 */
33 33 private String materialName;
34 34 /** 物料规格 */
35 35 private String materialSpec;
... ...
src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java
... ... @@ -38,7 +38,7 @@ public class ReceiptDetail extends BaseEntity
38 38 private String receiptCode;
39 39 /** 物料Id */
40 40 private Integer materialId;
41   - /** 物料编码 */
  41 + /** 存货编码 */
42 42 private String materialCode;
43 43 /** 物料名称 */
44 44 private String materialName;
... ...
src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java
... ... @@ -31,7 +31,7 @@ public class ReceiptDetailHistory extends BaseEntity
31 31 private String receiptCode;
32 32 /** 物料Id */
33 33 private Integer materialId;
34   - /** 物料编码 */
  34 + /** 存货编码 */
35 35 private String materialCode;
36 36 /** 批次 */
37 37 private String batch;
... ...
src/main/java/com/huaheng/pc/receipt/receiptHeader/domain/ReceiptModel.java 0 → 100644
  1 +package com.huaheng.pc.receipt.receiptHeader.domain;
  2 +
  3 +import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail;
  4 +
  5 +import java.util.List;
  6 +
  7 +public class ReceiptModel {
  8 + private ReceiptHeader receiptHeader;
  9 + private List<ReceiptDetail> receiptDetails;
  10 +
  11 + public ReceiptHeader getReceiptHeader() {
  12 + return receiptHeader;
  13 + }
  14 +
  15 + public void setReceiptHeader(ReceiptHeader receiptHeader) {
  16 + this.receiptHeader = receiptHeader;
  17 + }
  18 +
  19 + public List<ReceiptDetail> getReceiptDetails() {
  20 + return receiptDetails;
  21 + }
  22 +
  23 + public void setReceiptDetails(List<ReceiptDetail> receiptDetails) {
  24 + this.receiptDetails = receiptDetails;
  25 + }
  26 +}
... ...
src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java
... ... @@ -27,7 +27,7 @@ public class ShipmentContainerDetail extends BaseEntity
27 27 private Integer shipmentHeaderId;
28 28 /** 出库明细id号 */
29 29 private Integer shipmentDetailId;
30   - /** 物料编码 */
  30 + /** 存货编码 */
31 31 private String materialCode;
32 32 /** 物料名称 */
33 33 private String materialName;
... ...
src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
... ... @@ -161,7 +161,7 @@ public class ShipmentContainerHeaderServiceImpl implements IShipmentContainerHea
161 161 if (shipmentQty.compareTo(BigDecimal.ZERO) <= 0) {
162 162 continue;
163 163 }
164   - // 根据 仓库编码、货主编码、物料编码,物料状态来查找可以出库的物料
  164 + // 根据 仓库编码、货主编码、存货编码,物料状态来查找可以出库的物料
165 165 ShippingSearch search = new ShippingSearch();
166 166 search.setWarehouseCode(ShiroUtils.getWarehouseCode());
167 167 search.setCompanyCode(item.getCompanyCode());
... ...
src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java
... ... @@ -10,7 +10,6 @@ import com.huaheng.pc.general.material.domain.Material;
10 10 import com.huaheng.pc.general.material.service.IMaterialService;
11 11 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
12 12 import com.huaheng.pc.shipment.shipmentDetail.service.IShipmentDetailService;
13   -import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail;
14 13 import org.apache.shiro.authz.annotation.RequiresPermissions;
15 14 import org.springframework.beans.factory.annotation.Autowired;
16 15 import org.springframework.stereotype.Controller;
... ... @@ -88,9 +87,9 @@ public class ShipmentDetailController extends BaseController
88 87 @Log(title = "出库-出库单", operating= "新增出库明细", action = BusinessType.INSERT)
89 88 @PostMapping("/add")
90 89 @ResponseBody
91   - public AjaxResult addSave(ICSShipmentDetail uwshipmentDetail)
  90 + public AjaxResult addSave(ShipmentDetail shipmentDetail)
92 91 {
93   - return shipmentDetailService.insertDetail(uwshipmentDetail);
  92 + return shipmentDetailService.insertDetail(shipmentDetail);
94 93 }
95 94  
96 95 /**
... ...
src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java
... ... @@ -38,7 +38,7 @@ public class ShipmentDetail extends BaseEntity implements Cloneable
38 38 private String shipmentCode;
39 39 /** 物料Id */
40 40 private Integer materialId;
41   - /** 物料编码 */
  41 + /** 存货编码 */
42 42 private String materialCode;
43 43 /** 物料名称 */
44 44 private String materialName;
... ...
src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/IShipmentDetailService.java
... ... @@ -5,7 +5,6 @@ import com.huaheng.mobile.shipment.ShipmentBill;
5 5 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
6 6 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetailSearchModel;
7 7 import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
8   -import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail;
9 8  
10 9 import java.util.List;
11 10 import java.util.Map;
... ... @@ -44,7 +43,7 @@ public interface IShipmentDetailService {
44 43  
45 44 AjaxResult<List<ShipmentDetail>> listDetails(ShipmentDetailSearchModel shipmentDetailSearchModel);
46 45  
47   - AjaxResult insertDetail(ICSShipmentDetail uwshipmentDetail);
  46 + AjaxResult insertDetail(ShipmentDetail shipmentDetail);
48 47  
49 48 AjaxResult updateDetail(ShipmentDetail shipmentDetail);
50 49  
... ...
src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java
... ... @@ -7,15 +7,12 @@ import com.huaheng.framework.web.domain.AjaxResult;
7 7 import com.huaheng.mobile.shipment.ShipmentBill;
8 8 import com.huaheng.pc.general.material.domain.Material;
9 9 import com.huaheng.pc.general.material.service.MaterialServiceImpl;
10   -import com.huaheng.pc.icsShipment.icsShipmentHeader.domain.ICSShipmentHeader;
11   -import com.huaheng.pc.icsShipment.icsShipmentHeader.service.ICSShipmentHeaderService;
12 10 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
13 11 import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetailSearchModel;
14 12 import com.huaheng.pc.shipment.shipmentDetail.mapper.ShipmentDetailMapper;
15 13 import com.huaheng.pc.shipment.shipmentDetail.mapper.ShipmentDetailMapperAuto;
16 14 import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
17 15 import com.huaheng.pc.shipment.shipmentHeader.service.IShipmentHeaderService;
18   -import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail;
19 16 import org.springframework.beans.factory.annotation.Autowired;
20 17 import org.springframework.stereotype.Service;
21 18  
... ... @@ -43,8 +40,6 @@ public class ShipmentDetailServiceImpl implements IShipmentDetailService {
43 40 private ShipmentDetailMapper shipmentDetailMapper;
44 41 @Autowired
45 42 private MaterialServiceImpl materialService;
46   - @Autowired
47   - private ICSShipmentHeaderService icsShipmentHeaderService;
48 43  
49 44 public List<ShipmentDetail> selectListEntityByLike(ShipmentDetail condition) {
50 45 List<ShipmentDetail> shipmentDetails = aotuMapper.selectListEntityByLike(condition);
... ... @@ -117,30 +112,12 @@ public class ShipmentDetailServiceImpl implements IShipmentDetailService {
117 112 /**
118 113 * 新增出库明细
119 114 *
120   - * @param icsShipmentDetail
  115 + * @param shipmentDetail
121 116 * @return
122 117 */
123 118 @Override
124   - public AjaxResult insertDetail(ICSShipmentDetail icsShipmentDetail) {
125   - ShipmentHeader shipmentHeader = new ShipmentHeader();
126   - ICSShipmentHeader icsShipmentHeader=new ICSShipmentHeader();
127   - if(StringUtils.isNotEmpty(icsShipmentDetail.getDLID().toString())){
128   - icsShipmentHeader.setDLID(icsShipmentDetail.getDLID());
129   - shipmentHeader.setSourceCode(icsShipmentHeaderService.selectModel(icsShipmentHeader).getcDLCode());
130   - shipmentHeader=shipmentHeaderService.selectFirstEntity(shipmentHeader);
131   - }else if(StringUtils.isNotEmpty(icsShipmentDetail.getMoId().toString())){
132   - icsShipmentHeader.setMoId(icsShipmentDetail.getMoId());
133   - shipmentHeader.setSourceCode(icsShipmentHeaderService.selectModel(icsShipmentHeader).getMoCode());
134   - shipmentHeader=shipmentHeaderService.selectFirstEntity(shipmentHeader);
135   - }else if(StringUtils.isNotEmpty(icsShipmentDetail.getcCode())){
136   - shipmentHeader.setSourceCode(icsShipmentDetail.getcCode());
137   - shipmentHeader=shipmentHeaderService.selectFirstEntity(shipmentHeader);
138   - }else {
139   - icsShipmentHeader.setID(icsShipmentDetail.getID());
140   - shipmentHeader.setSourceCode(icsShipmentHeaderService.selectModel(icsShipmentHeader).getcTVCode());
141   - shipmentHeader=shipmentHeaderService.selectFirstEntity(shipmentHeader);
142   - }
143   -
  119 + public AjaxResult insertDetail(ShipmentDetail shipmentDetail) {
  120 + ShipmentHeader shipmentHeader = shipmentHeaderService.selectEntityById(shipmentDetail.getShipmentId());
144 121 if (shipmentHeader == null) {
145 122 return AjaxResult.error("找不到主单据");
146 123 }
... ... @@ -149,38 +126,27 @@ public class ShipmentDetailServiceImpl implements IShipmentDetailService {
149 126 return AjaxResult.error("主单据状态不允许新增明细");
150 127 }
151 128 Material material = new Material();
152   - material.setCode(icsShipmentDetail.getcInvCode());
153   - material.setWarehouseId(icsShipmentDetail.getWarehouseId());
  129 + material.setCode(shipmentDetail.getMaterialCode());
  130 + material.setWarehouseId(ShiroUtils.getWarehouseId());
154 131 material = materialService.selectFirstEntity(material);
155 132 if (material == null) {
156 133 return AjaxResult.error("物料未找到");
157 134 }
158 135 if (StringUtils.isNotEmpty(material.getCompanyCode()) &&
159   - material.getCompanyCode()!=icsShipmentDetail.getCompanyCode())
  136 + ShiroUtils.getCompanyCodeList().contains(material.getCompanyCode()) == false)
160 137 {
161 138 return AjaxResult.error("物料不属于当前货主!");
162 139 }
163   - ShipmentDetail shipmentDetail=new ShipmentDetail();
164 140 shipmentDetail.setId(null);
165   - shipmentDetail.setWarehouseId(icsShipmentDetail.getWarehouseId());
166   - shipmentDetail.setWarehouseCode(icsShipmentDetail.getcWHCode());
  141 + shipmentDetail.setWarehouseId(ShiroUtils.getWarehouseId());
  142 + shipmentDetail.setWarehouseCode(ShiroUtils.getWarehouseCode());
167 143 shipmentDetail.setMaterialId(material.getId());
168 144 shipmentDetail.setMaterialCode(material.getCode());
  145 + shipmentDetail.setMaterialName(material.getName());
169 146 shipmentDetail.setCreated(null);
170 147 shipmentDetail.setCreatedBy(ShiroUtils.getLoginName());
171 148 shipmentDetail.setLastUpdated(null);
172 149 shipmentDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
173   - shipmentDetail.setCompanyId(icsShipmentDetail.getCompanyId());
174   - shipmentDetail.setCompanyCode(icsShipmentDetail.getCompanyCode());
175   - shipmentDetail.setShipmentId(shipmentHeader.getId());
176   - shipmentDetail.setShipmentCode(shipmentHeader.getCode());
177   - if(StringUtils.isNotEmpty(icsShipmentDetail.getRowno().toString())) {
178   - shipmentDetail.setSourceLine(icsShipmentDetail.getRowno().toString());
179   - }
180   - if(StringUtils.isNotEmpty(icsShipmentDetail.getSortSeq().toString())) {
181   - shipmentDetail.setSourceLine(icsShipmentDetail.getSortSeq().toString());
182   - }
183   - shipmentDetail.setQty(icsShipmentDetail.getcQuantity());
184 150 if (this.insert(shipmentDetail) > 0){
185 151 //更新单据总行数与总数量
186 152 shipmentHeader.setTotalLines(shipmentHeader.getTotalLines() + 1);
... ...
src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/domain/ShipmentDetailHistory.java
... ... @@ -31,7 +31,7 @@ public class ShipmentDetailHistory extends BaseEntity
31 31 private String shipmentCode;
32 32 /** 物料Id */
33 33 private Integer materialId;
34   - /** 物料编码 */
  34 + /** 存货编码 */
35 35 private String materialCode;
36 36 /** 批次 */
37 37 private String batch;
... ...
src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentModel.java 0 → 100644
  1 +package com.huaheng.pc.shipment.shipmentHeader.domain;
  2 +
  3 +import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail;
  4 +
  5 +import java.util.List;
  6 +
  7 +public class ShipmentModel {
  8 + private ShipmentHeader shipmentHeader;
  9 + private List<ShipmentDetail> shipmentDetails;
  10 +
  11 + public ShipmentHeader getShipmentHeader() {
  12 + return shipmentHeader;
  13 + }
  14 +
  15 + public void setShipmentHeader(ShipmentHeader shipmentHeader) {
  16 + this.shipmentHeader = shipmentHeader;
  17 + }
  18 +
  19 + public List<ShipmentDetail> getShipmentDetails() {
  20 + return shipmentDetails;
  21 + }
  22 +
  23 + public void setShipmentDetails(List<ShipmentDetail> shipmentDetails) {
  24 + this.shipmentDetails = shipmentDetails;
  25 + }
  26 +}
... ...
src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/IShipmentHeaderService.java
... ... @@ -86,6 +86,8 @@ public interface IShipmentHeaderService {
86 86 Integer createTodayShipmentHeader(String companyId, String companyCode);
87 87  
88 88 void statistics(Integer shipmentId);
  89 +
  90 + String createCode(String shipmentType);
89 91 }
90 92  
91 93  
... ...
src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java
... ... @@ -363,7 +363,7 @@ public class ShipmentHeaderServiceImpl implements IShipmentHeaderService {
363 363 }
364 364 }
365 365  
366   - private String createCode(String shipmentType)
  366 + public String createCode(String shipmentType)
367 367 {
368 368 String code = null;
369 369 Date now = new Date();
... ...
src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java
... ... @@ -38,7 +38,7 @@ public class TaskDetail extends BaseEntity
38 38 private Integer billDetailId;
39 39 /** 单据编码 */
40 40 private String billCode;
41   - /** 物料编码 */
  41 + /** 存货编码 */
42 42 private String materialCode;
43 43 /** 物料名称 */
44 44 private String materialName;
... ...
src/main/resources/mybatis/general/MaterialMapperAuto.xml
... ... @@ -32,8 +32,9 @@
32 32 <if test="companyCode != null and companyCode != '' ">
33 33 AND companyCode = #{companyCode}
34 34 </if>
35   - <if test="code != null and code != '' ">
36   - AND code = #{code}
  35 + <if test="code != null and code != '' ">
  36 + <bind name="codePattern" value="'%' + code + '%'" />
  37 + AND code like #{codePattern}
37 38 </if>
38 39 <if test="type != null and type != '' ">
39 40 AND type = #{type}
... ...
src/main/resources/mybatis/icsShipment/ICSShipmentDetailMapper.xml
... ... @@ -13,8 +13,8 @@
13 13 <if test="AutoID != null">
14 14 AutoID,
15 15 </if>
16   - <if test="rowno != null">
17   - rowno,
  16 + <if test="irowno != null">
  17 + irowno,
18 18 </if>
19 19 <if test="cItemName != null">
20 20 cItemName,
... ... @@ -108,8 +108,8 @@
108 108 <if test="AutoID != null">
109 109 #{AutoID, jdbcType=INTEGER},
110 110 </if>
111   - <if test="rowno != null">
112   - #{rowno, jdbcType=INTEGER},
  111 + <if test="irowno != null">
  112 + #{irowno, jdbcType=INTEGER},
113 113 </if>
114 114 <if test="cItemName != null">
115 115 #{cItemName, jdbcType=VARCHAR},
... ... @@ -197,7 +197,7 @@
197 197  
198 198 <select id="selectModel"
199 199 resultType="com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail">
200   - SELECT cCode, ID, AutoID,rowno,cItemName, DLID, cSOCode, cSOID, cSOAutoID , MoId, MoDId,MoCode, SortSeq, cWHCode,cWHName,cInvCode,cInvName,cInvStd,iQuantity,cQuantity,cComUnitName,StartDate,DueDate,CompanyCode,cModifyDate,cMemo,iMaIDs, POCode, POID, PODID, iTrIds, iDLsID
  200 + SELECT cCode, ID, AutoID,irowno,cItemName, DLID, cSOCode, cSOID, cSOAutoID , MoId, MoDId,MoCode, SortSeq, cWHCode,cWHName,cInvCode,cInvName,cInvStd,iQuantity,cQuantity,cComUnitName,StartDate,DueDate,CompanyCode,cModifyDate,cMemo,iMaIDs, POCode, POID, PODID, iTrIds, iDLsID
201 201 from icsShipment_detail
202 202 <where>
203 203 <if test="cCode != null">
... ... @@ -212,8 +212,8 @@
212 212 <if test="cItemName != null">
213 213 AND cItemName = #{cItemName}
214 214 </if>
215   - <if test="rowno != null">
216   - AND rowno = #{rowno}
  215 + <if test="irowno != null">
  216 + AND irowno = #{irowno}
217 217 </if>
218 218 <if test="DLID != null">
219 219 AND DLID = #{DLID}
... ... @@ -300,5 +300,106 @@
300 300  
301 301 </select>
302 302  
303   - <select id="selectList" resultType="com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail"></select>
  303 + <select id="selectList" resultType="com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail">
  304 + SELECT cCode, ID, AutoID,irowno,cItemName, DLID, cSOCode, cSOID, cSOAutoID , MoId, MoDId,MoCode, SortSeq, cWHCode,cWHName,cInvCode,cInvName,cInvStd,iQuantity,cQuantity,cComUnitName,StartDate,DueDate,CompanyCode,cModifyDate,cMemo,iMaIDs, POCode, POID, PODID, iTrIds, iDLsID
  305 + from icsShipment_detail
  306 + <where>
  307 + <if test="cCode != null">
  308 + AND cCode = #{cCode}
  309 + </if>
  310 + <if test="ID != null">
  311 + AND ID = #{ID}
  312 + </if>
  313 + <if test="AutoID != null">
  314 + AND AutoID = #{AutoID}
  315 + </if>
  316 + <if test="cItemName != null">
  317 + AND cItemName = #{cItemName}
  318 + </if>
  319 + <if test="irowno != null">
  320 + AND irowno = #{irowno}
  321 + </if>
  322 + <if test="DLID != null">
  323 + AND DLID = #{DLID}
  324 + </if>
  325 + <if test="cSOCode != null">
  326 + AND cSOCode = #{cSOCode}
  327 + </if>
  328 + <if test="cSOID != null">
  329 + AND cSOID = #{cSOID}
  330 + </if>
  331 + <if test="cSOAutoID != null">
  332 + AND cSOAutoID = #{cSOAutoID}
  333 + </if>
  334 + <if test="MoId != null">
  335 + AND MoId = #{MoId}
  336 + </if>
  337 + <if test="MoDId != null">
  338 + AND MoDId = #{MoDId}
  339 + </if>
  340 + <if test="MoCode != null">
  341 + AND MoCode = #{MoCode}
  342 + </if>
  343 + <if test="SortSeq != null">
  344 + AND SortSeq = #{SortSeq}
  345 + </if>
  346 + <if test="cWHCode != null">
  347 + AND cWHCode = #{cWHCode}
  348 + </if>
  349 + <if test="cWHName != null">
  350 + AND cWHName = #{cWHName}
  351 + </if>
  352 + <if test="cInvCode != null">
  353 + AND cInvCode = #{cInvCode}
  354 + </if>
  355 + <if test="cInvName != null">
  356 + AND cInvName = #{cInvName}
  357 + </if>
  358 + <if test="cInvStd != null">
  359 + AND cInvStd = #{cInvStd}
  360 + </if>
  361 + <if test="iQuantity != null">
  362 + AND iQuantity = #{iQuantity}
  363 + </if>
  364 + <if test="cQuantity != null">
  365 + AND cQuantity = #{cQuantity}
  366 + </if>
  367 + <if test="cComUnitName != null">
  368 + AND cComUnitName = #{cComUnitName}
  369 + </if>
  370 + <if test="StartDate != null">
  371 + AND StartDate = #{StartDate}
  372 + </if>
  373 + <if test="DueDate != null">
  374 + AND DueDate = #{DueDate}
  375 + </if>
  376 + <if test="CompanyCode != null">
  377 + AND CompanyCode = #{CompanyCode}
  378 + </if>
  379 + <if test="cModifyDate != null">
  380 + AND cModifyDate = #{cModifyDate}
  381 + </if>
  382 + <if test="cMemo != null">
  383 + AND cMemo = #{cMemo}
  384 + </if>
  385 + <if test="iMaIDs != null">
  386 + AND iMaIDs = #{iMaIDs}
  387 + </if>
  388 + <if test="POCode != null">
  389 + AND POCode = #{POCode}
  390 + </if>
  391 + <if test="POID != null">
  392 + AND POID = #{POID}
  393 + </if>
  394 + <if test="PODID != null">
  395 + AND PODID = #{PODID}
  396 + </if>
  397 + <if test="iTrIds != null">
  398 + AND iTrIds = #{iTrIds}
  399 + </if>
  400 + <if test="iDLsID != null">
  401 + AND iDLsID = #{iDLsID}
  402 + </if>
  403 + </where>
  404 + </select>
304 405 </mapper>
305 406 \ No newline at end of file
... ...
src/main/resources/mybatis/icsShipment/ICSShipmentHeaderMapper.xml
... ... @@ -4,7 +4,7 @@
4 4  
5 5 <select id="selectModel"
6 6 resultType="com.huaheng.pc.icsShipment.icsShipmentHeader.domain.ICSShipmentHeader">
7   - SELECT cCode, ID, dPODate, cVenCode, cVenName, cBusType, cDepCode, cDepName, cPersonCode, cPersonName, cMemo, cMaker, cVerifier, CompanyCode, cModifyDate, dDate, cRDName, cWHCode, cWHName, MoId, MoCode, DLID, cDLCode, cCusCode, cCusName, cSTName
  7 + SELECT cCode, ID, dPODate, cVenCode, cVenName, cBusType, cDepCode, cDepName, cPersonCode, cPersonName, cMemo, cMaker, cVerifier, CompanyCode, cModifyDate,cTVCode, dDate, cRDName, cWHCode, cWHName,oWHCode, oWHName, MoId, MoCode, DLID, cDLCode, cCusCode, cCusName, cSTName
8 8 from icsShipment_header
9 9 <where>
10 10 <if test="cCode != null">
... ... @@ -61,6 +61,15 @@
61 61 <if test="cWHCode != null">
62 62 AND cWHCode = #{cWHCode}
63 63 </if>
  64 + <if test="cWHName != null">
  65 + AND cWHName = #{cWHName}
  66 + </if>
  67 + <if test="oWHCode != null">
  68 + AND oWHCode = #{oWHCode}
  69 + </if>
  70 + <if test="oWHName != null">
  71 + AND oWHName = #{oWHName}
  72 + </if>
64 73 <if test="cTVCode != null">
65 74 AND cTVCode = #{cTVCode}
66 75 </if>
... ... @@ -151,6 +160,12 @@
151 160 <if test="cWHName != null">
152 161 cWHName,
153 162 </if>
  163 + <if test="oWHCode != null">
  164 + oWHCode,
  165 + </if>
  166 + <if test="oWHName != null">
  167 + oWHName,
  168 + </if>
154 169 <if test="cTVCode != null">
155 170 cTVCode,
156 171 </if>
... ... @@ -234,6 +249,12 @@
234 249 <if test="cWHName != null">
235 250 #{cWHName, jdbcType=VARCHAR},
236 251 </if>
  252 + <if test="oWHCode != null">
  253 + #{oWHCode, jdbcType=VARCHAR},
  254 + </if>
  255 + <if test="oWHName != null">
  256 + #{oWHName, jdbcType=VARCHAR},
  257 + </if>
237 258 <if test="cTVCode != null">
238 259 #{cTVCode, jdbcType=VARCHAR},
239 260 </if>
... ...
src/main/resources/mybatis/shipment/ShippingCombinationMapper.xml
... ... @@ -7,7 +7,7 @@
7 7 i.receiptId, i.receiptCode, i.receiptDetailId, i.batch, i.lot, i.project, i.manufactureDate,
8 8 i.expirationDate, i.status, i.qty, i.taskQty, i.costPrice, i.listPrice, i.netPrice, i.created,
9 9 i.createdBy, i.lastUpdated, i.lastUpdatedBy, i.userDef1, i.userDef2, i.userDef3, i.deleted,
10   - m.name materialName
  10 + m.name materialName, m.userDef1 materialOldCode
11 11 FROM inventory i
12 12 INNER JOIN material m ON i.materialCode = m.code
13 13 AND i.companyCode=#{companyCode}
... ...
src/main/resources/static/js/qrcode/jquery-qrcode-0.14.0.min.js deleted
1   -/*! jquery-qrcode v0.14.0 - https://larsjung.de/jquery-qrcode/ */
2   -!function(r){"use strict";function t(t,e,n,o){function a(r,t){return r-=o,t-=o,0>r||r>=c||0>t||t>=c?!1:f.isDark(r,t)}function i(r,t,e,n){var o=u.isDark,a=1/l;u.isDark=function(i,u){var f=u*a,c=i*a,l=f+a,g=c+a;return o(i,u)&&(r>l||f>e||t>g||c>n)}}var u={},f=r(n,e);f.addData(t),f.make(),o=o||0;var c=f.getModuleCount(),l=f.getModuleCount()+2*o;return u.text=t,u.level=e,u.version=n,u.moduleCount=l,u.isDark=a,u.addBlank=i,u}function e(r,e,n,o,a){n=Math.max(1,n||1),o=Math.min(40,o||40);for(var i=n;o>=i;i+=1)try{return t(r,e,i,a)}catch(u){}}function n(r,t,e){var n=e.size,o="bold "+e.mSize*n+"px "+e.fontname,a=w("<canvas/>")[0].getContext("2d");a.font=o;var i=a.measureText(e.label).width,u=e.mSize,f=i/n,c=(1-f)*e.mPosX,l=(1-u)*e.mPosY,g=c+f,s=l+u,v=.01;1===e.mode?r.addBlank(0,l-v,n,s+v):r.addBlank(c-v,l-v,g+v,s+v),t.fillStyle=e.fontcolor,t.font=o,t.fillText(e.label,c*n,l*n+.75*e.mSize*n)}function o(r,t,e){var n=e.size,o=e.image.naturalWidth||1,a=e.image.naturalHeight||1,i=e.mSize,u=i*o/a,f=(1-u)*e.mPosX,c=(1-i)*e.mPosY,l=f+u,g=c+i,s=.01;3===e.mode?r.addBlank(0,c-s,n,g+s):r.addBlank(f-s,c-s,l+s,g+s),t.drawImage(e.image,f*n,c*n,u*n,i*n)}function a(r,t,e){w(e.background).is("img")?t.drawImage(e.background,0,0,e.size,e.size):e.background&&(t.fillStyle=e.background,t.fillRect(e.left,e.top,e.size,e.size));var a=e.mode;1===a||2===a?n(r,t,e):(3===a||4===a)&&o(r,t,e)}function i(r,t,e,n,o,a,i,u){r.isDark(i,u)&&t.rect(n,o,a,a)}function u(r,t,e,n,o,a,i,u,f,c){i?r.moveTo(t+a,e):r.moveTo(t,e),u?(r.lineTo(n-a,e),r.arcTo(n,e,n,o,a)):r.lineTo(n,e),f?(r.lineTo(n,o-a),r.arcTo(n,o,t,o,a)):r.lineTo(n,o),c?(r.lineTo(t+a,o),r.arcTo(t,o,t,e,a)):r.lineTo(t,o),i?(r.lineTo(t,e+a),r.arcTo(t,e,n,e,a)):r.lineTo(t,e)}function f(r,t,e,n,o,a,i,u,f,c){i&&(r.moveTo(t+a,e),r.lineTo(t,e),r.lineTo(t,e+a),r.arcTo(t,e,t+a,e,a)),u&&(r.moveTo(n-a,e),r.lineTo(n,e),r.lineTo(n,e+a),r.arcTo(n,e,n-a,e,a)),f&&(r.moveTo(n-a,o),r.lineTo(n,o),r.lineTo(n,o-a),r.arcTo(n,o,n-a,o,a)),c&&(r.moveTo(t+a,o),r.lineTo(t,o),r.lineTo(t,o-a),r.arcTo(t,o,t+a,o,a))}function c(r,t,e,n,o,a,i,c){var l=r.isDark,g=n+a,s=o+a,v=e.radius*a,h=i-1,d=i+1,w=c-1,m=c+1,y=l(i,c),T=l(h,w),p=l(h,c),B=l(h,m),A=l(i,m),E=l(d,m),k=l(d,c),M=l(d,w),C=l(i,w);y?u(t,n,o,g,s,v,!p&&!C,!p&&!A,!k&&!A,!k&&!C):f(t,n,o,g,s,v,p&&C&&T,p&&A&&B,k&&A&&E,k&&C&&M)}function l(r,t,e){var n,o,a=r.moduleCount,u=e.size/a,f=i;for(e.radius>0&&e.radius<=.5&&(f=c),t.beginPath(),n=0;a>n;n+=1)for(o=0;a>o;o+=1){var l=e.left+o*u,g=e.top+n*u,s=u;f(r,t,e,l,g,s,n,o)}if(w(e.fill).is("img")){t.strokeStyle="rgba(0,0,0,0.5)",t.lineWidth=2,t.stroke();var v=t.globalCompositeOperation;t.globalCompositeOperation="destination-out",t.fill(),t.globalCompositeOperation=v,t.clip(),t.drawImage(e.fill,0,0,e.size,e.size),t.restore()}else t.fillStyle=e.fill,t.fill()}function g(r,t){var n=e(t.text,t.ecLevel,t.minVersion,t.maxVersion,t.quiet);if(!n)return null;var o=w(r).data("qrcode",n),i=o[0].getContext("2d");return a(n,i,t),l(n,i,t),o}function s(r){var t=w("<canvas/>").attr("width",r.size).attr("height",r.size);return g(t,r)}function v(r){return w("<img/>").attr("src",s(r)[0].toDataURL("image/png"))}function h(r){var t=e(r.text,r.ecLevel,r.minVersion,r.maxVersion,r.quiet);if(!t)return null;var n,o,a=r.size,i=r.background,u=Math.floor,f=t.moduleCount,c=u(a/f),l=u(.5*(a-c*f)),g={position:"relative",left:0,top:0,padding:0,margin:0,width:a,height:a},s={position:"absolute",padding:0,margin:0,width:c,height:c,"background-color":r.fill},v=w("<div/>").data("qrcode",t).css(g);for(i&&v.css("background-color",i),n=0;f>n;n+=1)for(o=0;f>o;o+=1)t.isDark(n,o)&&w("<div/>").css(s).css({left:l+o*c,top:l+n*c}).appendTo(v);return v}function d(r){return m&&"canvas"===r.render?s(r):m&&"image"===r.render?v(r):h(r)}var w=window.jQuery,m=function(){var r=document.createElement("canvas");return!(!r.getContext||!r.getContext("2d"))}(),y={render:"canvas",minVersion:1,maxVersion:40,ecLevel:"L",left:0,top:0,size:200,fill:"#000",background:null,text:"no text",radius:0,quiet:0,mode:0,mSize:.1,mPosX:.5,mPosY:.5,label:"no label",fontname:"sans",fontcolor:"#000",image:null};w.fn.qrcode=function(r){var t=w.extend({},y,r);return this.each(function(r,e){"canvas"===e.nodeName.toLowerCase()?g(e,t):w(e).append(d(t))})}}(function(){var r=function(){function r(t,e){if("undefined"==typeof t.length)throw new Error(t.length+"/"+e);var n=function(){for(var r=0;r<t.length&&0==t[r];)r+=1;for(var n=new Array(t.length-r+e),o=0;o<t.length-r;o+=1)n[o]=t[o+r];return n}(),o={};return o.getAt=function(r){return n[r]},o.getLength=function(){return n.length},o.multiply=function(t){for(var e=new Array(o.getLength()+t.getLength()-1),n=0;n<o.getLength();n+=1)for(var a=0;a<t.getLength();a+=1)e[n+a]^=i.gexp(i.glog(o.getAt(n))+i.glog(t.getAt(a)));return r(e,0)},o.mod=function(t){if(o.getLength()-t.getLength()<0)return o;for(var e=i.glog(o.getAt(0))-i.glog(t.getAt(0)),n=new Array(o.getLength()),a=0;a<o.getLength();a+=1)n[a]=o.getAt(a);for(var a=0;a<t.getLength();a+=1)n[a]^=i.gexp(i.glog(t.getAt(a))+e);return r(n,0).mod(t)},o}var t=function(t,e){var o=236,i=17,l=t,g=n[e],s=null,v=0,d=null,w=new Array,m={},y=function(r,t){v=4*l+17,s=function(r){for(var t=new Array(r),e=0;r>e;e+=1){t[e]=new Array(r);for(var n=0;r>n;n+=1)t[e][n]=null}return t}(v),T(0,0),T(v-7,0),T(0,v-7),A(),B(),k(r,t),l>=7&&E(r),null==d&&(d=D(l,g,w)),M(d,t)},T=function(r,t){for(var e=-1;7>=e;e+=1)if(!(-1>=r+e||r+e>=v))for(var n=-1;7>=n;n+=1)-1>=t+n||t+n>=v||(e>=0&&6>=e&&(0==n||6==n)||n>=0&&6>=n&&(0==e||6==e)||e>=2&&4>=e&&n>=2&&4>=n?s[r+e][t+n]=!0:s[r+e][t+n]=!1)},p=function(){for(var r=0,t=0,e=0;8>e;e+=1){y(!0,e);var n=a.getLostPoint(m);(0==e||r>n)&&(r=n,t=e)}return t},B=function(){for(var r=8;v-8>r;r+=1)null==s[r][6]&&(s[r][6]=r%2==0);for(var t=8;v-8>t;t+=1)null==s[6][t]&&(s[6][t]=t%2==0)},A=function(){for(var r=a.getPatternPosition(l),t=0;t<r.length;t+=1)for(var e=0;e<r.length;e+=1){var n=r[t],o=r[e];if(null==s[n][o])for(var i=-2;2>=i;i+=1)for(var u=-2;2>=u;u+=1)-2==i||2==i||-2==u||2==u||0==i&&0==u?s[n+i][o+u]=!0:s[n+i][o+u]=!1}},E=function(r){for(var t=a.getBCHTypeNumber(l),e=0;18>e;e+=1){var n=!r&&1==(t>>e&1);s[Math.floor(e/3)][e%3+v-8-3]=n}for(var e=0;18>e;e+=1){var n=!r&&1==(t>>e&1);s[e%3+v-8-3][Math.floor(e/3)]=n}},k=function(r,t){for(var e=g<<3|t,n=a.getBCHTypeInfo(e),o=0;15>o;o+=1){var i=!r&&1==(n>>o&1);6>o?s[o][8]=i:8>o?s[o+1][8]=i:s[v-15+o][8]=i}for(var o=0;15>o;o+=1){var i=!r&&1==(n>>o&1);8>o?s[8][v-o-1]=i:9>o?s[8][15-o-1+1]=i:s[8][15-o-1]=i}s[v-8][8]=!r},M=function(r,t){for(var e=-1,n=v-1,o=7,i=0,u=a.getMaskFunction(t),f=v-1;f>0;f-=2)for(6==f&&(f-=1);;){for(var c=0;2>c;c+=1)if(null==s[n][f-c]){var l=!1;i<r.length&&(l=1==(r[i]>>>o&1));var g=u(n,f-c);g&&(l=!l),s[n][f-c]=l,o-=1,-1==o&&(i+=1,o=7)}if(n+=e,0>n||n>=v){n-=e,e=-e;break}}},C=function(t,e){for(var n=0,o=0,i=0,u=new Array(e.length),f=new Array(e.length),c=0;c<e.length;c+=1){var l=e[c].dataCount,g=e[c].totalCount-l;o=Math.max(o,l),i=Math.max(i,g),u[c]=new Array(l);for(var s=0;s<u[c].length;s+=1)u[c][s]=255&t.getBuffer()[s+n];n+=l;var v=a.getErrorCorrectPolynomial(g),h=r(u[c],v.getLength()-1),d=h.mod(v);f[c]=new Array(v.getLength()-1);for(var s=0;s<f[c].length;s+=1){var w=s+d.getLength()-f[c].length;f[c][s]=w>=0?d.getAt(w):0}}for(var m=0,s=0;s<e.length;s+=1)m+=e[s].totalCount;for(var y=new Array(m),T=0,s=0;o>s;s+=1)for(var c=0;c<e.length;c+=1)s<u[c].length&&(y[T]=u[c][s],T+=1);for(var s=0;i>s;s+=1)for(var c=0;c<e.length;c+=1)s<f[c].length&&(y[T]=f[c][s],T+=1);return y},D=function(r,t,e){for(var n=u.getRSBlocks(r,t),c=f(),l=0;l<e.length;l+=1){var g=e[l];c.put(g.getMode(),4),c.put(g.getLength(),a.getLengthInBits(g.getMode(),r)),g.write(c)}for(var s=0,l=0;l<n.length;l+=1)s+=n[l].dataCount;if(c.getLengthInBits()>8*s)throw new Error("code length overflow. ("+c.getLengthInBits()+">"+8*s+")");for(c.getLengthInBits()+4<=8*s&&c.put(0,4);c.getLengthInBits()%8!=0;)c.putBit(!1);for(;;){if(c.getLengthInBits()>=8*s)break;if(c.put(o,8),c.getLengthInBits()>=8*s)break;c.put(i,8)}return C(c,n)};return m.addData=function(r){var t=c(r);w.push(t),d=null},m.isDark=function(r,t){if(0>r||r>=v||0>t||t>=v)throw new Error(r+","+t);return s[r][t]},m.getModuleCount=function(){return v},m.make=function(){y(!1,p())},m.createTableTag=function(r,t){r=r||2,t="undefined"==typeof t?4*r:t;var e="";e+='<table style="',e+=" border-width: 0px; border-style: none;",e+=" border-collapse: collapse;",e+=" padding: 0px; margin: "+t+"px;",e+='">',e+="<tbody>";for(var n=0;n<m.getModuleCount();n+=1){e+="<tr>";for(var o=0;o<m.getModuleCount();o+=1)e+='<td style="',e+=" border-width: 0px; border-style: none;",e+=" border-collapse: collapse;",e+=" padding: 0px; margin: 0px;",e+=" width: "+r+"px;",e+=" height: "+r+"px;",e+=" background-color: ",e+=m.isDark(n,o)?"#000000":"#ffffff",e+=";",e+='"/>';e+="</tr>"}return e+="</tbody>",e+="</table>"},m.createImgTag=function(r,t){r=r||2,t="undefined"==typeof t?4*r:t;var e=m.getModuleCount()*r+2*t,n=t,o=e-t;return h(e,e,function(t,e){if(t>=n&&o>t&&e>=n&&o>e){var a=Math.floor((t-n)/r),i=Math.floor((e-n)/r);return m.isDark(i,a)?0:1}return 1})},m};t.stringToBytes=function(r){for(var t=new Array,e=0;e<r.length;e+=1){var n=r.charCodeAt(e);t.push(255&n)}return t},t.createStringToBytes=function(r,t){var e=function(){for(var e=s(r),n=function(){var r=e.read();if(-1==r)throw new Error;return r},o=0,a={};;){var i=e.read();if(-1==i)break;var u=n(),f=n(),c=n(),l=String.fromCharCode(i<<8|u),g=f<<8|c;a[l]=g,o+=1}if(o!=t)throw new Error(o+" != "+t);return a}(),n="?".charCodeAt(0);return function(r){for(var t=new Array,o=0;o<r.length;o+=1){var a=r.charCodeAt(o);if(128>a)t.push(a);else{var i=e[r.charAt(o)];"number"==typeof i?(255&i)==i?t.push(i):(t.push(i>>>8),t.push(255&i)):t.push(n)}}return t}};var e={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},n={L:1,M:0,Q:3,H:2},o={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7},a=function(){var t=[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],n=1335,a=7973,u=21522,f={},c=function(r){for(var t=0;0!=r;)t+=1,r>>>=1;return t};return f.getBCHTypeInfo=function(r){for(var t=r<<10;c(t)-c(n)>=0;)t^=n<<c(t)-c(n);return(r<<10|t)^u},f.getBCHTypeNumber=function(r){for(var t=r<<12;c(t)-c(a)>=0;)t^=a<<c(t)-c(a);return r<<12|t},f.getPatternPosition=function(r){return t[r-1]},f.getMaskFunction=function(r){switch(r){case o.PATTERN000:return function(r,t){return(r+t)%2==0};case o.PATTERN001:return function(r,t){return r%2==0};case o.PATTERN010:return function(r,t){return t%3==0};case o.PATTERN011:return function(r,t){return(r+t)%3==0};case o.PATTERN100:return function(r,t){return(Math.floor(r/2)+Math.floor(t/3))%2==0};case o.PATTERN101:return function(r,t){return r*t%2+r*t%3==0};case o.PATTERN110:return function(r,t){return(r*t%2+r*t%3)%2==0};case o.PATTERN111:return function(r,t){return(r*t%3+(r+t)%2)%2==0};default:throw new Error("bad maskPattern:"+r)}},f.getErrorCorrectPolynomial=function(t){for(var e=r([1],0),n=0;t>n;n+=1)e=e.multiply(r([1,i.gexp(n)],0));return e},f.getLengthInBits=function(r,t){if(t>=1&&10>t)switch(r){case e.MODE_NUMBER:return 10;case e.MODE_ALPHA_NUM:return 9;case e.MODE_8BIT_BYTE:return 8;case e.MODE_KANJI:return 8;default:throw new Error("mode:"+r)}else if(27>t)switch(r){case e.MODE_NUMBER:return 12;case e.MODE_ALPHA_NUM:return 11;case e.MODE_8BIT_BYTE:return 16;case e.MODE_KANJI:return 10;default:throw new Error("mode:"+r)}else{if(!(41>t))throw new Error("type:"+t);switch(r){case e.MODE_NUMBER:return 14;case e.MODE_ALPHA_NUM:return 13;case e.MODE_8BIT_BYTE:return 16;case e.MODE_KANJI:return 12;default:throw new Error("mode:"+r)}}},f.getLostPoint=function(r){for(var t=r.getModuleCount(),e=0,n=0;t>n;n+=1)for(var o=0;t>o;o+=1){for(var a=0,i=r.isDark(n,o),u=-1;1>=u;u+=1)if(!(0>n+u||n+u>=t))for(var f=-1;1>=f;f+=1)0>o+f||o+f>=t||(0!=u||0!=f)&&i==r.isDark(n+u,o+f)&&(a+=1);a>5&&(e+=3+a-5)}for(var n=0;t-1>n;n+=1)for(var o=0;t-1>o;o+=1){var c=0;r.isDark(n,o)&&(c+=1),r.isDark(n+1,o)&&(c+=1),r.isDark(n,o+1)&&(c+=1),r.isDark(n+1,o+1)&&(c+=1),(0==c||4==c)&&(e+=3)}for(var n=0;t>n;n+=1)for(var o=0;t-6>o;o+=1)r.isDark(n,o)&&!r.isDark(n,o+1)&&r.isDark(n,o+2)&&r.isDark(n,o+3)&&r.isDark(n,o+4)&&!r.isDark(n,o+5)&&r.isDark(n,o+6)&&(e+=40);for(var o=0;t>o;o+=1)for(var n=0;t-6>n;n+=1)r.isDark(n,o)&&!r.isDark(n+1,o)&&r.isDark(n+2,o)&&r.isDark(n+3,o)&&r.isDark(n+4,o)&&!r.isDark(n+5,o)&&r.isDark(n+6,o)&&(e+=40);for(var l=0,o=0;t>o;o+=1)for(var n=0;t>n;n+=1)r.isDark(n,o)&&(l+=1);var g=Math.abs(100*l/t/t-50)/5;return e+=10*g},f}(),i=function(){for(var r=new Array(256),t=new Array(256),e=0;8>e;e+=1)r[e]=1<<e;for(var e=8;256>e;e+=1)r[e]=r[e-4]^r[e-5]^r[e-6]^r[e-8];for(var e=0;255>e;e+=1)t[r[e]]=e;var n={};return n.glog=function(r){if(1>r)throw new Error("glog("+r+")");return t[r]},n.gexp=function(t){for(;0>t;)t+=255;for(;t>=256;)t-=255;return r[t]},n}(),u=function(){var r=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],t=function(r,t){var e={};return e.totalCount=r,e.dataCount=t,e},e={},o=function(t,e){switch(e){case n.L:return r[4*(t-1)+0];case n.M:return r[4*(t-1)+1];case n.Q:return r[4*(t-1)+2];case n.H:return r[4*(t-1)+3];default:return}};return e.getRSBlocks=function(r,e){var n=o(r,e);if("undefined"==typeof n)throw new Error("bad rs block @ typeNumber:"+r+"/errorCorrectLevel:"+e);for(var a=n.length/3,i=new Array,u=0;a>u;u+=1)for(var f=n[3*u+0],c=n[3*u+1],l=n[3*u+2],g=0;f>g;g+=1)i.push(t(c,l));return i},e}(),f=function(){var r=new Array,t=0,e={};return e.getBuffer=function(){return r},e.getAt=function(t){var e=Math.floor(t/8);return 1==(r[e]>>>7-t%8&1)},e.put=function(r,t){for(var n=0;t>n;n+=1)e.putBit(1==(r>>>t-n-1&1))},e.getLengthInBits=function(){return t},e.putBit=function(e){var n=Math.floor(t/8);r.length<=n&&r.push(0),e&&(r[n]|=128>>>t%8),t+=1},e},c=function(r){var n=e.MODE_8BIT_BYTE,o=t.stringToBytes(r),a={};return a.getMode=function(){return n},a.getLength=function(r){return o.length},a.write=function(r){for(var t=0;t<o.length;t+=1)r.put(o[t],8)},a},l=function(){var r=new Array,t={};return t.writeByte=function(t){r.push(255&t)},t.writeShort=function(r){t.writeByte(r),t.writeByte(r>>>8)},t.writeBytes=function(r,e,n){e=e||0,n=n||r.length;for(var o=0;n>o;o+=1)t.writeByte(r[o+e])},t.writeString=function(r){for(var e=0;e<r.length;e+=1)t.writeByte(r.charCodeAt(e))},t.toByteArray=function(){return r},t.toString=function(){var t="";t+="[";for(var e=0;e<r.length;e+=1)e>0&&(t+=","),t+=r[e];return t+="]"},t},g=function(){var r=0,t=0,e=0,n="",o={},a=function(r){n+=String.fromCharCode(i(63&r))},i=function(r){if(0>r);else{if(26>r)return 65+r;if(52>r)return 97+(r-26);if(62>r)return 48+(r-52);if(62==r)return 43;if(63==r)return 47}throw new Error("n:"+r)};return o.writeByte=function(n){for(r=r<<8|255&n,t+=8,e+=1;t>=6;)a(r>>>t-6),t-=6},o.flush=function(){if(t>0&&(a(r<<6-t),r=0,t=0),e%3!=0)for(var o=3-e%3,i=0;o>i;i+=1)n+="="},o.toString=function(){return n},o},s=function(r){var t=r,e=0,n=0,o=0,a={};a.read=function(){for(;8>o;){if(e>=t.length){if(0==o)return-1;throw new Error("unexpected end of file./"+o)}var r=t.charAt(e);if(e+=1,"="==r)return o=0,-1;r.match(/^\s$/)||(n=n<<6|i(r.charCodeAt(0)),o+=6)}var a=n>>>o-8&255;return o-=8,a};var i=function(r){if(r>=65&&90>=r)return r-65;if(r>=97&&122>=r)return r-97+26;if(r>=48&&57>=r)return r-48+52;if(43==r)return 62;if(47==r)return 63;throw new Error("c:"+r)};return a},v=function(r,t){var e=r,n=t,o=new Array(r*t),a={};a.setPixel=function(r,t,n){o[t*e+r]=n},a.write=function(r){r.writeString("GIF87a"),r.writeShort(e),r.writeShort(n),r.writeByte(128),r.writeByte(0),r.writeByte(0),r.writeByte(0),r.writeByte(0),r.writeByte(0),r.writeByte(255),r.writeByte(255),r.writeByte(255),r.writeString(","),r.writeShort(0),r.writeShort(0),r.writeShort(e),r.writeShort(n),r.writeByte(0);var t=2,o=u(t);r.writeByte(t);for(var a=0;o.length-a>255;)r.writeByte(255),r.writeBytes(o,a,255),a+=255;r.writeByte(o.length-a),r.writeBytes(o,a,o.length-a),r.writeByte(0),r.writeString(";")};var i=function(r){var t=r,e=0,n=0,o={};return o.write=function(r,o){if(r>>>o!=0)throw new Error("length over");for(;e+o>=8;)t.writeByte(255&(r<<e|n)),o-=8-e,r>>>=8-e,n=0,e=0;n=r<<e|n,e+=o},o.flush=function(){e>0&&t.writeByte(n)},o},u=function(r){for(var t=1<<r,e=(1<<r)+1,n=r+1,a=f(),u=0;t>u;u+=1)a.add(String.fromCharCode(u));a.add(String.fromCharCode(t)),a.add(String.fromCharCode(e));var c=l(),g=i(c);g.write(t,n);var s=0,v=String.fromCharCode(o[s]);for(s+=1;s<o.length;){var h=String.fromCharCode(o[s]);s+=1,a.contains(v+h)?v+=h:(g.write(a.indexOf(v),n),a.size()<4095&&(a.size()==1<<n&&(n+=1),a.add(v+h)),v=h)}return g.write(a.indexOf(v),n),g.write(e,n),g.flush(),c.toByteArray()},f=function(){var r={},t=0,e={};return e.add=function(n){if(e.contains(n))throw new Error("dup key:"+n);r[n]=t,t+=1},e.size=function(){return t},e.indexOf=function(t){return r[t]},e.contains=function(t){return"undefined"!=typeof r[t]},e};return a},h=function(r,t,e,n){for(var o=v(r,t),a=0;t>a;a+=1)for(var i=0;r>i;i+=1)o.setPixel(i,a,e(i,a));var u=l();o.write(u);for(var f=g(),c=u.toByteArray(),s=0;s<c.length;s+=1)f.writeByte(c[s]);f.flush();var h="";return h+="<img",h+=' src="',h+="data:image/gif;base64,",h+=f,h+='"',h+=' width="',h+=r,h+='"',h+=' height="',h+=t,h+='"',n&&(h+=' alt="',h+=n,h+='"'),h+="/>"};return t}();return function(r){"function"==typeof define&&define.amd?define([],r):"object"==typeof exports&&(module.exports=r())}(function(){return r}),!function(r){r.stringToBytes=function(r){function t(r){for(var t=[],e=0;e<r.length;e++){var n=r.charCodeAt(e);128>n?t.push(n):2048>n?t.push(192|n>>6,128|63&n):55296>n||n>=57344?t.push(224|n>>12,128|n>>6&63,128|63&n):(e++,n=65536+((1023&n)<<10|1023&r.charCodeAt(e)),t.push(240|n>>18,128|n>>12&63,128|n>>6&63,128|63&n))}return t}return t(r)}}(r),r}());
3 0 \ No newline at end of file
src/main/resources/static/js/qrcode/qrcode.min.js 0 → 100644
  1 +var QRCode;!function(){function t(t){this.mode=r.MODE_8BIT_BYTE,this.data=t,this.parsedData=[];for(var e=0,o=this.data.length;e<o;e++){var i=[],n=this.data.charCodeAt(e);n>65536?(i[0]=240|(1835008&n)>>>18,i[1]=128|(258048&n)>>>12,i[2]=128|(4032&n)>>>6,i[3]=128|63&n):n>2048?(i[0]=224|(61440&n)>>>12,i[1]=128|(4032&n)>>>6,i[2]=128|63&n):n>128?(i[0]=192|(1984&n)>>>6,i[1]=128|63&n):i[0]=n,this.parsedData.push(i)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function e(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}t.prototype={getLength:function(t){return this.parsedData.length},write:function(t){for(var e=0,r=this.parsedData.length;e<r;e++)t.put(this.parsedData[e],8)}},e.prototype={addData:function(e){var r=new t(e);this.dataList.push(r),this.dataCache=null},isDark:function(t,e){if(t<0||this.moduleCount<=t||e<0||this.moduleCount<=e)throw new Error(t+","+e);return this.modules[t][e]},getModuleCount:function(){return this.moduleCount},make:function(){this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(t,r){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var o=0;o<this.moduleCount;o++){this.modules[o]=new Array(this.moduleCount);for(var i=0;i<this.moduleCount;i++)this.modules[o][i]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(t,r),this.typeNumber>=7&&this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=e.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,r)},setupPositionProbePattern:function(t,e){for(var r=-1;r<=7;r++)if(!(t+r<=-1||this.moduleCount<=t+r))for(var o=-1;o<=7;o++)e+o<=-1||this.moduleCount<=e+o||(this.modules[t+r][e+o]=0<=r&&r<=6&&(0==o||6==o)||0<=o&&o<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=o&&o<=4)},getBestMaskPattern:function(){for(var t=0,e=0,r=0;r<8;r++){this.makeImpl(!0,r);var o=g.getLostPoint(this);(0==r||t>o)&&(t=o,e=r)}return e},createMovieClip:function(t,e,r){var o=t.createEmptyMovieClip(e,r);this.make();for(var i=0;i<this.modules.length;i++)for(var n=1*i,a=0;a<this.modules[i].length;a++){var s=1*a;this.modules[i][a]&&(o.beginFill(0,100),o.moveTo(s,n),o.lineTo(s+1,n),o.lineTo(s+1,n+1),o.lineTo(s,n+1),o.endFill())}return o},setupTimingPattern:function(){for(var t=8;t<this.moduleCount-8;t++)null==this.modules[t][6]&&(this.modules[t][6]=t%2==0);for(var e=8;e<this.moduleCount-8;e++)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0)},setupPositionAdjustPattern:function(){for(var t=g.getPatternPosition(this.typeNumber),e=0;e<t.length;e++)for(var r=0;r<t.length;r++){var o=t[e],i=t[r];if(null==this.modules[o][i])for(var n=-2;n<=2;n++)for(var a=-2;a<=2;a++)this.modules[o+n][i+a]=-2==n||2==n||-2==a||2==a||0==n&&0==a}},setupTypeNumber:function(t){for(var e=g.getBCHTypeNumber(this.typeNumber),r=0;r<18;r++){var o=!t&&1==(e>>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=o}for(r=0;r<18;r++){o=!t&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=o}},setupTypeInfo:function(t,e){for(var r=this.errorCorrectLevel<<3|e,o=g.getBCHTypeInfo(r),i=0;i<15;i++){var n=!t&&1==(o>>i&1);i<6?this.modules[i][8]=n:i<8?this.modules[i+1][8]=n:this.modules[this.moduleCount-15+i][8]=n}for(i=0;i<15;i++){n=!t&&1==(o>>i&1);i<8?this.modules[8][this.moduleCount-i-1]=n:i<9?this.modules[8][15-i-1+1]=n:this.modules[8][15-i-1]=n}this.modules[this.moduleCount-8][8]=!t},mapData:function(t,e){for(var r=-1,o=this.moduleCount-1,i=7,n=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var s=0;s<2;s++)if(null==this.modules[o][a-s]){var h=!1;n<t.length&&(h=1==(t[n]>>>i&1)),g.getMask(e,o,a-s)&&(h=!h),this.modules[o][a-s]=h,-1==--i&&(n++,i=7)}if((o+=r)<0||this.moduleCount<=o){o-=r,r=-r;break}}}},e.PAD0=236,e.PAD1=17,e.createData=function(t,r,o){for(var i=m.getRSBlocks(t,r),n=new _,a=0;a<o.length;a++){var s=o[a];n.put(s.mode,4),n.put(s.getLength(),g.getLengthInBits(s.mode,t)),s.write(n)}var h=0;for(a=0;a<i.length;a++)h+=i[a].dataCount;if(n.getLengthInBits()>8*h)throw new Error("code length overflow. ("+n.getLengthInBits()+">"+8*h+")");for(n.getLengthInBits()+4<=8*h&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*h||(n.put(e.PAD0,8),n.getLengthInBits()>=8*h));)n.put(e.PAD1,8);return e.createBytes(n,i)},e.createBytes=function(t,e){for(var r=0,o=0,i=0,n=new Array(e.length),a=new Array(e.length),s=0;s<e.length;s++){var h=e[s].dataCount,l=e[s].totalCount-h;o=Math.max(o,h),i=Math.max(i,l),n[s]=new Array(h);for(var u=0;u<n[s].length;u++)n[s][u]=255&t.buffer[u+r];r+=h;var f=g.getErrorCorrectPolynomial(l),d=new p(n[s],f.getLength()-1).mod(f);a[s]=new Array(f.getLength()-1);for(u=0;u<a[s].length;u++){var c=u+d.getLength()-a[s].length;a[s][u]=c>=0?d.get(c):0}}var m=0;for(u=0;u<e.length;u++)m+=e[u].totalCount;var _=new Array(m),v=0;for(u=0;u<o;u++)for(s=0;s<e.length;s++)u<n[s].length&&(_[v++]=n[s][u]);for(u=0;u<i;u++)for(s=0;s<e.length;s++)u<a[s].length&&(_[v++]=a[s][u]);return _};for(var r={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},o={L:1,M:0,Q:3,H:2},i=0,n=1,a=2,s=3,h=4,l=5,u=6,f=7,g={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(t){for(var e=t<<10;g.getBCHDigit(e)-g.getBCHDigit(g.G15)>=0;)e^=g.G15<<g.getBCHDigit(e)-g.getBCHDigit(g.G15);return(t<<10|e)^g.G15_MASK},getBCHTypeNumber:function(t){for(var e=t<<12;g.getBCHDigit(e)-g.getBCHDigit(g.G18)>=0;)e^=g.G18<<g.getBCHDigit(e)-g.getBCHDigit(g.G18);return t<<12|e},getBCHDigit:function(t){for(var e=0;0!=t;)e++,t>>>=1;return e},getPatternPosition:function(t){return g.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,e,r){switch(t){case i:return(e+r)%2==0;case n:return e%2==0;case a:return r%3==0;case s:return(e+r)%3==0;case h:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case l:return e*r%2+e*r%3==0;case u:return(e*r%2+e*r%3)%2==0;case f:return(e*r%3+(e+r)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}},getErrorCorrectPolynomial:function(t){for(var e=new p([1],0),r=0;r<t;r++)e=e.multiply(new p([1,d.gexp(r)],0));return e},getLengthInBits:function(t,e){if(1<=e&&e<10)switch(t){case r.MODE_NUMBER:return 10;case r.MODE_ALPHA_NUM:return 9;case r.MODE_8BIT_BYTE:case r.MODE_KANJI:return 8;default:throw new Error("mode:"+t)}else if(e<27)switch(t){case r.MODE_NUMBER:return 12;case r.MODE_ALPHA_NUM:return 11;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 10;default:throw new Error("mode:"+t)}else{if(!(e<41))throw new Error("type:"+e);switch(t){case r.MODE_NUMBER:return 14;case r.MODE_ALPHA_NUM:return 13;case r.MODE_8BIT_BYTE:return 16;case r.MODE_KANJI:return 12;default:throw new Error("mode:"+t)}}},getLostPoint:function(t){for(var e=t.getModuleCount(),r=0,o=0;o<e;o++)for(var i=0;i<e;i++){for(var n=0,a=t.isDark(o,i),s=-1;s<=1;s++)if(!(o+s<0||e<=o+s))for(var h=-1;h<=1;h++)i+h<0||e<=i+h||0==s&&0==h||a==t.isDark(o+s,i+h)&&n++;n>5&&(r+=3+n-5)}for(o=0;o<e-1;o++)for(i=0;i<e-1;i++){var l=0;t.isDark(o,i)&&l++,t.isDark(o+1,i)&&l++,t.isDark(o,i+1)&&l++,t.isDark(o+1,i+1)&&l++,0!=l&&4!=l||(r+=3)}for(o=0;o<e;o++)for(i=0;i<e-6;i++)t.isDark(o,i)&&!t.isDark(o,i+1)&&t.isDark(o,i+2)&&t.isDark(o,i+3)&&t.isDark(o,i+4)&&!t.isDark(o,i+5)&&t.isDark(o,i+6)&&(r+=40);for(i=0;i<e;i++)for(o=0;o<e-6;o++)t.isDark(o,i)&&!t.isDark(o+1,i)&&t.isDark(o+2,i)&&t.isDark(o+3,i)&&t.isDark(o+4,i)&&!t.isDark(o+5,i)&&t.isDark(o+6,i)&&(r+=40);var u=0;for(i=0;i<e;i++)for(o=0;o<e;o++)t.isDark(o,i)&&u++;return r+=10*(Math.abs(100*u/e/e-50)/5)}},d={glog:function(t){if(t<1)throw new Error("glog("+t+")");return d.LOG_TABLE[t]},gexp:function(t){for(;t<0;)t+=255;for(;t>=256;)t-=255;return d.EXP_TABLE[t]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},c=0;c<8;c++)d.EXP_TABLE[c]=1<<c;for(c=8;c<256;c++)d.EXP_TABLE[c]=d.EXP_TABLE[c-4]^d.EXP_TABLE[c-5]^d.EXP_TABLE[c-6]^d.EXP_TABLE[c-8];for(c=0;c<255;c++)d.LOG_TABLE[d.EXP_TABLE[c]]=c;function p(t,e){if(void 0==t.length)throw new Error(t.length+"/"+e);for(var r=0;r<t.length&&0==t[r];)r++;this.num=new Array(t.length-r+e);for(var o=0;o<t.length-r;o++)this.num[o]=t[o+r]}function m(t,e){this.totalCount=t,this.dataCount=e}function _(){this.buffer=[],this.length=0}p.prototype={get:function(t){return this.num[t]},getLength:function(){return this.num.length},multiply:function(t){for(var e=new Array(this.getLength()+t.getLength()-1),r=0;r<this.getLength();r++)for(var o=0;o<t.getLength();o++)e[r+o]^=d.gexp(d.glog(this.get(r))+d.glog(t.get(o)));return new p(e,0)},mod:function(t){if(this.getLength()-t.getLength()<0)return this;for(var e=d.glog(this.get(0))-d.glog(t.get(0)),r=new Array(this.getLength()),o=0;o<this.getLength();o++)r[o]=this.get(o);for(o=0;o<t.getLength();o++)r[o]^=d.gexp(d.glog(t.get(o))+e);return new p(r,0).mod(t)}},m.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12,7,37,13],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],m.getRSBlocks=function(t,e){var r=m.getRsBlockTable(t,e);if(void 0==r)throw new Error("bad rs block @ typeNumber:"+t+"/errorCorrectLevel:"+e);for(var o=r.length/3,i=[],n=0;n<o;n++)for(var a=r[3*n+0],s=r[3*n+1],h=r[3*n+2],l=0;l<a;l++)i.push(new m(s,h));return i},m.getRsBlockTable=function(t,e){switch(e){case o.L:return m.RS_BLOCK_TABLE[4*(t-1)+0];case o.M:return m.RS_BLOCK_TABLE[4*(t-1)+1];case o.Q:return m.RS_BLOCK_TABLE[4*(t-1)+2];case o.H:return m.RS_BLOCK_TABLE[4*(t-1)+3];default:return}},_.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var r=0;r<e;r++)this.putBit(1==(t>>>e-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}};var v=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];function C(){var t=!1,e=navigator.userAgent;if(/android/i.test(e)){t=!0;var r=e.toString().match(/android ([0-9]\.[0-9])/i);r&&r[1]&&(t=parseFloat(r[1]))}return t}var w=function(){var t=function(t,e){this._el=t,this._htOption=e};return t.prototype.draw=function(t){var e=this._htOption,r=this._el,o=t.getModuleCount();Math.floor(e.width/o),Math.floor(e.height/o);function i(t,e){var r=document.createElementNS("http://www.w3.org/2000/svg",t);for(var o in e)e.hasOwnProperty(o)&&r.setAttribute(o,e[o]);return r}this.clear();var n=i("svg",{viewBox:"0 0 "+String(o)+" "+String(o),width:"100%",height:"100%",fill:e.colorLight});n.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),r.appendChild(n),n.appendChild(i("rect",{fill:e.colorLight,width:"100%",height:"100%"})),n.appendChild(i("rect",{fill:e.colorDark,width:"1",height:"1",id:"template"}));for(var a=0;a<o;a++)for(var s=0;s<o;s++)if(t.isDark(a,s)){var h=i("use",{x:String(s),y:String(a)});h.setAttributeNS("http://www.w3.org/1999/xlink","href","#template"),n.appendChild(h)}},t.prototype.clear=function(){for(;this._el.hasChildNodes();)this._el.removeChild(this._el.lastChild)},t}(),D="svg"===document.documentElement.tagName.toLowerCase()?w:"undefined"==typeof CanvasRenderingContext2D?function(){var t=function(t,e){this._el=t,this._htOption=e};return t.prototype.draw=function(t){for(var e=this._htOption,r=this._el,o=t.getModuleCount(),i=Math.floor(e.width/o),n=Math.floor(e.height/o),a=['<table style="border:0;border-collapse:collapse;">'],s=0;s<o;s++){a.push("<tr>");for(var h=0;h<o;h++)a.push('<td style="border:0;border-collapse:collapse;padding:0;margin:0;width:'+i+"px;height:"+n+"px;background-color:"+(t.isDark(s,h)?e.colorDark:e.colorLight)+';"></td>');a.push("</tr>")}a.push("</table>"),r.innerHTML=a.join("");var l=r.childNodes[0],u=(e.width-l.offsetWidth)/2,f=(e.height-l.offsetHeight)/2;u>0&&f>0&&(l.style.margin=f+"px "+u+"px")},t.prototype.clear=function(){this._el.innerHTML=""},t}():function(){function t(){this._elImage.src=this._elCanvas.toDataURL("image/png"),this._elImage.style.display="block",this._elCanvas.style.display="none"}if(this._android&&this._android<=2.1){var e=1/window.devicePixelRatio,r=CanvasRenderingContext2D.prototype.drawImage;CanvasRenderingContext2D.prototype.drawImage=function(t,o,i,n,a,s,h,l,u){if("nodeName"in t&&/img/i.test(t.nodeName))for(var f=arguments.length-1;f>=1;f--)arguments[f]=arguments[f]*e;else void 0===l&&(arguments[1]*=e,arguments[2]*=e,arguments[3]*=e,arguments[4]*=e);r.apply(this,arguments)}}var o=function(t,e){this._bIsPainted=!1,this._android=C(),this._htOption=e,this._elCanvas=document.createElement("canvas"),this._elCanvas.width=e.width,this._elCanvas.height=e.height,t.appendChild(this._elCanvas),this._el=t,this._oContext=this._elCanvas.getContext("2d"),this._bIsPainted=!1,this._elImage=document.createElement("img"),this._elImage.alt="Scan me!",this._elImage.style.display="none",this._el.appendChild(this._elImage),this._bSupportDataURI=null};return o.prototype.draw=function(t){var e=this._elImage,r=this._oContext,o=this._htOption,i=t.getModuleCount(),n=o.width/i,a=o.height/i,s=Math.round(n),h=Math.round(a);e.style.display="none",this.clear();for(var l=0;l<i;l++)for(var u=0;u<i;u++){var f=t.isDark(l,u),g=u*n,d=l*a;r.strokeStyle=f?o.colorDark:o.colorLight,r.lineWidth=1,r.fillStyle=f?o.colorDark:o.colorLight,r.fillRect(g,d,n,a),r.strokeRect(Math.floor(g)+.5,Math.floor(d)+.5,s,h),r.strokeRect(Math.ceil(g)-.5,Math.ceil(d)-.5,s,h)}this._bIsPainted=!0},o.prototype.makeImage=function(){this._bIsPainted&&function(t,e){var r=this;if(r._fFail=e,r._fSuccess=t,null===r._bSupportDataURI){var o=document.createElement("img"),i=function(){r._bSupportDataURI=!1,r._fFail&&r._fFail.call(r)};return o.onabort=i,o.onerror=i,o.onload=function(){r._bSupportDataURI=!0,r._fSuccess&&r._fSuccess.call(r)},void(o.src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==")}!0===r._bSupportDataURI&&r._fSuccess?r._fSuccess.call(r):!1===r._bSupportDataURI&&r._fFail&&r._fFail.call(r)}.call(this,t)},o.prototype.isPainted=function(){return this._bIsPainted},o.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1},o.prototype.round=function(t){return t?Math.floor(1e3*t)/1e3:t},o}();function A(t,e){for(var r=1,i=function(t){var e=encodeURI(t).toString().replace(/\%[0-9a-fA-F]{2}/g,"a");return e.length+(e.length!=t?3:0)}(t),n=0,a=v.length;n<=a;n++){var s=0;switch(e){case o.L:s=v[n][0];break;case o.M:s=v[n][1];break;case o.Q:s=v[n][2];break;case o.H:s=v[n][3]}if(i<=s)break;r++}if(r>v.length)throw new Error("Too long data");return r}(QRCode=function(t,e){if(this._htOption={width:256,height:256,typeNumber:4,colorDark:"#000000",colorLight:"#ffffff",correctLevel:o.H},"string"==typeof e&&(e={text:e}),e)for(var r in e)this._htOption[r]=e[r];"string"==typeof t&&(t=document.getElementById(t)),this._htOption.useSVG&&(D=w),this._android=C(),this._el=t,this._oQRCode=null,this._oDrawing=new D(this._el,this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)}).prototype.makeCode=function(t){this._oQRCode=new e(A(t,this._htOption.correctLevel),this._htOption.correctLevel),this._oQRCode.addData(t),this._oQRCode.make(),this._el.title=t,this._oDrawing.draw(this._oQRCode),this.makeImage()},QRCode.prototype.makeImage=function(){"function"==typeof this._oDrawing.makeImage&&(!this._android||this._android>=3)&&this._oDrawing.makeImage()},QRCode.prototype.clear=function(){this._oDrawing.clear()},QRCode.CorrectLevel=o}(),"undefined"!=typeof module&&(module.exports=QRCode);
... ...
src/main/resources/templates/config/zoneCapacity/zoneCapacity.html
... ... @@ -22,7 +22,7 @@
22 22 </select>
23 23 </li>
24 24 <li>
25   - 物料编码:<input type="text" name="materialId"/>
  25 + 存货编码:<input type="text" name="materialId"/>
26 26 </li>
27 27 </li>
28 28 <li>
... ... @@ -91,7 +91,7 @@
91 91 },
92 92 {
93 93 field : 'materialCode',
94   - title : '物料编码'
  94 + title : '存货编码'
95 95 },
96 96 {
97 97 field : 'materialType',
... ...
src/main/resources/templates/general/material/add.html
... ... @@ -6,7 +6,7 @@
6 6 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
7 7 <form class="form-horizontal m" id="form-material-add">
8 8 <div class="form-group">
9   - <label class="col-sm-3 control-label">物料编码:</label>
  9 + <label class="col-sm-3 control-label">存货编码:</label>
10 10 <div class="col-sm-8">
11 11 <input id="code" name="code" class="form-control" type="text">
12 12 </div>
... ...
src/main/resources/templates/general/material/edit.html
... ... @@ -7,7 +7,7 @@
7 7 <form class="form-horizontal m" id="form-material-edit" th:object="${material}">
8 8 <input id="id" name="id" th:field="*{id}" type="hidden">
9 9 <div class="form-group">
10   - <label class="col-sm-3 control-label">物料编码:</label>
  10 + <label class="col-sm-3 control-label">存货编码:</label>
11 11 <div class="col-sm-8">
12 12 <input id="code" name="code" th:field="*{code}" class="form-control" type="text" readonly="readonly">
13 13 </div>
... ...
src/main/resources/templates/general/material/material.html
... ... @@ -10,8 +10,11 @@
10 10 <div class="select-list">
11 11 <ul>
12 12 <li>
13   - 物料编码:<input type="text" name="code"/>
  13 + 存货编码:<input type="text" name="code"/>
14 14 </li>
  15 + <li>
  16 + 存货代码:<input type="text" name="userDef1"/>
  17 + </li>
15 18 <li>
16 19 名称:<input type="text" name="name"/>
17 20 </li>
... ... @@ -77,16 +80,16 @@
77 80 title : 'id'
78 81 },
79 82 // {
80   - // field : 'warehouseId',
81   - // title : '仓库Id'
  83 + // field : 'warehouseCode',
  84 + // title : '仓库编码'
82 85 // },
83 86 {
84   - field : 'warehouseCode',
85   - title : '仓库编码'
  87 + field : 'code',
  88 + title : '存货编码'
86 89 },
87 90 {
88   - field : 'code',
89   - title : '物料编码'
  91 + field : 'userDef1',
  92 + title : '存货代码',
90 93 },
91 94 {
92 95 field : 'type',
... ... @@ -97,40 +100,6 @@
97 100 title : '名称'
98 101 },
99 102 {
100   - field : 'barcode',
101   - title : '条码'
102   - },
103   - {
104   - field : 'barcode2',
105   - title : '条码2' ,
106   - visible:false
107   - },
108   - {
109   - field : 'barcode3',
110   - title : '条码3' ,
111   - visible:false
112   - },
113   - {
114   - field : 'barcode4',
115   - title : '条码4',
116   - visible:false
117   - },
118   - {
119   - field : 'classA',
120   - title : '类别A' ,
121   - visible:false
122   - },
123   - {
124   - field : 'classB',
125   - title : '类别B' ,
126   - visible:false
127   - },
128   - {
129   - field : 'classC',
130   - title : '类别C' ,
131   - visible:false
132   - },
133   - {
134 103 field : 'specification',
135 104 title : '规格'
136 105 },
... ... @@ -216,50 +185,6 @@
216 185 return $.table.selectDictLabel(datas, value);
217 186 }
218 187 },
219   - // {
220   - // field : 'deleted',
221   - // title : '是否删除'
222   - // },
223   - {
224   - field : 'userDef1',
225   - title : '自定义字段1',
226   - visible:false
227   - },
228   - {
229   - field : 'userDef2',
230   - title : '自定义字段2' ,
231   - visible:false
232   - },
233   - {
234   - field : 'userDef3',
235   - title : '自定义字段3' ,
236   - visible:false
237   - },
238   - {
239   - field : 'userDef4',
240   - title : '自定义字段4',
241   - visible:false
242   - },
243   - {
244   - field : 'userDef5',
245   - title : '自定义字段5' ,
246   - visible:false
247   - },
248   - {
249   - field : 'userDef6',
250   - title : '自定义字段6' ,
251   - visible:false
252   - },
253   - {
254   - field : 'userDef7',
255   - title : '自定义字段7' ,
256   - visible:false
257   - },
258   - {
259   - field : 'userDef8',
260   - title : '自定义字段8' ,
261   - visible:false
262   - },
263 188 {
264 189 title: '操作',
265 190 align: 'center',
... ...
src/main/resources/templates/inventory/cyclecountDetail/add.html
... ... @@ -21,7 +21,7 @@
21 21 容器编号:<input type="text" id="containerCode" name="containerCode"/>
22 22 </li>
23 23 <li>
24   - 物料编码:<input type="text" id="materialCode" name="materialCode"/>
  24 + 存货编码:<input type="text" id="materialCode" name="materialCode"/>
25 25 </li>
26 26 <li>
27 27 物料名称:<input type="text" id="materialName" name="materialName"/>
... ... @@ -166,7 +166,7 @@
166 166 },
167 167 {
168 168 field : 'materialCode',
169   - title : '物料编码'
  169 + title : '存货编码'
170 170 },
171 171 {
172 172 field : 'materialName',
... ... @@ -352,7 +352,7 @@
352 352 // },
353 353 // {
354 354 // field : 'materialCode',
355   - // title : '物料编码'
  355 + // title : '存货编码'
356 356 // },
357 357 // {
358 358 // field : 'materialName',
... ...
src/main/resources/templates/inventory/cyclecountDetail/addGoods.html
... ... @@ -22,7 +22,7 @@
22 22 </div>
23 23 </div>
24 24 <div class="form-group">
25   - <label class="col-sm-3 control-label">物料编码:</label>
  25 + <label class="col-sm-3 control-label">存货编码:</label>
26 26 <div class="col-sm-8">
27 27 <input id="materialCode" name="materialCode" class="form-control" type="text" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')">
28 28 </div>
... ...
src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html
... ... @@ -155,7 +155,7 @@
155 155 // },
156 156 /*{
157 157 field: 'materialCode',
158   - title: '物料编码',
  158 + title: '存货编码',
159 159 sortable:true
160 160 },*/
161 161 {
... ...
src/main/resources/templates/inventory/cyclecountDetail/edit.html
... ... @@ -37,7 +37,7 @@
37 37 </div>
38 38 </div>
39 39 <div class="form-group">
40   - <label class="col-sm-3 control-label">物料编码:</label>
  40 + <label class="col-sm-3 control-label">存货编码:</label>
41 41 <div class="col-sm-8">
42 42 <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
43 43 </div>
... ...
src/main/resources/templates/inventory/cyclecountHeader/report.html
... ... @@ -24,7 +24,7 @@
24 24 </tr>
25 25 <tr>
26 26 <th width="12%">容器编号</th>
27   - <th width="18%">物料编码</th>
  27 + <th width="18%">存货编码</th>
28 28 <th width="20%">物料规格</th>
29 29 <th width="7%">批次</th>
30 30 <th width="7%">批号</th>
... ...
src/main/resources/templates/inventory/inventory/add.html
... ... @@ -60,7 +60,7 @@
60 60 </div>
61 61 </div>
62 62 <div class="form-group">
63   - <label class="col-sm-3 control-label">物料编码:</label>
  63 + <label class="col-sm-3 control-label">存货编码:</label>
64 64 <div class="col-sm-8">
65 65 <input id="materialCode" name="materialCode" class="form-control" type="text">
66 66 </div>
... ...
src/main/resources/templates/inventory/inventory/edit.html
... ... @@ -61,7 +61,7 @@
61 61 </div>
62 62 </div>
63 63 <div class="form-group">
64   - <label class="col-sm-3 control-label">物料编码:</label>
  64 + <label class="col-sm-3 control-label">存货编码:</label>
65 65 <div class="col-sm-8">
66 66 <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
67 67 </div>
... ...
src/main/resources/templates/inventory/inventory/inventory.html
... ... @@ -16,7 +16,7 @@
16 16 容器编号:<input type="text" name="containerCode"/>
17 17 </li>
18 18 <li>
19   - 物料编码:<input type="text" name="materialCode"/>
  19 + 存货编码:<input type="text" name="materialCode"/>
20 20 </li>
21 21 <li>
22 22 物料名称:<input type="text" name="materialName"/>
... ... @@ -126,7 +126,7 @@
126 126 },*/
127 127 {
128 128 field : 'materialCode',
129   - title : '物料编码'
  129 + title : '存货编码'
130 130 },
131 131 {
132 132 field : 'materialName',
... ...
src/main/resources/templates/inventory/inventoryTransaction/add.html
... ... @@ -60,7 +60,7 @@
60 60 </div>
61 61 </div>
62 62 <div class="form-group">
63   - <label class="col-sm-3 control-label">物料编码:</label>
  63 + <label class="col-sm-3 control-label">存货编码:</label>
64 64 <div class="col-sm-8">
65 65 <input id="materialCode" name="materialCode" class="form-control" type="text">
66 66 </div>
... ...
src/main/resources/templates/inventory/inventoryTransaction/edit.html
... ... @@ -61,7 +61,7 @@
61 61 </div>
62 62 </div>
63 63 <div class="form-group">
64   - <label class="col-sm-3 control-label">物料编码:</label>
  64 + <label class="col-sm-3 control-label">存货编码:</label>
65 65 <div class="col-sm-8">
66 66 <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
67 67 </div>
... ...
src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html
... ... @@ -32,7 +32,7 @@
32 32 </select>
33 33 </li>
34 34 <li>
35   - 物料编码:<input type="text" name="materialCode"/>
  35 + 存货编码:<input type="text" name="materialCode"/>
36 36 </li>
37 37 <li>
38 38 物料名称:<input type="text" name="materialName"/>
... ... @@ -134,7 +134,7 @@
134 134 },
135 135 {
136 136 field : 'materialCode',
137   - title : '物料编码'
  137 + title : '存货编码'
138 138 },
139 139 {
140 140 field : 'materialName',
... ...
src/main/resources/templates/receipt/receiptContainerDetail/edit.html
... ... @@ -19,7 +19,7 @@
19 19 </div>
20 20 </div>
21 21 <div class="form-group">
22   - <label class="col-sm-3 control-label">物料编码:</label>
  22 + <label class="col-sm-3 control-label">存货编码:</label>
23 23 <div class="col-sm-8">
24 24 <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
25 25 </div>
... ...
src/main/resources/templates/receipt/receiptContainerDetail/receiptContainerDetail.html
... ... @@ -54,7 +54,7 @@
54 54 },
55 55 {
56 56 field : 'materialCode',
57   - title : '物料编码'
  57 + title : '存货编码'
58 58 },
59 59 {
60 60 field : 'materialName',
... ...
src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html
... ... @@ -197,7 +197,7 @@
197 197 },
198 198 {
199 199 field : 'materialCode',
200   - title : '物料编码',
  200 + title : '存货编码',
201 201 sortable:true
202 202 },
203 203 {
... ...
src/main/resources/templates/receipt/receiptDetail/add.html
... ... @@ -26,7 +26,7 @@
26 26 </div>
27 27 </div>
28 28 <div class="form-group">
29   - <label class="col-sm-3 control-label">物料编码:</label>
  29 + <label class="col-sm-3 control-label">存货编码:</label>
30 30 <div class="col-sm-8">
31 31 <input id="materialCode" name="materialCode" class="form-control" type="text">
32 32 </div>
... ...
src/main/resources/templates/receipt/receiptDetail/edit.html
... ... @@ -25,7 +25,7 @@
25 25 </div>
26 26 </div>
27 27 <div class="form-group">
28   - <label class="col-sm-3 control-label">物料编码:</label>
  28 + <label class="col-sm-3 control-label">存货编码:</label>
29 29 <div class="col-sm-8">
30 30 <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
31 31 </div>
... ...
src/main/resources/templates/receipt/receiptDetail/receiptDetail.html
... ... @@ -13,7 +13,7 @@
13 13 入库单号:<input type="text" name="code"/>
14 14 </li>
15 15 <li>
16   - 物料编码:<input type="text" name="materialCode"/>
  16 + 存货编码:<input type="text" name="materialCode"/>
17 17 </li>
18 18 <li>
19 19 物料批次:<input type="text" name="batch"/>
... ... @@ -94,7 +94,7 @@
94 94 // },
95 95 {
96 96 field : 'materialCode',
97   - title : '物料编码'
  97 + title : '存货编码'
98 98 },
99 99 {
100 100 field : 'materialName',
... ...
src/main/resources/templates/receipt/receiptDetail/report.html
... ... @@ -16,14 +16,14 @@
16 16 border: 1px solid #000 !important;
17 17 }
18 18 .table tbody tr td{
19   - padding: 5px;
  19 + padding: 3px;
20 20 text-align: center;
21 21 }
22 22 </style>
23 23 </head>
24 24  
25 25 <body id="ddd">
26   -<div style="text-align:right; padding: 20px;">
  26 +<div style="text-align:right; padding: 20px;float: right">
27 27 <span class="noprint" style="padding-left:20px;"><button type="button" onClick="a()"><i class="fa fa-print"></i> 打印</button></span>
28 28 </div>
29 29 <div class="container" style=" width:320px;/*height:228px;*/color: #333">
... ... @@ -35,13 +35,13 @@
35 35 <tr>
36 36 <td width="20%" scope="col">存货编码</td>
37 37 <td colspan="2" scope="col" style="text-align:center">
38   - <span th:text="${row.materialCode}" code></span>
  38 + <span th:text="${row.materialCode}" ></span>
39 39 </td>
40 40 </tr>
41 41 <tr>
42 42 <td scope="col">存货代码</td>
43 43 <td colspan="2" scope="col" style="text-align:center">
44   - <span th:text="${row.userDef1}" code></span>
  44 + <span th:text="${row.userDef1}" ></span>
45 45 </td>
46 46 </tr>
47 47 <tr style="vertical-align:middle">
... ... @@ -49,9 +49,10 @@
49 49 <td style="text-align:center">
50 50 <span th:text="${row.materialName}"></span>
51 51 </td>
52   - <td rowspan="3" width="14%" style="padding: 2px">
53   - <img align="center" valign="middle" style="vertical-align:middle; padding:2px;"/>
54   - <span class="qrcode"></span>
  52 + <td rowspan="3" width="14%" style="padding: 2px">
  53 + <!--<img class="" align="center" valign="middle" style="vertical-align:middle; padding:2px;"/>-->
  54 + <!--<span class="qrcode"></span>-->
  55 + <div class="qrcode"></div>
55 56 </td>
56 57 </tr>
57 58 <tr>
... ... @@ -67,6 +68,12 @@
67 68 <input id="qty" name="qty" th:value="*{row.qty}" class="form-control" type="text" style="text-align:center;height:30px"/>
68 69 </td>
69 70 </tr>
  71 + <tr>
  72 + <td scope="col">生产编号</td>
  73 + <td colspan="2" scope="col" style="text-align:center">
  74 + <span th:text="${row.project}" ></span>
  75 + </td>
  76 + </tr>
70 77 </tbody>
71 78 </table>
72 79 </div>
... ... @@ -81,49 +88,40 @@
81 88 </style>
82 89 <script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script>
83 90 <script type="text/javascript" src="../../../js/jquery.jqprint-0.3.js"></script>
84   -<script type="text/javascript" src="../../../js/qrcode/jquery-qrcode-0.14.0.min.js"></script>
  91 +<script type="text/javascript" src="../../../js/qrcode/qrcode.min.js"></script>
85 92 <script type="text/javascript">
86 93 function a() {
87 94 // $("#ddd").jqprint();
88 95 $(".qrcode").children().remove();
  96 + print_qrcode();
  97 + window.print();
  98 + }
  99 + function print_qrcode(){
89 100 $('.dy-report').each(function (i,item) {
90 101 var company=$(this).children()[1].children[0].innerText;
91 102 var code16=$(this).children()[1].children[1].innerText;
92 103 var name=$(this).children()[1].children[2].innerText;
93 104 var spec=$(this).children()[1].children[3].innerText;
  105 + var project=$(this).children()[1].children[5].innerText;
94 106 company=company.substring(5);
95 107 code16=code16.substring(5);
96 108 name=name.substring(5);
97 109 spec=spec.substring(5);
  110 + project=project.substring(5);
98 111 var reg=/\t/;
99 112 name=name.replace(reg,"");
100 113 var qty=$(this).find('input').val();
101   - var code_text=company+'/'+ code16 +'/' +name+'/'+spec+'/'+qty+'/';
102   - $(this).find('.qrcode').qrcode({
103   - text: code_text,
104   - size: 54
  114 + // var code_text=company+'/'+ code16 +'/' +name+'/'+spec+'/'+qty+'/'+project;
  115 + var code_text=company;
  116 + var QRcode=new QRCode($(this).find('.qrcode')[0],{
  117 + text:code_text,
  118 + width:60,
  119 + height:60
105 120 });
106 121 });
107   - window.print();
108 122 }
109   - $('.dy-report').each(function (i,item) {
110   - var company=$(this).children()[1].children[0].innerText;
111   - var code16=$(this).children()[1].children[1].innerText;
112   - var name=$(this).children()[1].children[2].innerText;
113   - var spec=$(this).children()[1].children[3].innerText;
114   - company=company.substring(5);
115   - code16=code16.substring(5);
116   - name=name.substring(5);
117   - spec=spec.substring(5);
118   - var reg=/\t/;
119   - name=name.replace(reg,"");
120   - var qty=$(this).find('input').val();
121   - var code_text=company+'/'+ code16 +'/' +name+'/'+spec+'/'+qty+'/';
122   - $(this).find('.qrcode').qrcode({
123   - text: code_text,
124   - size: 54
125   - });
126   - });
  123 + print_qrcode();
  124 + console.log($(this).find('.qrcode')[0]);
127 125  
128 126 </script>
129 127  
... ...
src/main/resources/templates/receipt/receiptDetailHistory/edit.html
... ... @@ -31,7 +31,7 @@
31 31 </div>
32 32 </div>
33 33 <div class="form-group">
34   - <label class="col-sm-3 control-label">物料编码:</label>
  34 + <label class="col-sm-3 control-label">存货编码:</label>
35 35 <div class="col-sm-8">
36 36 <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
37 37 </div>
... ...
src/main/resources/templates/receipt/receiptDetailHistory/receiptDetailHistory.html
... ... @@ -56,7 +56,7 @@
56 56 },
57 57 {
58 58 field : 'materialCode',
59   - title : '物料编码'
  59 + title : '存货编码'
60 60 },
61 61 {
62 62 field : 'batch',
... ...
src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
... ... @@ -418,7 +418,7 @@
418 418 },
419 419 {
420 420 field : 'materialCode',
421   - title : '物料编码'
  421 + title : '存货编码'
422 422 },
423 423 {
424 424 field : 'materialName',
... ...
src/main/resources/templates/receipt/receiptHeader/report.html
... ... @@ -25,7 +25,7 @@
25 25 </td>
26 26 </tr>
27 27 <tr>
28   - <th width="18%">物料编码</th>
  28 + <th width="18%">存货编码</th>
29 29 <th width="22%">物料名称</th>
30 30 <th width="10%">批次</th>
31 31 <th width="9%">批号</th>
... ...
src/main/resources/templates/receipt/receiving/add.html
... ... @@ -14,7 +14,7 @@
14 14 </div>
15 15 </div>
16 16 <div class="form-group">
17   - <label class="col-sm-3 control-label">物料编码:</label>
  17 + <label class="col-sm-3 control-label">存货编码:</label>
18 18 <div class="col-sm-8">
19 19 <input id="materialCode" name="materialCode" class="form-control" type="text" readonly="readonly">
20 20 </div>
... ...
src/main/resources/templates/receipt/receiving/receiving.html
... ... @@ -200,7 +200,7 @@
200 200 },
201 201 {
202 202 field : 'materialCode',
203   - title : '物料编码'
  203 + title : '存货编码'
204 204 },
205 205 {
206 206 field:"name",
... ... @@ -279,7 +279,7 @@
279 279 },
280 280 {
281 281 field : 'materialCode',
282   - title : '物料编码'
  282 + title : '存货编码'
283 283 },
284 284 {
285 285 field:"materialName",
... ...
src/main/resources/templates/shipment/shipmentContainerDetail/shipmentContainerDetail.html
... ... @@ -58,7 +58,7 @@
58 58 },
59 59 {
60 60 field : 'materialCode',
61   - title : '物料编码'
  61 + title : '存货编码'
62 62 },
63 63 {
64 64 field : 'materialName',
... ...
src/main/resources/templates/shipment/shipmentContainerHeader/shipmentContainerHeader.html
... ... @@ -168,7 +168,7 @@
168 168 // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
169 169 actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\')"><i class="fa fa-list-ul"></i>明细</a> ');
170 170 if (row.status == 0) {
171   - actions.push('<a class="btn btn-primary btn-xs ' + createTaskFlag + '" href="#" onclick="createTask(\'' + row.id + '\')"><i class="fa fa-cab"></i>生成任务</a> ');
  171 + actions.push('<a class="btn btn-success btn-xs ' + createTaskFlag + '" href="#" onclick="createTask(\'' + row.id + '\')"><i class="fa fa-cab"></i>生成任务</a> ');
172 172 actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="removeHead(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消配盘</a>');
173 173 }
174 174 return actions.join('');
... ... @@ -229,7 +229,7 @@
229 229  
230 230 {
231 231 field : 'materialCode',
232   - title : '物料编码',
  232 + title : '存货编码',
233 233 sortable:true
234 234 },
235 235 {
... ...
src/main/resources/templates/shipment/shipmentDetail/add.html
... ... @@ -26,7 +26,7 @@
26 26 </div>
27 27 </div>
28 28 <div class="form-group">
29   - <label class="col-sm-3 control-label">物料编码:</label>
  29 + <label class="col-sm-3 control-label">存货编码:</label>
30 30 <div class="col-sm-8">
31 31 <input id="materialCode" name="materialCode" class="form-control" type="text">
32 32 </div>
... ...
src/main/resources/templates/shipment/shipmentDetail/edit.html
... ... @@ -25,7 +25,7 @@
25 25 </div>
26 26 </div>
27 27 <div class="form-group">
28   - <label class="col-sm-3 control-label">物料编码:</label>
  28 + <label class="col-sm-3 control-label">存货编码:</label>
29 29 <div class="col-sm-8">
30 30 <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text" readonly="readonly">
31 31 </div>
... ...
src/main/resources/templates/shipment/shipmentDetail/shipmentDetail.html
... ... @@ -63,7 +63,7 @@
63 63 },
64 64 {
65 65 field : 'materialCode',
66   - title : '物料编码'
  66 + title : '存货编码'
67 67 },
68 68 {
69 69 field : 'materialName',
... ...
src/main/resources/templates/shipment/shipmentDetailHistory/add.html
... ... @@ -42,7 +42,7 @@
42 42 </div>
43 43 </div>
44 44 <div class="form-group">
45   - <label class="col-sm-3 control-label">物料编码:</label>
  45 + <label class="col-sm-3 control-label">存货编码:</label>
46 46 <div class="col-sm-8">
47 47 <input id="materialCode" name="materialCode" class="form-control" type="text">
48 48 </div>
... ...
src/main/resources/templates/shipment/shipmentDetailHistory/edit.html
... ... @@ -43,7 +43,7 @@
43 43 </div>
44 44 </div>
45 45 <div class="form-group">
46   - <label class="col-sm-3 control-label">物料编码:</label>
  46 + <label class="col-sm-3 control-label">存货编码:</label>
47 47 <div class="col-sm-8">
48 48 <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text">
49 49 </div>
... ...
src/main/resources/templates/shipment/shipmentDetailHistory/shipmentDetailHistory.html
... ... @@ -70,7 +70,7 @@
70 70 },
71 71 {
72 72 field : 'materialCode',
73   - title : '物料编码'
  73 + title : '存货编码'
74 74 },
75 75 {
76 76 field : 'batch',
... ...
src/main/resources/templates/shipment/shipmentHeader/report.html
... ... @@ -25,7 +25,7 @@
25 25 </td>
26 26 </tr>
27 27 <tr>
28   - <th width="18%">物料编码</th>
  28 + <th width="18%">存货编码</th>
29 29 <th width="22%">物料名称</th>
30 30 <th width="10%">批次</th>
31 31 <th width="9%">批号</th>
... ...
src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
... ... @@ -407,7 +407,7 @@
407 407 },*/
408 408 {
409 409 field: 'materialCode',
410   - title: '物料编码'
  410 + title: '存货编码'
411 411 },
412 412 {
413 413 field: 'materialName',
... ...
src/main/resources/templates/shipment/shippingCombination/combination.html
... ... @@ -13,7 +13,7 @@
13 13 <li><input type="hidden" id="shipmentDetailId" th:value="*{id}"></li>
14 14 <li><input type="hidden" id="inventoryStatus" th:value="*{inventoryStatus}"></li>
15 15 <li>出库单号:<input type="text" readonly="readonly" th:value="*{shipmentCode}"></li>
16   - <li>物料编码:<input type="text" readonly="readonly" th:value="*{materialCode}"></li>
  16 + <li>存货编码:<input type="text" readonly="readonly" th:value="*{materialCode}"></li>
17 17 <li>物料名称:<input type="text" readonly="readonly" th:value="*{materialName}"></li>
18 18 <li>剩余配盘数:<input type="text" readonly="readonly" th:value="*{qty-qtyCompleted}" id="qtyRemain"></li>
19 19 <li>
... ... @@ -39,7 +39,7 @@
39 39 货主编码:<input type="text" id="companyCode" name="companyCode" th:value="*{companyCode}" readonly="readonly"/>
40 40 </li>
41 41 <li>
42   - 物料编码:<input type="text" id="materialCode" name="materialCode" th:value="*{materialCode}" readonly="readonly"/>
  42 + 存货编码:<input type="text" id="materialCode" name="materialCode" th:value="*{materialCode}" readonly="readonly"/>
43 43 </li>
44 44 <li>
45 45 库位编码:<input type="text" name="locationCode"/>
... ... @@ -138,11 +138,6 @@
138 138 title : 'id',
139 139 align: 'center',
140 140 },
141   - // {
142   - // field : 'locationId',
143   - // title : '库位id' ,
144   - // visible:false
145   - // },
146 141 {
147 142 field : 'locationCode',
148 143 title : '库位编码'
... ... @@ -167,7 +162,11 @@
167 162 },
168 163 {
169 164 field : 'materialCode',
170   - title : '物料编码'
  165 + title : '存货编码'
  166 + },
  167 + {
  168 + field : 'materialOldCode',
  169 + title : '存货代码'
171 170 },
172 171 {
173 172 field : 'materialName',
... ... @@ -193,11 +192,6 @@
193 192 field : 'receiptCode',
194 193 title : '入库单编码'
195 194 },
196   - // {
197   - // field : 'receiptId',
198   - // title : '入库单id' ,
199   - // visible:false
200   - // },
201 195 {
202 196 field : 'receiptDetailId',
203 197 title : '入库单明细id'
... ... @@ -255,21 +249,6 @@
255 249 {
256 250 field : 'lastUpdatedBy',
257 251 title : '更新用户'
258   - },
259   - {
260   - field : 'userDef1',
261   - title : '自定义字段1' ,
262   - visible:false
263   - },
264   - {
265   - field : 'userDef2',
266   - title : '自定义字段2' ,
267   - visible:false
268   - },
269   - {
270   - field : 'userDef3',
271   - title : '自定义字段3' ,
272   - visible:false
273 252 }
274 253 ]
275 254  
... ... @@ -331,7 +310,7 @@
331 310 // },
332 311 // {
333 312 // field : 'materialCode',
334   - // title : '物料编码'
  313 + // title : '存货编码'
335 314 // },
336 315 // {
337 316 // field : 'materialName',
... ...
src/main/resources/templates/shipment/shippingCombination/shippingCombination.html
... ... @@ -170,7 +170,7 @@
170 170 },
171 171 {
172 172 field : 'materialCode',
173   - title : '物料编码'
  173 + title : '存货编码'
174 174 },
175 175 {
176 176 field:"materialName",
... ... @@ -262,7 +262,7 @@
262 262 // },
263 263 {
264 264 field : 'materialCode',
265   - title : '物料编码'
  265 + title : '存货编码'
266 266 },
267 267 {
268 268 field:"materialName",
... ...
src/main/resources/templates/task/task/task.html
... ... @@ -263,9 +263,9 @@
263 263 formatter: function(value, row, index) {
264 264 var actions = [];
265 265 // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
266   - actions.push('<a class="btn btn-success btn-xs " href="#" onclick="detail(\'' + row.id + '\')"><i class="fa fa-edit"></i>明细</a> ');
  266 + actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\')"><i class="fa fa-list-ul"></i>明细</a> ');
267 267 if (row.lastStatus < 10) {
268   - actions.push('<a class="btn btn-info btn-xs ' + executeFlag + '" href="#" onclick="execute(\'' + row.id + '\')"><i class="fa fa-send" style="padding-right: 1px;"></i>执行</a> ');
  268 + actions.push('<a class="btn btn-success btn-xs ' + executeFlag + '" href="#" onclick="execute(\'' + row.id + '\')"><i class="fa fa-send" style="padding-right: 1px;"></i>执行</a> ');
269 269 actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消</a> ');
270 270 actions.push('<a class="btn btn-primary btn-xs ' + completeFlag + '" href="#" onclick="complete(\'' + row.id + '\')"><i class="fa fa-check"></i>完成</a>');
271 271 }
... ... @@ -319,7 +319,7 @@
319 319 },
320 320 {
321 321 field : 'materialCode',
322   - title : '物料编码',
  322 + title : '存货编码',
323 323 sortable: true
324 324 },
325 325 {
... ...
src/main/resources/templates/task/taskDetail/taskDetail.html
... ... @@ -58,7 +58,7 @@
58 58 },
59 59 {
60 60 field : 'materialCode',
61   - title : '物料编码',
  61 + title : '存货编码',
62 62 sortable: true
63 63 },
64 64 {
... ...