添加盘点单接口
This commit is contained in:
parent
18dce129e7
commit
ebabdb01df
|
|
@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -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"); //电表回调
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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> {
|
||||
|
||||
}
|
||||
|
|
@ -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 {
|
||||
|
||||
}
|
||||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue