diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 72dfe38..68acc4b 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -3,10 +3,9 @@ <component name="Encoding" native2AsciiForPropertiesFiles="true" defaultCharsetForPropertiesFiles="UTF-8"> <file url="file://$PROJECT_DIR$" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/src/main/resources/static/js/qrcode/jquery-qrcode-0.14.0.min.js" charset="GBK" /> + <file url="file://$PROJECT_DIR$/src/main/resources/static/js/qrcode/qrcode.min.js" charset="GBK" /> <file url="file://$PROJECT_DIR$/src/main/resources/templates/inventory/cyclecountDetail/addGoods.html" charset="UTF-8" /> <file url="file://$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/report.html" charset="GBK" /> - <file url="file://$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/report.html" charset="GBK" /> - <file url="file://$PROJECT_DIR$/src/main/resources/templates/receipt/receiptDetail/report.html" charset="GBK" /> <file url="PROJECT" charset="GBK" /> </component> </project> \ No newline at end of file diff --git a/sql/huaheng20180921.sql b/sql/huaheng20180921.sql index fc96619..0cd3749 100644 --- a/sql/huaheng20180921.sql +++ b/sql/huaheng20180921.sql @@ -490,7 +490,7 @@ CREATE TABLE `cyclecount_detail` ( `locationId` int(11) NULL DEFAULT NULL COMMENT '库位id', `locationCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '库位编码', `materialId` int(11) NOT NULL COMMENT '物料Id', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码', `receiptId` int(11) NOT NULL COMMENT '入库单id', `receiptDetailId` int(11) NULL DEFAULT NULL COMMENT '入库单明细id', @@ -1031,7 +1031,7 @@ CREATE TABLE `inventory` ( `companyId` int(11) NULL DEFAULT NULL COMMENT '公司id', `companyCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司编码', `materialId` int(11) NULL DEFAULT NULL COMMENT '物料Id', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `receiptId` int(11) NOT NULL COMMENT '入库单id', `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码', `receiptDetailId` int(11) NULL DEFAULT NULL COMMENT '入库单明细id', @@ -1089,7 +1089,7 @@ CREATE TABLE `inventory_transaction` ( `companyCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '货主编码', `materialId` int(11) NULL DEFAULT NULL COMMENT '物料Id', `materialName` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `billId` int(11) NOT NULL COMMENT '单头', `billCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '单编码', `billDetailId` int(11) NULL DEFAULT NULL COMMENT '单明细id', @@ -1532,7 +1532,7 @@ CREATE TABLE `material` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `warehouseId` int(11) NOT NULL COMMENT '仓库Id', `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '仓库编码', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料类别', `name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称', `barcode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '条码', @@ -1954,7 +1954,7 @@ CREATE TABLE `receipt_container_detail` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id号', `headerId` int(11) NOT NULL COMMENT '组盘头id号', `receiptDetailId` int(11) NOT NULL COMMENT '入库单明细id号', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码', `qty` decimal(12, 3) NOT NULL COMMENT '组盘数量', `created` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `createdBy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建用户', @@ -2014,7 +2014,7 @@ CREATE TABLE `receipt_detail` ( `receiptId` int(11) NOT NULL COMMENT '入库单id', `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码', `materialId` int(11) NULL DEFAULT NULL COMMENT '物料Id', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次', `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号', `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号', @@ -2064,7 +2064,7 @@ CREATE TABLE `receipt_detail_history` ( `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仓库', `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码', `materialId` int(11) NOT NULL COMMENT '物料Id', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次', `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号', `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号', @@ -2180,7 +2180,7 @@ CREATE TABLE `shipment_container_detail` ( `headerId` int(11) NOT NULL COMMENT '组盘头id号', `shipmentHeaderId` int(11) NOT NULL COMMENT '出库头d号', `shipmentDetailId` int(11) NOT NULL COMMENT '出库明细id号', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码', `materialName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称', `qty` decimal(12, 3) NOT NULL COMMENT '配盘数量', `inventoryId` int(11) NOT NULL COMMENT '关联库存Id', @@ -2217,7 +2217,7 @@ CREATE TABLE `shipment_detail` ( `shipmentId` int(11) NOT NULL COMMENT '出库单id', `shipmentCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '出库单编码', `materialId` int(11) NOT NULL COMMENT '物料Id', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次', `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号', `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号', @@ -2253,7 +2253,7 @@ CREATE TABLE `shipment_detail_history` ( `shipmentId` int(11) NOT NULL COMMENT '出库单id', `shipmentCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '出库单编码', `materialId` int(11) NOT NULL COMMENT '物料Id', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次', `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号', `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号', @@ -3932,7 +3932,7 @@ CREATE TABLE `task_detail` ( `warehouseId` int(11) NOT NULL COMMENT '仓库Id', `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仓库', `allocationId` int(11) NULL DEFAULT NULL COMMENT '入库或者组盘详情表ID', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码', `containerCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '出入库货箱Code', `sourceLocation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '源库位', `destinationLocation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '目的库位', diff --git a/sql/huaheng_20180913.sql b/sql/huaheng_20180913.sql index 16e0901..bb260f4 100644 --- a/sql/huaheng_20180913.sql +++ b/sql/huaheng_20180913.sql @@ -485,7 +485,7 @@ CREATE TABLE `cyclecount_detail` ( `locationId` int(11) NULL DEFAULT NULL COMMENT '库位id', `locationCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '库位编码', `materialId` int(11) NOT NULL COMMENT '物料Id', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码', `receiptId` int(11) NOT NULL COMMENT '入库单id', `receiptDetailId` int(11) NULL DEFAULT NULL COMMENT '入库单明细id', @@ -551,7 +551,7 @@ CREATE TABLE `inventory` ( `companyId` int(11) NOT NULL COMMENT '公司id', `companyCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '公司编码', `materialId` int(11) NOT NULL COMMENT '物料Id', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `receiptId` int(11) NOT NULL COMMENT '入库单id', `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码', `receiptDetailId` int(11) NULL DEFAULT NULL COMMENT '入库单明细id', @@ -657,7 +657,7 @@ CREATE TABLE `inventory_transaction` ( `companyCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '货主编码', `materialId` int(11) NOT NULL COMMENT '物料Id', `materialName` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `billId` int(11) NOT NULL COMMENT '单头', `billCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '单编码', `billDetailId` int(11) NULL DEFAULT NULL COMMENT '单明细id', @@ -867,7 +867,7 @@ CREATE TABLE `material` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `warehouseId` int(11) NOT NULL COMMENT '仓库Id', `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '仓库编码', - `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `code` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料类别', `name` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', `barcode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '条码', @@ -1283,7 +1283,7 @@ CREATE TABLE `receipt_container_detail` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id号', `headerId` int(11) NOT NULL COMMENT '组盘头id号', `receiptDetailId` int(11) NOT NULL COMMENT '入库单明细id号', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码', `qty` decimal(12, 3) NOT NULL COMMENT '组盘数量', `created` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `createdBy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '创建用户', @@ -1431,7 +1431,7 @@ CREATE TABLE `receipt_detail` ( `receiptId` int(11) NOT NULL COMMENT '入库单id', `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码', `materialId` int(11) NOT NULL COMMENT '物料Id', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次', `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号', `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号', @@ -1515,7 +1515,7 @@ CREATE TABLE `receipt_detail_history` ( `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仓库', `receiptCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '入库单编码', `materialId` int(11) NOT NULL COMMENT '物料Id', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次', `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号', `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号', @@ -1652,7 +1652,7 @@ CREATE TABLE `shipment_container_detail` ( `headerId` int(11) NOT NULL COMMENT '组盘头id号', `shipmentHeaderId` int(11) NOT NULL COMMENT '出库头d号', `shipmentDetailId` int(11) NOT NULL COMMENT '出库明细id号', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码', `materialName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料名称', `qty` decimal(12, 3) NOT NULL COMMENT '配盘数量', `inventoryId` int(11) NOT NULL COMMENT '关联库存Id', @@ -1800,7 +1800,7 @@ CREATE TABLE `shipment_detail` ( `shipmentId` int(11) NOT NULL COMMENT '出库单id', `shipmentCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '出库单编码', `materialId` int(11) NOT NULL COMMENT '物料Id', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次', `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号', `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号', @@ -1877,7 +1877,7 @@ CREATE TABLE `shipment_detail_history` ( `shipmentId` int(11) NOT NULL COMMENT '出库单id', `shipmentCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '出库单编码', `materialId` int(11) NOT NULL COMMENT '物料Id', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '存货编码', `batch` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批次', `lot` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '批号', `project` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '项目号', @@ -7927,7 +7927,7 @@ CREATE TABLE `task_detail` ( `warehouseId` int(11) NOT NULL COMMENT '仓库Id', `warehouseCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '仓库', `allocationId` int(11) NULL DEFAULT NULL COMMENT '容器物料表ID', - `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '物料编码', + `materialCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '存货编码', `containerCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '出入库货箱Code', `sourceLocation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '源库位', `destinationLocation` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '目的库位', diff --git a/src/main/java/com/huaheng/api/Common/ReceiptApi.java b/src/main/java/com/huaheng/api/Common/ReceiptApi.java new file mode 100644 index 0000000..d93457a --- /dev/null +++ b/src/main/java/com/huaheng/api/Common/ReceiptApi.java @@ -0,0 +1,143 @@ +package com.huaheng.api.Common; + + +import com.alibaba.fastjson.JSON; +import com.huaheng.common.utils.StringUtils; +import com.huaheng.common.utils.http.HttpUtils; +import com.huaheng.common.utils.security.ShiroUtils; +import com.huaheng.framework.aspectj.lang.annotation.Log; +import com.huaheng.framework.aspectj.lang.constant.BusinessType; +import com.huaheng.framework.web.controller.BaseController; +import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.pc.general.material.domain.Material; +import com.huaheng.pc.general.material.service.IMaterialService; +import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; +import com.huaheng.pc.receipt.receiptDetail.service.IReceiptDetailService; +import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; +import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptModel; +import com.huaheng.pc.receipt.receiptHeader.service.IReceiptHeaderService; +import com.huaheng.pc.system.dict.service.IDictDataService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * 入库下发和入传接口 + * @author huaheng + * @date 2018-12-20 + * + * + * + */ +import java.util.List; + +@RestController +@RequestMapping("/api/receipt") +@Api(tags = {"receipt"}, description = "入库接口") +public class ReceiptApi extends BaseController { + + @Autowired + private IDictDataService dictDataService; + @Autowired + private IReceiptHeaderService receiptHeaderService; + @Autowired + private IReceiptDetailService receiptDetailService; + @Autowired + private IMaterialService materialService; + + + + @Log(title = "入库单下发", action = BusinessType.INSERT) + @PostMapping("/insertReceipt") + @ResponseBody + public AjaxResult insertReceipt(ReceiptModel receiptModel){ + if(receiptModel==null){ + return AjaxResult.error("参数不对"); + } + ReceiptHeader receiptHeader=receiptModel.getReceiptHeader(); + List<ReceiptDetail> receiptDetails=receiptModel.getReceiptDetails(); + if(receiptHeader==null || receiptDetails==null){ + return AjaxResult.error("入库主单或入库子单有问题"); + } + + if(dictDataService.checkConfig("receiptType", receiptHeader.getType()) == false) + { + return AjaxResult.error("没有对应的入库单类型"); + } + Integer result = receiptHeaderService.insert(receiptHeader); + if(result<1){ + return AjaxResult.error("新增主单失败"); + } + + + for(ReceiptDetail item :receiptDetails){ + ReceiptHeader receiptHeaderB=receiptHeaderService.selectEntityById(item.getReceiptId()); + if(!receiptHeader.equals(receiptHeaderB)){ + return AjaxResult.error("主子单据不匹配"); + } + if (receiptHeader.getFirstStatus() > 100) { + //表示已经加入了波次 + return AjaxResult.error("主单据状态不允许新增明细"); + } + + Material material = new Material(); + material.setCode(item.getMaterialCode()); + material.setWarehouseId(item.getWarehouseId()); + material = materialService.selectFirstEntity(material); + if (material == null) { + return AjaxResult.error("物料未找到"); + } + if (StringUtils.isNotEmpty(material.getCompanyCode()) && + ShiroUtils.getCompanyCodeList().contains(material.getCompanyCode()) == false) + { + return AjaxResult.error("物料不属于当前货主!"); + } + if(receiptDetailService.insert(item) > 0){ + //更新表头的总行数和总数量统计 + receiptHeader.setTotalQty(receiptHeader.getTotalQty().add(item.getQty())); + receiptHeader.setTotalLines(receiptHeader.getTotalLines() + 1); + receiptHeaderService.updateByModel(receiptHeader); + } + else { + return AjaxResult.error("新增单据明细失败"); + } + } + return AjaxResult.success("入库单据下发成功"); + } + + + + + //出库单回传 + @Log(title = "入库单回传", action = BusinessType.INSERT) + @PostMapping("/shipmentAssign") + @ResponseBody + public AjaxResult shipmentAssign(String url) + { + ReceiptHeader receiptHeader = new ReceiptHeader(); + receiptHeader.setLastStatus((short)300); + receiptHeader = receiptHeaderService.selectFirstEntity(receiptHeader); + if (receiptHeader == null) { + return AjaxResult.error("入库回传主单不存在"); + } + ReceiptDetail receiptDetail = new ReceiptDetail(); + receiptDetail.setReceiptCode(receiptHeader.getCode()); + List<ReceiptDetail> receiptDetails = receiptDetailService.selectListEntityByEqual(receiptDetail); + if (receiptDetails == null) { + return AjaxResult.error("入库回传子单不存在"); + } + ReceiptModel model=new ReceiptModel(); + model.setReceiptHeader(receiptHeader); + model.setReceiptDetails(receiptDetails); + String JsonParam = JSON.toJSONString(model); + String result = HttpUtils.sendPost(url, JsonParam); + AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class); + receiptHeader.setFirstStatus((short)900); + receiptHeader.setLastStatus((short)900); + receiptHeaderService.updateByModel(receiptHeader); + return ajaxResult; + } +} diff --git a/src/main/java/com/huaheng/api/Common/ShipmentApi.java b/src/main/java/com/huaheng/api/Common/ShipmentApi.java new file mode 100644 index 0000000..b985302 --- /dev/null +++ b/src/main/java/com/huaheng/api/Common/ShipmentApi.java @@ -0,0 +1,149 @@ +package com.huaheng.api.Common; + +import com.alibaba.fastjson.JSON; +import com.huaheng.common.utils.StringUtils; +import com.huaheng.common.utils.http.HttpUtils; +import com.huaheng.common.utils.security.ShiroUtils; +import com.huaheng.framework.aspectj.lang.annotation.Log; +import com.huaheng.framework.aspectj.lang.constant.BusinessType; +import com.huaheng.framework.web.controller.BaseController; +import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.pc.general.company.service.ICompanyService; +import com.huaheng.pc.general.material.domain.Material; +import com.huaheng.pc.general.material.service.IMaterialService; +import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; +import com.huaheng.pc.shipment.shipmentDetail.service.IShipmentDetailService; +import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; +import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentModel; +import com.huaheng.pc.shipment.shipmentHeader.service.IShipmentHeaderService; +import com.huaheng.pc.system.dict.service.IDictDataService; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +/** + * 出库下发和回传接口 + * @author huaheng + * @date 2018-12-18 + * + * + * + */ +@RestController +@RequestMapping("/api/shipment") +@Api(tags = {"shipment"}, description = "出库接口") +public class ShipmentApi extends BaseController { + + + @Autowired + private IDictDataService dictDataService; + @Autowired + IShipmentDetailService shipmentDetailService; + @Autowired + ICompanyService companyService; + @Autowired + IShipmentHeaderService shipmentHeaderService; + @Autowired + private IMaterialService materialService; + + //出库单下发 + @Log(title = "出库单下发", action = BusinessType.INSERT) + @PostMapping("/insertShipment") + @ResponseBody + public AjaxResult insertShipment(ShipmentModel shipmentModel){ + if(shipmentModel==null){ + return AjaxResult.error("参数不对"); + } + ShipmentHeader shipmentHeader=new ShipmentHeader(); + List<ShipmentDetail> shipmentDetails=new ArrayList<>(); + try { + shipmentHeader=shipmentModel.getShipmentHeader(); + shipmentDetails=shipmentModel.getShipmentDetails(); + }catch (Exception e){ + return AjaxResult.error("出库主单或出库子单有问题"); + } + if(dictDataService.checkConfig("shipmentType", shipmentHeader.getType()) == false) + { + return AjaxResult.error("没有对应的出库单类型"); + } + int result = shipmentHeaderService.insert(shipmentHeader); + if(result<1){ + return AjaxResult.error("新增主单失败"); + } + + //添加细表到shipmentDetail + for(ShipmentDetail shipmentDetail : shipmentDetails) { + ShipmentHeader shipmentHeaderB = shipmentHeaderService.selectEntityById(shipmentDetail.getShipmentId()); + if (!shipmentHeaderB.equals(shipmentHeader)) { + return AjaxResult.error("找不到主单据"); + } + if (shipmentHeaderB.getFirstStatus() > 100) { + //表示已经加入了波次 + return AjaxResult.error("主单据状态不允许新增明细"); + } + Material material = new Material(); + material.setCode(shipmentDetail.getMaterialCode()); + material.setWarehouseId(shipmentDetail.getWarehouseId()); + material = materialService.selectFirstEntity(material); + if (material == null) { + return AjaxResult.error("物料未找到"); + } + if (StringUtils.isNotEmpty(material.getCompanyCode()) && + ShiroUtils.getCompanyCodeList().contains(material.getCompanyCode()) == false) + { + return AjaxResult.error("物料不属于当前货主!"); + } + + if (shipmentDetailService.insert(shipmentDetail) > 0){ + //更新单据总行数与总数量 + shipmentHeader.setTotalLines(shipmentHeader.getTotalLines() + 1); + shipmentHeader.setTotalQty(shipmentHeader.getTotalQty().add(shipmentDetail.getQty())); + shipmentHeaderService.updateByModel(shipmentHeader); + } + else { + return AjaxResult.error("新增单据明细失败"); + } + } + return AjaxResult.success("出库单下发成功"); + } + + + + //出库单回传 + @Log(title = "出库单回传", action = BusinessType.INSERT) + @PostMapping("/shipmentAssign") + @ResponseBody + public AjaxResult shipmentAssign(String url) + { + ShipmentHeader shipmentHeader = new ShipmentHeader(); + shipmentHeader.setLastStatus(300); + shipmentHeader = shipmentHeaderService.selectFirstEntity(shipmentHeader); + if (shipmentHeader == null) { + return AjaxResult.error("出库回传主单不存在"); + } + ShipmentDetail shipmentDetail = new ShipmentDetail(); + shipmentDetail.setShipmentCode(shipmentHeader.getCode()); + List<ShipmentDetail> shipmentDetails = shipmentDetailService.selectListEntityByEqual(shipmentDetail); + if (shipmentDetails == null) { + return AjaxResult.error("出库回传子单不存在"); + } + ShipmentModel model=new ShipmentModel(); + model.setShipmentHeader(shipmentHeader); + model.setShipmentDetails(shipmentDetails); + String JsonParam = JSON.toJSONString(model); + String result = HttpUtils.sendPost(url, JsonParam); + AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class); + shipmentHeader.setFirstStatus(900); + shipmentHeader.setLastStatus(900); + shipmentHeaderService.updateByModel(shipmentHeader); + return ajaxResult; + } + + +} diff --git a/src/main/java/com/huaheng/api/U8/controller/ICSShipmentApi.java b/src/main/java/com/huaheng/api/U8/controller/ICSShipmentApi.java new file mode 100644 index 0000000..2f8a86d --- /dev/null +++ b/src/main/java/com/huaheng/api/U8/controller/ICSShipmentApi.java @@ -0,0 +1,53 @@ +package com.huaheng.api.U8.controller; + +import com.huaheng.api.U8.domain.ICSShipmentModel; +import com.huaheng.api.U8.service.ICSShipmentService; +import com.huaheng.framework.aspectj.lang.annotation.Log; +import com.huaheng.framework.aspectj.lang.constant.BusinessType; +import com.huaheng.framework.web.controller.BaseController; +import com.huaheng.framework.web.domain.AjaxResult; +import io.swagger.annotations.Api; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.web.bind.annotation.RestController; + +/** + * u8-wms出库下发或回传接口 + * + * + */ + + +@RestController +@RequestMapping("/api/ICSShipment") +@Api(tags = {"shipment"}, description = "出库下发或回传接口") +public class ICSShipmentApi extends BaseController { + + + @Autowired + private ICSShipmentService icsShipmentService; + + //出库下发 + @Log(title = "出库下发", action = BusinessType.INSERT) + @PostMapping("/insertICSShipment") + @ResponseBody + public AjaxResult insertICSShipment(ICSShipmentModel icsShipmentModel){ + AjaxResult ajaxResult = icsShipmentService.insertICSShipment(icsShipmentModel); + return ajaxResult; + } + + + + //出库下发 + @Log(title = "出库回传", action = BusinessType.GRANT) + @PostMapping("/ICSShipmentAssign") + @ResponseBody + public AjaxResult ICSShipmentAssign(String url){ + AjaxResult ajaxResult = icsShipmentService.ICSShipmentAssign(url); + return ajaxResult; + } + + +} diff --git a/src/main/java/com/huaheng/api/U8/domain/ICSShipmentModel.java b/src/main/java/com/huaheng/api/U8/domain/ICSShipmentModel.java new file mode 100644 index 0000000..e4f3f1c --- /dev/null +++ b/src/main/java/com/huaheng/api/U8/domain/ICSShipmentModel.java @@ -0,0 +1,36 @@ +package com.huaheng.api.U8.domain; + +import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail; +import com.huaheng.pc.icsShipment.icsShipmentHeader.domain.ICSShipmentHeader; + +import java.util.List; + + +/** + * + * 出库下发或回传模型 + * @author huaheng + * @date 2018-12-18 + * + */ + +public class ICSShipmentModel { + private ICSShipmentHeader icsShipmentHeader; + private List<ICSShipmentDetail> icsShipmentDetails; + + public ICSShipmentHeader getIcsShipmentHeader() { + return icsShipmentHeader; + } + + public void setIcsShipmentHeader(ICSShipmentHeader icsShipmentHeader) { + this.icsShipmentHeader = icsShipmentHeader; + } + + public List<ICSShipmentDetail> getIcsShipmentDetails() { + return icsShipmentDetails; + } + + public void setIcsShipmentDetails(List<ICSShipmentDetail> icsShipmentDetails) { + this.icsShipmentDetails = icsShipmentDetails; + } +} diff --git a/src/main/java/com/huaheng/api/U8/service/ICSShipmentService.java b/src/main/java/com/huaheng/api/U8/service/ICSShipmentService.java new file mode 100644 index 0000000..da02c52 --- /dev/null +++ b/src/main/java/com/huaheng/api/U8/service/ICSShipmentService.java @@ -0,0 +1,243 @@ +package com.huaheng.api.U8.service; + +import com.alibaba.fastjson.JSON; +import com.huaheng.api.Common.ShipmentApi; +import com.huaheng.api.U8.domain.ICSShipmentModel; +import com.huaheng.common.utils.StringUtils; +import com.huaheng.common.utils.http.HttpUtils; +import com.huaheng.common.utils.security.ShiroUtils; +import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.pc.general.company.domain.Company; +import com.huaheng.pc.general.company.service.ICompanyService; +import com.huaheng.pc.general.material.domain.Material; +import com.huaheng.pc.general.material.service.IMaterialService; +import com.huaheng.pc.general.warehouse.domain.Warehouse; +import com.huaheng.pc.general.warehouse.service.IWarehouseService; +import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail; +import com.huaheng.pc.icsShipment.icsShipmentDetail.service.ICSShipmentDetailService; +import com.huaheng.pc.icsShipment.icsShipmentHeader.domain.ICSShipmentHeader; +import com.huaheng.pc.icsShipment.icsShipmentHeader.service.ICSShipmentHeaderService; +import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; +import com.huaheng.pc.shipment.shipmentDetail.service.IShipmentDetailService; +import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; +import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentModel; +import com.huaheng.pc.shipment.shipmentHeader.service.IShipmentHeaderService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class ICSShipmentService { + + @Autowired + private IShipmentHeaderService shipmentHeaderService; + @Autowired + IShipmentDetailService shipmentDetailService; + @Autowired + private IWarehouseService warehouseService; + @Autowired + private ICompanyService companyService; + @Autowired + private IMaterialService materialService; + @Autowired + private ICSShipmentHeaderService icsShipmentHeaderService; + @Autowired + private ICSShipmentDetailService icsShipmentDetailService; + + //u8-wms出库下发 + public AjaxResult insertICSShipment(ICSShipmentModel icsShipmentModel){ + + //获取主单和子单列 + if(icsShipmentModel==null){ + return AjaxResult.error("u8上传参数错误"); + } + ICSShipmentHeader icsShipmentHeader=icsShipmentModel.getIcsShipmentHeader(); + List<ICSShipmentDetail> icsShipmentDetails=icsShipmentModel.getIcsShipmentDetails(); + if(icsShipmentHeader==null || icsShipmentDetails==null){ + return AjaxResult.error("参数异常,不匹配"); + } + //判断系统中有没有该货主 + companyService.checkwarehouseCompany(icsShipmentHeader.getCompanyCode()); + + //将主表插入到新的接收主表里去 + int result=icsShipmentHeaderService.insertModel(icsShipmentHeader); + if(result<1){ + return AjaxResult.error("出库主单传输失败!"); + } + + //将子表插入到新的接收子表里去 + for(ICSShipmentDetail item : icsShipmentDetails){ + int result1=icsShipmentDetailService.insertModel(item); + if(result1<1){ + return AjaxResult.error("出库子单传输失败!"); + } + } + + //根据icsShipmentHeader生成shipmentHeader + String type=icsShipmentHeader.getcBusType(); + ShipmentHeader shipmentHeader=new ShipmentHeader(); + Warehouse warehouse=new Warehouse(); + String warehouseCode=new String(); + if(type.equals("调拨")){ + warehouseCode=icsShipmentHeader.getoWHCode(); + }else { + warehouseCode=icsShipmentHeader.getcWHCode(); + } + warehouse.setCode(warehouseCode); + int warehouseId=warehouseService.selectFirstEntity(warehouse).getId(); + Company company=new Company(); + String companyCode=icsShipmentHeader.getCompanyCode(); + company.setCode(companyCode); + int companyId=companyService.selectFirstEntity(company).getId(); + String code = shipmentHeaderService.createCode(type); + shipmentHeader.setType(type); + shipmentHeader.setId(null); + shipmentHeader.setLastUpdated(null); + shipmentHeader.setLastUpdatedBy(ShiroUtils.getLoginName()); + shipmentHeader.setCreated(null); + shipmentHeader.setCreatedBy(ShiroUtils.getLoginName()); + shipmentHeader.setWarehouseId(warehouseId); + shipmentHeader.setWarehouseCode(warehouseCode); + shipmentHeader.setCompanyId(companyId); + shipmentHeader.setCompanyCode(companyCode); + shipmentHeader.setCode(code); + shipmentHeader.setUploadStatus(0); + if(type.equals("生产")){ + shipmentHeader.setSourceCode(icsShipmentHeader.getMoCode()); + }else if(type.equals("销售")){ + shipmentHeader.setSourceCode(icsShipmentHeader.getcDLCode()); + }else if(type.equals("调拨")){ + shipmentHeader.setSourceCode(icsShipmentHeader.getcTVCode()); + } + else { + shipmentHeader.setSourceCode(icsShipmentHeader.getcCode()); + } + + + + + //根据icsShipmentDetail生成shipmentAetail + List<ShipmentDetail> shipmentDetails=new ArrayList<ShipmentDetail>(); + for(ICSShipmentDetail icsShipmentDetail : icsShipmentDetails) { + //查找物料 + Material material = new Material(); + material.setCode(icsShipmentDetail.getcInvCode()); + material=materialService.selectFirstEntity(material); + + ShipmentDetail shipmentDetail = new ShipmentDetail(); + shipmentDetail.setId(null); + shipmentDetail.setWarehouseId(warehouseId); + shipmentDetail.setWarehouseCode(icsShipmentDetail.getcWHCode()); + shipmentDetail.setMaterialId(material.getId()); + shipmentDetail.setMaterialCode(material.getCode()); + shipmentDetail.setCreated(null); + shipmentDetail.setCreatedBy(ShiroUtils.getLoginName()); + shipmentDetail.setLastUpdated(null); + shipmentDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); + shipmentDetail.setCompanyId(companyId); + shipmentDetail.setCompanyCode(icsShipmentDetail.getCompanyCode()); + shipmentDetail.setShipmentId(shipmentHeader.getId()); + shipmentDetail.setShipmentCode(shipmentHeader.getCode()); + if (StringUtils.isNotEmpty(icsShipmentDetail.getIrowno().toString())) { + shipmentDetail.setSourceLine(icsShipmentDetail.getIrowno().toString()); + } + if (StringUtils.isNotEmpty(icsShipmentDetail.getSortSeq().toString())) { + shipmentDetail.setSourceLine(icsShipmentDetail.getSortSeq().toString()); + } + shipmentDetail.setQty(icsShipmentDetail.getcQuantity()); + shipmentDetails.add(shipmentDetail); + } + + //调用公共API + ShipmentApi shipmentApi=new ShipmentApi(); + ShipmentModel shipmentModel=new ShipmentModel(); + shipmentModel.setShipmentHeader(shipmentHeader); + shipmentModel.setShipmentDetails(shipmentDetails); + return shipmentApi.insertShipment(shipmentModel); + } + + + + //wms-u8出库回传 + public AjaxResult ICSShipmentAssign(String url){ + + //先找到出库主单 + ShipmentHeader shipmentHeader = new ShipmentHeader(); + shipmentHeader.setLastStatus(300); + shipmentHeader = shipmentHeaderService.selectFirstEntity(shipmentHeader); + if (shipmentHeader == null) { + return AjaxResult.error("出库回传主单不存在"); + } + ShipmentDetail shipmentDetail = new ShipmentDetail(); + + shipmentDetail.setShipmentCode(shipmentHeader.getCode()); + List<ShipmentDetail> shipmentDetails = shipmentDetailService.selectListEntityByEqual(shipmentDetail); + if (shipmentDetails == null) { + return AjaxResult.error("出库回传子单不存在"); + } + + ICSShipmentHeader icsShipmentHeader=new ICSShipmentHeader(); + String type=shipmentHeader.getType(); + String code=shipmentHeader.getSourceCode(); + List<ICSShipmentDetail> icsShipmentDetails=new ArrayList<ICSShipmentDetail>(); + ICSShipmentDetail icsShipmentDetail=new ICSShipmentDetail(); + + + //出库类型为采购的主单和子单 + if(type.equals("采购")){ + icsShipmentHeader.setcCode(code); + icsShipmentHeader=icsShipmentHeaderService.selectModel(icsShipmentHeader); + icsShipmentHeader.setID(shipmentHeader.getId()); + icsShipmentDetail.setcCode(code); + icsShipmentDetails=icsShipmentDetailService.selectList(icsShipmentDetail); + for(ICSShipmentDetail item :icsShipmentDetails){ + shipmentDetail.setShipmentCode(code); + shipmentDetail.setSourceLine(item.getIrowno().toString()); + shipmentDetailService.selectFirstEntity(shipmentDetail); + item.setID(shipmentDetail.getId()); + } + } + + //出库类型为材料或其他的主单和子单 + if(type.equals("材料") || type.equals("其他")){ + icsShipmentHeader.setcCode(code); + icsShipmentHeader=icsShipmentHeaderService.selectModel(icsShipmentHeader); + icsShipmentDetail.setcCode(code); + icsShipmentDetails=icsShipmentDetailService.selectList(icsShipmentDetail); + } + + //出库类型为销售的主单和子单 + if(type.equals("销售")){ + icsShipmentHeader.setcDLCode (code); + icsShipmentHeader=icsShipmentHeaderService.selectModel(icsShipmentHeader); + icsShipmentHeader.setcCode(shipmentHeader.getSourceCode()); + icsShipmentHeader.setID(icsShipmentHeader.getDLID()); + icsShipmentHeader.setdDate(icsShipmentHeader.getdPODate()); + } + + //出库类型为调拨的主单和子单 + if(type.equals("调拨")){ + icsShipmentHeader.setcTVCode (code); + icsShipmentHeader=icsShipmentHeaderService.selectModel(icsShipmentHeader); + icsShipmentHeader.setcCode(shipmentHeader.getSourceCode()); + icsShipmentHeader.setcWHCode(icsShipmentHeader.getoWHCode()); + icsShipmentHeader.setcWHName(icsShipmentHeader.getoWHName()); + } + + + + ICSShipmentModel model=new ICSShipmentModel(); + model.setIcsShipmentHeader(icsShipmentHeader); + model.setIcsShipmentDetails(icsShipmentDetails); + String JsonParam = JSON.toJSONString(model); + String result = HttpUtils.sendPost(url, JsonParam); + AjaxResult ajaxResult = JSON.parseObject(result, AjaxResult.class); + shipmentHeader.setFirstStatus(900); + shipmentHeader.setLastStatus(900); + shipmentHeaderService.updateByModel(shipmentHeader); + return ajaxResult; + + } +} diff --git a/src/main/java/com/huaheng/mobile/inventory/MobileInventory.java b/src/main/java/com/huaheng/mobile/inventory/MobileInventory.java index 6230cf8..9250419 100644 --- a/src/main/java/com/huaheng/mobile/inventory/MobileInventory.java +++ b/src/main/java/com/huaheng/mobile/inventory/MobileInventory.java @@ -8,7 +8,7 @@ public class MobileInventory { private int id; /** 库位编号 */ private String locationCode; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; /**物料名称 */ private String materialName; diff --git a/src/main/java/com/huaheng/mobile/inventory/MobileInventoryController.java b/src/main/java/com/huaheng/mobile/inventory/MobileInventoryController.java index b87a0cd..097105d 100644 --- a/src/main/java/com/huaheng/mobile/inventory/MobileInventoryController.java +++ b/src/main/java/com/huaheng/mobile/inventory/MobileInventoryController.java @@ -41,7 +41,7 @@ public class MobileInventoryController { @PostMapping("/getInventoryInfo") @ApiOperation("移动端获得库存详情") @Log(title = "移动端获得库存详情", action = BusinessType.OTHER) - public AjaxResult getInventoryInfo(@RequestBody @ApiParam(value="物料编码或者库位号") Map<String, String> param) { + public AjaxResult getInventoryInfo(@RequestBody @ApiParam(value="存货编码或者库位号") Map<String, String> param) { if (param.get("code") == null || param.get("code").trim().length() < 1) throw new JSONException("查询码(code)不能为空"); if (param.get("companyCode") == null || param.get("companyCode").trim().length() < 1) diff --git a/src/main/java/com/huaheng/pc/general/customer/domain/ShipMaterialDetail.java b/src/main/java/com/huaheng/pc/general/customer/domain/ShipMaterialDetail.java index 1b0d433..79c60d3 100644 --- a/src/main/java/com/huaheng/pc/general/customer/domain/ShipMaterialDetail.java +++ b/src/main/java/com/huaheng/pc/general/customer/domain/ShipMaterialDetail.java @@ -7,7 +7,7 @@ public class ShipMaterialDetail { /** 仓库 */ private String warehouseCode; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; /** 发货数量 */ private BigDecimal qty = new BigDecimal(0); diff --git a/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java b/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java index ea64393..6f5b586 100644 --- a/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java +++ b/src/main/java/com/huaheng/pc/general/material/controller/MaterialController.java @@ -143,7 +143,7 @@ public class MaterialController extends BaseController receiptDetail.setDeleted(false); Map<String, Object> map = receiptDetailService.selectFirstMap("id", receiptDetail); if (map != null) { - return AjaxResult.error("物料编码(" + material.getCode() +")存在入库单,不能删除!"); + return AjaxResult.error("存货编码(" + material.getCode() +")存在入库单,不能删除!"); } material.setDeleted(true); material.setLastUpdatedBy(ShiroUtils.getLoginName()); diff --git a/src/main/java/com/huaheng/pc/general/material/domain/Material.java b/src/main/java/com/huaheng/pc/general/material/domain/Material.java index f4d412c..5c5ccaa 100644 --- a/src/main/java/com/huaheng/pc/general/material/domain/Material.java +++ b/src/main/java/com/huaheng/pc/general/material/domain/Material.java @@ -24,7 +24,7 @@ public class Material extends BaseEntity private Integer warehouseId; /** 仓库编码 */ private String warehouseCode; - /** 物料编码 */ + /** 存货编码 */ private String code; /** 物料类别 */ private String type; diff --git a/src/main/java/com/huaheng/pc/general/material/service/MaterialServiceImpl.java b/src/main/java/com/huaheng/pc/general/material/service/MaterialServiceImpl.java index 34d0bd8..b8a36d4 100644 --- a/src/main/java/com/huaheng/pc/general/material/service/MaterialServiceImpl.java +++ b/src/main/java/com/huaheng/pc/general/material/service/MaterialServiceImpl.java @@ -90,7 +90,11 @@ public class MaterialServiceImpl implements IMaterialService { material.getCompanyCodeList().add(""); material.setEnable(true); material.setDeleted(false); - material.setCode(materialCode); + if(materialCode.length() == 11) { + material.setCode(materialCode); + } else { + material.setUserDef1(materialCode); + } Material result= selectFirstEntity(material); if(result == null) { material = new Material(); diff --git a/src/main/java/com/huaheng/pc/icsShipment/icsShipmentDetail/domain/ICSShipmentDetail.java b/src/main/java/com/huaheng/pc/icsShipment/icsShipmentDetail/domain/ICSShipmentDetail.java index b9cf476..b12ec4b 100644 --- a/src/main/java/com/huaheng/pc/icsShipment/icsShipmentDetail/domain/ICSShipmentDetail.java +++ b/src/main/java/com/huaheng/pc/icsShipment/icsShipmentDetail/domain/ICSShipmentDetail.java @@ -28,7 +28,7 @@ public class ICSShipmentDetail implements Serializable { private Integer AutoID; //采购单一类的行号 - private Integer rowno; + private Integer irowno; //项目号 private String cItemName ; @@ -155,12 +155,12 @@ public class ICSShipmentDetail implements Serializable { AutoID = autoID; } - public Integer getRowno() { - return rowno; + public Integer getIrowno() { + return irowno; } - public void setRowno(Integer rowno) { - this.rowno = rowno; + public void setIrowno(Integer irowno) { + this.irowno = irowno; } public String getcItemName() { diff --git a/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderService.java b/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderService.java index 733f2c4..b8f7fd7 100644 --- a/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderService.java +++ b/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderService.java @@ -17,6 +17,4 @@ public interface ICSShipmentHeaderService { //添加出库下发主单 int insertModel(ICSShipmentHeader condition); - AjaxResult inserModel(ICSShipmentHeader condition); - } diff --git a/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderServiceImpl.java index c57edc2..149385c 100644 --- a/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/icsShipment/icsShipmentHeader/service/ICSShipmentHeaderServiceImpl.java @@ -31,16 +31,5 @@ public class ICSShipmentHeaderServiceImpl implements ICSShipmentHeaderService { return icsShipmentHeaderMapper.insertModel(condition); } - @Override - public AjaxResult inserModel(ICSShipmentHeader condition) { - int result=0; - result=insertModel(condition); - if(result<1){ - return AjaxResult.error("出库下发失败"); - }else { - return AjaxResult.success("出库下发成功"); - } - } - } diff --git a/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/domain/CyclecountDetail.java b/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/domain/CyclecountDetail.java index d7e5e81..9e5753f 100644 --- a/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/domain/CyclecountDetail.java +++ b/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/domain/CyclecountDetail.java @@ -38,7 +38,7 @@ public class CyclecountDetail extends BaseEntity private String containerCode; /** 物料Id */ private Integer materialId; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; //物料规格 private String materialSpecification; diff --git a/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/service/CyclecountDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/service/CyclecountDetailServiceImpl.java index 83ce8d6..8ab9d91 100644 --- a/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/service/CyclecountDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/inventory/cyclecountDetail/service/CyclecountDetailServiceImpl.java @@ -173,9 +173,9 @@ public class CyclecountDetailServiceImpl implements ICyclecountDetailService { }else{ return AjaxResult.error("容器忙碌,请选择空闲容器!"); } - //物料编码判定 + //存货编码判定 Material temp = new Material(); - temp.setCode(cyclecountDetail.getMaterialCode());//物料编码 + temp.setCode(cyclecountDetail.getMaterialCode());//存货编码 temp.setWarehouseId(cyclecountHeader.getWarehouseId()); temp.setDeleted(false); Material material = materialService.selectFirstEntity(temp); @@ -186,9 +186,9 @@ public class CyclecountDetailServiceImpl implements ICyclecountDetailService { return AjaxResult.error("物料不属于当前货主!"); } if(material.getCode().equals(cyclecountDetail.getMaterialCode())){ - cyclecountDetail2.setMaterialCode(cyclecountDetail.getMaterialCode());//物料编码 + cyclecountDetail2.setMaterialCode(cyclecountDetail.getMaterialCode());//存货编码 }else{ - return AjaxResult.error("物料编码错误!"); + return AjaxResult.error("存货编码错误!"); } cyclecountDetail2.setMaterialSpecification(material.getSpecification()); //物料规格 diff --git a/src/main/java/com/huaheng/pc/inventory/inventory/domain/Inventory.java b/src/main/java/com/huaheng/pc/inventory/inventory/domain/Inventory.java index a3008e9..6e56832 100644 --- a/src/main/java/com/huaheng/pc/inventory/inventory/domain/Inventory.java +++ b/src/main/java/com/huaheng/pc/inventory/inventory/domain/Inventory.java @@ -43,8 +43,10 @@ public class Inventory extends BaseEntity private String companyCode; /** 物料Id */ private Integer materialId; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; + /** 物料代码 */ + private String materialOldCode; /** 物料名称 */ private String materialName; /** 物料类别 */ @@ -205,6 +207,16 @@ public class Inventory extends BaseEntity { return materialCode; } + + public String getMaterialOldCode() { + return materialOldCode; + } + + public Inventory setMaterialOldCode(String materialOldCode) { + this.materialOldCode = materialOldCode; + return this; + } + public void setMaterialName(String materialName) { this.materialName = materialName; diff --git a/src/main/java/com/huaheng/pc/inventory/inventory/domain/InventorySearch.java b/src/main/java/com/huaheng/pc/inventory/inventory/domain/InventorySearch.java index f45a1de..6734ee3 100644 --- a/src/main/java/com/huaheng/pc/inventory/inventory/domain/InventorySearch.java +++ b/src/main/java/com/huaheng/pc/inventory/inventory/domain/InventorySearch.java @@ -31,7 +31,7 @@ public class InventorySearch extends BaseEntity { private String companyCode; /** 物料Id */ private Integer materialId; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; /** 物料名称 */ private String materialName; diff --git a/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java b/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java index 7812a4b..47ec058 100644 --- a/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java +++ b/src/main/java/com/huaheng/pc/inventory/inventoryTransaction/domain/InventoryTransaction.java @@ -43,7 +43,7 @@ public class InventoryTransaction extends BaseEntity private String companyCode; /** 物料Id */ private Integer materialId; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; /** 物料名称 */ private String materialName; diff --git a/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java b/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java index 253c2db..1d2ba48 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java @@ -27,9 +27,9 @@ public class ReceiptContainerDetail extends BaseEntity private Integer receiptId; /** 入库单明细id号 */ private Integer receiptDetailId; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; - /** 物料编码 */ + /** 存货编码 */ private String materialName; /** 物料规格 */ private String materialSpec; diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java b/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java index e84b781..bfa3ed9 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptDetail/domain/ReceiptDetail.java @@ -38,7 +38,7 @@ public class ReceiptDetail extends BaseEntity private String receiptCode; /** 物料Id */ private Integer materialId; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; /** 物料名称 */ private String materialName; diff --git a/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java b/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java index c0f67fd..ac7de67 100644 --- a/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java +++ b/src/main/java/com/huaheng/pc/receipt/receiptDetailHistory/domain/ReceiptDetailHistory.java @@ -31,7 +31,7 @@ public class ReceiptDetailHistory extends BaseEntity private String receiptCode; /** 物料Id */ private Integer materialId; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; /** 批次 */ private String batch; diff --git a/src/main/java/com/huaheng/pc/receipt/receiptHeader/domain/ReceiptModel.java b/src/main/java/com/huaheng/pc/receipt/receiptHeader/domain/ReceiptModel.java new file mode 100644 index 0000000..f4c6ab0 --- /dev/null +++ b/src/main/java/com/huaheng/pc/receipt/receiptHeader/domain/ReceiptModel.java @@ -0,0 +1,26 @@ +package com.huaheng.pc.receipt.receiptHeader.domain; + +import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; + +import java.util.List; + +public class ReceiptModel { + private ReceiptHeader receiptHeader; + private List<ReceiptDetail> receiptDetails; + + public ReceiptHeader getReceiptHeader() { + return receiptHeader; + } + + public void setReceiptHeader(ReceiptHeader receiptHeader) { + this.receiptHeader = receiptHeader; + } + + public List<ReceiptDetail> getReceiptDetails() { + return receiptDetails; + } + + public void setReceiptDetails(List<ReceiptDetail> receiptDetails) { + this.receiptDetails = receiptDetails; + } +} diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java index ebe665c..79b839d 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java @@ -27,7 +27,7 @@ public class ShipmentContainerDetail extends BaseEntity private Integer shipmentHeaderId; /** 出库明细id号 */ private Integer shipmentDetailId; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; /** 物料名称 */ private String materialName; diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java index b813fdd..bfba136 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java @@ -161,7 +161,7 @@ public class ShipmentContainerHeaderServiceImpl implements IShipmentContainerHea if (shipmentQty.compareTo(BigDecimal.ZERO) <= 0) { continue; } - // 根据 仓库编码、货主编码、物料编码,物料状态来查找可以出库的物料 + // 根据 仓库编码、货主编码、存货编码,物料状态来查找可以出库的物料 ShippingSearch search = new ShippingSearch(); search.setWarehouseCode(ShiroUtils.getWarehouseCode()); search.setCompanyCode(item.getCompanyCode()); diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java index 6ea0365..3086c6d 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/controller/ShipmentDetailController.java @@ -10,7 +10,6 @@ import com.huaheng.pc.general.material.domain.Material; import com.huaheng.pc.general.material.service.IMaterialService; import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; import com.huaheng.pc.shipment.shipmentDetail.service.IShipmentDetailService; -import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -88,9 +87,9 @@ public class ShipmentDetailController extends BaseController @Log(title = "出库-出库单", operating= "新增出库明细", action = BusinessType.INSERT) @PostMapping("/add") @ResponseBody - public AjaxResult addSave(ICSShipmentDetail uwshipmentDetail) + public AjaxResult addSave(ShipmentDetail shipmentDetail) { - return shipmentDetailService.insertDetail(uwshipmentDetail); + return shipmentDetailService.insertDetail(shipmentDetail); } /** diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java index e1607d6..801fe26 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/domain/ShipmentDetail.java @@ -38,7 +38,7 @@ public class ShipmentDetail extends BaseEntity implements Cloneable private String shipmentCode; /** 物料Id */ private Integer materialId; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; /** 物料名称 */ private String materialName; diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/IShipmentDetailService.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/IShipmentDetailService.java index 37dcea4..4a328cc 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/IShipmentDetailService.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/IShipmentDetailService.java @@ -5,7 +5,6 @@ import com.huaheng.mobile.shipment.ShipmentBill; import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetailSearchModel; import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; -import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail; import java.util.List; import java.util.Map; @@ -44,7 +43,7 @@ public interface IShipmentDetailService { AjaxResult<List<ShipmentDetail>> listDetails(ShipmentDetailSearchModel shipmentDetailSearchModel); - AjaxResult insertDetail(ICSShipmentDetail uwshipmentDetail); + AjaxResult insertDetail(ShipmentDetail shipmentDetail); AjaxResult updateDetail(ShipmentDetail shipmentDetail); diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java index c15253e..ef711b5 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java @@ -7,15 +7,12 @@ import com.huaheng.framework.web.domain.AjaxResult; import com.huaheng.mobile.shipment.ShipmentBill; import com.huaheng.pc.general.material.domain.Material; import com.huaheng.pc.general.material.service.MaterialServiceImpl; -import com.huaheng.pc.icsShipment.icsShipmentHeader.domain.ICSShipmentHeader; -import com.huaheng.pc.icsShipment.icsShipmentHeader.service.ICSShipmentHeaderService; import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetailSearchModel; import com.huaheng.pc.shipment.shipmentDetail.mapper.ShipmentDetailMapper; import com.huaheng.pc.shipment.shipmentDetail.mapper.ShipmentDetailMapperAuto; import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; import com.huaheng.pc.shipment.shipmentHeader.service.IShipmentHeaderService; -import com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -43,8 +40,6 @@ public class ShipmentDetailServiceImpl implements IShipmentDetailService { private ShipmentDetailMapper shipmentDetailMapper; @Autowired private MaterialServiceImpl materialService; - @Autowired - private ICSShipmentHeaderService icsShipmentHeaderService; public List<ShipmentDetail> selectListEntityByLike(ShipmentDetail condition) { List<ShipmentDetail> shipmentDetails = aotuMapper.selectListEntityByLike(condition); @@ -117,30 +112,12 @@ public class ShipmentDetailServiceImpl implements IShipmentDetailService { /** * 新增出库明细 * - * @param icsShipmentDetail + * @param shipmentDetail * @return */ @Override - public AjaxResult insertDetail(ICSShipmentDetail icsShipmentDetail) { - ShipmentHeader shipmentHeader = new ShipmentHeader(); - ICSShipmentHeader icsShipmentHeader=new ICSShipmentHeader(); - if(StringUtils.isNotEmpty(icsShipmentDetail.getDLID().toString())){ - icsShipmentHeader.setDLID(icsShipmentDetail.getDLID()); - shipmentHeader.setSourceCode(icsShipmentHeaderService.selectModel(icsShipmentHeader).getcDLCode()); - shipmentHeader=shipmentHeaderService.selectFirstEntity(shipmentHeader); - }else if(StringUtils.isNotEmpty(icsShipmentDetail.getMoId().toString())){ - icsShipmentHeader.setMoId(icsShipmentDetail.getMoId()); - shipmentHeader.setSourceCode(icsShipmentHeaderService.selectModel(icsShipmentHeader).getMoCode()); - shipmentHeader=shipmentHeaderService.selectFirstEntity(shipmentHeader); - }else if(StringUtils.isNotEmpty(icsShipmentDetail.getcCode())){ - shipmentHeader.setSourceCode(icsShipmentDetail.getcCode()); - shipmentHeader=shipmentHeaderService.selectFirstEntity(shipmentHeader); - }else { - icsShipmentHeader.setID(icsShipmentDetail.getID()); - shipmentHeader.setSourceCode(icsShipmentHeaderService.selectModel(icsShipmentHeader).getcTVCode()); - shipmentHeader=shipmentHeaderService.selectFirstEntity(shipmentHeader); - } - + public AjaxResult insertDetail(ShipmentDetail shipmentDetail) { + ShipmentHeader shipmentHeader = shipmentHeaderService.selectEntityById(shipmentDetail.getShipmentId()); if (shipmentHeader == null) { return AjaxResult.error("找不到主单据"); } @@ -149,38 +126,27 @@ public class ShipmentDetailServiceImpl implements IShipmentDetailService { return AjaxResult.error("主单据状态不允许新增明细"); } Material material = new Material(); - material.setCode(icsShipmentDetail.getcInvCode()); - material.setWarehouseId(icsShipmentDetail.getWarehouseId()); + material.setCode(shipmentDetail.getMaterialCode()); + material.setWarehouseId(ShiroUtils.getWarehouseId()); material = materialService.selectFirstEntity(material); if (material == null) { return AjaxResult.error("物料未找到"); } if (StringUtils.isNotEmpty(material.getCompanyCode()) && - material.getCompanyCode()!=icsShipmentDetail.getCompanyCode()) + ShiroUtils.getCompanyCodeList().contains(material.getCompanyCode()) == false) { return AjaxResult.error("物料不属于当前货主!"); } - ShipmentDetail shipmentDetail=new ShipmentDetail(); shipmentDetail.setId(null); - shipmentDetail.setWarehouseId(icsShipmentDetail.getWarehouseId()); - shipmentDetail.setWarehouseCode(icsShipmentDetail.getcWHCode()); + shipmentDetail.setWarehouseId(ShiroUtils.getWarehouseId()); + shipmentDetail.setWarehouseCode(ShiroUtils.getWarehouseCode()); shipmentDetail.setMaterialId(material.getId()); shipmentDetail.setMaterialCode(material.getCode()); + shipmentDetail.setMaterialName(material.getName()); shipmentDetail.setCreated(null); shipmentDetail.setCreatedBy(ShiroUtils.getLoginName()); shipmentDetail.setLastUpdated(null); shipmentDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); - shipmentDetail.setCompanyId(icsShipmentDetail.getCompanyId()); - shipmentDetail.setCompanyCode(icsShipmentDetail.getCompanyCode()); - shipmentDetail.setShipmentId(shipmentHeader.getId()); - shipmentDetail.setShipmentCode(shipmentHeader.getCode()); - if(StringUtils.isNotEmpty(icsShipmentDetail.getRowno().toString())) { - shipmentDetail.setSourceLine(icsShipmentDetail.getRowno().toString()); - } - if(StringUtils.isNotEmpty(icsShipmentDetail.getSortSeq().toString())) { - shipmentDetail.setSourceLine(icsShipmentDetail.getSortSeq().toString()); - } - shipmentDetail.setQty(icsShipmentDetail.getcQuantity()); if (this.insert(shipmentDetail) > 0){ //更新单据总行数与总数量 shipmentHeader.setTotalLines(shipmentHeader.getTotalLines() + 1); diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/domain/ShipmentDetailHistory.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/domain/ShipmentDetailHistory.java index 7a863c5..14b1325 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/domain/ShipmentDetailHistory.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetailHistory/domain/ShipmentDetailHistory.java @@ -31,7 +31,7 @@ public class ShipmentDetailHistory extends BaseEntity private String shipmentCode; /** 物料Id */ private Integer materialId; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; /** 批次 */ private String batch; diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentModel.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentModel.java new file mode 100644 index 0000000..7c0be7e --- /dev/null +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/domain/ShipmentModel.java @@ -0,0 +1,26 @@ +package com.huaheng.pc.shipment.shipmentHeader.domain; + +import com.huaheng.pc.shipment.shipmentDetail.domain.ShipmentDetail; + +import java.util.List; + +public class ShipmentModel { + private ShipmentHeader shipmentHeader; + private List<ShipmentDetail> shipmentDetails; + + public ShipmentHeader getShipmentHeader() { + return shipmentHeader; + } + + public void setShipmentHeader(ShipmentHeader shipmentHeader) { + this.shipmentHeader = shipmentHeader; + } + + public List<ShipmentDetail> getShipmentDetails() { + return shipmentDetails; + } + + public void setShipmentDetails(List<ShipmentDetail> shipmentDetails) { + this.shipmentDetails = shipmentDetails; + } +} diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/IShipmentHeaderService.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/IShipmentHeaderService.java index 561abf1..daa540c 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/IShipmentHeaderService.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/IShipmentHeaderService.java @@ -86,6 +86,8 @@ public interface IShipmentHeaderService { Integer createTodayShipmentHeader(String companyId, String companyCode); void statistics(Integer shipmentId); + + String createCode(String shipmentType); } diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java index 02463ae..5be581a 100644 --- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java +++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java @@ -363,7 +363,7 @@ public class ShipmentHeaderServiceImpl implements IShipmentHeaderService { } } - private String createCode(String shipmentType) + public String createCode(String shipmentType) { String code = null; Date now = new Date(); diff --git a/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java b/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java index 7ee985b..817a3a1 100644 --- a/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java +++ b/src/main/java/com/huaheng/pc/task/taskDetail/domain/TaskDetail.java @@ -38,7 +38,7 @@ public class TaskDetail extends BaseEntity private Integer billDetailId; /** 单据编码 */ private String billCode; - /** 物料编码 */ + /** 存货编码 */ private String materialCode; /** 物料名称 */ private String materialName; diff --git a/src/main/resources/mybatis/general/MaterialMapperAuto.xml b/src/main/resources/mybatis/general/MaterialMapperAuto.xml index fb0d212..c302150 100644 --- a/src/main/resources/mybatis/general/MaterialMapperAuto.xml +++ b/src/main/resources/mybatis/general/MaterialMapperAuto.xml @@ -32,8 +32,9 @@ <if test="companyCode != null and companyCode != '' "> AND companyCode = #{companyCode} </if> - <if test="code != null and code != '' "> - AND code = #{code} + <if test="code != null and code != '' "> + <bind name="codePattern" value="'%' + code + '%'" /> + AND code like #{codePattern} </if> <if test="type != null and type != '' "> AND type = #{type} diff --git a/src/main/resources/mybatis/icsShipment/ICSShipmentDetailMapper.xml b/src/main/resources/mybatis/icsShipment/ICSShipmentDetailMapper.xml index 211365e..5fd53f1 100644 --- a/src/main/resources/mybatis/icsShipment/ICSShipmentDetailMapper.xml +++ b/src/main/resources/mybatis/icsShipment/ICSShipmentDetailMapper.xml @@ -13,8 +13,8 @@ <if test="AutoID != null"> AutoID, </if> - <if test="rowno != null"> - rowno, + <if test="irowno != null"> + irowno, </if> <if test="cItemName != null"> cItemName, @@ -108,8 +108,8 @@ <if test="AutoID != null"> #{AutoID, jdbcType=INTEGER}, </if> - <if test="rowno != null"> - #{rowno, jdbcType=INTEGER}, + <if test="irowno != null"> + #{irowno, jdbcType=INTEGER}, </if> <if test="cItemName != null"> #{cItemName, jdbcType=VARCHAR}, @@ -197,7 +197,7 @@ <select id="selectModel" resultType="com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail"> - 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 + 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 from icsShipment_detail <where> <if test="cCode != null"> @@ -212,8 +212,8 @@ <if test="cItemName != null"> AND cItemName = #{cItemName} </if> - <if test="rowno != null"> - AND rowno = #{rowno} + <if test="irowno != null"> + AND irowno = #{irowno} </if> <if test="DLID != null"> AND DLID = #{DLID} @@ -300,5 +300,106 @@ </select> - <select id="selectList" resultType="com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail"></select> + <select id="selectList" resultType="com.huaheng.pc.icsShipment.icsShipmentDetail.domain.ICSShipmentDetail"> + 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 + from icsShipment_detail + <where> + <if test="cCode != null"> + AND cCode = #{cCode} + </if> + <if test="ID != null"> + AND ID = #{ID} + </if> + <if test="AutoID != null"> + AND AutoID = #{AutoID} + </if> + <if test="cItemName != null"> + AND cItemName = #{cItemName} + </if> + <if test="irowno != null"> + AND irowno = #{irowno} + </if> + <if test="DLID != null"> + AND DLID = #{DLID} + </if> + <if test="cSOCode != null"> + AND cSOCode = #{cSOCode} + </if> + <if test="cSOID != null"> + AND cSOID = #{cSOID} + </if> + <if test="cSOAutoID != null"> + AND cSOAutoID = #{cSOAutoID} + </if> + <if test="MoId != null"> + AND MoId = #{MoId} + </if> + <if test="MoDId != null"> + AND MoDId = #{MoDId} + </if> + <if test="MoCode != null"> + AND MoCode = #{MoCode} + </if> + <if test="SortSeq != null"> + AND SortSeq = #{SortSeq} + </if> + <if test="cWHCode != null"> + AND cWHCode = #{cWHCode} + </if> + <if test="cWHName != null"> + AND cWHName = #{cWHName} + </if> + <if test="cInvCode != null"> + AND cInvCode = #{cInvCode} + </if> + <if test="cInvName != null"> + AND cInvName = #{cInvName} + </if> + <if test="cInvStd != null"> + AND cInvStd = #{cInvStd} + </if> + <if test="iQuantity != null"> + AND iQuantity = #{iQuantity} + </if> + <if test="cQuantity != null"> + AND cQuantity = #{cQuantity} + </if> + <if test="cComUnitName != null"> + AND cComUnitName = #{cComUnitName} + </if> + <if test="StartDate != null"> + AND StartDate = #{StartDate} + </if> + <if test="DueDate != null"> + AND DueDate = #{DueDate} + </if> + <if test="CompanyCode != null"> + AND CompanyCode = #{CompanyCode} + </if> + <if test="cModifyDate != null"> + AND cModifyDate = #{cModifyDate} + </if> + <if test="cMemo != null"> + AND cMemo = #{cMemo} + </if> + <if test="iMaIDs != null"> + AND iMaIDs = #{iMaIDs} + </if> + <if test="POCode != null"> + AND POCode = #{POCode} + </if> + <if test="POID != null"> + AND POID = #{POID} + </if> + <if test="PODID != null"> + AND PODID = #{PODID} + </if> + <if test="iTrIds != null"> + AND iTrIds = #{iTrIds} + </if> + <if test="iDLsID != null"> + AND iDLsID = #{iDLsID} + </if> + </where> + </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/icsShipment/ICSShipmentHeaderMapper.xml b/src/main/resources/mybatis/icsShipment/ICSShipmentHeaderMapper.xml index 3d839bb..a29c699 100644 --- a/src/main/resources/mybatis/icsShipment/ICSShipmentHeaderMapper.xml +++ b/src/main/resources/mybatis/icsShipment/ICSShipmentHeaderMapper.xml @@ -4,7 +4,7 @@ <select id="selectModel" resultType="com.huaheng.pc.icsShipment.icsShipmentHeader.domain.ICSShipmentHeader"> - 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 + 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 from icsShipment_header <where> <if test="cCode != null"> @@ -61,6 +61,15 @@ <if test="cWHCode != null"> AND cWHCode = #{cWHCode} </if> + <if test="cWHName != null"> + AND cWHName = #{cWHName} + </if> + <if test="oWHCode != null"> + AND oWHCode = #{oWHCode} + </if> + <if test="oWHName != null"> + AND oWHName = #{oWHName} + </if> <if test="cTVCode != null"> AND cTVCode = #{cTVCode} </if> @@ -151,6 +160,12 @@ <if test="cWHName != null"> cWHName, </if> + <if test="oWHCode != null"> + oWHCode, + </if> + <if test="oWHName != null"> + oWHName, + </if> <if test="cTVCode != null"> cTVCode, </if> @@ -234,6 +249,12 @@ <if test="cWHName != null"> #{cWHName, jdbcType=VARCHAR}, </if> + <if test="oWHCode != null"> + #{oWHCode, jdbcType=VARCHAR}, + </if> + <if test="oWHName != null"> + #{oWHName, jdbcType=VARCHAR}, + </if> <if test="cTVCode != null"> #{cTVCode, jdbcType=VARCHAR}, </if> diff --git a/src/main/resources/mybatis/shipment/ShippingCombinationMapper.xml b/src/main/resources/mybatis/shipment/ShippingCombinationMapper.xml index 97768c1..dae59a2 100644 --- a/src/main/resources/mybatis/shipment/ShippingCombinationMapper.xml +++ b/src/main/resources/mybatis/shipment/ShippingCombinationMapper.xml @@ -7,7 +7,7 @@ i.receiptId, i.receiptCode, i.receiptDetailId, i.batch, i.lot, i.project, i.manufactureDate, i.expirationDate, i.status, i.qty, i.taskQty, i.costPrice, i.listPrice, i.netPrice, i.created, i.createdBy, i.lastUpdated, i.lastUpdatedBy, i.userDef1, i.userDef2, i.userDef3, i.deleted, - m.name materialName + m.name materialName, m.userDef1 materialOldCode FROM inventory i INNER JOIN material m ON i.materialCode = m.code AND i.companyCode=#{companyCode} diff --git a/src/main/resources/static/js/qrcode/jquery-qrcode-0.14.0.min.js b/src/main/resources/static/js/qrcode/jquery-qrcode-0.14.0.min.js deleted file mode 100644 index f718c22..0000000 --- a/src/main/resources/static/js/qrcode/jquery-qrcode-0.14.0.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jquery-qrcode v0.14.0 - https://larsjung.de/jquery-qrcode/ */ -!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}()); \ No newline at end of file diff --git a/src/main/resources/static/js/qrcode/qrcode.min.js b/src/main/resources/static/js/qrcode/qrcode.min.js new file mode 100644 index 0000000..6f76fb1 --- /dev/null +++ b/src/main/resources/static/js/qrcode/qrcode.min.js @@ -0,0 +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); diff --git a/src/main/resources/templates/config/zoneCapacity/zoneCapacity.html b/src/main/resources/templates/config/zoneCapacity/zoneCapacity.html index 1cd3c9c..8740c12 100644 --- a/src/main/resources/templates/config/zoneCapacity/zoneCapacity.html +++ b/src/main/resources/templates/config/zoneCapacity/zoneCapacity.html @@ -22,7 +22,7 @@ </select> </li> <li> - 物料编码:<input type="text" name="materialId"/> + 存货编码:<input type="text" name="materialId"/> </li> </li> <li> @@ -91,7 +91,7 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field : 'materialType', diff --git a/src/main/resources/templates/general/material/add.html b/src/main/resources/templates/general/material/add.html index 8d131d3..a7214f4 100644 --- a/src/main/resources/templates/general/material/add.html +++ b/src/main/resources/templates/general/material/add.html @@ -6,7 +6,7 @@ <div class="wrapper wrapper-content animated fadeInRight ibox-content"> <form class="form-horizontal m" id="form-material-add"> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="code" name="code" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/general/material/edit.html b/src/main/resources/templates/general/material/edit.html index 7658bc2..43c8063 100644 --- a/src/main/resources/templates/general/material/edit.html +++ b/src/main/resources/templates/general/material/edit.html @@ -7,7 +7,7 @@ <form class="form-horizontal m" id="form-material-edit" th:object="${material}"> <input id="id" name="id" th:field="*{id}" type="hidden"> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="code" name="code" th:field="*{code}" class="form-control" type="text" readonly="readonly"> </div> diff --git a/src/main/resources/templates/general/material/material.html b/src/main/resources/templates/general/material/material.html index 323e503..15673eb 100644 --- a/src/main/resources/templates/general/material/material.html +++ b/src/main/resources/templates/general/material/material.html @@ -10,8 +10,11 @@ <div class="select-list"> <ul> <li> - 物料编码:<input type="text" name="code"/> + 存货编码:<input type="text" name="code"/> </li> + <li> + 存货代码:<input type="text" name="userDef1"/> + </li> <li> 名称:<input type="text" name="name"/> </li> @@ -77,16 +80,16 @@ title : 'id' }, // { - // field : 'warehouseId', - // title : '仓库Id' + // field : 'warehouseCode', + // title : '仓库编码' // }, { - field : 'warehouseCode', - title : '仓库编码' + field : 'code', + title : '存货编码' }, { - field : 'code', - title : '物料编码' + field : 'userDef1', + title : '存货代码', }, { field : 'type', @@ -97,40 +100,6 @@ title : '名称' }, { - field : 'barcode', - title : '条码' - }, - { - field : 'barcode2', - title : '条码2' , - visible:false - }, - { - field : 'barcode3', - title : '条码3' , - visible:false - }, - { - field : 'barcode4', - title : '条码4', - visible:false - }, - { - field : 'classA', - title : '类别A' , - visible:false - }, - { - field : 'classB', - title : '类别B' , - visible:false - }, - { - field : 'classC', - title : '类别C' , - visible:false - }, - { field : 'specification', title : '规格' }, @@ -216,50 +185,6 @@ return $.table.selectDictLabel(datas, value); } }, - // { - // field : 'deleted', - // title : '是否删除' - // }, - { - field : 'userDef1', - title : '自定义字段1', - visible:false - }, - { - field : 'userDef2', - title : '自定义字段2' , - visible:false - }, - { - field : 'userDef3', - title : '自定义字段3' , - visible:false - }, - { - field : 'userDef4', - title : '自定义字段4', - visible:false - }, - { - field : 'userDef5', - title : '自定义字段5' , - visible:false - }, - { - field : 'userDef6', - title : '自定义字段6' , - visible:false - }, - { - field : 'userDef7', - title : '自定义字段7' , - visible:false - }, - { - field : 'userDef8', - title : '自定义字段8' , - visible:false - }, { title: '操作', align: 'center', diff --git a/src/main/resources/templates/inventory/cyclecountDetail/add.html b/src/main/resources/templates/inventory/cyclecountDetail/add.html index 2e5df71..516a07f 100644 --- a/src/main/resources/templates/inventory/cyclecountDetail/add.html +++ b/src/main/resources/templates/inventory/cyclecountDetail/add.html @@ -21,7 +21,7 @@ 容器编号:<input type="text" id="containerCode" name="containerCode"/> </li> <li> - 物料编码:<input type="text" id="materialCode" name="materialCode"/> + 存货编码:<input type="text" id="materialCode" name="materialCode"/> </li> <li> 物料名称:<input type="text" id="materialName" name="materialName"/> @@ -166,7 +166,7 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field : 'materialName', @@ -352,7 +352,7 @@ // }, // { // field : 'materialCode', - // title : '物料编码' + // title : '存货编码' // }, // { // field : 'materialName', diff --git a/src/main/resources/templates/inventory/cyclecountDetail/addGoods.html b/src/main/resources/templates/inventory/cyclecountDetail/addGoods.html index 7f551e0..a6a4e91 100644 --- a/src/main/resources/templates/inventory/cyclecountDetail/addGoods.html +++ b/src/main/resources/templates/inventory/cyclecountDetail/addGoods.html @@ -22,7 +22,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" class="form-control" type="text" onkeyup="this.value=this.value.replace(/(^\s*)|(\s*$)/g,'')"> </div> diff --git a/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html b/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html index b8b8486..00f70b4 100644 --- a/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html +++ b/src/main/resources/templates/inventory/cyclecountDetail/cyclecountDetail.html @@ -155,7 +155,7 @@ // }, /*{ field: 'materialCode', - title: '物料编码', + title: '存货编码', sortable:true },*/ { diff --git a/src/main/resources/templates/inventory/cyclecountDetail/edit.html b/src/main/resources/templates/inventory/cyclecountDetail/edit.html index 17b2f51..87f831e 100644 --- a/src/main/resources/templates/inventory/cyclecountDetail/edit.html +++ b/src/main/resources/templates/inventory/cyclecountDetail/edit.html @@ -37,7 +37,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/inventory/cyclecountHeader/report.html b/src/main/resources/templates/inventory/cyclecountHeader/report.html index 133b2e7..cbd86f9 100644 --- a/src/main/resources/templates/inventory/cyclecountHeader/report.html +++ b/src/main/resources/templates/inventory/cyclecountHeader/report.html @@ -24,7 +24,7 @@ </tr> <tr> <th width="12%">容器编号</th> - <th width="18%">物料编码</th> + <th width="18%">存货编码</th> <th width="20%">物料规格</th> <th width="7%">批次</th> <th width="7%">批号</th> diff --git a/src/main/resources/templates/inventory/inventory/add.html b/src/main/resources/templates/inventory/inventory/add.html index 688e27f..7675fe5 100644 --- a/src/main/resources/templates/inventory/inventory/add.html +++ b/src/main/resources/templates/inventory/inventory/add.html @@ -60,7 +60,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/inventory/inventory/edit.html b/src/main/resources/templates/inventory/inventory/edit.html index 4a39bbf..3b093a6 100644 --- a/src/main/resources/templates/inventory/inventory/edit.html +++ b/src/main/resources/templates/inventory/inventory/edit.html @@ -61,7 +61,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/inventory/inventory/inventory.html b/src/main/resources/templates/inventory/inventory/inventory.html index b697744..850cee3 100644 --- a/src/main/resources/templates/inventory/inventory/inventory.html +++ b/src/main/resources/templates/inventory/inventory/inventory.html @@ -16,7 +16,7 @@ 容器编号:<input type="text" name="containerCode"/> </li> <li> - 物料编码:<input type="text" name="materialCode"/> + 存货编码:<input type="text" name="materialCode"/> </li> <li> 物料名称:<input type="text" name="materialName"/> @@ -126,7 +126,7 @@ },*/ { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field : 'materialName', diff --git a/src/main/resources/templates/inventory/inventoryTransaction/add.html b/src/main/resources/templates/inventory/inventoryTransaction/add.html index df267ce..13589e0 100644 --- a/src/main/resources/templates/inventory/inventoryTransaction/add.html +++ b/src/main/resources/templates/inventory/inventoryTransaction/add.html @@ -60,7 +60,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/inventory/inventoryTransaction/edit.html b/src/main/resources/templates/inventory/inventoryTransaction/edit.html index 68f7fb0..5e41a74 100644 --- a/src/main/resources/templates/inventory/inventoryTransaction/edit.html +++ b/src/main/resources/templates/inventory/inventoryTransaction/edit.html @@ -61,7 +61,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html b/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html index 62457d2..502bf5d 100644 --- a/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html +++ b/src/main/resources/templates/inventory/inventoryTransaction/inventoryTransaction.html @@ -32,7 +32,7 @@ </select> </li> <li> - 物料编码:<input type="text" name="materialCode"/> + 存货编码:<input type="text" name="materialCode"/> </li> <li> 物料名称:<input type="text" name="materialName"/> @@ -134,7 +134,7 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field : 'materialName', diff --git a/src/main/resources/templates/receipt/receiptContainerDetail/edit.html b/src/main/resources/templates/receipt/receiptContainerDetail/edit.html index 4f38f18..09b6d58 100644 --- a/src/main/resources/templates/receipt/receiptContainerDetail/edit.html +++ b/src/main/resources/templates/receipt/receiptContainerDetail/edit.html @@ -19,7 +19,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/receipt/receiptContainerDetail/receiptContainerDetail.html b/src/main/resources/templates/receipt/receiptContainerDetail/receiptContainerDetail.html index b47431d..4dbe1f2 100644 --- a/src/main/resources/templates/receipt/receiptContainerDetail/receiptContainerDetail.html +++ b/src/main/resources/templates/receipt/receiptContainerDetail/receiptContainerDetail.html @@ -54,7 +54,7 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field : 'materialName', diff --git a/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html b/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html index 3044bbe..14670d0 100644 --- a/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html +++ b/src/main/resources/templates/receipt/receiptContainerHeader/receiptContainerHeader.html @@ -197,7 +197,7 @@ }, { field : 'materialCode', - title : '物料编码', + title : '存货编码', sortable:true }, { diff --git a/src/main/resources/templates/receipt/receiptDetail/add.html b/src/main/resources/templates/receipt/receiptDetail/add.html index 3df61c1..a2b5113 100644 --- a/src/main/resources/templates/receipt/receiptDetail/add.html +++ b/src/main/resources/templates/receipt/receiptDetail/add.html @@ -26,7 +26,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/receipt/receiptDetail/edit.html b/src/main/resources/templates/receipt/receiptDetail/edit.html index 7861180..e3c567a 100644 --- a/src/main/resources/templates/receipt/receiptDetail/edit.html +++ b/src/main/resources/templates/receipt/receiptDetail/edit.html @@ -25,7 +25,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html b/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html index 25aca85..b75cb59 100644 --- a/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html +++ b/src/main/resources/templates/receipt/receiptDetail/receiptDetail.html @@ -13,7 +13,7 @@ 入库单号:<input type="text" name="code"/> </li> <li> - 物料编码:<input type="text" name="materialCode"/> + 存货编码:<input type="text" name="materialCode"/> </li> <li> 物料批次:<input type="text" name="batch"/> @@ -94,7 +94,7 @@ // }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field : 'materialName', diff --git a/src/main/resources/templates/receipt/receiptDetail/report.html b/src/main/resources/templates/receipt/receiptDetail/report.html index bc56188..4d4da1b 100644 --- a/src/main/resources/templates/receipt/receiptDetail/report.html +++ b/src/main/resources/templates/receipt/receiptDetail/report.html @@ -16,14 +16,14 @@ border: 1px solid #000 !important; } .table tbody tr td{ - padding: 5px; + padding: 3px; text-align: center; } </style> </head> <body id="ddd"> -<div style="text-align:right; padding: 20px;"> +<div style="text-align:right; padding: 20px;float: right"> <span class="noprint" style="padding-left:20px;"><button type="button" onClick="a()"><i class="fa fa-print"></i> 打印</button></span> </div> <div class="container" style=" width:320px;/*height:228px;*/color: #333"> @@ -35,13 +35,13 @@ <tr> <td width="20%" scope="col">存货编码</td> <td colspan="2" scope="col" style="text-align:center"> - <span th:text="${row.materialCode}" code></span> + <span th:text="${row.materialCode}" ></span> </td> </tr> <tr> <td scope="col">存货代码</td> <td colspan="2" scope="col" style="text-align:center"> - <span th:text="${row.userDef1}" code></span> + <span th:text="${row.userDef1}" ></span> </td> </tr> <tr style="vertical-align:middle"> @@ -49,9 +49,10 @@ <td style="text-align:center"> <span th:text="${row.materialName}"></span> </td> - <td rowspan="3" width="14%" style="padding: 2px"> - <img align="center" valign="middle" style="vertical-align:middle; padding:2px;"/> - <span class="qrcode"></span> + <td rowspan="3" width="14%" style="padding: 2px"> + <!--<img class="" align="center" valign="middle" style="vertical-align:middle; padding:2px;"/>--> + <!--<span class="qrcode"></span>--> + <div class="qrcode"></div> </td> </tr> <tr> @@ -67,6 +68,12 @@ <input id="qty" name="qty" th:value="*{row.qty}" class="form-control" type="text" style="text-align:center;height:30px"/> </td> </tr> + <tr> + <td scope="col">生产编号</td> + <td colspan="2" scope="col" style="text-align:center"> + <span th:text="${row.project}" ></span> + </td> + </tr> </tbody> </table> </div> @@ -81,49 +88,40 @@ </style> <script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script> <script type="text/javascript" src="../../../js/jquery.jqprint-0.3.js"></script> -<script type="text/javascript" src="../../../js/qrcode/jquery-qrcode-0.14.0.min.js"></script> +<script type="text/javascript" src="../../../js/qrcode/qrcode.min.js"></script> <script type="text/javascript"> function a() { // $("#ddd").jqprint(); $(".qrcode").children().remove(); + print_qrcode(); + window.print(); + } + function print_qrcode(){ $('.dy-report').each(function (i,item) { var company=$(this).children()[1].children[0].innerText; var code16=$(this).children()[1].children[1].innerText; var name=$(this).children()[1].children[2].innerText; var spec=$(this).children()[1].children[3].innerText; + var project=$(this).children()[1].children[5].innerText; company=company.substring(5); code16=code16.substring(5); name=name.substring(5); spec=spec.substring(5); + project=project.substring(5); var reg=/\t/; name=name.replace(reg,""); var qty=$(this).find('input').val(); - var code_text=company+'/'+ code16 +'/' +name+'/'+spec+'/'+qty+'/'; - $(this).find('.qrcode').qrcode({ - text: code_text, - size: 54 + // var code_text=company+'/'+ code16 +'/' +name+'/'+spec+'/'+qty+'/'+project; + var code_text=company; + var QRcode=new QRCode($(this).find('.qrcode')[0],{ + text:code_text, + width:60, + height:60 }); }); - window.print(); } - $('.dy-report').each(function (i,item) { - var company=$(this).children()[1].children[0].innerText; - var code16=$(this).children()[1].children[1].innerText; - var name=$(this).children()[1].children[2].innerText; - var spec=$(this).children()[1].children[3].innerText; - company=company.substring(5); - code16=code16.substring(5); - name=name.substring(5); - spec=spec.substring(5); - var reg=/\t/; - name=name.replace(reg,""); - var qty=$(this).find('input').val(); - var code_text=company+'/'+ code16 +'/' +name+'/'+spec+'/'+qty+'/'; - $(this).find('.qrcode').qrcode({ - text: code_text, - size: 54 - }); - }); + print_qrcode(); + console.log($(this).find('.qrcode')[0]); </script> diff --git a/src/main/resources/templates/receipt/receiptDetailHistory/edit.html b/src/main/resources/templates/receipt/receiptDetailHistory/edit.html index bb76286..c92a6a7 100644 --- a/src/main/resources/templates/receipt/receiptDetailHistory/edit.html +++ b/src/main/resources/templates/receipt/receiptDetailHistory/edit.html @@ -31,7 +31,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/receipt/receiptDetailHistory/receiptDetailHistory.html b/src/main/resources/templates/receipt/receiptDetailHistory/receiptDetailHistory.html index b5a1192..8c7dc9b 100644 --- a/src/main/resources/templates/receipt/receiptDetailHistory/receiptDetailHistory.html +++ b/src/main/resources/templates/receipt/receiptDetailHistory/receiptDetailHistory.html @@ -56,7 +56,7 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field : 'batch', diff --git a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html index 6fa1ba8..f3647d0 100644 --- a/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html +++ b/src/main/resources/templates/receipt/receiptHeader/receiptHeader.html @@ -418,7 +418,7 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field : 'materialName', diff --git a/src/main/resources/templates/receipt/receiptHeader/report.html b/src/main/resources/templates/receipt/receiptHeader/report.html index a59dac6..f6c5986 100644 --- a/src/main/resources/templates/receipt/receiptHeader/report.html +++ b/src/main/resources/templates/receipt/receiptHeader/report.html @@ -25,7 +25,7 @@ </td> </tr> <tr> - <th width="18%">物料编码</th> + <th width="18%">存货编码</th> <th width="22%">物料名称</th> <th width="10%">批次</th> <th width="9%">批号</th> diff --git a/src/main/resources/templates/receipt/receiving/add.html b/src/main/resources/templates/receipt/receiving/add.html index badd187..123ea3f 100644 --- a/src/main/resources/templates/receipt/receiving/add.html +++ b/src/main/resources/templates/receipt/receiving/add.html @@ -14,7 +14,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" class="form-control" type="text" readonly="readonly"> </div> diff --git a/src/main/resources/templates/receipt/receiving/receiving.html b/src/main/resources/templates/receipt/receiving/receiving.html index 11e53d7..e3484f7 100644 --- a/src/main/resources/templates/receipt/receiving/receiving.html +++ b/src/main/resources/templates/receipt/receiving/receiving.html @@ -200,7 +200,7 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field:"name", @@ -279,7 +279,7 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field:"materialName", diff --git a/src/main/resources/templates/shipment/shipmentContainerDetail/shipmentContainerDetail.html b/src/main/resources/templates/shipment/shipmentContainerDetail/shipmentContainerDetail.html index 8240d8f..cd68d8a 100644 --- a/src/main/resources/templates/shipment/shipmentContainerDetail/shipmentContainerDetail.html +++ b/src/main/resources/templates/shipment/shipmentContainerDetail/shipmentContainerDetail.html @@ -58,7 +58,7 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field : 'materialName', diff --git a/src/main/resources/templates/shipment/shipmentContainerHeader/shipmentContainerHeader.html b/src/main/resources/templates/shipment/shipmentContainerHeader/shipmentContainerHeader.html index 7f16f76..a0f69fa 100644 --- a/src/main/resources/templates/shipment/shipmentContainerHeader/shipmentContainerHeader.html +++ b/src/main/resources/templates/shipment/shipmentContainerHeader/shipmentContainerHeader.html @@ -168,7 +168,7 @@ // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\')"><i class="fa fa-list-ul"></i>明细</a> '); if (row.status == 0) { - actions.push('<a class="btn btn-primary btn-xs ' + createTaskFlag + '" href="#" onclick="createTask(\'' + row.id + '\')"><i class="fa fa-cab"></i>生成任务</a> '); + actions.push('<a class="btn btn-success btn-xs ' + createTaskFlag + '" href="#" onclick="createTask(\'' + row.id + '\')"><i class="fa fa-cab"></i>生成任务</a> '); actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="removeHead(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消配盘</a>'); } return actions.join(''); @@ -229,7 +229,7 @@ { field : 'materialCode', - title : '物料编码', + title : '存货编码', sortable:true }, { diff --git a/src/main/resources/templates/shipment/shipmentDetail/add.html b/src/main/resources/templates/shipment/shipmentDetail/add.html index 4b8d71f..2d4e6b2 100644 --- a/src/main/resources/templates/shipment/shipmentDetail/add.html +++ b/src/main/resources/templates/shipment/shipmentDetail/add.html @@ -26,7 +26,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/shipment/shipmentDetail/edit.html b/src/main/resources/templates/shipment/shipmentDetail/edit.html index 539061d..80f5cd2 100644 --- a/src/main/resources/templates/shipment/shipmentDetail/edit.html +++ b/src/main/resources/templates/shipment/shipmentDetail/edit.html @@ -25,7 +25,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text" readonly="readonly"> </div> diff --git a/src/main/resources/templates/shipment/shipmentDetail/shipmentDetail.html b/src/main/resources/templates/shipment/shipmentDetail/shipmentDetail.html index 2dab4b7..66e03f7 100644 --- a/src/main/resources/templates/shipment/shipmentDetail/shipmentDetail.html +++ b/src/main/resources/templates/shipment/shipmentDetail/shipmentDetail.html @@ -63,7 +63,7 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field : 'materialName', diff --git a/src/main/resources/templates/shipment/shipmentDetailHistory/add.html b/src/main/resources/templates/shipment/shipmentDetailHistory/add.html index 650a8a9..2b29534 100644 --- a/src/main/resources/templates/shipment/shipmentDetailHistory/add.html +++ b/src/main/resources/templates/shipment/shipmentDetailHistory/add.html @@ -42,7 +42,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/shipment/shipmentDetailHistory/edit.html b/src/main/resources/templates/shipment/shipmentDetailHistory/edit.html index eb880e6..bee94f9 100644 --- a/src/main/resources/templates/shipment/shipmentDetailHistory/edit.html +++ b/src/main/resources/templates/shipment/shipmentDetailHistory/edit.html @@ -43,7 +43,7 @@ </div> </div> <div class="form-group"> - <label class="col-sm-3 control-label">物料编码:</label> + <label class="col-sm-3 control-label">存货编码:</label> <div class="col-sm-8"> <input id="materialCode" name="materialCode" th:field="*{materialCode}" class="form-control" type="text"> </div> diff --git a/src/main/resources/templates/shipment/shipmentDetailHistory/shipmentDetailHistory.html b/src/main/resources/templates/shipment/shipmentDetailHistory/shipmentDetailHistory.html index 93ada5d..7443fdc 100644 --- a/src/main/resources/templates/shipment/shipmentDetailHistory/shipmentDetailHistory.html +++ b/src/main/resources/templates/shipment/shipmentDetailHistory/shipmentDetailHistory.html @@ -70,7 +70,7 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field : 'batch', diff --git a/src/main/resources/templates/shipment/shipmentHeader/report.html b/src/main/resources/templates/shipment/shipmentHeader/report.html index e82631f..841d5e8 100644 --- a/src/main/resources/templates/shipment/shipmentHeader/report.html +++ b/src/main/resources/templates/shipment/shipmentHeader/report.html @@ -25,7 +25,7 @@ </td> </tr> <tr> - <th width="18%">物料编码</th> + <th width="18%">存货编码</th> <th width="22%">物料名称</th> <th width="10%">批次</th> <th width="9%">批号</th> diff --git a/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html b/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html index 4a75ff6..7387f02 100644 --- a/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html +++ b/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html @@ -407,7 +407,7 @@ },*/ { field: 'materialCode', - title: '物料编码' + title: '存货编码' }, { field: 'materialName', diff --git a/src/main/resources/templates/shipment/shippingCombination/combination.html b/src/main/resources/templates/shipment/shippingCombination/combination.html index d18410a..26bb4dc 100644 --- a/src/main/resources/templates/shipment/shippingCombination/combination.html +++ b/src/main/resources/templates/shipment/shippingCombination/combination.html @@ -13,7 +13,7 @@ <li><input type="hidden" id="shipmentDetailId" th:value="*{id}"></li> <li><input type="hidden" id="inventoryStatus" th:value="*{inventoryStatus}"></li> <li>出库单号:<input type="text" readonly="readonly" th:value="*{shipmentCode}"></li> - <li>物料编码:<input type="text" readonly="readonly" th:value="*{materialCode}"></li> + <li>存货编码:<input type="text" readonly="readonly" th:value="*{materialCode}"></li> <li>物料名称:<input type="text" readonly="readonly" th:value="*{materialName}"></li> <li>剩余配盘数:<input type="text" readonly="readonly" th:value="*{qty-qtyCompleted}" id="qtyRemain"></li> <li> @@ -39,7 +39,7 @@ 货主编码:<input type="text" id="companyCode" name="companyCode" th:value="*{companyCode}" readonly="readonly"/> </li> <li> - 物料编码:<input type="text" id="materialCode" name="materialCode" th:value="*{materialCode}" readonly="readonly"/> + 存货编码:<input type="text" id="materialCode" name="materialCode" th:value="*{materialCode}" readonly="readonly"/> </li> <li> 库位编码:<input type="text" name="locationCode"/> @@ -138,11 +138,6 @@ title : 'id', align: 'center', }, - // { - // field : 'locationId', - // title : '库位id' , - // visible:false - // }, { field : 'locationCode', title : '库位编码' @@ -167,7 +162,11 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' + }, + { + field : 'materialOldCode', + title : '存货代码' }, { field : 'materialName', @@ -193,11 +192,6 @@ field : 'receiptCode', title : '入库单编码' }, - // { - // field : 'receiptId', - // title : '入库单id' , - // visible:false - // }, { field : 'receiptDetailId', title : '入库单明细id' @@ -255,21 +249,6 @@ { field : 'lastUpdatedBy', title : '更新用户' - }, - { - field : 'userDef1', - title : '自定义字段1' , - visible:false - }, - { - field : 'userDef2', - title : '自定义字段2' , - visible:false - }, - { - field : 'userDef3', - title : '自定义字段3' , - visible:false } ] @@ -331,7 +310,7 @@ // }, // { // field : 'materialCode', - // title : '物料编码' + // title : '存货编码' // }, // { // field : 'materialName', diff --git a/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html b/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html index c7f29be..c327e4b 100644 --- a/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html +++ b/src/main/resources/templates/shipment/shippingCombination/shippingCombination.html @@ -170,7 +170,7 @@ }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field:"materialName", @@ -262,7 +262,7 @@ // }, { field : 'materialCode', - title : '物料编码' + title : '存货编码' }, { field:"materialName", diff --git a/src/main/resources/templates/task/task/task.html b/src/main/resources/templates/task/task/task.html index 039ea02..306c350 100644 --- a/src/main/resources/templates/task/task/task.html +++ b/src/main/resources/templates/task/task/task.html @@ -263,9 +263,9 @@ formatter: function(value, row, index) { var actions = []; // actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); - actions.push('<a class="btn btn-success btn-xs " href="#" onclick="detail(\'' + row.id + '\')"><i class="fa fa-edit"></i>明细</a> '); + actions.push('<a class="btn btn-info btn-xs " href="#" onclick="detail(\'' + row.id + '\')"><i class="fa fa-list-ul"></i>明细</a> '); if (row.lastStatus < 10) { - 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> '); + 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> '); actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消</a> '); actions.push('<a class="btn btn-primary btn-xs ' + completeFlag + '" href="#" onclick="complete(\'' + row.id + '\')"><i class="fa fa-check"></i>完成</a>'); } @@ -319,7 +319,7 @@ }, { field : 'materialCode', - title : '物料编码', + title : '存货编码', sortable: true }, { diff --git a/src/main/resources/templates/task/taskDetail/taskDetail.html b/src/main/resources/templates/task/taskDetail/taskDetail.html index 9887af6..792f768 100644 --- a/src/main/resources/templates/task/taskDetail/taskDetail.html +++ b/src/main/resources/templates/task/taskDetail/taskDetail.html @@ -58,7 +58,7 @@ }, { field : 'materialCode', - title : '物料编码', + title : '存货编码', sortable: true }, {