diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java index 1425666..fcd0716 100644 --- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java +++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java @@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huaheng.common.constant.QuantityConstant; import com.huaheng.common.support.Convert; import com.huaheng.common.utils.StringUtils; +import com.huaheng.common.utils.poi.ExcelUtil; import com.huaheng.common.utils.security.ShiroUtils; import com.huaheng.framework.aspectj.lang.annotation.Log; import com.huaheng.framework.aspectj.lang.constant.BusinessType; @@ -22,6 +23,7 @@ import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail; import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetailChild; import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailChildService; import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailService; +import com.huaheng.pc.system.user.domain.User; import com.huaheng.pc.task.taskHeader.service.CycleCountTaskService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.stereotype.Controller; @@ -343,19 +345,28 @@ public class CycleCountDetailController extends BaseController { newChild.setUserDef3("manual");//手动添加库存 return toAjax(cycleCountDetailChildService.save(newChild)); } - - - - - - - - - - - - - - - + @Log(title = "库存-盘点-导出", operating = "导出盘点明细 ", action = BusinessType.EXPORT) + @RequiresPermissions("inventory:cyclecountDetail:export") + @PostMapping("/export") + @ResponseBody + public AjaxResult export(CycleCountDetailChild cycleCountDetailChild) + { + try + { + LambdaQueryWrapper<CycleCountDetailChild> lambdaQueryWrapper = Wrappers.lambdaQuery(); + lambdaQueryWrapper + .eq(CycleCountDetailChild::getCycleCountDetailId,cycleCountDetailChild.getCycleCountDetailId()) + .eq(CycleCountDetailChild::getCycleCountHeadCode,cycleCountDetailChild.getCycleCountHeadCode())//盘点主单 + .eq(StringUtils.isNotEmpty(cycleCountDetailChild.getLocationCode()), CycleCountDetailChild::getLocationCode, cycleCountDetailChild.getLocationCode()) //库位 + .eq(StringUtils.isNotEmpty(cycleCountDetailChild.getContainerCode()), CycleCountDetailChild::getContainerCode,cycleCountDetailChild.getContainerCode()) //容器 + .orderByDesc(CycleCountDetailChild::getId); + List<CycleCountDetailChild> list = cycleCountDetailChildService.list(lambdaQueryWrapper); + ExcelUtil<CycleCountDetailChild> util = new ExcelUtil<>(CycleCountDetailChild.class); + return util.exportExcel(list, "盘点明细列表"); + } + catch (Exception e) + { + return error("导出Excel失败,请联系网站管理员!"); + } + } } diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetailChild.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetailChild.java index 4ddb757..4e30fdb 100644 --- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetailChild.java +++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/domain/CycleCountDetailChild.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.huaheng.framework.aspectj.lang.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -57,6 +58,7 @@ public class CycleCountDetailChild implements Serializable { /** * 物料 */ + @Excel(name = "物料编码") @TableField(value = "materialCode") @ApiModelProperty(value="物料") private String materialCode; @@ -64,6 +66,7 @@ public class CycleCountDetailChild implements Serializable { /** * 物料名称 */ + @Excel(name = "物料名称") @TableField(value = "materialName") @ApiModelProperty(value="物料名称") private String materialName; @@ -78,6 +81,7 @@ public class CycleCountDetailChild implements Serializable { /** * 物料单位 */ + @Excel(name = "物料单位") @TableField(value = "materialUnit") @ApiModelProperty(value="物料单位") private String materialUnit; @@ -85,6 +89,7 @@ public class CycleCountDetailChild implements Serializable { /** * 系统数量 */ + @Excel(name = "系统数") @TableField(value = "systemQty") @ApiModelProperty(value="系统数量") private BigDecimal systemQty; @@ -92,6 +97,7 @@ public class CycleCountDetailChild implements Serializable { /** * 实盘数量 */ + @Excel(name = "实盘数") @TableField(value = "countedQty") @ApiModelProperty(value="实盘数量") private BigDecimal countedQty; @@ -99,13 +105,23 @@ public class CycleCountDetailChild implements Serializable { /** * 差异数量 */ + @Excel(name = "差异数") @TableField(value = "gapQty") @ApiModelProperty(value="差异数量") private BigDecimal gapQty; /** + * 盘点明细子单状态 + */ + @Excel(name = "子单状态",readConverterExp="1=新建,5=盘点任务生成,10=执行中,15=已登记,30=审核,99=关闭,100=盘点完成,110=已生成调整单,105=盘点差异") + @TableField(value = "childStatus") + @ApiModelProperty(value="盘点明细子单状态") + private Integer childStatus; + + /** * 创建时间 */ + @Excel(name = "创建时间",dateFormat = "yyyy-MM-dd HH:mm:ss") @TableField(value = "created") @ApiModelProperty(value="创建时间") private Date created; @@ -113,6 +129,7 @@ public class CycleCountDetailChild implements Serializable { /** * 创建用户 */ + @Excel(name = "创建用户") @TableField(value = "createdBy") @ApiModelProperty(value="创建用户") private String createdBy; @@ -120,6 +137,7 @@ public class CycleCountDetailChild implements Serializable { /** * 实盘登记用户 */ + @Excel(name = "实盘登记人") @TableField(value = "countedBy") @ApiModelProperty(value="实盘登记用户") private String countedBy; @@ -145,12 +163,6 @@ public class CycleCountDetailChild implements Serializable { @ApiModelProperty(value="自定义字段3") private String userDef3; - /** - * 盘点明细子单状态 - */ - @TableField(value = "childStatus") - @ApiModelProperty(value="盘点明细子单状态") - private Integer childStatus; /** * 库存明细ID diff --git a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html index 797b403..8f1c61c 100644 --- a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html +++ b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html @@ -100,8 +100,8 @@ createUrl: prefix + "/add", updateUrl: prefix + "/edit/{id}", removeUrl: prefix + "/remove", + exportUrl: prefix + "/export", modalName: "盘点明细头", - sortName: "id", sortOrder: "desc", // height:610, pagination: true, //是否分页 @@ -140,6 +140,7 @@ if(row.enableStatus > 1 && row.enableStatus < 100){ actions.push('<a class="btn btn-warning btn-xs ' + addInvDetailFalg + '" href="#" onclick="addInvDetail(\'' + row.id + '\')"><i class="fa fa-gbp"></i>添加托盘库存</a> '); } + actions.push('<a class="btn btn-success btn-rounded btn-sm" onclick="exportExcels(\'' + row.id + '\',\'' + row.containerCode + '\')"><i class="fa fa-download"></i> 导出</a>'); return actions.join(''); } }, @@ -539,6 +540,22 @@ }; /*__________*/ + function exportExcels(id,containerCode) { + let data = { + //传值 + cycleCountHeadCode : $('#cycleCountHeadCode').val(), + cycleCountDetailId: id, + containerCode: containerCode, + }; + $.post(ctx + "inventory/cycleCountDetail/export", data, function (result) { + if (result.code == web_status.SUCCESS) { + window.location.href = ctx + "common/download?fileName=" + result.msg + "&delete=" + true; + } else { + $.modal.alertError(result.msg); + } + $.modal.closeLoading(); + }); + } function add() { var cycleCountHeadCode = $('#cycleCountHeadCode').val(); @@ -676,7 +693,6 @@ }); $.modal.closeLoading(); layer.close(index); - detailChildTable(); //layer.closeAll(); } });