Commit 6a4b79540d70e3309013c2f65de8282ea81cced1
Merge remote-tracking branch 'origin/develop' into develop
Showing
15 changed files
with
237 additions
and
91 deletions
src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/controller/ReceiptContainerDetailController.java
... | ... | @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
4 | 4 | import com.baomidou.mybatisplus.core.metadata.IPage; |
5 | 5 | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
6 | 6 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
7 | +import com.huaheng.common.exception.service.ServiceException; | |
7 | 8 | import com.huaheng.common.support.Convert; |
8 | 9 | import com.huaheng.common.utils.StringUtils; |
9 | 10 | import com.huaheng.framework.aspectj.lang.annotation.Log; |
... | ... | @@ -13,6 +14,8 @@ import com.huaheng.framework.web.domain.AjaxResult; |
13 | 14 | import com.huaheng.framework.web.page.PageDomain; |
14 | 15 | import com.huaheng.framework.web.page.TableDataInfo; |
15 | 16 | import com.huaheng.framework.web.page.TableSupport; |
17 | +import com.huaheng.pc.config.company.domain.Company; | |
18 | +import com.huaheng.pc.config.company.service.CompanyService; | |
16 | 19 | import com.huaheng.pc.receipt.receiptContainerDetail.domain.ReceiptContainerDetail; |
17 | 20 | import com.huaheng.pc.receipt.receiptContainerDetail.service.ReceiptContainerDetailService; |
18 | 21 | import com.huaheng.pc.receipt.receiptContainerHeader.domain.ReceiptContainerHeader; |
... | ... | @@ -20,13 +23,16 @@ import com.huaheng.pc.receipt.receiptDetail.domain.ReceiptDetail; |
20 | 23 | import com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader; |
21 | 24 | import io.swagger.annotations.ApiOperation; |
22 | 25 | import io.swagger.annotations.ApiParam; |
26 | +import org.apache.commons.lang3.time.DateFormatUtils; | |
23 | 27 | import org.apache.shiro.authz.annotation.RequiresPermissions; |
24 | 28 | import org.springframework.stereotype.Controller; |
25 | 29 | import org.springframework.ui.ModelMap; |
26 | 30 | import org.springframework.web.bind.annotation.*; |
27 | 31 | |
28 | 32 | import javax.annotation.Resource; |
33 | +import java.util.ArrayList; | |
29 | 34 | import java.util.Arrays; |
35 | +import java.util.Date; | |
30 | 36 | import java.util.List; |
31 | 37 | |
32 | 38 | @Controller |
... | ... | @@ -35,6 +41,8 @@ public class ReceiptContainerDetailController extends BaseController { |
35 | 41 | |
36 | 42 | @Resource |
37 | 43 | private ReceiptContainerDetailService receiptContainerDetailService; |
44 | + @Resource | |
45 | + private CompanyService companyService; | |
38 | 46 | |
39 | 47 | private String prefix = "receipt/receiptContainerDetail"; |
40 | 48 | |
... | ... | @@ -115,4 +123,31 @@ public class ReceiptContainerDetailController extends BaseController { |
115 | 123 | List<Integer> idList = Arrays.asList(Convert.toIntArray(ids)); |
116 | 124 | return toAjax(receiptContainerDetailService.detailRemove(idList)); |
117 | 125 | } |
126 | + | |
127 | + @RequiresPermissions("shipment:bill:report") | |
128 | + @Log(title = "入库-入库单", operating = "打印入库单明细报表", action = BusinessType.OTHER) | |
129 | + @GetMapping("/reportBatteryPackage/{ids}") | |
130 | + public String reportBatteryPackage(@PathVariable("ids") Integer[] ids, ModelMap mmap) { | |
131 | + List<ReceiptContainerDetail> list = new ArrayList<ReceiptContainerDetail>(); | |
132 | + for (Integer id : ids) { | |
133 | + if (id != null) { | |
134 | + ReceiptContainerDetail receiptDetail = receiptContainerDetailService.getById(id); | |
135 | + if(StringUtils.isEmpty(receiptDetail.getBatteryPackTwoCode())){ | |
136 | + continue; | |
137 | + //throw new ServiceException("系统没有此电池包信息" + receiptDetail.getBatteryPackTwoCode()); | |
138 | + } | |
139 | + LambdaQueryWrapper<Company> companyLambda = Wrappers.lambdaQuery(); | |
140 | + companyLambda.eq(Company::getCode, receiptDetail.getCompanyCode()); | |
141 | + Company company = companyService.getOne(companyLambda); | |
142 | + if (company == null) { | |
143 | + throw new ServiceException("系统没有此货主编码" + receiptDetail.getCompanyCode()); | |
144 | + } | |
145 | + receiptDetail.setCompanyName(company.getName()); | |
146 | + receiptDetail.setUserDef1(DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss")); | |
147 | + list.add(receiptDetail); | |
148 | + } | |
149 | + mmap.put("receiptDetails", list); | |
150 | + } | |
151 | + return prefix + "/reportBatteryPackage"; | |
152 | + } | |
118 | 153 | } |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/domain/ReceiptContainerDetail.java
... | ... | @@ -482,5 +482,10 @@ public class ReceiptContainerDetail implements Serializable { |
482 | 482 | @ApiModelProperty(value="回收人") |
483 | 483 | private String recycler; |
484 | 484 | |
485 | + | |
486 | + @TableField(exist = false) | |
487 | + @ApiModelProperty(value = "货主名称") | |
488 | + private String companyName; | |
489 | + | |
485 | 490 | private static final long serialVersionUID = 1L; |
486 | 491 | } |
487 | 492 | \ No newline at end of file |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailService.java
... | ... | @@ -15,7 +15,7 @@ public interface ReceiptContainerDetailService extends IService<ReceiptContainer |
15 | 15 | * @param receiptCode 入库单编码 |
16 | 16 | * @return AjaxResult |
17 | 17 | */ |
18 | - AjaxResult<List<Map<String, Object>>> getReceiptInfoByBill(String receiptCode); | |
18 | + AjaxResult<List<ReceiptContainerDetail>> getReceiptInfoByBill(String receiptCode); | |
19 | 19 | |
20 | 20 | /** |
21 | 21 | * 撤销入库组盘明细 |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptContainerDetail/service/ReceiptContainerDetailServiceImpl.java
... | ... | @@ -64,12 +64,12 @@ public class ReceiptContainerDetailServiceImpl extends ServiceImpl<ReceiptContai |
64 | 64 | * @return AjaxResult |
65 | 65 | */ |
66 | 66 | @Override |
67 | - public AjaxResult<List<Map<String, Object>>> getReceiptInfoByBill(String receiptCode) { | |
67 | + public AjaxResult<List<ReceiptContainerDetail>> getReceiptInfoByBill(String receiptCode) { | |
68 | 68 | LambdaQueryWrapper<ReceiptContainerDetail> lambdaQueryWrapper = Wrappers.lambdaQuery(); |
69 | 69 | lambdaQueryWrapper.eq(ReceiptContainerDetail::getReceiptCode, receiptCode) |
70 | 70 | .eq(ReceiptContainerDetail::getWarehouseCode, ShiroUtils.getWarehouseCode()); |
71 | 71 | |
72 | - List<Map<String, Object>> detail = this.listMaps(lambdaQueryWrapper); | |
72 | + List<ReceiptContainerDetail> detail = this.list(lambdaQueryWrapper); | |
73 | 73 | return AjaxResult.success(detail); |
74 | 74 | } |
75 | 75 | |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptContainerHeader/service/ReceiptContainerHeaderServiceImpl.java
... | ... | @@ -7,6 +7,7 @@ import com.huaheng.api.wcs.domain.WcsTask; |
7 | 7 | import com.huaheng.api.wcs.service.warecellAllocation.WarecellAllocationService; |
8 | 8 | import com.huaheng.common.constant.QuantityConstant; |
9 | 9 | import com.huaheng.common.exception.service.ServiceException; |
10 | +import com.huaheng.common.utils.DataUtils; | |
10 | 11 | import com.huaheng.common.utils.StringUtils; |
11 | 12 | import com.huaheng.common.utils.bean.BeanUtils; |
12 | 13 | import com.huaheng.common.utils.security.ShiroUtils; |
... | ... | @@ -347,9 +348,34 @@ public class ReceiptContainerHeaderServiceImpl extends ServiceImpl<ReceiptContai |
347 | 348 | receiptDetailsave.setMaterialGrossWeight(materialGrossWeight); |
348 | 349 | receiptDetailsave.setMaterialNetWeight(materialNetWeight); |
349 | 350 | receiptDetailsave.setMaterialTareWeight(materialTareWeight); |
351 | + //电池类才生成电池包二维码 | |
352 | + String batteryPackTwoCode=findBatteryPackTwoCode(receiptDetailsave); | |
353 | + receiptDetailsave.setBatteryPackTwoCode(batteryPackTwoCode); | |
354 | + | |
350 | 355 | receiptDetailService.updateById(receiptDetailsave); |
351 | 356 | } |
352 | 357 | |
358 | + public String findBatteryPackTwoCode(ReceiptDetail receiptDetail){ | |
359 | + String batteryPackTwoCode=null; | |
360 | + if(receiptDetail.getMaterialIsBattery()==1){ | |
361 | + LambdaQueryWrapper<ReceiptContainerDetail> receiptDetailWrapper1 = Wrappers.lambdaQuery(); | |
362 | + //receiptDetailWrapper1.eq(StringUtils.isNotEmpty(receiptDetail.getBatteryPackType()),ReceiptContainerDetail::getBatteryPackType, receiptDetail.getBatteryPackType()); | |
363 | + // receiptDetailWrapper1.eq(StringUtils.isEmpty(receiptDetail.getBatteryPackType()),ReceiptDetail::getBatteryPackType, "P1"); | |
364 | + receiptDetailWrapper1.orderByDesc(ReceiptContainerDetail::getBatteryPackTwoCode).last("Limit 1"); | |
365 | + ReceiptContainerDetail detail1=receiptContainerDetailService.getOne(receiptDetailWrapper1); | |
366 | + String maxCode="0"; | |
367 | + if(null!=detail1){ | |
368 | + maxCode=detail1.getBatteryPackTwoCode(); | |
369 | + } | |
370 | + batteryPackTwoCode= DataUtils.createSerialNumber(receiptDetail.getBatteryPackType(),maxCode,1); | |
371 | + /*if(StringUtils.isNotEmpty(receiptDetail.getBatteryPackType())){ | |
372 | + }else{ | |
373 | + batteryPackTwoCode= DataUtils.createSerialNumber("P1",maxCode,1); | |
374 | + }*/ | |
375 | + return batteryPackTwoCode; | |
376 | + } | |
377 | + return batteryPackTwoCode; | |
378 | + } | |
353 | 379 | //成品入库组盘校验 |
354 | 380 | public void checkReciptContainer(String barCodeHeaderId){ |
355 | 381 | BarCodeHeader barCodeHeader = barCodeHeaderService.getById(barCodeHeaderId); |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptDetail/controller/ReceiptDetailController.java
... | ... | @@ -318,31 +318,7 @@ public class ReceiptDetailController extends BaseController { |
318 | 318 | return prefix + "/report"; |
319 | 319 | } |
320 | 320 | |
321 | - @RequiresPermissions("shipment:bill:report") | |
322 | - @Log(title = "入库-入库单", operating = "打印入库单明细报表", action = BusinessType.OTHER) | |
323 | - @GetMapping("/reportBatteryPackage/{ids}") | |
324 | - public String reportBatteryPackage(@PathVariable("ids") Integer[] ids, ModelMap mmap) { | |
325 | - List<ReceiptDetail> list = new ArrayList<ReceiptDetail>(); | |
326 | - for (Integer id : ids) { | |
327 | - if (id != null) { | |
328 | - ReceiptDetail receiptDetail = receiptDetailService.getById(id); | |
329 | - if(StringUtils.isEmpty(receiptDetail.getBatteryPackTwoCode())){ | |
330 | - throw new ServiceException("系统没有此电池包信息" + receiptDetail.getBatteryPackageCode()); | |
331 | - } | |
332 | - LambdaQueryWrapper<Company> companyLambda = Wrappers.lambdaQuery(); | |
333 | - companyLambda.eq(Company::getCode, receiptDetail.getCompanyCode()); | |
334 | - Company company = companyService.getOne(companyLambda); | |
335 | - if (company == null) { | |
336 | - throw new ServiceException("系统没有此货主编码" + receiptDetail.getCompanyCode()); | |
337 | - } | |
338 | - receiptDetail.setCompanyName(company.getName()); | |
339 | - receiptDetail.setUserDef1(DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss")); | |
340 | - list.add(receiptDetail); | |
341 | - } | |
342 | - mmap.put("receiptDetails", list); | |
343 | - } | |
344 | - return prefix + "/reportBatteryPackage"; | |
345 | - } | |
321 | + | |
346 | 322 | |
347 | 323 | /** |
348 | 324 | * 上传请求 |
... | ... |
src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailService.java
src/main/java/com/huaheng/pc/receipt/receiptDetail/service/ReceiptDetailServiceImpl.java
... | ... | @@ -116,22 +116,10 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R |
116 | 116 | } else if (receiptHeader.getFirstStatus() == 20) { |
117 | 117 | throw new ServiceException("单据已作废"); |
118 | 118 | } |
119 | - receiptDetail.setReceiptCode(receiptHeader.getCode()); | |
120 | - | |
121 | 119 | |
122 | -// LambdaQueryWrapper<ReceiptDetail> receiptDetailLambdaQueryWrapper = Wrappers.lambdaQuery(); | |
123 | -// receiptDetailLambdaQueryWrapper.eq(StringUtils.isNotEmpty(receiptDetail.getBatteryCode()),ReceiptDetail::getBatteryCode,receiptDetail.getBatteryCode()); | |
124 | -// List<ReceiptDetail> receiptDetails = receiptDetailSerivece.list(receiptDetailLambdaQueryWrapper); | |
125 | -// if(receiptDetails.size()>0){ | |
126 | -// return AjaxResult.error("电池编码不能重复"); | |
127 | -// } | |
120 | + //receiptContainerDetailAdd | |
121 | + receiptDetail.setReceiptCode(receiptHeader.getCode()); | |
128 | 122 | |
129 | - /*if(StringUtils.isNotNull(receiptDetail.getReceiptWeight())){ | |
130 | - double receiptWeightDouble = receiptDetail.getReceiptWeight().doubleValue(); | |
131 | - if(!(receiptWeightDouble > 0 && receiptWeightDouble < 99999)){ | |
132 | - return AjaxResult.error("入库质量 数值必须大于 0,小于 99999"); | |
133 | - } | |
134 | - }*/ | |
135 | 123 | |
136 | 124 | /* 判断物料编码*/ |
137 | 125 | LambdaQueryWrapper<Material> lambdaQueryWrapper = Wrappers.lambdaQuery(); |
... | ... | @@ -142,9 +130,6 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R |
142 | 130 | throw new ServiceException("物料不存在"); |
143 | 131 | } |
144 | 132 | //生成电池包二维码 |
145 | - | |
146 | - | |
147 | - | |
148 | 133 | receiptDetail.setCompanyCode(receiptHeader.getCompanyCode()); |
149 | 134 | receiptDetail.setMaterialCode(material.getCode()); |
150 | 135 | receiptDetail.setMaterialName(material.getName()); |
... | ... | @@ -159,35 +144,30 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R |
159 | 144 | String poundCode=findPoundCode(receiptDetail); |
160 | 145 | receiptDetail.setPoundCode(poundCode); |
161 | 146 | |
162 | - receiptDetail.setUnitId1(receiptDetail.getUnitId1()); | |
163 | - receiptDetail.setUnitId2(receiptDetail.getUnitId2()); | |
164 | - receiptDetail.setUnitId1Qty(receiptDetail.getUnitId1Qty()); | |
165 | - receiptDetail.setUnitId1Qty(receiptDetail.getUnitId2Qty()); | |
166 | - receiptDetail.setMultiple(receiptDetail.getMultiple()); | |
147 | +// receiptDetail.setUnitId1(receiptDetail.getUnitId1()); | |
148 | +// receiptDetail.setUnitId2(receiptDetail.getUnitId2()); | |
149 | +// receiptDetail.setUnitId1Qty(receiptDetail.getUnitId1Qty()); | |
150 | +// receiptDetail.setUnitId1Qty(receiptDetail.getUnitId2Qty()); | |
151 | +// receiptDetail.setMultiple(receiptDetail.getMultiple()); | |
167 | 152 | receiptDetail.setCreatedBy(ShiroUtils.getLoginName()); |
168 | 153 | receiptDetail.setLastUpdatedBy(ShiroUtils.getLoginName()); |
169 | 154 | receiptDetail.setWarehouseCode(ShiroUtils.getWarehouseCode()); |
170 | - receiptDetail.setTotalWeight(receiptDetail.getTotalWeight()); | |
171 | - receiptDetail.setVin(receiptDetail.getVin()); | |
172 | - receiptDetail.setScrapTime(receiptDetail.getScrapTime()); | |
173 | - //receiptDetail.setReceiptWeight(receiptDetail.getReceiptWeight()); | |
174 | - receiptDetail.setElectricQuantity(receiptDetail.getElectricQuantity()); | |
175 | - receiptDetail.setBatteryPackageWeight(receiptDetail.getBatteryPackageWeight()); | |
176 | - //04-28 | |
177 | - receiptDetail.setMaterialNetWeight(receiptDetail.getMaterialNetWeight()); | |
178 | - receiptDetail.setMaterialTareWeight(receiptDetail.getMaterialTareWeight()); | |
179 | - receiptDetail.setMaterialGrossWeight(receiptDetail.getMaterialGrossWeight()); | |
180 | -// receiptDetail.setBatteryPackageCode(receiptDetail.getBatteryPackageCode()); | |
181 | - receiptDetail.setMaterialBatch(receiptDetail.getMaterialBatch()); | |
155 | +// receiptDetail.setTotalWeight(receiptDetail.getTotalWeight()); | |
156 | +// receiptDetail.setVin(receiptDetail.getVin()); | |
157 | +// receiptDetail.setScrapTime(receiptDetail.getScrapTime()); | |
158 | +// receiptDetail.setElectricQuantity(receiptDetail.getElectricQuantity()); | |
159 | +// receiptDetail.setBatteryPackageWeight(receiptDetail.getBatteryPackageWeight()); | |
160 | +// //04-28 | |
161 | +// receiptDetail.setMaterialNetWeight(receiptDetail.getMaterialNetWeight()); | |
162 | +// receiptDetail.setMaterialTareWeight(receiptDetail.getMaterialTareWeight()); | |
163 | +// receiptDetail.setMaterialGrossWeight(receiptDetail.getMaterialGrossWeight()); | |
164 | +// receiptDetail.setMaterialBatch(receiptDetail.getMaterialBatch()); | |
182 | 165 | |
183 | 166 | |
184 | 167 | //根据流程配置更新入库明细下一流程 |
185 | 168 | ReceiptDetail receiptDetail1 = queryflow(receiptDetail); |
186 | 169 | |
187 | 170 | if (this.save(receiptDetail1)) { |
188 | -// receiptHeader.setTotalQty(receiptHeader.getTotalQty().add(receiptDetail1.getTotalQty())); | |
189 | -// receiptHeader.setTotalLines(receiptHeader.getTotalLines()+1); | |
190 | -// receiptHeaderService.updateById(receiptHeader); | |
191 | 171 | updateReceiptHeader(receiptHeader); |
192 | 172 | return AjaxResult.success("新增单据明细成功"); |
193 | 173 | } else { |
... | ... | @@ -195,7 +175,7 @@ public class ReceiptDetailServiceImpl extends ServiceImpl<ReceiptDetailMapper, R |
195 | 175 | } |
196 | 176 | |
197 | 177 | } |
198 | - | |
178 | + @Override | |
199 | 179 | public String findBatteryPackTwoCode(ReceiptDetail receiptDetail){ |
200 | 180 | String batteryPackTwoCode=null; |
201 | 181 | if(receiptDetail.getMaterialIsBattery()==1){ |
... | ... |
src/main/java/com/huaheng/pc/shipment/shipmentContainerDetail/domain/ShipmentContainerDetail.java
... | ... | @@ -399,6 +399,13 @@ public class ShipmentContainerDetail implements Serializable { |
399 | 399 | @ApiModelProperty(value="是否电池,1电池,2非电池") |
400 | 400 | private Integer materialIsBattery; |
401 | 401 | |
402 | + /** | |
403 | + * 电池包二维码 | |
404 | + */ | |
405 | + @TableField(value = "batteryPackTwoCode") | |
406 | + @ApiModelProperty(value="电池包二维码") | |
407 | + private String batteryPackTwoCode; | |
408 | + | |
402 | 409 | |
403 | 410 | private static final long serialVersionUID = 1L; |
404 | 411 | } |
... | ... |
src/main/java/com/huaheng/pc/shipment/shipmentContainerHeader/service/ShipmentContainerHeaderServiceImpl.java
... | ... | @@ -183,14 +183,6 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont |
183 | 183 | }else if(i < 0) { |
184 | 184 | throw new ServiceException("出库数量不能大于单据数量!"); |
185 | 185 | } |
186 | -// int u = shipmentDetail.getShipWeight().compareTo(shipmentDetail.getRequestWeight()); | |
187 | -// if(u > 0){ | |
188 | -// shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_WAVE); | |
189 | -// }else if(u == 0) { | |
190 | -// shipmentDetail.setStatus(QuantityConstant.SHIPMENT_HEADER_GROUPDISK); | |
191 | -// }else if(u < 0) { | |
192 | -// throw new ServiceException("出库数量不能大于单据数量!"); | |
193 | -// } | |
194 | 186 | shipmentDetailService.saveOrUpdate(shipmentDetail); |
195 | 187 | |
196 | 188 | |
... | ... | @@ -423,6 +415,7 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont |
423 | 415 | shipmentContainerDetaill.setMaterialTareWeight(inventoryDetail.getMaterialTareWeight()); |
424 | 416 | shipmentContainerDetaill.setMaterialNetWeight(inventoryDetail.getMaterialNetWeight()); |
425 | 417 | shipmentContainerDetaill.setMaterialGrossWeight(inventoryDetail.getMaterialGrossWeight()); |
418 | + shipmentContainerDetaill.setBatteryPackTwoCode(inventoryDetail.getBatteryPackTwoCode()); | |
426 | 419 | shipmentContainerDetaill.setQty(qty); |
427 | 420 | shipmentContainerDetaill.setWeights(new BigDecimal(0)); |
428 | 421 | shipmentContainerDetaill.setElectricQuantity(shipmentCombinationModel.getElectricQuantity()); |
... | ... |
src/main/resources/mybatis/receipt/ReceiptContainerDetailMapper.xml
... | ... | @@ -77,5 +77,6 @@ |
77 | 77 | inventorySts, taskCreated, convertedQty, convertedQtyUnit, created, createdBy, lastUpdated, |
78 | 78 | lastUpdatedBy, version, userDef1, userDef2, userDef3, userDef4, userDef5, userDef6, |
79 | 79 | userDef7, userDef8, processStamp,materialNetWeight,materialTareWeight,materialGrossWeight |
80 | + ,batteryQty,batteryPackType,batteryTypes,completeness,batteryPackTwoCode,materialIsBattery,recycler | |
80 | 81 | </sql> |
81 | 82 | </mapper> |
82 | 83 | \ No newline at end of file |
... | ... |
src/main/resources/mybatis/shipment/ShipmentContainerDetailMapper.xml
... | ... | @@ -82,6 +82,7 @@ |
82 | 82 | <result column="materialTareWeight" jdbcType="DECIMAL" property="materialTareWeight" /> |
83 | 83 | <result column="materialGrossWeight" jdbcType="DECIMAL" property="materialGrossWeight" /> |
84 | 84 | <result column="materialIsBattery" jdbcType="INTEGER" property="materialIsBattery" /> |
85 | + <result column="batteryPackTwoCode" jdbcType="VARCHAR" property="batteryPackTwoCode" /> | |
85 | 86 | </resultMap> |
86 | 87 | <sql id="Base_Column_List"> |
87 | 88 | <!--@mbg.generated--> |
... | ... | @@ -96,7 +97,7 @@ |
96 | 97 | attribute4, batch, lot, projectNo, manufactureDate, expirationDate, agingDate, inventorySts, |
97 | 98 | packingClass, created, createdBy, lastUpdated, lastUpdatedBy, |
98 | 99 | version, userDef1, userDef2, userDef3, |
99 | - processStamp,materialNetWeight,materialTareWeight,materialGrossWeight | |
100 | + processStamp,materialNetWeight,materialTareWeight,materialGrossWeight,batteryPackTwoCode | |
100 | 101 | </sql> |
101 | 102 | |
102 | 103 | <select id="selectListMapByEqual" resultType="java.util.HashMap"> |
... | ... |
src/main/resources/templates/receipt/receiptContainerDetail/reportBatteryPackage.html
0 → 100644
1 | +<!DOCTYPE HTML> | |
2 | +<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> | |
3 | +<meta charset="utf-8"> | |
4 | +<head th:include="include :: header"></head> | |
5 | +<style> | |
6 | + .divstyle{ | |
7 | + margin-top: 0px; | |
8 | + } | |
9 | + .spanstyle{ | |
10 | + margin-left: 2%; | |
11 | + } | |
12 | + .dy-report{ | |
13 | + | |
14 | + } | |
15 | +</style> | |
16 | +<body class="white-bg" style="padding:5px 0;" id="ddd"> | |
17 | +<div class="container" style="color: #333;"> | |
18 | + <div class="row"> | |
19 | + <div class="row" style="text-align:right"><span class="hidden-print" style="padding-left:2px;"><button type="button" onClick="a()"><i class="fa fa-print"></i> 打印</button></span></div> | |
20 | + <table width="100%" border="0" cellspacing="0" cellpadding="0" class="dy-report " | |
21 | + th:each="row:${receiptDetails}"> | |
22 | + <tbody> | |
23 | + <tr style="height:40%"> | |
24 | + <td style="margin:0px;width:100%;" align="center" > | |
25 | + <input th:value="${row.batteryPackTwoCode}" type="hidden" name="code"/> | |
26 | + <!--<div style="" class="qrcode"></div>--> | |
27 | + <img th:src="@{'/image/'+${row.batteryPackTwoCode}}"> | |
28 | + </td> | |
29 | + </tr> | |
30 | + <tr style=""> | |
31 | + <td style="text-align:center"> | |
32 | + <div class="divstyle" > | |
33 | + <span >PACK编码:</span> | |
34 | + <span th:text="${row.batteryPackTwoCode}"></span></div> | |
35 | + <div class="divstyle" > | |
36 | + <span >PACK内部种类:</span> | |
37 | + <span>电池包</span></div> | |
38 | + <div class="divstyle" > | |
39 | + <span >供货商:</span> | |
40 | + <span th:text="${row.companyName}"></span></div> | |
41 | + <div class="divstyle" > | |
42 | + <span >打印时间:</span> | |
43 | + <span th:text="${row.userDef1}"></span></div> | |
44 | + </td> | |
45 | + </tr> | |
46 | + | |
47 | + </tbody> | |
48 | + </table> | |
49 | + </div> | |
50 | +</div> | |
51 | +<div th:include="include :: footer"></div> | |
52 | +<script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script> | |
53 | +<script type="text/javascript" src="../../../js/jquery.jqprint-0.3.js"></script> | |
54 | +<script type="text/javascript" src="../../../js/qrcode/qrcode.min.js"></script> | |
55 | +<script th:inline="javascript"> | |
56 | + function print_qrcode(){ | |
57 | + $('.dy-report').each(function (i,item) { | |
58 | + var code=$("input[name='code']")[i].value; | |
59 | + //var code=$("#code").val(); | |
60 | + var code_text=code; | |
61 | + $(".qrcode")[i].innerHTML = ""; | |
62 | + var QRcode=new QRCode($(this).find('.qrcode')[0],{ | |
63 | + text:code_text, | |
64 | + width:100, | |
65 | + height:100, | |
66 | + correctLevel:QRCode.CorrectLevel.L | |
67 | + }); | |
68 | + }); | |
69 | + } | |
70 | + // print_qrcode(); | |
71 | +</script> | |
72 | +<style type="text/css"> | |
73 | + @media print { | |
74 | + .noprint{display:none;} | |
75 | + } | |
76 | +</style> | |
77 | +<script type="text/javascript" src="../../../js/jquery-1.4.4.min.js"></script> | |
78 | +<script type="text/javascript" src="../../../js/jquery.jqprint-0.3.js"></script> | |
79 | +<script type="text/javascript"> | |
80 | + function a(){ | |
81 | + $("#ddd").jqprint(); | |
82 | + /*$(".qrcode").children().remove(); | |
83 | + print_qrcode(); | |
84 | + window.print();*/ | |
85 | + } | |
86 | +</script> | |
87 | +</body> | |
88 | +</html> | |
0 | 89 | \ No newline at end of file |
... | ... |
src/main/resources/templates/receipt/receiptHeader/receiptHeader.html
... | ... | @@ -205,9 +205,9 @@ |
205 | 205 | <a class="btn btn-outline btn-success btn-rounded" onclick="receiptDetailPrint()" shiro:hasPermission="shipment:bill:report"> |
206 | 206 | <i class="fa fa-print"></i> 打印 |
207 | 207 | </a> |
208 | - <a class="btn btn-outline btn-success btn-rounded" onclick="batteryPackagePrint()" shiro:hasPermission="shipment:bill:report"> | |
208 | + <!--<a class="btn btn-outline btn-success btn-rounded" onclick="batteryPackagePrint()" shiro:hasPermission="shipment:bill:report"> | |
209 | 209 | <i class="fa fa-print"></i> 电池包打印 |
210 | - </a> | |
210 | + </a>--> | |
211 | 211 | <a class="btn btn-outline btn-success btn-rounded" onclick="bindCar()" > |
212 | 212 | <i class="fa fa-print"></i> 绑定车辆 |
213 | 213 | </a> |
... | ... |
src/main/resources/templates/receipt/receiving/receiving.html
... | ... | @@ -160,7 +160,11 @@ |
160 | 160 | <a class="btn btn-outline btn-primary btn-rounded" href="/wms/task/taskHeader?taskType=100"> |
161 | 161 | <i class="fa fa-edit"></i> 跳转任务 |
162 | 162 | </a> |
163 | + <a class="btn btn-outline btn-primary btn-rounded" onclick="batteryPackagePrints()"> | |
164 | + <i class="fa fa-edit"></i> 电池包打印 | |
165 | + </a> | |
163 | 166 | </div> |
167 | + | |
164 | 168 | <table id="bootstrap-table1" data-mobile-responsive="true" |
165 | 169 | class="table table-bordered table-hover text-nowrap"></table> |
166 | 170 | <ul class="select-list top_text"> |
... | ... | @@ -225,7 +229,7 @@ |
225 | 229 | code: code |
226 | 230 | }, |
227 | 231 | error:function (response) { |
228 | - console.log(response); | |
232 | + //console.log(response); | |
229 | 233 | }, |
230 | 234 | success: function (value) { |
231 | 235 | var qty_show=0; |
... | ... | @@ -302,6 +306,8 @@ |
302 | 306 | created: value.data[i].created, |
303 | 307 | createdBy: value.data[i].createdBy, |
304 | 308 | electricQuantity: value.data[i].electricQuantity, |
309 | + batteryPackTwoCode: value.data[i].batteryPackTwoCode, | |
310 | + materialIsBattery: value.data[i].materialIsBattery, | |
305 | 311 | batteryPackageWeight: value.data[i].batteryPackageWeight |
306 | 312 | } |
307 | 313 | }); |
... | ... | @@ -469,9 +475,29 @@ |
469 | 475 | checkbox: true, |
470 | 476 | }, |
471 | 477 | { |
478 | + title: '操作', | |
479 | + align: 'center', | |
480 | + events:'operateEvents', | |
481 | + formatter: function(value, row, index) { | |
482 | + var actions = []; | |
483 | + if (row.status == 0) { | |
484 | + actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消</a>'); | |
485 | + } | |
486 | + console.log(row ) | |
487 | + if (row.batteryPackTwoCode !=''&&row.batteryPackTwoCode !=undefined) { | |
488 | + actions.push('<a class="btn btn-danger btn-xs" href="#" onclick="batteryPackagePrint(\'' + row.id + '\')"><i class="fa fa-edit"></i>打印</a>'); | |
489 | + } | |
490 | + return actions.join(''); | |
491 | + } | |
492 | + }, | |
493 | + { | |
494 | + field : 'batteryPackTwoCode', | |
495 | + title : '电池包二维码' | |
496 | + }, | |
497 | + /*{ | |
472 | 498 | field : 'locationCode', |
473 | 499 | title : '库位编号' |
474 | - }, | |
500 | + },*/ | |
475 | 501 | { |
476 | 502 | field : 'containerCode', |
477 | 503 | title : '容器编号' |
... | ... | @@ -544,18 +570,6 @@ |
544 | 570 | { |
545 | 571 | field : 'createdBy', |
546 | 572 | title : '创建人' |
547 | - }, | |
548 | - { | |
549 | - title: '操作', | |
550 | - align: 'center', | |
551 | - events:'operateEvents', | |
552 | - formatter: function(value, row, index) { | |
553 | - var actions = []; | |
554 | - if (row.status == 0) { | |
555 | - actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="#" onclick="remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>取消</a>'); | |
556 | - } | |
557 | - return actions.join(''); | |
558 | - } | |
559 | 573 | }] |
560 | 574 | }); |
561 | 575 | |
... | ... | @@ -938,6 +952,24 @@ |
938 | 952 | var url = ctx + "receipt/receiving/listBarCodeHeaderCode"; |
939 | 953 | $.modal.open("选择主条码", url); |
940 | 954 | } |
955 | + var detailPrefix = ctx + "receipt/receiptContainerDetail"; | |
956 | + function batteryPackagePrint(id){ | |
957 | + var url = detailPrefix + "/reportBatteryPackage/" + id; | |
958 | + $.modal.open("入库电池包打印" , url); | |
959 | + } | |
960 | + function batteryPackagePrints(){ | |
961 | + var rows=$("#bootstrap-table1").bootstrapTable('getSelections'); | |
962 | + if (rows.length == 0) { | |
963 | + $.modal.alertWarning("请至少选择一条记录"); | |
964 | + return; | |
965 | + } | |
966 | + var ids = ""; | |
967 | + for(var i=0; i<rows.length; i++) { | |
968 | + ids = ids + rows[i].id + "," | |
969 | + } | |
970 | + var url = detailPrefix + "/reportBatteryPackage/" + ids; | |
971 | + $.modal.open("入库电池包打印" , url); | |
972 | + } | |
941 | 973 | </script> |
942 | 974 | </body> |
943 | 975 | </html> |
... | ... |