添加盘点单接口

This commit is contained in:
yangjun 2025-12-11 09:25:18 +08:00
parent 18dce129e7
commit ebabdb01df
17 changed files with 1226 additions and 0 deletions

View File

@ -0,0 +1,105 @@
package com.nu.modules.pad.invoicing.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.entity.*;
import com.nu.modules.invoicing.api.IInvoicingApi;
import com.nu.modules.invoicing.api.IPddApi;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 采购单pad接口
*/
@RestController
@RequestMapping("/api/pad/invoicing/pdd")
public class InvoicingPddApi {
@Autowired
private IPddApi pddApi;
@ApiOperation(value = "盘点单-查询单据信息", notes = "盘点单-查询单据信息")
@GetMapping(value = "/queryPddList")
public Result<IPage<InvoicingPddMainEntity>> queryPddList(InvoicingPddMainEntity invoicingPddMainEntity,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
IPage<InvoicingPddMainEntity> pageList = pddApi.queryPddList(pageNo, pageSize, invoicingPddMainEntity,req);
return Result.OK(pageList);
}
@ApiOperation(value="盘点单-盘点信息-添加", notes="盘点单-盘点信息-添加")
@AutoLog(value = "盘点单-盘点信息-添加",clientType="app", operateType = 2)
@PostMapping(value = "/addPddMain")
public Result<Object> addPddMain(@RequestBody InvoicingPddMainEntity invoicingPddMainEntity) {
if(StringUtils.isBlank(invoicingPddMainEntity.getNuId())){
return Result.error("参数错误,请选择库房");
}
Map<String,Object> result = pddApi.addPddMain(invoicingPddMainEntity);
if (StringUtils.equals("true",result.get("success").toString())){
return Result.OK(result.get("message"));
}else{
return Result.error(result.get("message").toString());
}
}
@ApiOperation(value = "盘点单-查询盘点单详细信息", notes = "盘点单-查询盘点单详细信息")
@GetMapping(value = "/queryPddInfoList")
public Result<IPage<InvoicingPddInfoEntity>> queryPddInfoList(InvoicingPddInfoEntity invoicingPddInfoEntity,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
HttpServletRequest req) {
IPage<InvoicingPddInfoEntity> pageList = pddApi.queryPddInfoList(pageNo, pageSize, invoicingPddInfoEntity,req);
return Result.OK(pageList);
}
@ApiOperation(value="盘点单-修改盘点单物料的盘点信息", notes="盘点单-修改盘点单物料的盘点信息")
@AutoLog(value = "盘点单-修改盘点单物料的盘点信息",clientType="app", operateType = 2)
@PostMapping(value = "/editPddInfo")
public Result<Object> editPddInfo(@RequestBody InvoicingPddInfoEntity invoicingPddInfoEntity) {
if(StringUtils.isBlank(invoicingPddInfoEntity.getId())){
return Result.error("参数错误,请选择盘点单");
}
if(StringUtils.isBlank(invoicingPddInfoEntity.getDqkcsl()+"")){
return Result.error("参数错误,请填写库存数量");
}
if(invoicingPddInfoEntity.getPdsl() ==null){
return Result.error("参数错误,请填写盘点数量");
}
Map<String,Object> result = pddApi.editPddInfo(invoicingPddInfoEntity);
if (StringUtils.equals("true",result.get("success").toString())){
// Map<String,Object> map = new HashMap<>();
// map.put("message","操作成功");
// map.put("data",result.get("message"));
return Result.OK(result.get("message"));
}else{
return Result.error(result.get("message").toString());
}
}
@ApiOperation(value="盘点单-提交盘点信息", notes="盘点单-提交盘点信息")
@AutoLog(value = "盘点单-提交盘点信息",clientType="app", operateType = 2)
@PostMapping(value = "/submitPddMain")
public Result<Object> submitPddMain(@RequestBody InvoicingPddMainEntity invoicingPddMainEntity) {
if(StringUtils.isBlank(invoicingPddMainEntity.getId())){
return Result.error("参数错误,请选择盘点单");
}
Map<String,Object> result = pddApi.submitPddMain(invoicingPddMainEntity);
if (StringUtils.equals("true",result.get("success").toString())){
return Result.OK(result.get("message"));
}else{
return Result.error(result.get("message").toString());
}
}
}

View File

@ -92,6 +92,7 @@ public class ShiroConfig {
filterChainDefinitionMap.put("/api/tplink/videoStorage/**", "anon"); //视频缓存存储接口
filterChainDefinitionMap.put("/api/pad/invoicing/getShareInfoByCgdId", "anon"); //查询采购单信息分享接口使用
// filterChainDefinitionMap.put("/api/pad/invoicing/pdd/**", "anon"); //查询采购单信息分享接口使用
// filterChainDefinitionMap.put("/api/pad/invoicing/**", "anon"); //测试进销存对应的接口
// filterChainDefinitionMap.put("/api/pad/qingling/**", "anon"); //测试请领对应的接口
filterChainDefinitionMap.put("/iot/tq/api/electricityMeter/**", "anon"); //电表回调

View File

@ -0,0 +1,80 @@
package com.nu.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 进销存-盘点单物料详细信息
* @Author: jeecg-boot
* @Date: 2025-12-10
* @Version: V1.0
*/
@Data
public class InvoicingPddInfoEntity implements Serializable {
/**id*/
private String id;
/**createBy*/
private String createBy;
/**createTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**updateBy*/
private String updateBy;
/**updateTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**盘点单id*/
@Dict(dictTable = "nu_invoicing_pdd_main", dicText = "pdd_no", dicCode = "id")
private String pddId;
/**库房id*/
private String nuId;
/**物料id*/
private String wlId;
/**当前库存数量*/
private Integer dqkcsl;
/**盘点数量*/
private Integer pdsl;
/**差额数量*/
private Integer cesl;
/**盘点类型 1盘盈单 2盘亏单*/
private String pdType;
/**备注信息*/
private String content;
/**拍照图片*/
private String picPath;
/**物料类别*/
private String categoryName;
/**物料类型*/
private String typeName;
/**用药类型*/
private String medicationName;
/**货品名称*/
private String materialName;
/**货品编码*/
private String materialNo;
/**规格型号*/
private String specificationModel;
/**物料图片*/
private String materialImg;
/**货品单位*/
private String materialUnits;
/**查询条件 1盘盈单 2盘亏单 3已盘点 4未盘点 */
private String paramType;
}

View File

@ -0,0 +1,77 @@
package com.nu.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
* @Description: 进销存-盘点单主表
* @Author: jeecg-boot
* @Date: 2025-12-10
* @Version: V1.0
*/
@Data
public class InvoicingPddMainEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
private String id;
/**createBy*/
private String createBy;
/**createTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**updateBy*/
private String updateBy;
/**updateTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**盘点单单号*/
private String pddNo;
/**盘点单类型 1盘点中 2已完成 3作废*/
@Dict(dicCode = "pdd_type")
private String pddType;
/**盘点单状态 1盘点中 2盘点结束*/
@Dict(dicCode = "pdd_status")
private String pddStatus;
/**盘点单发起人*/
private String pddStartBy;
/**盘点单发起时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date pddStartTime;
/**盘点单完成人*/
private String pddEndBy;
/**盘点单完成时间*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date pddEndTime;
/**对应仓库*/
private String nuId;
/**盘盈单数量 0是没有 其他是具体数字*/
private Integer pydNum;
/**盘亏单数量 0是没有 其他是具体数字*/
private Integer pkdNum;
/**服务指令id (预留字段)*/
private String serverId;
private String startTime;
private String endTime;
private String pddInfo;
private String pydOrPkd;
private String nuName;
}

View File

@ -0,0 +1,21 @@
package com.nu.modules.invoicing.api;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.nu.entity.*;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;
public interface IPddApi {
IPage<InvoicingPddMainEntity> queryPddList(Integer pageNo, Integer pageSize, InvoicingPddMainEntity invoicingPddMainEntity, HttpServletRequest req);
Map<String,Object> addPddMain(InvoicingPddMainEntity invoicingPddMainEntity);
IPage<InvoicingPddInfoEntity> queryPddInfoList(Integer pageNo, Integer pageSize, InvoicingPddInfoEntity invoicingPddInfoEntity, HttpServletRequest req);
Map<String, Object> editPddInfo(InvoicingPddInfoEntity invoicingPddInfoEntity);
Map<String, Object> submitPddMain(InvoicingPddMainEntity invoicingPddMainEntity);
}

View File

@ -0,0 +1,180 @@
package com.nu.modules.pdd.controller;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.util.oConvertUtils;
import com.nu.modules.pdd.entity.NuInvoicingPddInfo;
import com.nu.modules.pdd.service.INuInvoicingPddInfoService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
/**
* @Description: 进销存-盘点单物料详细信息
* @Author: jeecg-boot
* @Date: 2025-12-10
* @Version: V1.0
*/
@Api(tags="进销存-盘点单物料详细信息")
@RestController
@RequestMapping("/pdd/nuInvoicingPddInfo")
@Slf4j
public class NuInvoicingPddInfoController extends JeecgController<NuInvoicingPddInfo, INuInvoicingPddInfoService> {
@Autowired
private INuInvoicingPddInfoService nuInvoicingPddInfoService;
/**
* 分页列表查询
*
* @param nuInvoicingPddInfo
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "进销存-盘点单物料详细信息-分页列表查询")
@ApiOperation(value="进销存-盘点单物料详细信息-分页列表查询", notes="进销存-盘点单物料详细信息-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<NuInvoicingPddInfo>> queryPageList(NuInvoicingPddInfo nuInvoicingPddInfo,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<NuInvoicingPddInfo> queryWrapper = QueryGenerator.initQueryWrapper(nuInvoicingPddInfo, req.getParameterMap());
Page<NuInvoicingPddInfo> page = new Page<NuInvoicingPddInfo>(pageNo, pageSize);
IPage<NuInvoicingPddInfo> pageList = nuInvoicingPddInfoService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param nuInvoicingPddInfo
* @return
*/
@AutoLog(value = "进销存-盘点单物料详细信息-添加")
@ApiOperation(value="进销存-盘点单物料详细信息-添加", notes="进销存-盘点单物料详细信息-添加")
@RequiresPermissions("pdd:nu_invoicing_pdd_info:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody NuInvoicingPddInfo nuInvoicingPddInfo) {
nuInvoicingPddInfoService.save(nuInvoicingPddInfo);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param nuInvoicingPddInfo
* @return
*/
@AutoLog(value = "进销存-盘点单物料详细信息-编辑")
@ApiOperation(value="进销存-盘点单物料详细信息-编辑", notes="进销存-盘点单物料详细信息-编辑")
@RequiresPermissions("pdd:nu_invoicing_pdd_info:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody NuInvoicingPddInfo nuInvoicingPddInfo) {
nuInvoicingPddInfoService.updateById(nuInvoicingPddInfo);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "进销存-盘点单物料详细信息-通过id删除")
@ApiOperation(value="进销存-盘点单物料详细信息-通过id删除", notes="进销存-盘点单物料详细信息-通过id删除")
@RequiresPermissions("pdd:nu_invoicing_pdd_info:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
nuInvoicingPddInfoService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "进销存-盘点单物料详细信息-批量删除")
@ApiOperation(value="进销存-盘点单物料详细信息-批量删除", notes="进销存-盘点单物料详细信息-批量删除")
@RequiresPermissions("pdd:nu_invoicing_pdd_info:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.nuInvoicingPddInfoService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "进销存-盘点单物料详细信息-通过id查询")
@ApiOperation(value="进销存-盘点单物料详细信息-通过id查询", notes="进销存-盘点单物料详细信息-通过id查询")
@GetMapping(value = "/queryById")
public Result<NuInvoicingPddInfo> queryById(@RequestParam(name="id",required=true) String id) {
NuInvoicingPddInfo nuInvoicingPddInfo = nuInvoicingPddInfoService.getById(id);
if(nuInvoicingPddInfo==null) {
return Result.error("未找到对应数据");
}
return Result.OK(nuInvoicingPddInfo);
}
/**
* 导出excel
*
* @param request
* @param nuInvoicingPddInfo
*/
@RequiresPermissions("pdd:nu_invoicing_pdd_info:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, NuInvoicingPddInfo nuInvoicingPddInfo) {
return super.exportXls(request, nuInvoicingPddInfo, NuInvoicingPddInfo.class, "进销存-盘点单物料详细信息");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("pdd:nu_invoicing_pdd_info:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, NuInvoicingPddInfo.class);
}
}

View File

@ -0,0 +1,180 @@
package com.nu.modules.pdd.controller;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.util.oConvertUtils;
import com.nu.modules.pdd.entity.NuInvoicingPddMain;
import com.nu.modules.pdd.service.INuInvoicingPddMainService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.extern.slf4j.Slf4j;
import org.jeecgframework.poi.excel.ExcelImportUtil;
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
import org.jeecgframework.poi.excel.entity.ExportParams;
import org.jeecgframework.poi.excel.entity.ImportParams;
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
import org.jeecg.common.system.base.controller.JeecgController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import com.alibaba.fastjson.JSON;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.apache.shiro.authz.annotation.RequiresPermissions;
/**
* @Description: 进销存-盘点单主表
* @Author: jeecg-boot
* @Date: 2025-12-10
* @Version: V1.0
*/
@Api(tags="进销存-盘点单主表")
@RestController
@RequestMapping("/pdd/nuInvoicingPddMain")
@Slf4j
public class NuInvoicingPddMainController extends JeecgController<NuInvoicingPddMain, INuInvoicingPddMainService> {
@Autowired
private INuInvoicingPddMainService nuInvoicingPddMainService;
/**
* 分页列表查询
*
* @param nuInvoicingPddMain
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "进销存-盘点单主表-分页列表查询")
@ApiOperation(value="进销存-盘点单主表-分页列表查询", notes="进销存-盘点单主表-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<NuInvoicingPddMain>> queryPageList(NuInvoicingPddMain nuInvoicingPddMain,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<NuInvoicingPddMain> queryWrapper = QueryGenerator.initQueryWrapper(nuInvoicingPddMain, req.getParameterMap());
Page<NuInvoicingPddMain> page = new Page<NuInvoicingPddMain>(pageNo, pageSize);
IPage<NuInvoicingPddMain> pageList = nuInvoicingPddMainService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param nuInvoicingPddMain
* @return
*/
@AutoLog(value = "进销存-盘点单主表-添加")
@ApiOperation(value="进销存-盘点单主表-添加", notes="进销存-盘点单主表-添加")
@RequiresPermissions("pdd:nu_invoicing_pdd_main:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody NuInvoicingPddMain nuInvoicingPddMain) {
nuInvoicingPddMainService.save(nuInvoicingPddMain);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param nuInvoicingPddMain
* @return
*/
@AutoLog(value = "进销存-盘点单主表-编辑")
@ApiOperation(value="进销存-盘点单主表-编辑", notes="进销存-盘点单主表-编辑")
@RequiresPermissions("pdd:nu_invoicing_pdd_main:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody NuInvoicingPddMain nuInvoicingPddMain) {
nuInvoicingPddMainService.updateById(nuInvoicingPddMain);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "进销存-盘点单主表-通过id删除")
@ApiOperation(value="进销存-盘点单主表-通过id删除", notes="进销存-盘点单主表-通过id删除")
@RequiresPermissions("pdd:nu_invoicing_pdd_main:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
nuInvoicingPddMainService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "进销存-盘点单主表-批量删除")
@ApiOperation(value="进销存-盘点单主表-批量删除", notes="进销存-盘点单主表-批量删除")
@RequiresPermissions("pdd:nu_invoicing_pdd_main:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.nuInvoicingPddMainService.removeByIds(Arrays.asList(ids.split(",")));
return Result.OK("批量删除成功!");
}
/**
* 通过id查询
*
* @param id
* @return
*/
//@AutoLog(value = "进销存-盘点单主表-通过id查询")
@ApiOperation(value="进销存-盘点单主表-通过id查询", notes="进销存-盘点单主表-通过id查询")
@GetMapping(value = "/queryById")
public Result<NuInvoicingPddMain> queryById(@RequestParam(name="id",required=true) String id) {
NuInvoicingPddMain nuInvoicingPddMain = nuInvoicingPddMainService.getById(id);
if(nuInvoicingPddMain==null) {
return Result.error("未找到对应数据");
}
return Result.OK(nuInvoicingPddMain);
}
/**
* 导出excel
*
* @param request
* @param nuInvoicingPddMain
*/
@RequiresPermissions("pdd:nu_invoicing_pdd_main:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, NuInvoicingPddMain nuInvoicingPddMain) {
return super.exportXls(request, nuInvoicingPddMain, NuInvoicingPddMain.class, "进销存-盘点单主表");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("pdd:nu_invoicing_pdd_main:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, NuInvoicingPddMain.class);
}
}

View File

@ -0,0 +1,127 @@
package com.nu.modules.pdd.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.*;
import org.jeecg.common.constant.ProvinceCityArea;
import org.jeecg.common.util.SpringContextUtils;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 进销存-盘点单物料详细信息
* @Author: jeecg-boot
* @Date: 2025-12-10
* @Version: V1.0
*/
@Data
@TableName("nu_invoicing_pdd_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="nu_invoicing_pdd_info对象", description="进销存-盘点单物料详细信息")
public class NuInvoicingPddInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.String id;
/**createBy*/
@ApiModelProperty(value = "createBy")
private java.lang.String createBy;
/**createTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "createTime")
private java.util.Date createTime;
/**updateBy*/
@ApiModelProperty(value = "updateBy")
private java.lang.String updateBy;
/**updateTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "updateTime")
private java.util.Date updateTime;
/**盘点单id*/
@Excel(name = "盘点单id", width = 15, dictTable = "nu_invoicing_pdd_main", dicText = "pdd_no", dicCode = "id")
@Dict(dictTable = "nu_invoicing_pdd_main", dicText = "pdd_no", dicCode = "id")
@ApiModelProperty(value = "盘点单id")
private java.lang.String pddId;
/**库房id*/
@Excel(name = "库房id", width = 15)
@ApiModelProperty(value = "库房id")
private java.lang.String nuId;
/**物料id*/
@Excel(name = "物料id", width = 15)
@ApiModelProperty(value = "物料id")
private java.lang.String wlId;
/**当前库存数量*/
@Excel(name = "当前库存数量", width = 15)
@ApiModelProperty(value = "当前库存数量")
private java.lang.Integer dqkcsl;
/**盘点数量*/
@Excel(name = "盘点数量", width = 15)
@ApiModelProperty(value = "盘点数量")
private java.lang.Integer pdsl;
/**差额数量*/
@Excel(name = "差额数量", width = 15)
@ApiModelProperty(value = "差额数量")
private java.lang.Integer cesl;
/**盘点类型 1盘盈单 2盘亏单*/
@Excel(name = "盘点类型 1盘盈单 2盘亏单", width = 15)
@ApiModelProperty(value = "盘点类型 1盘盈单 2盘亏单")
private java.lang.String pdType;
/**备注信息*/
@Excel(name = "备注信息", width = 15)
@ApiModelProperty(value = "备注信息")
private java.lang.String content;
/**拍照图片*/
@Excel(name = "拍照图片", width = 15)
@ApiModelProperty(value = "拍照图片")
private java.lang.String picPath;
/**物料类别*/
@Excel(name = "物料类别", width = 15)
@ApiModelProperty(value = "物料类别")
private java.lang.String categoryName;
/**物料类型*/
@Excel(name = "物料类型", width = 15)
@ApiModelProperty(value = "物料类型")
private java.lang.String typeName;
/**用药类型*/
@Excel(name = "用药类型", width = 15)
@ApiModelProperty(value = "用药类型")
private java.lang.String medicationName;
/**货品名称*/
@Excel(name = "货品名称", width = 15)
@ApiModelProperty(value = "货品名称")
private java.lang.String materialName;
/**货品编码*/
@Excel(name = "货品编码", width = 15)
@ApiModelProperty(value = "货品编码")
private java.lang.String materialNo;
/**规格型号*/
@Excel(name = "规格型号", width = 15)
@ApiModelProperty(value = "规格型号")
private java.lang.String specificationModel;
/**物料图片*/
@Excel(name = "物料图片", width = 15)
@ApiModelProperty(value = "物料图片")
private java.lang.String materialImg;
/**货品单位*/
@Excel(name = "货品单位", width = 15)
@ApiModelProperty(value = "货品单位")
private java.lang.String materialUnits;
@TableField(exist = false)
private java.lang.Integer num;
}

View File

@ -0,0 +1,111 @@
package com.nu.modules.pdd.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableLogic;
import org.jeecg.common.constant.ProvinceCityArea;
import org.jeecg.common.util.SpringContextUtils;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecg.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 进销存-盘点单主表
* @Author: jeecg-boot
* @Date: 2025-12-10
* @Version: V1.0
*/
@Data
@TableName("nu_invoicing_pdd_main")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="nu_invoicing_pdd_main对象", description="进销存-盘点单主表")
public class NuInvoicingPddMain implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private java.lang.String id;
/**createBy*/
@ApiModelProperty(value = "createBy")
private java.lang.String createBy;
/**createTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "createTime")
private java.util.Date createTime;
/**updateBy*/
@ApiModelProperty(value = "updateBy")
private java.lang.String updateBy;
/**updateTime*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "updateTime")
private java.util.Date updateTime;
/**盘点单单号*/
@Excel(name = "盘点单单号", width = 15)
@ApiModelProperty(value = "盘点单单号")
private java.lang.String pddNo;
/**盘点单类型 1盘点中 2已完成 3作废*/
@Excel(name = "盘点单类型 1盘点中 2已完成 3作废", width = 15, dicCode = "pdd_type")
@Dict(dicCode = "pdd_type")
@ApiModelProperty(value = "盘点单类型 1盘点中 2已完成 3作废")
private java.lang.String pddType;
/**盘点单状态 1盘点中 2盘点结束*/
@Excel(name = "盘点单状态 1盘点中 2盘点结束", width = 15, dicCode = "pdd_status")
@Dict(dicCode = "pdd_status")
@ApiModelProperty(value = "盘点单状态 1盘点中 2盘点结束")
private java.lang.String pddStatus;
/**盘点单发起人*/
@Excel(name = "盘点单发起人", width = 15)
@ApiModelProperty(value = "盘点单发起人")
private java.lang.String pddStartBy;
/**盘点单发起时间*/
@Excel(name = "盘点单发起时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "盘点单发起时间")
private java.util.Date pddStartTime;
/**盘点单完成人*/
@Excel(name = "盘点单完成人", width = 15)
@ApiModelProperty(value = "盘点单完成人")
private java.lang.String pddEndBy;
/**盘点单完成时间*/
@Excel(name = "盘点单完成时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "盘点单完成时间")
private java.util.Date pddEndTime;
/**对应仓库*/
@Excel(name = "对应仓库", width = 15)
@ApiModelProperty(value = "对应仓库")
private java.lang.String nuId;
/**仓库名称*/
@Excel(name = "仓库名称", width = 15)
@ApiModelProperty(value = "仓库名称")
private java.lang.String nuName;
/**盘盈单数量 0是没有 其他是具体数字*/
@Excel(name = "盘盈单数量 0是没有 其他是具体数字", width = 15)
@ApiModelProperty(value = "盘盈单数量 0是没有 其他是具体数字")
private java.lang.Integer pydNum;
/**盘亏单数量 0是没有 其他是具体数字*/
@Excel(name = "盘亏单数量 0是没有 其他是具体数字", width = 15)
@ApiModelProperty(value = "盘亏单数量 0是没有 其他是具体数字")
private java.lang.Integer pkdNum;
/**服务指令id (预留字段)*/
@Excel(name = "服务指令id (预留字段)", width = 15)
@ApiModelProperty(value = "服务指令id (预留字段)")
private java.lang.String serverId;
}

View File

@ -0,0 +1,20 @@
package com.nu.modules.pdd.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.nu.modules.pdd.entity.NuInvoicingPddInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 进销存-盘点单物料详细信息
* @Author: jeecg-boot
* @Date: 2025-12-10
* @Version: V1.0
*/
public interface NuInvoicingPddInfoMapper extends BaseMapper<NuInvoicingPddInfo> {
void addPddInfo(@Param("nuId") String nuId,@Param("createBy") String createBy,@Param("pddId") String pddId);
List<NuInvoicingPddInfo> selectPydPkdList(@Param("pddId")String pddId);
}

View File

@ -0,0 +1,17 @@
package com.nu.modules.pdd.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.nu.modules.pdd.entity.NuInvoicingPddMain;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 进销存-盘点单主表
* @Author: jeecg-boot
* @Date: 2025-12-10
* @Version: V1.0
*/
public interface NuInvoicingPddMainMapper extends BaseMapper<NuInvoicingPddMain> {
}

View File

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nu.modules.pdd.mapper.NuInvoicingPddInfoMapper">
<insert id="addPddInfo">
INSERT INTO nu_invoicing_pdd_info (
id, create_by, create_time, pdd_id, nu_id, wl_id,
dqkcsl, pdsl, cesl, pd_type, content, pic_path,
category_name, type_name, medication_name, material_name,
material_no, specification_model, material_img, material_units
)
SELECT
CONCAT(UUID_SHORT(), LPAD(FLOOR(RAND() * 1000000), 6, '0')) as id,
#{createBy} as create_by,
NOW() as create_time,
#{pddId} as pdd_id,
a.nu_id,b.id as wl_id,a.kcsl as dqkcsl,
null as pdsl,null as cesl,null as pd_type,null as content,null as pic_path,
c.category_name as category_name,d.type_name as type_name,e.medication_name as medication_name,
b.material_name,b.material_no,b.specification_model,b.material_img,b.material_units
FROM nu_warehouse_material_info a
LEFT JOIN nu_config_material_info b ON a.wl_id = b.id
left join nu_config_material_category c on b.category_id = c.id
left join nu_config_material_type d on b.type_id = d.id
left join nu_config_material_medication e on b.medication_id = e.id
WHERE a.nu_id = #{nuId} AND a.iz_enabled = 'Y'
</insert>
<select id="selectPydPkdList" resultType="com.nu.modules.pdd.entity.NuInvoicingPddInfo">
select pd_type,count(*) as num from nu_invoicing_pdd_info where pdd_id = #{pddId} GROUP BY pd_type
</select>
</mapper>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.nu.modules.pdd.mapper.NuInvoicingPddMainMapper">
</mapper>

View File

@ -0,0 +1,14 @@
package com.nu.modules.pdd.service;
import com.nu.modules.pdd.entity.NuInvoicingPddInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 进销存-盘点单物料详细信息
* @Author: jeecg-boot
* @Date: 2025-12-10
* @Version: V1.0
*/
public interface INuInvoicingPddInfoService extends IService<NuInvoicingPddInfo> {
}

View File

@ -0,0 +1,14 @@
package com.nu.modules.pdd.service;
import com.nu.modules.pdd.entity.NuInvoicingPddMain;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 进销存-盘点单主表
* @Author: jeecg-boot
* @Date: 2025-12-10
* @Version: V1.0
*/
public interface INuInvoicingPddMainService extends IService<NuInvoicingPddMain> {
}

View File

@ -0,0 +1,19 @@
package com.nu.modules.pdd.service.impl;
import com.nu.modules.pdd.entity.NuInvoicingPddInfo;
import com.nu.modules.pdd.mapper.NuInvoicingPddInfoMapper;
import com.nu.modules.pdd.service.INuInvoicingPddInfoService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 进销存-盘点单物料详细信息
* @Author: jeecg-boot
* @Date: 2025-12-10
* @Version: V1.0
*/
@Service
public class NuInvoicingPddInfoServiceImpl extends ServiceImpl<NuInvoicingPddInfoMapper, NuInvoicingPddInfo> implements INuInvoicingPddInfoService {
}

View File

@ -0,0 +1,223 @@
package com.nu.modules.pdd.service.impl;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.nu.entity.InvoicingPddInfoEntity;
import com.nu.entity.InvoicingPddMainEntity;
import com.nu.entity.MaterialInfoEntity;
import com.nu.modules.invoicing.api.IInvoicingApi;
import com.nu.modules.invoicing.api.IPddApi;
import com.nu.modules.nubaseinfo.entity.NuBaseInfo;
import com.nu.modules.nubaseinfo.mapper.NuBaseInfoMapper;
import com.nu.modules.pdd.entity.NuInvoicingPddInfo;
import com.nu.modules.pdd.entity.NuInvoicingPddMain;
import com.nu.modules.pdd.mapper.NuInvoicingPddInfoMapper;
import com.nu.modules.pdd.mapper.NuInvoicingPddMainMapper;
import com.nu.modules.pdd.service.INuInvoicingPddMainService;
import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.common.system.query.QueryRuleEnum;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.RedisUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Description: 进销存-盘点单主表
* @Author: jeecg-boot
* @Date: 2025-12-10
* @Version: V1.0
*/
@Service
public class NuInvoicingPddMainServiceImpl extends ServiceImpl<NuInvoicingPddMainMapper, NuInvoicingPddMain> implements INuInvoicingPddMainService, IPddApi {
@Autowired
private RedisUtil redisUtil;
@Autowired
private NuBaseInfoMapper nuBaseInfoMapper;
@Autowired
private NuInvoicingPddInfoMapper pddInfoMapper;
@Override
public IPage<InvoicingPddMainEntity> queryPddList(Integer pageNo, Integer pageSize, InvoicingPddMainEntity invoicingPddMainEntity, HttpServletRequest req) {
NuInvoicingPddMain nuInvoicingPddMain = new NuInvoicingPddMain();
BeanUtils.copyProperties(invoicingPddMainEntity,nuInvoicingPddMain);
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
QueryWrapper<NuInvoicingPddMain> queryWrapper = QueryGenerator.initQueryWrapper(nuInvoicingPddMain, req.getParameterMap(), customeRuleMap);
queryWrapper.ge(StringUtils.isNotEmpty(invoicingPddMainEntity.getStartTime()),"create_time",invoicingPddMainEntity.getStartTime());
queryWrapper.le(StringUtils.isNotEmpty(invoicingPddMainEntity.getEndTime()),"create_time",invoicingPddMainEntity.getEndTime());
if(StringUtils.equals("1",invoicingPddMainEntity.getPydOrPkd())){
queryWrapper.gt("pyd_num",0);
}else if (StringUtils.equals("2",invoicingPddMainEntity.getPydOrPkd())){
queryWrapper.gt("pkd_num",0);
}else if (StringUtils.equals("1,2",invoicingPddMainEntity.getPydOrPkd())){
queryWrapper.gt("pyd_num",0);
queryWrapper.gt("pkd_num",0);
}
Page<NuInvoicingPddMain> page = new Page<>(pageNo, pageSize);
List<NuInvoicingPddMain> list = baseMapper.selectList(page,queryWrapper);
IPage<InvoicingPddMainEntity> entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
entityPage.setRecords(BeanUtil.copyToList(list, InvoicingPddMainEntity.class));
return entityPage;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Map<String,Object> addPddMain(InvoicingPddMainEntity invoicingPddMainEntity) {
Map<String,Object> map = new HashMap<>();
List<NuInvoicingPddMain> list = baseMapper.selectList(new QueryWrapper<NuInvoicingPddMain>().eq("nu_id",invoicingPddMainEntity.getNuId()).eq("pdd_type","1"));
if(list.size() > 0){
map.put("success","false");
map.put("message","盘点单已存在,不可重复创建");
return map;
}
String qgdDate = new SimpleDateFormat("yyyyMMdd").format(new Date());
String qgdXlh = "";
if(redisUtil.get("pdd"+qgdDate) != null){
qgdXlh = redisUtil.get("pdd"+qgdDate).toString();
}
int qgdXlhInt = 0;
if(StringUtils.isNotBlank(qgdXlh)){
qgdXlhInt = Integer.parseInt(qgdXlh);
}
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(user == null || StringUtils.isBlank(user.getRealname())){
user = new LoginUser();
user.setRealname("系统");
user.setOrgCode("101");
}
NuInvoicingPddMain newNuInvoicingPddMain = new NuInvoicingPddMain();
BeanUtils.copyProperties(invoicingPddMainEntity,newNuInvoicingPddMain);
String pddNo = "Q"+user.getOrgCode()+qgdDate+String.format("%03d", ++qgdXlhInt);
newNuInvoicingPddMain.setPddNo(pddNo);
newNuInvoicingPddMain.setPddStartBy(user.getRealname());
newNuInvoicingPddMain.setPddStartTime(new Date());
newNuInvoicingPddMain.setPddType("1");
newNuInvoicingPddMain.setPddStatus("1");
NuBaseInfo nuBaseInfo = nuBaseInfoMapper.selectOne(new QueryWrapper<NuBaseInfo>().eq("nu_id",newNuInvoicingPddMain.getNuId()));
newNuInvoicingPddMain.setNuName(nuBaseInfo.getNuName());
baseMapper.insert(newNuInvoicingPddMain);
BeanUtils.copyProperties(newNuInvoicingPddMain,invoicingPddMainEntity);
//添加盘点信息-根据库房id自动添加
pddInfoMapper.addPddInfo(newNuInvoicingPddMain.getNuId(),user.getRealname(),newNuInvoicingPddMain.getId());
redisUtil.set("pdd"+qgdDate,qgdXlhInt);
map.put("success","true");
map.put("message",invoicingPddMainEntity);
return map;
}
@Override
public IPage<InvoicingPddInfoEntity> queryPddInfoList(Integer pageNo, Integer pageSize, InvoicingPddInfoEntity invoicingPddInfoEntity, HttpServletRequest req) {
NuInvoicingPddInfo nuInvoicingPddInfo = new NuInvoicingPddInfo();
BeanUtils.copyProperties(invoicingPddInfoEntity,nuInvoicingPddInfo);
Map<String, QueryRuleEnum> customeRuleMap = new HashMap<>();
QueryWrapper<NuInvoicingPddInfo> queryWrapper = QueryGenerator.initQueryWrapper(nuInvoicingPddInfo, req.getParameterMap(), customeRuleMap);
if(StringUtils.equals("1",invoicingPddInfoEntity.getParamType())){
queryWrapper.eq("pd_type","1");
}else if (StringUtils.equals("2",invoicingPddInfoEntity.getParamType())){
queryWrapper.eq("pd_type","2");
}else if (StringUtils.equals("3",invoicingPddInfoEntity.getParamType())){
queryWrapper.gt("pdsl",0);
}else if (StringUtils.equals("4",invoicingPddInfoEntity.getParamType())){
queryWrapper.eq("pdsl",null);
}
Page<NuInvoicingPddInfo> page = new Page<>(pageNo, pageSize);
List<NuInvoicingPddInfo> list = pddInfoMapper.selectList(page,queryWrapper);
IPage<InvoicingPddInfoEntity> entityPage = new Page<>(page.getCurrent(), page.getSize(), page.getTotal());
entityPage.setRecords(BeanUtil.copyToList(list, InvoicingPddInfoEntity.class));
return entityPage;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Map<String, Object> editPddInfo(InvoicingPddInfoEntity invoicingPddInfoEntity) {
Map<String,Object> map = new HashMap<>();
NuInvoicingPddInfo nuInvoicingPddInfo = new NuInvoicingPddInfo();
BeanUtils.copyProperties(invoicingPddInfoEntity,nuInvoicingPddInfo);
int kcsl = nuInvoicingPddInfo.getDqkcsl();
int pdsl = nuInvoicingPddInfo.getPdsl();
if(pdsl > kcsl){
nuInvoicingPddInfo.setPdType("2");
}else{
nuInvoicingPddInfo.setPdType("1");
}
nuInvoicingPddInfo.setCesl(Math.abs(pdsl-kcsl));
pddInfoMapper.updateById(nuInvoicingPddInfo);
nuInvoicingPddInfo = pddInfoMapper.selectById(nuInvoicingPddInfo);
//修改盘盈单盘亏单数量
List<NuInvoicingPddInfo> list = pddInfoMapper.selectPydPkdList(nuInvoicingPddInfo.getPddId());
Integer pydNum = 0;
Integer pkdNum = 0;
for(NuInvoicingPddInfo param : list){
if (StringUtils.equals("1",param.getPdType())){
pydNum += param.getNum();
}else if (StringUtils.equals("2",param.getPdType())){
pkdNum += param.getNum();
}
}
NuInvoicingPddMain nuInvoicingPddMain = new NuInvoicingPddMain();
nuInvoicingPddMain.setId(nuInvoicingPddInfo.getPddId());
nuInvoicingPddMain.setPydNum(pydNum);
nuInvoicingPddMain.setPkdNum(pkdNum);
baseMapper.updateById(nuInvoicingPddMain);
map.put("success","true");
map.put("message",nuInvoicingPddInfo);
return map;
}
@Override
public Map<String, Object> submitPddMain(InvoicingPddMainEntity invoicingPddMainEntity) {
Map<String,Object> map = new HashMap<>();
LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
if(user == null || StringUtils.isBlank(user.getRealname())){
user = new LoginUser();
user.setRealname("系统");
}
List<NuInvoicingPddInfo> list = pddInfoMapper.selectList(new QueryWrapper<NuInvoicingPddInfo>().eq("pdd_id",invoicingPddMainEntity.getId()).isNull("pdsl"));
int sfwc = 0;//是否完成
for(NuInvoicingPddInfo param : list){
if (StringUtils.isBlank(param.getPdType())){
sfwc = 1;
}
}
if(sfwc == 1){
map.put("success","false");
map.put("message","有未完成的盘点信息,不能提交盘点单");
return map;
}
NuInvoicingPddMain nuInvoicingPddMain = new NuInvoicingPddMain();
BeanUtils.copyProperties(invoicingPddMainEntity,nuInvoicingPddMain);
nuInvoicingPddMain.setPddEndBy(user.getRealname());
nuInvoicingPddMain.setPddEndTime(new Date());
nuInvoicingPddMain.setPddType("2");
nuInvoicingPddMain.setPddStatus("2");
baseMapper.updateById(nuInvoicingPddMain);
map.put("success","true");
map.put("message","操作成功");
return map;
}
}