Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
b6bd61ae82
|
|
@ -52,6 +52,10 @@ public class InvoicingApi {
|
|||
@AutoLog(value = "采购单-采购信息-添加",clientType="app", operateType = 2)
|
||||
@PostMapping(value = "/addShoppingCartList")
|
||||
public Result<String> addShoppingCartList(@RequestBody List<QgdInfoEntity> infoList) {
|
||||
Map<String, Object> pddMap = invoicingApi.queryPddStartInfo(null);
|
||||
if(!toBoolean(pddMap.get("success"))){
|
||||
return Result.error(pddMap.get("message").toString());
|
||||
}
|
||||
Integer maxCount = 100;//购物车最大数量
|
||||
String result = invoicingApi.addShoppingCartList(infoList,maxCount);
|
||||
if("1".equals( result)){
|
||||
|
|
@ -72,6 +76,10 @@ public class InvoicingApi {
|
|||
@AutoLog(value = "采购单-修改购物车采购信息",clientType="app", operateType = 3)
|
||||
@PostMapping(value = "/eddShoppingCartList")
|
||||
public Result<String> eddShoppingCartList(@RequestBody QgdInfoEntity qgdInfoEntity) {
|
||||
Map<String, Object> pddMap = invoicingApi.queryPddStartInfo(null);
|
||||
if(!toBoolean(pddMap.get("success"))){
|
||||
return Result.error(pddMap.get("message").toString());
|
||||
}
|
||||
String result = invoicingApi.eddShoppingCartList(qgdInfoEntity);
|
||||
if("1".equals( result)){
|
||||
return Result.error("采购信息已存在,不可重复采购!");
|
||||
|
|
@ -85,6 +93,10 @@ public class InvoicingApi {
|
|||
@AutoLog(value = "采购单-生成采购单预览信息",clientType="app")
|
||||
@PostMapping(value = "/generatedPurchaseViewOrder")
|
||||
public Result<Object> generatedPurchaseViewOrder(@RequestBody List<QgdInfoEntity> infoList, HttpServletRequest req) {
|
||||
Map<String, Object> pddMap = invoicingApi.queryPddStartInfo(null);
|
||||
if(!toBoolean(pddMap.get("success"))){
|
||||
return Result.error(pddMap.get("message").toString());
|
||||
}
|
||||
Map<String,Object> list = invoicingApi.generatedPurchaseViewOrder(infoList);
|
||||
if(list.get("status").equals("2")){
|
||||
return Result.error(list.get("errorMessage").toString());
|
||||
|
|
@ -95,6 +107,11 @@ public class InvoicingApi {
|
|||
@AutoLog(value = "采购单-生成采购单信息",clientType="app",operateType = 2)
|
||||
@PostMapping(value = "/generatedPurchaseOrder")
|
||||
public Result<List<CgdMainEntity>> generatedPurchaserder(@RequestBody List<CgdMainEntity> cgdMainList, HttpServletRequest req) {
|
||||
|
||||
Map<String, Object> pddMap = invoicingApi.queryPddStartInfo(null);
|
||||
if(!toBoolean(pddMap.get("success"))){
|
||||
return Result.error(pddMap.get("message").toString());
|
||||
}
|
||||
List<CgdMainEntity> list = invoicingApi.generatedPurchaserder(cgdMainList);
|
||||
return Result.OK("操作成功");
|
||||
}
|
||||
|
|
@ -335,6 +352,10 @@ public class InvoicingApi {
|
|||
@AutoLog(value = "采购单-库存预警添加全部物料",clientType="app", operateType = 2)
|
||||
@PostMapping(value = "/addWaringAll")
|
||||
public Result<String> addWaringAll(@RequestBody CgdInfoEntity cgdInfoEntityDto) {
|
||||
Map<String, Object> pddMap = invoicingApi.queryPddStartInfo(null);
|
||||
if(!toBoolean(pddMap.get("success"))){
|
||||
return Result.error(pddMap.get("message").toString());
|
||||
}
|
||||
if(StringUtils.isEmpty(cgdInfoEntityDto.getNuId())){
|
||||
return Result.error("请选择仓库");
|
||||
}
|
||||
|
|
@ -353,6 +374,10 @@ public class InvoicingApi {
|
|||
@AutoLog(value = "采购单-拣货物料",clientType="app", operateType = 2)
|
||||
@PostMapping(value = "/pickingInfo")
|
||||
public Result<Map<String,Object>> pickingInfo(@RequestBody CgdInfoEntity cgdInfoEntityDto) {
|
||||
Map<String, Object> pddMap = invoicingApi.queryPddStartInfo(null);
|
||||
if(!toBoolean(pddMap.get("success"))){
|
||||
return Result.error(pddMap.get("message").toString());
|
||||
}
|
||||
Map<String,Object> result = invoicingApi.pickingInfo(cgdInfoEntityDto);
|
||||
if(StringUtils.equals("2",result.get("status").toString())){
|
||||
return Result.error("入库数量错误,超过采购数量");
|
||||
|
|
@ -367,6 +392,10 @@ public class InvoicingApi {
|
|||
@AutoLog(value = "采购单-改价",clientType="app", operateType = 3)
|
||||
@PostMapping(value = "/editPrice")
|
||||
public Result<Map<String,String>> editPrice(@RequestBody CgdInfoEntity cgdInfoEntityDto) {
|
||||
Map<String, Object> pddMap = invoicingApi.queryPddStartInfo(null);
|
||||
if(!toBoolean(pddMap.get("success"))){
|
||||
return Result.error(pddMap.get("message").toString());
|
||||
}
|
||||
Map<String,String> result = invoicingApi.editPrice(cgdInfoEntityDto);
|
||||
// if(StringUtils.equals("2",result)){
|
||||
// return Result.error("入库数量错误,超过采购数量");
|
||||
|
|
@ -447,4 +476,12 @@ public class InvoicingApi {
|
|||
Map<String, Object> pageList = invoicingApi.queryCrkInfoNumList(pageNo, pageSize, crkInfoEntity,req);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
||||
public static boolean toBoolean(Object obj) {
|
||||
if (obj != null && !(Boolean) obj) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,139 @@
|
|||
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());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value = "盘点单-查询盘点人列表", notes = "盘点单-查询盘点人列表")
|
||||
@GetMapping(value = "/queryPddStartByList")
|
||||
public Result<List<Map<String,String>>> queryPddStartByList(InvoicingPddInfoEntity invoicingPddInfoEntity) {
|
||||
if(StringUtils.isBlank(invoicingPddInfoEntity.getNuId())){
|
||||
return Result.error("参数错误,请选择库房");
|
||||
}
|
||||
List<Map<String,String>> pageList = pddApi.queryPddStartByList(invoicingPddInfoEntity);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation(value="盘点单-作废盘点单", notes="盘点单-作废盘点单")
|
||||
@AutoLog(value = "盘点单-作废盘点单",clientType="app", operateType = 2)
|
||||
@PostMapping(value = "/voidedPddMain")
|
||||
public Result<Object> voidedPddMain(@RequestBody InvoicingPddMainEntity invoicingPddMainEntity) {
|
||||
if(StringUtils.isBlank(invoicingPddMainEntity.getId())){
|
||||
return Result.error("参数错误,请选择盘点单");
|
||||
}
|
||||
Map<String,Object> result = pddApi.voidedPddMain(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 = "/queryPddStartInfo")
|
||||
public Result<Map<String, Object>> queryPddStartInfo(InvoicingPddInfoEntity invoicingPddInfoEntity) {
|
||||
Map<String, Object> pageList = pddApi.queryPddStartInfo(invoicingPddInfoEntity);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ package com.nu.modules.pad.invoicing.api;
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.nu.entity.*;
|
||||
import com.nu.modules.invoicing.api.IPddApi;
|
||||
import com.nu.modules.invoicing.api.IQinglingApi;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
|
@ -24,6 +25,9 @@ public class InvoicingQldApi {
|
|||
|
||||
@Autowired
|
||||
private IQinglingApi qinglingApi;
|
||||
//盘点单
|
||||
@Autowired
|
||||
private IPddApi pddApi;
|
||||
|
||||
/**
|
||||
* 物料树查询(库房中已有物料)
|
||||
|
|
@ -219,6 +223,12 @@ public class InvoicingQldApi {
|
|||
@AutoLog(value = "请领单-提交请领单", clientType = "app")
|
||||
@PostMapping(value = "/submitQld")
|
||||
public Result<?> submitQld(@RequestBody InvoicingQldGwcEntity dto) {
|
||||
//判断库房是否正在盘点中
|
||||
Map<String, Object> izPd = pddApi.queryPddStartInfo(null);
|
||||
if (izPd.get("success") != null && !(Boolean) izPd.get("success")) {
|
||||
return Result.error((String) izPd.get("message"));
|
||||
}
|
||||
|
||||
if (StringUtils.isBlank(dto.getNuId()) || StringUtils.isBlank(dto.getElderId())) {
|
||||
return Result.error("缺少参数");
|
||||
}
|
||||
|
|
@ -311,6 +321,12 @@ public class InvoicingQldApi {
|
|||
@AutoLog(value = "请领单-确认收货", clientType = "app")
|
||||
@PostMapping(value = "/confirmReceipt")
|
||||
public Result<?> confirmReceipt(@RequestBody InvoicingQldMainEntity dto) {
|
||||
//库房是否正在盘点中
|
||||
Map<String, Object> izPd = pddApi.queryPddStartInfo(null);
|
||||
if (izPd.get("success") != null && !(Boolean) izPd.get("success")) {
|
||||
return Result.error((String) izPd.get("message"));
|
||||
}
|
||||
|
||||
if (StringUtils.isBlank(dto.getQldNo()) || StringUtils.isBlank(dto.getNuId()) || StringUtils.isBlank(dto.getElderId())) {
|
||||
return Result.error("缺少参数");
|
||||
}
|
||||
|
|
@ -359,6 +375,12 @@ public class InvoicingQldApi {
|
|||
@AutoLog(value = "请领单-出库(单个/批量)", clientType = "app")
|
||||
@PostMapping(value = "/outbound")
|
||||
public Result<Map<String, Object>> outbound(@RequestBody InvoicingQldMainEntity dto) {
|
||||
//判断库房是否正在盘点中
|
||||
Map<String, Object> izPd = pddApi.queryPddStartInfo(null);
|
||||
if (izPd.get("success") != null && !(Boolean) izPd.get("success")) {
|
||||
return Result.error((String) izPd.get("message"));
|
||||
}
|
||||
|
||||
if (StringUtils.isBlank(dto.getQldNo())) {
|
||||
return Result.error("缺少参数");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.google.common.collect.Maps;
|
|||
import com.nu.entity.InvoicingThdGwcEntity;
|
||||
import com.nu.entity.InvoicingThdMainEntity;
|
||||
import com.nu.entity.NuKcslEntity;
|
||||
import com.nu.modules.invoicing.api.IPddApi;
|
||||
import com.nu.modules.invoicing.api.ITuiHuoApi;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
|
@ -25,6 +26,9 @@ public class InvoicingThdApi {
|
|||
|
||||
@Autowired
|
||||
private ITuiHuoApi tuiHuoApi;
|
||||
//盘点单
|
||||
@Autowired
|
||||
private IPddApi pddApi;
|
||||
|
||||
/**
|
||||
* 查询退货单
|
||||
|
|
@ -166,6 +170,12 @@ public class InvoicingThdApi {
|
|||
@AutoLog(value = "退货单-入库退货单", clientType = "app")
|
||||
@PostMapping(value = "/submitThd")
|
||||
public Result<?> submitThd(@RequestBody InvoicingThdMainEntity dto) {
|
||||
//库房是否正在盘点中
|
||||
Map<String, Object> izPd = pddApi.queryPddStartInfo(null);
|
||||
if (izPd.get("success") != null && !(Boolean) izPd.get("success")) {
|
||||
return Result.error((String) izPd.get("message"));
|
||||
}
|
||||
|
||||
if (StringUtils.isBlank(dto.getId())) {
|
||||
return Result.error("缺少参数");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -40,8 +40,6 @@ public class InvoicingQldInfoEntity implements Serializable {
|
|||
private String kfId;
|
||||
/**物料id nu_config_material_info.id*/
|
||||
private String wlId;
|
||||
/**物料id nu_config_material_info.id*/
|
||||
private String materialName;
|
||||
/**请领数量*/
|
||||
private Integer qlNum;
|
||||
/**nuid nu_base_info.nu_id*/
|
||||
|
|
@ -57,4 +55,23 @@ public class InvoicingQldInfoEntity implements Serializable {
|
|||
private String categoryName;
|
||||
/**服务类型名称*/
|
||||
private String typeName;
|
||||
|
||||
/**物料类别名称*/
|
||||
private java.lang.String materialCategoryName;
|
||||
/**物料类型名称*/
|
||||
private java.lang.String materialTypeName;
|
||||
/**用药类型名称*/
|
||||
private java.lang.String materialMedicationName;
|
||||
/**物料名称*/
|
||||
private java.lang.String materialName;
|
||||
/**物料单位*/
|
||||
private java.lang.String materialUnits;
|
||||
/**物料编码*/
|
||||
private java.lang.String materialNo;
|
||||
/**规格型号*/
|
||||
private java.lang.String specificationModel;
|
||||
/**物料图片*/
|
||||
private java.lang.String materialImg;
|
||||
/**物料销售单价*/
|
||||
private java.math.BigDecimal salesUnitPrice;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,4 +89,6 @@ public interface IInvoicingApi {
|
|||
IPage<WarehouseMaterialCrkInfoEntity> queryCrkInfoList(Integer pageNo, Integer pageSize, WarehouseMaterialCrkInfoEntity crkInfoEntity, HttpServletRequest req);
|
||||
|
||||
Map<String, Object> queryCrkInfoNumList(Integer pageNo, Integer pageSize, WarehouseMaterialCrkInfoEntity crkInfoEntity, HttpServletRequest req);
|
||||
|
||||
Map<String, Object> queryPddStartInfo(Object o);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
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);
|
||||
|
||||
List<Map<String,String>> queryPddStartByList(InvoicingPddInfoEntity invoicingPddInfoEntity);
|
||||
|
||||
Map<String, Object> voidedPddMain(InvoicingPddMainEntity invoicingPddMainEntity);
|
||||
|
||||
Map<String, Object> queryPddStartInfo(InvoicingPddInfoEntity invoicingPddInfoEntity);
|
||||
}
|
||||
|
|
@ -38,4 +38,6 @@ public interface ConfigMaterialInfoMapper extends BaseMapper<ConfigMaterialInfo>
|
|||
ConfigMaterialInfo queryMaterialInfo(InvoicingQldQueryEntity queryDto);
|
||||
|
||||
void updateOneTwoPrice(@Param("params") ConfigMaterialInfo configMaterialInfo);
|
||||
|
||||
List<ConfigMaterialInfo> queryByWlids(@Param("ids") List<String> ids);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,4 +109,18 @@
|
|||
two_unit_price = #{params.twoUnitPrice}
|
||||
where id = #{params.id}
|
||||
</update>
|
||||
|
||||
<select id="queryByWlids" resultType="com.nu.modules.ConfigMaterial.entity.ConfigMaterialInfo">
|
||||
select a.*,f.category_name,g.type_name,h.medication_name
|
||||
from nu_config_material_info a
|
||||
left join nu_config_material_category f on a.category_id = f.id
|
||||
left join nu_config_material_type g on a.type_id = g.id
|
||||
left join nu_config_material_medication h on a.medication_id = h.id
|
||||
<where>
|
||||
a.id in
|
||||
<foreach collection="ids" item="id" open="(" close=")" separator=",">
|
||||
#{id}
|
||||
</foreach>
|
||||
</where>
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -96,6 +96,43 @@ public class NuWarehouseMaterialCrkInfo implements Serializable {
|
|||
|
||||
private Integer ddwNum;//多单位时的数量
|
||||
|
||||
/**物料类别名称*/
|
||||
@Excel(name = "物料类别名称", width = 15)
|
||||
@ApiModelProperty(value = "物料类别名称")
|
||||
private java.lang.String materialCategoryName;
|
||||
/**物料类型名称*/
|
||||
@Excel(name = "物料类型名称", width = 15)
|
||||
@ApiModelProperty(value = "物料类型名称")
|
||||
private java.lang.String materialTypeName;
|
||||
/**用药类型名称*/
|
||||
@Excel(name = "用药类型名称", width = 15)
|
||||
@ApiModelProperty(value = "用药类型名称")
|
||||
private java.lang.String materialMedicationName;
|
||||
/**物料名称*/
|
||||
@Excel(name = "物料名称", width = 15)
|
||||
@ApiModelProperty(value = "物料名称")
|
||||
private java.lang.String materialName;
|
||||
/**物料单位*/
|
||||
@Excel(name = "物料单位", width = 15)
|
||||
@ApiModelProperty(value = "物料单位")
|
||||
private java.lang.String materialUnits;
|
||||
/**物料编码*/
|
||||
@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.math.BigDecimal salesUnitPrice;
|
||||
|
||||
@TableField(exist = false)
|
||||
private String paramDate;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import com.nu.modules.cgd.service.INuInvoicingCgdMainService;
|
|||
import com.nu.modules.configSuppliersInfo.entity.ConfigSuppliersInfo;
|
||||
import com.nu.modules.configSuppliersInfo.mapper.ConfigSuppliersInfoMapper;
|
||||
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.qgd.entity.QgdInfo;
|
||||
|
|
@ -34,6 +35,7 @@ import io.swagger.models.auth.In;
|
|||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
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.system.vo.LoginUser;
|
||||
|
|
@ -105,6 +107,9 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
@Autowired
|
||||
private DictUtils dictUtils;
|
||||
|
||||
@Autowired
|
||||
private IPddApi pddApi;
|
||||
|
||||
@Override
|
||||
public void rukuInfo(NuInvoicingCgdMain nuInvoicingCgdMain) {
|
||||
}
|
||||
|
|
@ -350,7 +355,6 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public List<CgdMainEntity> generatedPurchaserder(List<CgdMainEntity> cgdMainList) {
|
||||
|
|
@ -678,7 +682,6 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
|
||||
@Override
|
||||
public String addShoppingCartList(List<QgdInfoEntity> infoList,Integer maxCount) {
|
||||
|
||||
String nuId = infoList.get(0).getNuId();
|
||||
if(StringUtils.isEmpty(nuId)){
|
||||
return "3";//护理单元为空
|
||||
|
|
@ -909,7 +912,6 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
|
||||
@Override
|
||||
public String addWaringAll(CgdInfoEntity cgdInfoEntityDto, Integer maxCount) {
|
||||
|
||||
List<QgdInfo> listqg = qgdInfoMapper.selectList(new QueryWrapper<QgdInfo>().eq("nu_id",cgdInfoEntityDto.getNuId()));
|
||||
if(listqg.size()>=maxCount){
|
||||
return "4";//购物车最大数量为100,请购数量超出限制
|
||||
|
|
@ -1019,9 +1021,13 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Map<String,Object> pickingInfo(CgdInfoEntity cgdInfoEntityDto) {
|
||||
|
||||
Map<String,Object> result = new HashMap<>();
|
||||
LoginUser loginUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
if(loginUser == null || StringUtils.isBlank(loginUser.getRealname())){
|
||||
loginUser = new LoginUser();
|
||||
loginUser.setRealname("系统管理员");
|
||||
loginUser.setOrgCode("101");
|
||||
}
|
||||
QueryWrapper<NuInvoicingCgdInfo> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("id",cgdInfoEntityDto.getJhId());
|
||||
//请购信息
|
||||
|
|
@ -1083,6 +1089,15 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
}
|
||||
crkInfo.setDqkcl(dqkcl);//当前库存量(操作后的库存量)
|
||||
crkInfo.setContent("采购单:"+cgdMain.getCgdNo());
|
||||
crkInfo.setMaterialCategoryName(dictUtils.translateDictValue("id","category_name","nu_config_material_category",mterialInfo.getCategoryId()));//物料类别名称
|
||||
crkInfo.setMaterialTypeName(dictUtils.translateDictValue("id","type_name","nu_config_material_type",mterialInfo.getTypeId()));//物料类型名称
|
||||
crkInfo.setMaterialMedicationName(dictUtils.translateDictValue("id","medication_name","nu_config_material_medication",mterialInfo.getMedicationId()));//物料类型名称
|
||||
crkInfo.setMaterialName(mterialInfo.getMaterialName());//物料名称
|
||||
crkInfo.setMaterialUnits(mterialInfo.getMaterialUnits());//物料单位
|
||||
crkInfo.setMaterialNo(mterialInfo.getMaterialNo());//物料编码
|
||||
crkInfo.setSpecificationModel(mterialInfo.getSpecificationModel());//规格型号
|
||||
crkInfo.setMaterialImg(mterialInfo.getMaterialImg());//物料图片
|
||||
crkInfo.setSalesUnitPrice(new BigDecimal(mterialInfo.getSalesUnitPrice()));//销售单价
|
||||
if(crkInfo.getCrkNum()>0){
|
||||
crkInfoMapper.insert(crkInfo);
|
||||
}
|
||||
|
|
@ -1381,4 +1396,9 @@ public class NuInvoicingCgdMainServiceImpl extends ServiceImpl<NuInvoicingCgdMai
|
|||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryPddStartInfo(Object o) {
|
||||
return pddApi.queryPddStartInfo(null);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,4 +82,41 @@ public class NuInvoicingNuCrkLog implements Serializable {
|
|||
@Excel(name = "备注", width = 15)
|
||||
@ApiModelProperty(value = "备注")
|
||||
private java.lang.String content;
|
||||
|
||||
/**物料类别名称*/
|
||||
@Excel(name = "物料类别名称", width = 15)
|
||||
@ApiModelProperty(value = "物料类别名称")
|
||||
private java.lang.String materialCategoryName;
|
||||
/**物料类型名称*/
|
||||
@Excel(name = "物料类型名称", width = 15)
|
||||
@ApiModelProperty(value = "物料类型名称")
|
||||
private java.lang.String materialTypeName;
|
||||
/**用药类型名称*/
|
||||
@Excel(name = "用药类型名称", width = 15)
|
||||
@ApiModelProperty(value = "用药类型名称")
|
||||
private java.lang.String materialMedicationName;
|
||||
/**物料名称*/
|
||||
@Excel(name = "物料名称", width = 15)
|
||||
@ApiModelProperty(value = "物料名称")
|
||||
private java.lang.String materialName;
|
||||
/**物料单位*/
|
||||
@Excel(name = "物料单位", width = 15)
|
||||
@ApiModelProperty(value = "物料单位")
|
||||
private java.lang.String materialUnits;
|
||||
/**物料编码*/
|
||||
@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.math.BigDecimal salesUnitPrice;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,43 +56,16 @@
|
|||
|
||||
<select id="thdMaterialList" resultType="com.nu.entity.NuKcslEntity">
|
||||
select
|
||||
material.id AS "materialInfo.id",
|
||||
material.category_id AS "materialInfo.categoryId",
|
||||
material.type_id AS "materialInfo.typeId",
|
||||
material.medication_id AS "materialInfo.medicationId",
|
||||
material.material_name AS "materialInfo.materialName",
|
||||
material.material_no AS "materialInfo.materialNo",
|
||||
material.specification_model AS "materialInfo.specificationModel",
|
||||
material.sales_unit_price AS "materialInfo.salesUnitPrice",
|
||||
material.reference_unit_price AS "materialInfo.referenceUnitPrice",
|
||||
material.material_units AS "materialInfo.materialUnits",
|
||||
material.multi_unit_switch AS "materialInfo.multiUnitSwitch",
|
||||
material.one_unit AS "materialInfo.oneUnit",
|
||||
material.one_unit_proportion AS "materialInfo.oneUnitProportion",
|
||||
material.one_unit_price AS "materialInfo.oneUnitPrice",
|
||||
material.two_unit AS "materialInfo.twoUnit",
|
||||
material.two_unit_proportion AS "materialInfo.twoUnitProportion",
|
||||
material.two_unit_price AS "materialInfo.twoUnitPrice",
|
||||
material.multi_unit_type AS "materialInfo.multiUnitType",
|
||||
material.suppliers AS "materialInfo.suppliers",
|
||||
material.material_img AS "materialInfo.materialImg",
|
||||
material.material_ident AS "materialInfo.materialIdent",
|
||||
material.iz_enabled AS "materialInfo.izEnabled",
|
||||
material.del_flag AS "materialInfo.delFlag",
|
||||
material.create_by AS "materialInfo.createBy",
|
||||
material.create_time AS "materialInfo.createTime",
|
||||
material.update_by AS "materialInfo.updateBy",
|
||||
material.update_time AS "materialInfo.updateTime",
|
||||
material.sys_org_code AS "materialInfo.sysOrgCode",
|
||||
material.pinyin AS "materialInfo.pinyin",
|
||||
material.upper_limit AS "materialInfo.upperLimit",
|
||||
material.lower_limit AS "materialInfo.lowerLimit",
|
||||
material.tag_type AS "materialInfo.tagType",
|
||||
material.iz_ybbx AS "materialInfo.izYbbx",
|
||||
material.iz_jgyh AS "materialInfo.izJgyh",
|
||||
info.th_num AS thNum
|
||||
info.th_num AS thNum,
|
||||
info.material_name AS "materialInfo.materialName",
|
||||
info.material_no AS "materialInfo.materialNo",
|
||||
info.specification_model AS "materialInfo.specificationModel",
|
||||
info.sales_unit_price AS "materialInfo.salesUnitPrice",
|
||||
info.material_units AS "materialInfo.materialUnits",
|
||||
info.material_img AS "materialInfo.materialImg",
|
||||
info.material_category_name as "materialInfo.categoryName",
|
||||
info.material_type_name as "materialInfo.typeName"
|
||||
from nu_invoicing_thd_info info
|
||||
LEFT JOIN nu_config_material_info material ON info.wl_id = material.id
|
||||
<where>
|
||||
<if test="thdNo != null and thdNo != ''">
|
||||
and info.thd_no = #{thdNo}
|
||||
|
|
|
|||
|
|
@ -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盘亏单 3作废*/
|
||||
@Excel(name = "盘点类型 1盘盈单 2盘亏单 3作废", width = 15)
|
||||
@ApiModelProperty(value = "盘点类型 1盘盈单 2盘亏单 3作废")
|
||||
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盘点结束 3作废*/
|
||||
@Excel(name = "盘点单状态 1盘点中 2盘点结束 3作废", width = 15, dicCode = "pdd_status")
|
||||
@Dict(dicCode = "pdd_status")
|
||||
@ApiModelProperty(value = "盘点单状态 1盘点中 2盘点结束 3作废")
|
||||
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,23 @@
|
|||
package com.nu.modules.pdd.mapper;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.nu.entity.InvoicingPddInfoEntity;
|
||||
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);
|
||||
|
||||
List<NuInvoicingPddInfo> queryPddStartByList(@Param("params") InvoicingPddInfoEntity invoicingPddInfoEntity);
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
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> {
|
||||
|
||||
List<NuInvoicingPddMain> selectPddWlsfzyList(@Param("wlId") String wlId);
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
<?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>
|
||||
<select id="queryPddStartByList" resultType="com.nu.modules.pdd.entity.NuInvoicingPddInfo">
|
||||
select pdd_start_by as create_by from nu_invoicing_pdd_main where nu_id = #{params.nuId} GROUP BY pdd_start_by
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
<?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">
|
||||
|
||||
<select id="selectPddWlsfzyList" resultType="com.nu.modules.pdd.entity.NuInvoicingPddMain">
|
||||
select a.* from nu_invoicing_pdd_main a
|
||||
INNER JOIN nu_invoicing_pdd_info b on a.id = b.pdd_id
|
||||
where a.pdd_type = '1' and b.wl_id = #{wlId}
|
||||
</select>
|
||||
</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,351 @@
|
|||
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.cgd.entity.NuWarehouseMaterialCrkInfo;
|
||||
import com.nu.modules.cgd.mapper.NuWarehouseMaterialCrkInfoMapper;
|
||||
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 com.nu.modules.warehouseMaterialInfo.mapper.BlWarehouseMaterialInfoMapper;
|
||||
import com.nu.utils.DictUtils;
|
||||
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.math.BigDecimal;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @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;
|
||||
|
||||
@Autowired
|
||||
private NuWarehouseMaterialCrkInfoMapper crkInfoMapper;
|
||||
@Autowired
|
||||
private BlWarehouseMaterialInfoMapper mterialInfoMapper;
|
||||
|
||||
@Autowired
|
||||
private DictUtils dictUtils;
|
||||
|
||||
@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.isNotBlank(invoicingPddMainEntity.getPddInfo())){
|
||||
queryWrapper.apply("(pdd_no like ","%"+invoicingPddMainEntity.getPddInfo()+"%"," or pdd_start_by like %"+invoicingPddMainEntity.getPddInfo()+"%)" );
|
||||
}
|
||||
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
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
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("系统");
|
||||
}
|
||||
NuInvoicingPddMain nuInvoicingPddMainInfo =baseMapper.selectById(invoicingPddMainEntity.getId());
|
||||
if(!StringUtils.equals("1",nuInvoicingPddMainInfo.getPddType())){
|
||||
map.put("success","false");
|
||||
map.put("message","盘点单状态不是盘点中,不能提交盘点单");
|
||||
return map;
|
||||
}
|
||||
|
||||
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;
|
||||
break;
|
||||
}
|
||||
}
|
||||
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);
|
||||
|
||||
List<NuInvoicingPddInfo> listCrk = pddInfoMapper.selectList(new QueryWrapper<NuInvoicingPddInfo>().eq("pdd_id",invoicingPddMainEntity.getId()).gt("cesl",0));
|
||||
for(NuInvoicingPddInfo param : listCrk){
|
||||
//库存信息
|
||||
List<BlWarehouseMaterialInfo> mterialInfoList = mterialInfoMapper.selectList(new QueryWrapper<BlWarehouseMaterialInfo>().eq("wl_id",param.getWlId()).eq("nu_id",param.getNuId()));
|
||||
if(mterialInfoList == null || mterialInfoList.size() == 0){
|
||||
continue;
|
||||
}
|
||||
BlWarehouseMaterialInfo mterialInfo = mterialInfoList.get(0);
|
||||
String kcsl = mterialInfo.getKcsl();
|
||||
String dqkcl = mterialInfo.getKcsl();
|
||||
NuWarehouseMaterialCrkInfo crkInfo = new NuWarehouseMaterialCrkInfo();
|
||||
crkInfo.setCreateBy(user.getRealname());
|
||||
crkInfo.setCgdId(param.getPddId());
|
||||
crkInfo.setNuId(param.getNuId());
|
||||
crkInfo.setWlId(param.getWlId());
|
||||
crkInfo.setCrkNum(param.getCesl());//出入库数量
|
||||
if(StringUtils.equals("1",param.getPdType())){//盘盈单
|
||||
crkInfo.setCrkStatus("1");//入库
|
||||
dqkcl = BigDecimal.valueOf(Double.valueOf(dqkcl)).add(BigDecimal.valueOf(Double.valueOf(param.getCesl()))).toString();
|
||||
}else if(StringUtils.equals("2",param.getPdType())){//盘亏单
|
||||
crkInfo.setCrkStatus("3");//出库
|
||||
dqkcl = BigDecimal.valueOf(Double.valueOf(dqkcl)).subtract(BigDecimal.valueOf(Double.valueOf(param.getCesl()))).toString();
|
||||
}else{//其他的不进行操作
|
||||
continue;
|
||||
}
|
||||
dqkcl = String.format("%.0f",Double.valueOf(dqkcl));
|
||||
crkInfo.setCrkType("4");//固定是盘点单
|
||||
// crkInfo.setOldPrice(mterialInfo.getSalesUnitPrice());//原来的价格(最开始的采购价格)
|
||||
// crkInfo.setNewPrice(price);//新的价格
|
||||
crkInfo.setCzqkcl(kcsl);//操作前库存量
|
||||
crkInfo.setDqkcl(dqkcl);//当前库存量
|
||||
// crkInfo.setDdwNum(1);//多单位时的数量
|
||||
crkInfo.setContent("盘点单:"+nuInvoicingPddMainInfo.getPddNo());
|
||||
crkInfo.setMaterialCategoryName(dictUtils.translateDictValue("id","category_name","nu_config_material_category",mterialInfo.getCategoryId()));//物料类别名称
|
||||
crkInfo.setMaterialTypeName(dictUtils.translateDictValue("id","type_name","nu_config_material_type",mterialInfo.getTypeId()));//物料类型名称
|
||||
crkInfo.setMaterialMedicationName(dictUtils.translateDictValue("id","medication_name","nu_config_material_medication",mterialInfo.getMedicationId()));//物料类型名称
|
||||
crkInfo.setMaterialName(mterialInfo.getMaterialName());//物料名称
|
||||
crkInfo.setMaterialUnits(mterialInfo.getMaterialUnits());//物料单位
|
||||
crkInfo.setMaterialNo(mterialInfo.getMaterialNo());//物料编码
|
||||
crkInfo.setSpecificationModel(mterialInfo.getSpecificationModel());//规格型号
|
||||
crkInfo.setMaterialImg(mterialInfo.getMaterialImg());//物料图片
|
||||
crkInfo.setSalesUnitPrice(new BigDecimal(mterialInfo.getSalesUnitPrice()));//销售单价
|
||||
if(crkInfo.getCrkNum()>0){
|
||||
crkInfoMapper.insert(crkInfo);
|
||||
|
||||
mterialInfo.setKcsl(dqkcl);
|
||||
mterialInfoMapper.updateById(mterialInfo);
|
||||
}
|
||||
}
|
||||
|
||||
map.put("success","true");
|
||||
map.put("message","操作成功");
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Map<String,String>> queryPddStartByList(InvoicingPddInfoEntity invoicingPddInfoEntity) {
|
||||
List<NuInvoicingPddInfo> list = pddInfoMapper.queryPddStartByList(invoicingPddInfoEntity);
|
||||
List<Map<String,String>> list1 = new ArrayList<>();
|
||||
for(NuInvoicingPddInfo param : list){
|
||||
Map<String,String> map = new HashMap<>();
|
||||
map.put("name",param.getCreateBy());
|
||||
list1.add(map);
|
||||
}
|
||||
return list1;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> voidedPddMain(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("系统");
|
||||
}
|
||||
NuInvoicingPddMain nuInvoicingPddMainInfo =baseMapper.selectById(invoicingPddMainEntity.getId());
|
||||
if(!StringUtils.equals("1",nuInvoicingPddMainInfo.getPddType())){
|
||||
map.put("success","false");
|
||||
map.put("message","盘点单状态不是盘点中,不能作废盘点单");
|
||||
return map;
|
||||
}
|
||||
List<NuInvoicingPddInfo> listCrk = pddInfoMapper.selectList(new QueryWrapper<NuInvoicingPddInfo>().eq("pdd_id",invoicingPddMainEntity.getId()));
|
||||
for(NuInvoicingPddInfo param : listCrk){
|
||||
param.setPdType("3");//作废
|
||||
pddInfoMapper.updateById(param);
|
||||
}
|
||||
nuInvoicingPddMainInfo.setUpdateBy(user.getRealname());
|
||||
nuInvoicingPddMainInfo.setUpdateTime(new Date());
|
||||
nuInvoicingPddMainInfo.setPddStatus("3");
|
||||
nuInvoicingPddMainInfo.setPddType("3");
|
||||
baseMapper.updateById(nuInvoicingPddMainInfo);
|
||||
map.put("success","true");
|
||||
map.put("message","操作成功");
|
||||
return map;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryPddStartInfo(InvoicingPddInfoEntity invoicingPddInfoEntity) {
|
||||
List<NuInvoicingPddMain> list = baseMapper.selectList(new QueryWrapper<NuInvoicingPddMain>().eq("pdd_type","1"));
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
if(list.size()>0){
|
||||
map.put("success",false);
|
||||
map.put("message","有盘点单正在盘点中,请稍后尝试操作!");
|
||||
return map;
|
||||
}
|
||||
map.put("success",true);
|
||||
map.put("message","操作成功");
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
|
@ -79,6 +79,43 @@ public class NuInvoicingQldInfo implements Serializable {
|
|||
@ApiModelProperty(value = "长者id nu_biz_elder_info.id")
|
||||
private java.lang.String elderId;
|
||||
|
||||
/**物料类别名称*/
|
||||
@Excel(name = "物料类别名称", width = 15)
|
||||
@ApiModelProperty(value = "物料类别名称")
|
||||
private java.lang.String materialCategoryName;
|
||||
/**物料类型名称*/
|
||||
@Excel(name = "物料类型名称", width = 15)
|
||||
@ApiModelProperty(value = "物料类型名称")
|
||||
private java.lang.String materialTypeName;
|
||||
/**用药类型名称*/
|
||||
@Excel(name = "用药类型名称", width = 15)
|
||||
@ApiModelProperty(value = "用药类型名称")
|
||||
private java.lang.String materialMedicationName;
|
||||
/**物料名称*/
|
||||
@Excel(name = "物料名称", width = 15)
|
||||
@ApiModelProperty(value = "物料名称")
|
||||
private java.lang.String materialName;
|
||||
/**物料单位*/
|
||||
@Excel(name = "物料单位", width = 15)
|
||||
@ApiModelProperty(value = "物料单位")
|
||||
private java.lang.String materialUnits;
|
||||
/**物料编码*/
|
||||
@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.math.BigDecimal salesUnitPrice;
|
||||
|
||||
//物料信息
|
||||
@TableField(exist = false)
|
||||
private BlWarehouseMaterialInfo meterialInfo;
|
||||
|
|
|
|||
|
|
@ -7,60 +7,22 @@
|
|||
info.wl_id,
|
||||
MAX(info.create_time) AS create_time,
|
||||
SUM(info.ql_num) AS ql_num,
|
||||
material.id AS "materialInfo.id",
|
||||
material.category_id AS "materialInfo.categoryId",
|
||||
material.type_id AS "materialInfo.typeId",
|
||||
material.medication_id AS "materialInfo.medicationId",
|
||||
material.material_name AS "materialInfo.materialName",
|
||||
material.material_no AS "materialInfo.materialNo",
|
||||
material.specification_model AS "materialInfo.specificationModel",
|
||||
material.sales_unit_price AS "materialInfo.salesUnitPrice",
|
||||
material.reference_unit_price AS "materialInfo.referenceUnitPrice",
|
||||
material.material_units AS "materialInfo.materialUnits",
|
||||
material.multi_unit_switch AS "materialInfo.multiUnitSwitch",
|
||||
material.one_unit AS "materialInfo.oneUnit",
|
||||
material.one_unit_proportion AS "materialInfo.oneUnitProportion",
|
||||
material.one_unit_price AS "materialInfo.oneUnitPrice",
|
||||
material.two_unit AS "materialInfo.twoUnit",
|
||||
material.two_unit_proportion AS "materialInfo.twoUnitProportion",
|
||||
material.two_unit_price AS "materialInfo.twoUnitPrice",
|
||||
material.multi_unit_type AS "materialInfo.multiUnitType",
|
||||
material.suppliers AS "materialInfo.suppliers",
|
||||
material.material_img AS "materialInfo.materialImg",
|
||||
material.material_ident AS "materialInfo.materialIdent",
|
||||
material.iz_enabled AS "materialInfo.izEnabled",
|
||||
material.del_flag AS "materialInfo.delFlag",
|
||||
material.create_by AS "materialInfo.createBy",
|
||||
material.create_time AS "materialInfo.createTime",
|
||||
material.update_by AS "materialInfo.updateBy",
|
||||
material.update_time AS "materialInfo.updateTime",
|
||||
material.sys_org_code AS "materialInfo.sysOrgCode",
|
||||
material.pinyin AS "materialInfo.pinyin",
|
||||
material.upper_limit AS "materialInfo.upperLimit",
|
||||
material.lower_limit AS "materialInfo.lowerLimit",
|
||||
material.tag_type AS "materialInfo.tagType",
|
||||
material.iz_ybbx AS "materialInfo.izYbbx",
|
||||
material.iz_jgyh AS "materialInfo.izJgyh",
|
||||
maca.category_name as "materialInfo.categoryName",
|
||||
maty.type_name as "materialInfo.typeName"
|
||||
FROM
|
||||
nu_invoicing_qld_info info
|
||||
LEFT JOIN
|
||||
nu_config_material_info material ON info.wl_id = material.id
|
||||
LEFT JOIN nu_config_material_category maca ON material.category_id = maca.id
|
||||
LEFT JOIN nu_config_material_type maty ON material.type_id = maty.id
|
||||
ANY_VALUE(info.material_name) AS "materialInfo.materialName",
|
||||
ANY_VALUE(info.material_no) AS "materialInfo.materialNo",
|
||||
ANY_VALUE(info.specification_model) AS "materialInfo.specificationModel",
|
||||
ANY_VALUE(info.sales_unit_price) AS "materialInfo.salesUnitPrice",
|
||||
ANY_VALUE(info.material_units) AS "materialInfo.materialUnits",
|
||||
ANY_VALUE(info.material_img) AS "materialInfo.materialImg",
|
||||
ANY_VALUE(info.material_category_name) as "materialInfo.categoryName",
|
||||
ANY_VALUE(info.material_type_name) as "materialInfo.typeName"
|
||||
FROM nu_invoicing_qld_info info
|
||||
WHERE
|
||||
info.qld_no IN
|
||||
<foreach collection="qldNo.split(',')" item="no" open="(" close=")" separator=",">
|
||||
#{no}
|
||||
</foreach>
|
||||
GROUP BY
|
||||
info.wl_id,
|
||||
material.id,
|
||||
maca.id,
|
||||
maty.id
|
||||
ORDER BY
|
||||
MAX(info.create_time) DESC
|
||||
GROUP BY info.wl_id
|
||||
ORDER BY MAX(info.create_time) DESC
|
||||
</select>
|
||||
|
||||
<select id="pages" resultType="com.nu.modules.qld.entity.NuInvoicingQldInfo">
|
||||
|
|
@ -101,10 +63,16 @@
|
|||
</select>
|
||||
|
||||
<delete id="deleteQldWl">
|
||||
delete from nu_invoicing_qld_info where qld_no = #{qldNo} and wl_id = #{wlId}
|
||||
delete
|
||||
from nu_invoicing_qld_info
|
||||
where qld_no = #{qldNo}
|
||||
and wl_id = #{wlId}
|
||||
</delete>
|
||||
|
||||
<update id="updateQldWlSl">
|
||||
update nu_invoicing_qld_info set ql_num = #{qlNum} where qld_no = #{qldNo} and wl_id = #{wlId}
|
||||
update nu_invoicing_qld_info
|
||||
set ql_num = #{qlNum}
|
||||
where qld_no = #{qldNo}
|
||||
and wl_id = #{wlId}
|
||||
</update>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -271,6 +271,16 @@ public class QingLingServiceImpl implements IQinglingApi {
|
|||
return result;
|
||||
}
|
||||
|
||||
//检测是否有物料
|
||||
QueryWrapper<NuInvoicingQldInfo> infoQW = new QueryWrapper<>();
|
||||
infoQW.eq("qld_no",dto.getQldNo());
|
||||
List<NuInvoicingQldInfo> infoList = invoicingQldInfoMapper.selectList(infoQW);
|
||||
if(CollectionUtils.isEmpty(infoList)){
|
||||
result.put("status", "faild");
|
||||
result.put("message", "不存在物料,无法提交");
|
||||
return result;
|
||||
}
|
||||
|
||||
//回退单-提交
|
||||
QueryWrapper<NuInvoicingQldMain> qw = new QueryWrapper<>();
|
||||
qw.eq("qld_no", dto.getQldNo());
|
||||
|
|
@ -351,6 +361,11 @@ public class QingLingServiceImpl implements IQinglingApi {
|
|||
//可以正常提交
|
||||
String status = "1";//待出库(已提交)
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//查出对应物料信息存储到info表和日志表中
|
||||
List<String> gwcWlStrs = gwcList.stream().map(NuInvoicingQldGwc::getWlId).collect(Collectors.toList());
|
||||
List<ConfigMaterialInfo> maList = configMaterialInfoMapper.queryByWlids(gwcWlStrs);
|
||||
Map<String, ConfigMaterialInfo> maMap = maList.stream().collect(Collectors.toMap(ConfigMaterialInfo::getId, item -> item));
|
||||
|
||||
|
||||
//存储主表数据
|
||||
NuInvoicingQldMain saveData = new NuInvoicingQldMain();
|
||||
|
|
@ -411,6 +426,15 @@ public class QingLingServiceImpl implements IQinglingApi {
|
|||
item.setCreateTime(null);
|
||||
item.setUpdateBy(null);
|
||||
item.setUpdateTime(null);
|
||||
item.setMaterialCategoryName(maMap.get(item.getWlId()).getCategoryName());//物料类别名称
|
||||
item.setMaterialTypeName(maMap.get(item.getWlId()).getTypeName());//物料类型名称
|
||||
item.setMaterialMedicationName(maMap.get(item.getWlId()).getMedicationName());//物料类型名称
|
||||
item.setMaterialName(maMap.get(item.getWlId()).getMaterialName());//物料名称
|
||||
item.setMaterialUnits(maMap.get(item.getWlId()).getMaterialUnits());//物料单位
|
||||
item.setMaterialNo(maMap.get(item.getWlId()).getMaterialNo());//物料编码
|
||||
item.setSpecificationModel(maMap.get(item.getWlId()).getSpecificationModel());//规格型号
|
||||
item.setMaterialImg(maMap.get(item.getWlId()).getMaterialImg());//物料图片
|
||||
item.setSalesUnitPrice(maMap.get(item.getWlId()).getSalesUnitPrice());//物料销售单价
|
||||
});
|
||||
invoicingQldInfoService.saveBatch(infoList);
|
||||
|
||||
|
|
@ -622,6 +646,16 @@ public class QingLingServiceImpl implements IQinglingApi {
|
|||
nuInvoicingNuCrkLog.setOrderNumber(item.getQldNo());//单号
|
||||
nuInvoicingNuCrkLog.setOrderType("qld");//单子类型: qld请领单
|
||||
nuInvoicingNuCrkLog.setContent("请领单:" + item.getQldNo());//备注
|
||||
|
||||
nuInvoicingNuCrkLog.setMaterialCategoryName(item.getMaterialCategoryName());//物料类别名称
|
||||
nuInvoicingNuCrkLog.setMaterialTypeName(item.getMaterialTypeName());//物料类型名称
|
||||
nuInvoicingNuCrkLog.setMaterialMedicationName(item.getMaterialMedicationName());//物料类型名称
|
||||
nuInvoicingNuCrkLog.setMaterialName(item.getMaterialName());//物料名称
|
||||
nuInvoicingNuCrkLog.setMaterialUnits(item.getMaterialUnits());//物料单位
|
||||
nuInvoicingNuCrkLog.setMaterialNo(item.getMaterialNo());//物料编码
|
||||
nuInvoicingNuCrkLog.setSpecificationModel(item.getSpecificationModel());//规格型号
|
||||
nuInvoicingNuCrkLog.setMaterialImg(item.getMaterialImg());//物料图片
|
||||
nuInvoicingNuCrkLog.setSalesUnitPrice(item.getSalesUnitPrice());//物料销售单价
|
||||
nuCrkLogList.add(nuInvoicingNuCrkLog);
|
||||
});
|
||||
invoicingNuCrkLogService.saveBatch(nuCrkLogList);
|
||||
|
|
@ -662,6 +696,7 @@ public class QingLingServiceImpl implements IQinglingApi {
|
|||
nuInvoicingNuKcsl.setNuId(item.getNuId());
|
||||
nuInvoicingNuKcsl.setElderId(item.getElderId());
|
||||
nuInvoicingNuKcsl.setWlId(item.getWlId());
|
||||
nuInvoicingNuKcsl.setKfId((item.getKfId()));
|
||||
nuInvoicingNuKcsl.setWlNum(item.getQlNum());
|
||||
needAddList.add(nuInvoicingNuKcsl);
|
||||
});
|
||||
|
|
@ -708,6 +743,16 @@ public class QingLingServiceImpl implements IQinglingApi {
|
|||
kfCrkLog.setDqkcl((Integer.parseInt(kfWlSlMap.get(item.getKfId()).get(item.getWlId())) - item.getQlNum()) + "");//当前库存量
|
||||
kfCrkLog.setCrkStatus("3");//出入库状态 3出库
|
||||
kfCrkLog.setContent("请领单:" + dto.getQldNo());//备注
|
||||
|
||||
kfCrkLog.setMaterialCategoryName(item.getMaterialCategoryName());//物料类别名称
|
||||
kfCrkLog.setMaterialTypeName(item.getMaterialTypeName());//物料类型名称
|
||||
kfCrkLog.setMaterialMedicationName(item.getMaterialMedicationName());//物料类型名称
|
||||
kfCrkLog.setMaterialName(item.getMaterialName());//物料名称
|
||||
kfCrkLog.setMaterialUnits(item.getMaterialUnits());//物料单位
|
||||
kfCrkLog.setMaterialNo(item.getMaterialNo());//物料编码
|
||||
kfCrkLog.setSpecificationModel(item.getSpecificationModel());//规格型号
|
||||
kfCrkLog.setMaterialImg(item.getMaterialImg());//物料图片
|
||||
kfCrkLog.setSalesUnitPrice(item.getSalesUnitPrice());//物料销售单价
|
||||
kfCrkLogList.add(kfCrkLog);
|
||||
});
|
||||
warehouseMaterialCrkInfoService.saveBatch(kfCrkLogList);
|
||||
|
|
|
|||
|
|
@ -78,4 +78,41 @@ public class NuInvoicingThdInfo implements Serializable {
|
|||
@Excel(name = "长者id nu_biz_elder_info.id", width = 15)
|
||||
@ApiModelProperty(value = "长者id nu_biz_elder_info.id")
|
||||
private java.lang.String elderId;
|
||||
|
||||
/**物料类别名称*/
|
||||
@Excel(name = "物料类别名称", width = 15)
|
||||
@ApiModelProperty(value = "物料类别名称")
|
||||
private java.lang.String materialCategoryName;
|
||||
/**物料类型名称*/
|
||||
@Excel(name = "物料类型名称", width = 15)
|
||||
@ApiModelProperty(value = "物料类型名称")
|
||||
private java.lang.String materialTypeName;
|
||||
/**用药类型名称*/
|
||||
@Excel(name = "用药类型名称", width = 15)
|
||||
@ApiModelProperty(value = "用药类型名称")
|
||||
private java.lang.String materialMedicationName;
|
||||
/**物料名称*/
|
||||
@Excel(name = "物料名称", width = 15)
|
||||
@ApiModelProperty(value = "物料名称")
|
||||
private java.lang.String materialName;
|
||||
/**物料单位*/
|
||||
@Excel(name = "物料单位", width = 15)
|
||||
@ApiModelProperty(value = "物料单位")
|
||||
private java.lang.String materialUnits;
|
||||
/**物料编码*/
|
||||
@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.math.BigDecimal salesUnitPrice;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ import com.nu.entity.InvoicingThdGwcEntity;
|
|||
import com.nu.entity.InvoicingThdLogEntity;
|
||||
import com.nu.entity.InvoicingThdMainEntity;
|
||||
import com.nu.entity.NuKcslEntity;
|
||||
import com.nu.modules.ConfigMaterial.entity.ConfigMaterialInfo;
|
||||
import com.nu.modules.ConfigMaterial.mapper.ConfigMaterialInfoMapper;
|
||||
import com.nu.modules.cgd.entity.NuWarehouseMaterialCrkInfo;
|
||||
import com.nu.modules.cgd.service.INuWarehouseMaterialCrkInfoService;
|
||||
import com.nu.modules.invoicing.api.ITuiHuoApi;
|
||||
|
|
@ -18,6 +20,7 @@ import com.nu.modules.nu.entity.NuInvoicingNuKcsl;
|
|||
import com.nu.modules.nu.mapper.NuInvoicingNuKcslMapper;
|
||||
import com.nu.modules.nu.service.INuInvoicingNuCrkLogService;
|
||||
import com.nu.modules.nu.service.INuInvoicingNuKcslService;
|
||||
import com.nu.modules.qld.entity.NuInvoicingQldGwc;
|
||||
import com.nu.modules.thd.entity.NuInvoicingThdGwc;
|
||||
import com.nu.modules.thd.entity.NuInvoicingThdInfo;
|
||||
import com.nu.modules.thd.entity.NuInvoicingThdLog;
|
||||
|
|
@ -72,6 +75,8 @@ public class ThdServiceImpl implements ITuiHuoApi {
|
|||
private IBlWarehouseMaterialInfoService warehouseMaterialInfoService;
|
||||
@Autowired
|
||||
private INuWarehouseMaterialCrkInfoService warehouseMaterialCrkInfoService;
|
||||
@Autowired
|
||||
private ConfigMaterialInfoMapper configMaterialInfoMapper;
|
||||
|
||||
@Override
|
||||
public IPage<InvoicingThdMainEntity> thdList(Integer pageNo, Integer pageSize, InvoicingThdMainEntity dto) {
|
||||
|
|
@ -321,6 +326,11 @@ public class ThdServiceImpl implements ITuiHuoApi {
|
|||
List<NuInvoicingThdGwc> gwcList = thdGwcMapper.selectList(gwcQW);
|
||||
wlList = gwcList.stream().map(NuInvoicingThdGwc::getWlId).collect(Collectors.toList());
|
||||
|
||||
//查出对应物料信息存储到info表和日志表中
|
||||
List<String> gwcWlStrs = gwcList.stream().map(NuInvoicingThdGwc::getWlId).collect(Collectors.toList());
|
||||
List<ConfigMaterialInfo> maList = configMaterialInfoMapper.queryByWlids(gwcWlStrs);
|
||||
Map<String, ConfigMaterialInfo> maMap = maList.stream().collect(Collectors.toMap(ConfigMaterialInfo::getId, item -> item));
|
||||
|
||||
//移除购物车数据
|
||||
InvoicingThdGwcEntity t_ = new InvoicingThdGwcEntity();
|
||||
t_.setPkId(dto.getId());
|
||||
|
|
@ -337,6 +347,16 @@ public class ThdServiceImpl implements ITuiHuoApi {
|
|||
info.setThNum(gwc.getThNum());//退货数量
|
||||
info.setNuId(gwc.getNuId());//护理单元id
|
||||
info.setElderId(gwc.getElderId());//长者id
|
||||
|
||||
info.setMaterialCategoryName(maMap.get(gwc.getWlId()).getCategoryName());//物料类别名称
|
||||
info.setMaterialTypeName(maMap.get(gwc.getWlId()).getTypeName());//物料类型名称
|
||||
info.setMaterialMedicationName(maMap.get(gwc.getWlId()).getMedicationName());//物料类型名称
|
||||
info.setMaterialName(maMap.get(gwc.getWlId()).getMaterialName());//物料名称
|
||||
info.setMaterialUnits(maMap.get(gwc.getWlId()).getMaterialUnits());//物料单位
|
||||
info.setMaterialNo(maMap.get(gwc.getWlId()).getMaterialNo());//物料编码
|
||||
info.setSpecificationModel(maMap.get(gwc.getWlId()).getSpecificationModel());//规格型号
|
||||
info.setMaterialImg(maMap.get(gwc.getWlId()).getMaterialImg());//物料图片
|
||||
info.setSalesUnitPrice(maMap.get(gwc.getWlId()).getSalesUnitPrice());//物料销售单价
|
||||
infoList.add(info);
|
||||
}
|
||||
thdInfoService.saveBatch(infoList);
|
||||
|
|
@ -378,6 +398,16 @@ public class ThdServiceImpl implements ITuiHuoApi {
|
|||
kfCrkLog.setDqkcl((Integer.parseInt(kfWlSlMap.get(item.getKfId()).get(item.getWlId())) + item.getThNum()) + "");//当前库存量
|
||||
kfCrkLog.setCrkStatus("1");//出入库状态 1入库
|
||||
kfCrkLog.setContent("退货单:" + thdNo);//备注
|
||||
|
||||
kfCrkLog.setMaterialCategoryName(item.getMaterialCategoryName());//物料类别名称
|
||||
kfCrkLog.setMaterialTypeName(item.getMaterialTypeName());//物料类型名称
|
||||
kfCrkLog.setMaterialMedicationName(item.getMaterialMedicationName());//物料类型名称
|
||||
kfCrkLog.setMaterialName(item.getMaterialName());//物料名称
|
||||
kfCrkLog.setMaterialUnits(item.getMaterialUnits());//物料单位
|
||||
kfCrkLog.setMaterialNo(item.getMaterialNo());//物料编码
|
||||
kfCrkLog.setSpecificationModel(item.getSpecificationModel());//规格型号
|
||||
kfCrkLog.setMaterialImg(item.getMaterialImg());//物料图片
|
||||
kfCrkLog.setSalesUnitPrice(item.getSalesUnitPrice());//物料销售单价
|
||||
kfCrkLogList.add(kfCrkLog);
|
||||
}
|
||||
warehouseMaterialCrkInfoService.saveBatch(kfCrkLogList);
|
||||
|
|
@ -408,6 +438,16 @@ public class ThdServiceImpl implements ITuiHuoApi {
|
|||
nuInvoicingNuCrkLog.setOrderNumber(item.getThdNo());//单号
|
||||
nuInvoicingNuCrkLog.setOrderType("thd");//单子类型: thd退货单
|
||||
nuInvoicingNuCrkLog.setContent("退货单:" + item.getThdNo());//备注
|
||||
|
||||
nuInvoicingNuCrkLog.setMaterialCategoryName(item.getMaterialCategoryName());//物料类别名称
|
||||
nuInvoicingNuCrkLog.setMaterialTypeName(item.getMaterialTypeName());//物料类型名称
|
||||
nuInvoicingNuCrkLog.setMaterialMedicationName(item.getMaterialMedicationName());//物料类型名称
|
||||
nuInvoicingNuCrkLog.setMaterialName(item.getMaterialName());//物料名称
|
||||
nuInvoicingNuCrkLog.setMaterialUnits(item.getMaterialUnits());//物料单位
|
||||
nuInvoicingNuCrkLog.setMaterialNo(item.getMaterialNo());//物料编码
|
||||
nuInvoicingNuCrkLog.setSpecificationModel(item.getSpecificationModel());//规格型号
|
||||
nuInvoicingNuCrkLog.setMaterialImg(item.getMaterialImg());//物料图片
|
||||
nuInvoicingNuCrkLog.setSalesUnitPrice(item.getSalesUnitPrice());//物料销售单价
|
||||
nuCrkLogList.add(nuInvoicingNuCrkLog);
|
||||
});
|
||||
invoicingNuCrkLogService.saveBatch(nuCrkLogList);
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|||
import com.nu.entity.QgdInfoEntity;
|
||||
import com.nu.modules.cgd.entity.NuInvoicingCgdMain;
|
||||
import com.nu.modules.cgd.mapper.NuInvoicingCgdMainMapper;
|
||||
import com.nu.modules.pdd.entity.NuInvoicingPddMain;
|
||||
import com.nu.modules.pdd.mapper.NuInvoicingPddMainMapper;
|
||||
import com.nu.modules.qgd.entity.QgdInfo;
|
||||
import com.nu.modules.qgd.mapper.QgdInfoMapper;
|
||||
import com.nu.modules.qld.entity.NuInvoicingQldGwc;
|
||||
|
|
@ -47,6 +49,9 @@ public class BlWarehouseMaterialInfoServiceImpl extends ServiceImpl<BlWarehouseM
|
|||
@Autowired
|
||||
private NuInvoicingQldMainMapper qldMainMapper;
|
||||
|
||||
@Autowired
|
||||
private NuInvoicingPddMainMapper pddMainMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public String addAllWuliao(BlWarehouseMaterialInfo blWarehouseMaterialInfo) {
|
||||
|
|
@ -122,7 +127,13 @@ public class BlWarehouseMaterialInfoServiceImpl extends ServiceImpl<BlWarehouseM
|
|||
map.put("success",false);
|
||||
return map;
|
||||
}
|
||||
//TODO 查询盘点单是否有占用的数据
|
||||
//查询盘点单是否有占用的数据
|
||||
List<NuInvoicingPddMain> pddMainList = pddMainMapper.selectPddWlsfzyList(wlId);
|
||||
if(pddMainList.size()>0){
|
||||
map.put("message","有仓库正在盘点单中,等盘点结束后再进行操作");
|
||||
map.put("success",false);
|
||||
return map;
|
||||
}
|
||||
|
||||
map.put("message","无占用");
|
||||
map.put("success",true);
|
||||
|
|
|
|||
Loading…
Reference in New Issue