修改bug

This commit is contained in:
yangjun 2025-09-04 10:04:34 +08:00
parent e40e60bad6
commit 0b0e41d7f4
19 changed files with 1060 additions and 6 deletions

View File

@ -0,0 +1,74 @@
package com.nu.modules.nubaseinfo.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.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* @Description: 客户配置服务指令
* @Author: jeecg-boot
* @Date: 2025-09-04
* @Version: V1.0
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class CustomerDirectiveDto implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
private String id;
/**createBy*/
/**createTime*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**updateBy*/
private String updateBy;
/**updateTime*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**客户id*/
private String customerId;
/**服务指令*/
private String directiveId;
/**服务开始时间*/
private String serverStartTime;
/**服务结束时间*/
private String serverEndTime;
/**服务时长*/
private String serviceDuration;
/**是否参与医保报销 0不报销 1报销*/
private String izReimbursement;
/**是否参与机构优惠 0不参与 1参与*/
private String izPreferential;
/**收费价格*/
private BigDecimal tollPrice;
/**提成价格*/
private BigDecimal comPrice;
/**分类标签*/
private String instructionTagId;
/**服务类别*/
private String categoryId;
/**服务类型*/
private String typeId;
/**周期类型 1日常护理 2周期护理 3即时护理*/
private String cycleType;
/**医保报销比例*/
private String reimbursementBl;
/**机构优惠比例*/
private String preferentialBl;
/**服务指令名称*/
private String directiveName;
}

View File

@ -0,0 +1,121 @@
package com.nu.modules.nubaseinfo.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
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-04-11
* @Version: V1.0
*/
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class CustomerInfoDto implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
private String id;
/**护理单元*/
@Dict(dicCode = "id",dicText = "nu_name",dictTable = "nu_base_info")
private String nuId;
/**姓名*/
private String customerName;
/**性别*/
private String customerSex;
/**年龄*/
private String customerAge;
/**身份证号码*/
private String idCard;
/**出生日期*/
private String dateOfBirth;
/**民族*/
private String national;
/**头像*/
private String avatarPath;
/**医保类型*/
@Dict(dicCode = "medical_insurance_type")
private String medicalType;
/**报销类型*/
@Dict(dicCode = "reimb_type")
private String reimbType;
/**医保卡号*/
private String medicalCard;
/**文化程度*/
private String educationLevel;
/**婚姻状况*/
private String maritalStatus;
/**宗教信仰*/
private String religiousBeliefs;
/**身份证正面*/
private String frontIdCard;
/**身份证反面*/
private String negativeIdCard;
/**户口本本人页*/
private String accountBookHimself;
/**医保卡正面*/
private String frontMedical;
/**医保卡反面*/
private String negaticeMedical;
/**备注*/
private String content;
/**当前状态 0咨询 1入住 2留床 3退住*/
@Dict(dicCode = "current_state")
private String currentState;
/**监护人*/
private String guardian;
/**关系*/
private String relationship;
/**联系电话*/
private String contactNumber;
/**家庭住址*/
private String homeAddress;
/**是否删除 0未删除 1删除*/
private String delFlag;
/**创建人*/
private String createBy;
/**创建日期*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date createTime;
/**更新人*/
private String updateBy;
/**更新日期*/
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date updateTime;
/**所属部门*/
private String sysOrgCode;
/**签发机关*/
private String issuingAuthority;
/**有效开始日期*/
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date startTime;
/**有效结束日期*/
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date endTime;
/**发卡日期*/
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date cardIssuing;
/**血型*/
private String bloodType;
/**兵役状况*/
private String militaryType;
/**监护人id*/
private String guardianId;
}

View File

@ -4,6 +4,7 @@ import com.nu.modules.camerainfo.entity.CameraInfoDto;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
/**
* @Description: 护理单元
@ -41,6 +42,8 @@ public class NuBaseInfoApiDto implements Serializable {
private String sysOrgCode;
private String orgCode;
private String asyncId;
private CameraInfoDto cameraInfo;
//摄像头信息
private List<CameraInfoDto> cameraInfo;
private CustomerInfoDto customerInfo;
private List<CustomerDirectiveDto> customerDirectiveDtoList;
}

View File

@ -0,0 +1,180 @@
package com.nu.modules.customerDirective.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.customerDirective.entity.NuCustomerDirective;
import com.nu.modules.customerDirective.service.INuCustomerDirectiveService;
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-09-04
* @Version: V1.0
*/
@Api(tags="客户配置服务指令")
@RestController
@RequestMapping("/customerDirective/nuCustomerDirective")
@Slf4j
public class NuCustomerDirectiveController extends JeecgController<NuCustomerDirective, INuCustomerDirectiveService> {
@Autowired
private INuCustomerDirectiveService nuCustomerDirectiveService;
/**
* 分页列表查询
*
* @param nuCustomerDirective
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "客户配置服务指令-分页列表查询")
@ApiOperation(value="客户配置服务指令-分页列表查询", notes="客户配置服务指令-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<NuCustomerDirective>> queryPageList(NuCustomerDirective nuCustomerDirective,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<NuCustomerDirective> queryWrapper = QueryGenerator.initQueryWrapper(nuCustomerDirective, req.getParameterMap());
Page<NuCustomerDirective> page = new Page<NuCustomerDirective>(pageNo, pageSize);
IPage<NuCustomerDirective> pageList = nuCustomerDirectiveService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param nuCustomerDirective
* @return
*/
@AutoLog(value = "客户配置服务指令-添加")
@ApiOperation(value="客户配置服务指令-添加", notes="客户配置服务指令-添加")
@RequiresPermissions("customerDirective:nu_customer_directive:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody NuCustomerDirective nuCustomerDirective) {
nuCustomerDirectiveService.save(nuCustomerDirective);
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param nuCustomerDirective
* @return
*/
@AutoLog(value = "客户配置服务指令-编辑")
@ApiOperation(value="客户配置服务指令-编辑", notes="客户配置服务指令-编辑")
@RequiresPermissions("customerDirective:nu_customer_directive:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody NuCustomerDirective nuCustomerDirective) {
nuCustomerDirectiveService.updateById(nuCustomerDirective);
return Result.OK("编辑成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "客户配置服务指令-通过id删除")
@ApiOperation(value="客户配置服务指令-通过id删除", notes="客户配置服务指令-通过id删除")
@RequiresPermissions("customerDirective:nu_customer_directive:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
nuCustomerDirectiveService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "客户配置服务指令-批量删除")
@ApiOperation(value="客户配置服务指令-批量删除", notes="客户配置服务指令-批量删除")
@RequiresPermissions("customerDirective:nu_customer_directive:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.nuCustomerDirectiveService.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<NuCustomerDirective> queryById(@RequestParam(name="id",required=true) String id) {
NuCustomerDirective nuCustomerDirective = nuCustomerDirectiveService.getById(id);
if(nuCustomerDirective==null) {
return Result.error("未找到对应数据");
}
return Result.OK(nuCustomerDirective);
}
/**
* 导出excel
*
* @param request
* @param nuCustomerDirective
*/
@RequiresPermissions("customerDirective:nu_customer_directive:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, NuCustomerDirective nuCustomerDirective) {
return super.exportXls(request, nuCustomerDirective, NuCustomerDirective.class, "客户配置服务指令");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("customerDirective:nu_customer_directive:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, NuCustomerDirective.class);
}
}

View File

@ -0,0 +1,121 @@
package com.nu.modules.customerDirective.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-09-04
* @Version: V1.0
*/
@Data
@TableName("nu_customer_directive")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="nu_customer_directive对象", description="客户配置服务指令")
public class NuCustomerDirective implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**createBy*/
@ApiModelProperty(value = "createBy")
private 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 Date createTime;
/**updateBy*/
@ApiModelProperty(value = "updateBy")
private 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 Date updateTime;
/**客户id*/
@Excel(name = "客户id", width = 15)
@ApiModelProperty(value = "客户id")
private String customerId;
/**服务指令*/
@Excel(name = "服务指令", width = 15)
@ApiModelProperty(value = "服务指令")
private String directiveId;
/**服务开始时间*/
@Excel(name = "服务开始时间", width = 15)
@ApiModelProperty(value = "服务开始时间")
private String serverStartTime;
/**服务结束时间*/
@Excel(name = "服务结束时间", width = 15)
@ApiModelProperty(value = "服务结束时间")
private String serverEndTime;
/**服务时长*/
@Excel(name = "服务时长", width = 15)
@ApiModelProperty(value = "服务时长")
private String serviceDuration;
/**是否参与医保报销 0不报销 1报销*/
@Excel(name = "是否参与医保报销 0不报销 1报销", width = 15)
@ApiModelProperty(value = "是否参与医保报销 0不报销 1报销")
private String izReimbursement;
/**是否参与机构优惠 0不参与 1参与*/
@Excel(name = "是否参与机构优惠 0不参与 1参与", width = 15)
@ApiModelProperty(value = "是否参与机构优惠 0不参与 1参与")
private String izPreferential;
/**收费价格*/
@Excel(name = "收费价格", width = 15)
@ApiModelProperty(value = "收费价格")
private BigDecimal tollPrice;
/**提成价格*/
@Excel(name = "提成价格", width = 15)
@ApiModelProperty(value = "提成价格")
private BigDecimal comPrice;
/**分类标签*/
@Excel(name = "分类标签", width = 15)
@ApiModelProperty(value = "分类标签")
private String instructionTagId;
/**服务类别*/
@Excel(name = "服务类别", width = 15)
@ApiModelProperty(value = "服务类别")
private String categoryId;
/**服务类型*/
@Excel(name = "服务类型", width = 15)
@ApiModelProperty(value = "服务类型")
private String typeId;
/**周期类型 1日常护理 2周期护理 3即时护理*/
@Excel(name = "周期类型 1日常护理 2周期护理 3即时护理", width = 15)
@ApiModelProperty(value = "周期类型 1日常护理 2周期护理 3即时护理")
private String cycleType;
/**医保报销比例*/
@Excel(name = "医保报销比例", width = 15)
@ApiModelProperty(value = "医保报销比例")
private String reimbursementBl;
/**机构优惠比例*/
@Excel(name = "机构优惠比例", width = 15)
@ApiModelProperty(value = "机构优惠比例")
private String preferentialBl;
/**服务指令名称*/
@Excel(name = "服务指令名称", width = 15)
@ApiModelProperty(value = "服务指令名称")
private String directiveName;
}

View File

@ -0,0 +1,17 @@
package com.nu.modules.customerDirective.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.nu.modules.customerDirective.entity.NuCustomerDirective;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 客户配置服务指令
* @Author: jeecg-boot
* @Date: 2025-09-04
* @Version: V1.0
*/
public interface NuCustomerDirectiveMapper extends BaseMapper<NuCustomerDirective> {
}

View File

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

View File

@ -0,0 +1,14 @@
package com.nu.modules.customerDirective.service;
import com.nu.modules.customerDirective.entity.NuCustomerDirective;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 客户配置服务指令
* @Author: jeecg-boot
* @Date: 2025-09-04
* @Version: V1.0
*/
public interface INuCustomerDirectiveService extends IService<NuCustomerDirective> {
}

View File

@ -0,0 +1,19 @@
package com.nu.modules.customerDirective.service.impl;
import com.nu.modules.customerDirective.entity.NuCustomerDirective;
import com.nu.modules.customerDirective.mapper.NuCustomerDirectiveMapper;
import com.nu.modules.customerDirective.service.INuCustomerDirectiveService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 客户配置服务指令
* @Author: jeecg-boot
* @Date: 2025-09-04
* @Version: V1.0
*/
@Service
public class NuCustomerDirectiveServiceImpl extends ServiceImpl<NuCustomerDirectiveMapper, NuCustomerDirective> implements INuCustomerDirectiveService {
}

View File

@ -8,10 +8,17 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.nu.modules.camerainfo.api.CameraInfoApi;
import com.nu.modules.camerainfo.entity.CameraInfoDto;
import com.nu.modules.customerDirective.entity.NuCustomerDirective;
import com.nu.modules.customerDirective.service.INuCustomerDirectiveService;
import com.nu.modules.nuBaseInfo.entity.NuBaseInfo;
import com.nu.modules.nuBaseInfo.mapper.NuBaseInfoMapper;
import com.nu.modules.nuBaseInfo.service.INuBaseInfoService;
import com.nu.modules.nuBizCustomerInfo.entity.NuBizCustomerInfo;
import com.nu.modules.nuBizCustomerInfo.mapper.NuBizCustomerInfoMapper;
import com.nu.modules.nuBizCustomerInfo.service.INuBizCustomerInfoService;
import com.nu.modules.nubaseinfo.api.INuBaseInfoApi;
import com.nu.modules.nubaseinfo.entity.CustomerDirectiveDto;
import com.nu.modules.nubaseinfo.entity.CustomerInfoDto;
import com.nu.modules.nubaseinfo.entity.NuBaseInfoApiDto;
import org.apache.commons.lang.StringUtils;
import org.jeecg.common.system.api.ISysBaseAPI;
@ -21,6 +28,7 @@ import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
/**
@ -38,6 +46,12 @@ public class NuBaseInfoServiceImpl extends ServiceImpl<NuBaseInfoMapper, NuBaseI
@Autowired
private CameraInfoApi cameraInfoApiService;
@Autowired
private NuBizCustomerInfoMapper customerInfoMapper;
@Autowired
private INuCustomerDirectiveService nuCustomerDirectiveService;
@Override
public void setNuId(NuBaseInfo nuBaseInfo) {
JSONObject deptInfo = sysBaseAPI.getDeptInfo();
@ -109,16 +123,42 @@ public class NuBaseInfoServiceImpl extends ServiceImpl<NuBaseInfoMapper, NuBaseI
@Override
public IPage<NuBaseInfoApiDto> queryPadPageList(Page<NuBaseInfoApiDto> page, QueryWrapper<NuBaseInfoApiDto> queryWrapper) {
//查询护理单元信息
IPage<NuBaseInfoApiDto> list = baseMapper.queryPadPageList(page,queryWrapper);
//查询相应的摄像头信息
List<CameraInfoDto> cameraList = cameraInfoApiService.getCameraInfoList();
//查询未退住的老人
List<NuBizCustomerInfo> customerList = customerInfoMapper.selectList(new QueryWrapper<NuBizCustomerInfo>().lambda().ne(NuBizCustomerInfo::getCurrentState,"3"));
//查找list集合里的nuid等于cameraList集合中nuid的就给list集合赋值
list.getRecords().forEach(nuBaseInfoApiDto -> {
//赋值摄像头信息
cameraList.forEach(cameraInfoDto -> {
if(StringUtils.equals(nuBaseInfoApiDto.getNuId(),cameraInfoDto.getNuId())){
nuBaseInfoApiDto.setCameraInfo(cameraInfoDto);
List<CameraInfoDto> cameraInfoList = nuBaseInfoApiDto.getCameraInfo();
if (cameraInfoList == null) {
cameraInfoList = new ArrayList<>();
}
cameraInfoList.add(cameraInfoDto);
}
});
//赋值老人信息
customerList.forEach(nuBizCustomerInfo -> {
if(StringUtils.equals(nuBaseInfoApiDto.getNuId(),nuBizCustomerInfo.getNuId())){
CustomerInfoDto customerInfo = new CustomerInfoDto();
BeanUtils.copyProperties(nuBizCustomerInfo,customerInfo);
nuBaseInfoApiDto.setCustomerInfo(customerInfo);
//根据客户id查询服务指令
List<NuCustomerDirective> customerDirectiveList = nuCustomerDirectiveService.list(new QueryWrapper<NuCustomerDirective>().lambda().eq(NuCustomerDirective::getCustomerId,customerInfo.getId()));
if(customerDirectiveList != null && customerDirectiveList.size() > 0){
List<CustomerDirectiveDto> customerDirectiveDtoList = new ArrayList<>();
BeanUtils.copyProperties(customerDirectiveList,customerDirectiveDtoList);
nuBaseInfoApiDto.setCustomerDirectiveDtoList(customerDirectiveDtoList);
}
}
});
});
return list;
}

View File

@ -84,6 +84,7 @@ public class ShiroConfig {
// 配置不会被拦截的链接 顺序判断
filterChainDefinitionMap.put("/iot/tq/api/electricityMeter/**", "anon"); //电表回调
filterChainDefinitionMap.put("/api/pad/baseInfo/**", "anon"); //电表回调
filterChainDefinitionMap.put("/iot/tq/api/waterMeter/**", "anon"); //水表回调
filterChainDefinitionMap.put("/sys/cas/client/validateLogin", "anon"); //cas验证登录
filterChainDefinitionMap.put("/sys/randomImage/**", "anon"); //登录验证码接口排除

View File

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.jeecg.common.aspect.annotation.Dict;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import io.swagger.annotations.ApiModel;
@ -103,6 +104,10 @@ public class QgdInfo implements Serializable {
@Excel(name = "brand", width = 15)
@ApiModelProperty(value = "brand")
private java.lang.String brand;
/**库房*/
@Excel(name = "库房", width = 15, dictTable = "nu_base_info", dicText = "nu_name", dicCode = "nu_id")
@Dict(dictTable = "nu_base_info", dicText = "nu_name", dicCode = "nu_id")
@ApiModelProperty(value = "库房")
private java.lang.String nuId;
}

View File

@ -8,6 +8,8 @@ import com.nu.modules.qgd.mapper.QgdInfoMapper;
import com.nu.modules.qgd.service.IQgdInfoService;
import com.nu.modules.qgd.service.IQgdMainService;
import com.nu.modules.ConfigMaterial.service.IConfigMaterialInfoService;
import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo;
import com.nu.modules.warehouseMaterialInfo.service.IBlWarehouseMaterialInfoService;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.system.vo.LoginUser;
@ -33,6 +35,8 @@ public class QgdInfoServiceImpl extends ServiceImpl<QgdInfoMapper, QgdInfo> impl
private IQgdMainService nuInvoicingQgdMainService;
@Autowired
private IConfigMaterialInfoService configMaterialInfoService;
@Autowired
private IBlWarehouseMaterialInfoService blWarehouseMaterialInfoService;
@Override
public void addList(List<QgdInfo> infoList) {
@ -63,15 +67,18 @@ public class QgdInfoServiceImpl extends ServiceImpl<QgdInfoMapper, QgdInfo> impl
}
for (QgdInfo info : infoList) {
if(info.getPurchaseQuantity()!=null && info.getPurchaseQuantity()>0){
//获取物料基础信息
ConfigMaterialInfo ConfigMaterialInfo = configMaterialInfoService.getById(info.getWlId());
//获取物料上限下限
BlWarehouseMaterialInfo warehouseMaterialInfo = blWarehouseMaterialInfoService.getOne(new QueryWrapper<BlWarehouseMaterialInfo>().eq("wl_id",info.getWlId()).eq("nu_id",info.getNuId()));
info.setMainId(qgdMain.getId());
info.setMainNo(qgdMain.getQgdNo());
info.setWlName(ConfigMaterialInfo.getMaterialName());
info.setWlMaterialNo(ConfigMaterialInfo.getMaterialNo());
info.setWlSpecificationModel(ConfigMaterialInfo.getSpecificationModel());
info.setWlUnits(ConfigMaterialInfo.getMaterialUnits());
info.setWlUpperLimit(ConfigMaterialInfo.getUpperLimit());
info.setWlLowerLimit(ConfigMaterialInfo.getLowerLimit());
info.setWlUpperLimit(warehouseMaterialInfo.getUpperLimit());
info.setWlLowerLimit(warehouseMaterialInfo.getLowerLimit());
baseMapper.insert(info);
}
}

View File

@ -0,0 +1,192 @@
package com.nu.modules.warehouseMaterialInfo.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.apache.commons.lang.StringUtils;
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.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo;
import com.nu.modules.warehouseMaterialInfo.service.IBlWarehouseMaterialInfoService;
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-08-28
* @Version: V1.0
*/
@Api(tags="库房物料配置信息")
@RestController
@RequestMapping("/invoicing/blWarehouseMaterialInfo")
@Slf4j
public class BlWarehouseMaterialInfoController extends JeecgController<BlWarehouseMaterialInfo, IBlWarehouseMaterialInfoService> {
@Autowired
private IBlWarehouseMaterialInfoService blWarehouseMaterialInfoService;
/**
* 分页列表查询
*
* @param blWarehouseMaterialInfo
* @param pageNo
* @param pageSize
* @param req
* @return
*/
//@AutoLog(value = "库房物料配置信息-分页列表查询")
@ApiOperation(value="库房物料配置信息-分页列表查询", notes="库房物料配置信息-分页列表查询")
@GetMapping(value = "/list")
public Result<IPage<BlWarehouseMaterialInfo>> queryPageList(BlWarehouseMaterialInfo blWarehouseMaterialInfo,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
QueryWrapper<BlWarehouseMaterialInfo> queryWrapper = QueryGenerator.initQueryWrapper(blWarehouseMaterialInfo, req.getParameterMap());
Page<BlWarehouseMaterialInfo> page = new Page<BlWarehouseMaterialInfo>(pageNo, pageSize);
IPage<BlWarehouseMaterialInfo> pageList = blWarehouseMaterialInfoService.page(page, queryWrapper);
return Result.OK(pageList);
}
/**
* 添加
*
* @param blWarehouseMaterialInfo
* @return
*/
@AutoLog(value = "库房物料配置信息-添加")
@ApiOperation(value="库房物料配置信息-添加", notes="库房物料配置信息-添加")
@RequiresPermissions("warehouseMaterialInfo:bl_warehouse_material_info:add")
@PostMapping(value = "/add")
public Result<String> add(@RequestBody BlWarehouseMaterialInfo blWarehouseMaterialInfo) {
if(StringUtils.isNotBlank(blWarehouseMaterialInfo.getWlId())){
String wlIdArr[] = blWarehouseMaterialInfo.getWlId().split(",");
for (String wlId : wlIdArr){
BlWarehouseMaterialInfo blWarehouseMaterialInfo1 = new BlWarehouseMaterialInfo();
blWarehouseMaterialInfo1.setNuId(blWarehouseMaterialInfo.getNuId());
blWarehouseMaterialInfo1.setWlId(wlId);
blWarehouseMaterialInfo1.setUpperLimit(blWarehouseMaterialInfo.getUpperLimit());
blWarehouseMaterialInfo1.setLowerLimit(blWarehouseMaterialInfo.getLowerLimit());
blWarehouseMaterialInfoService.save(blWarehouseMaterialInfo1);
}
}
return Result.OK("添加成功!");
}
/**
* 编辑
*
* @param blWarehouseMaterialInfo
* @return
*/
@AutoLog(value = "库房物料配置信息-编辑")
@ApiOperation(value="库房物料配置信息-编辑", notes="库房物料配置信息-编辑")
@RequiresPermissions("warehouseMaterialInfo:bl_warehouse_material_info:edit")
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
public Result<String> edit(@RequestBody BlWarehouseMaterialInfo blWarehouseMaterialInfo) {
blWarehouseMaterialInfoService.updateById(blWarehouseMaterialInfo);
return Result.OK("操作成功!");
}
/**
* 通过id删除
*
* @param id
* @return
*/
@AutoLog(value = "库房物料配置信息-通过id删除")
@ApiOperation(value="库房物料配置信息-通过id删除", notes="库房物料配置信息-通过id删除")
@RequiresPermissions("warehouseMaterialInfo:bl_warehouse_material_info:delete")
@DeleteMapping(value = "/delete")
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
blWarehouseMaterialInfoService.removeById(id);
return Result.OK("删除成功!");
}
/**
* 批量删除
*
* @param ids
* @return
*/
@AutoLog(value = "库房物料配置信息-批量删除")
@ApiOperation(value="库房物料配置信息-批量删除", notes="库房物料配置信息-批量删除")
@RequiresPermissions("warehouseMaterialInfo:bl_warehouse_material_info:deleteBatch")
@DeleteMapping(value = "/deleteBatch")
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
this.blWarehouseMaterialInfoService.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<BlWarehouseMaterialInfo> queryById(@RequestParam(name="id",required=true) String id) {
BlWarehouseMaterialInfo blWarehouseMaterialInfo = blWarehouseMaterialInfoService.getById(id);
if(blWarehouseMaterialInfo==null) {
return Result.error("未找到对应数据");
}
return Result.OK(blWarehouseMaterialInfo);
}
/**
* 导出excel
*
* @param request
* @param blWarehouseMaterialInfo
*/
@RequiresPermissions("warehouseMaterialInfo:bl_warehouse_material_info:exportXls")
@RequestMapping(value = "/exportXls")
public ModelAndView exportXls(HttpServletRequest request, BlWarehouseMaterialInfo blWarehouseMaterialInfo) {
return super.exportXls(request, blWarehouseMaterialInfo, BlWarehouseMaterialInfo.class, "库房物料配置信息");
}
/**
* 通过excel导入数据
*
* @param request
* @param response
* @return
*/
@RequiresPermissions("warehouseMaterialInfo:bl_warehouse_material_info:importExcel")
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
return super.importExcel(request, response, BlWarehouseMaterialInfo.class);
}
}

View File

@ -0,0 +1,172 @@
package com.nu.modules.warehouseMaterialInfo.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-08-28
* @Version: V1.0
*/
@Data
@TableName("nu_warehouse_material_info")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="nu_warehouse_material_info对象", description="库房物料配置信息")
public class BlWarehouseMaterialInfo 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;
/**delFlag*/
@Excel(name = "delFlag", width = 15)
@ApiModelProperty(value = "delFlag")
@TableLogic
private java.lang.String delFlag;
/**库房*/
@Excel(name = "库房", width = 15, dictTable = "nu_base_info", dicText = "nu_name", dicCode = "nu_id")
@Dict(dictTable = "nu_base_info", dicText = "nu_name", dicCode = "nu_id")
@ApiModelProperty(value = "库房")
private java.lang.String nuId;
/**物料*/
@Excel(name = "物料", width = 15, dictTable = "nu_config_material_info", dicText = "material_name", dicCode = "id")
@Dict(dictTable = "nu_config_material_info", dicText = "material_name", dicCode = "id")
@ApiModelProperty(value = "物料")
private java.lang.String wlId;
/**物料上限*/
@Excel(name = "物料上限", width = 15)
@ApiModelProperty(value = "物料上限")
private java.lang.String upperLimit;
/**物料下限*/
@Excel(name = "物料下限", width = 15)
@ApiModelProperty(value = "物料下限")
private java.lang.String lowerLimit;
/**库存数量*/
@Excel(name = "库存数量", width = 15)
@ApiModelProperty(value = "库存数量")
private java.lang.String kcsl;
/**库存数量*/
@Excel(name = "是否启用", width = 15)
@ApiModelProperty(value = "是否启用")
@Dict(dicCode = "iz_enabled")
private java.lang.String izEnabled;
/**物料类别*/
@TableField(exist = false)
@Excel(name = "物料类别", width = 15, dictTable = "nu_config_material_category", dicText = "category_name", dicCode = "id")
@Dict(dictTable = "nu_config_material_category", dicText = "category_name", dicCode = "id")
@ApiModelProperty(value = "物料类别")
private java.lang.String categoryId;
/**物料类型*/
@TableField(exist = false)
@Excel(name = "物料类型", width = 15, dictTable = "nu_config_material_type", dicText = "type_name", dicCode = "id")
@Dict(dictTable = "nu_config_material_type", dicText = "type_name", dicCode = "id")
@ApiModelProperty(value = "物料类型")
private java.lang.String typeId;
/**用药类型*/
@TableField(exist = false)
@Excel(name = "用药类型", width = 15, dictTable = "nu_config_material_medication", dicText = "medication_name", dicCode = "id")
@Dict(dictTable = "nu_config_material_medication", dicText = "medication_name", dicCode = "id")
@ApiModelProperty(value = "用药类型")
private java.lang.String medicationId;
/**货品名称*/
@TableField(exist = false)
@Excel(name = "货品名称", width = 15)
@ApiModelProperty(value = "货品名称")
private java.lang.String materialName;
/**货品编码*/
@TableField(exist = false)
@Excel(name = "货品编码", width = 15)
@ApiModelProperty(value = "货品编码")
private java.lang.String materialNo;
/**规格型号*/
@TableField(exist = false)
@Excel(name = "规格型号", width = 15)
@ApiModelProperty(value = "规格型号")
private java.lang.String specificationModel;
/**供应商*/
@TableField(exist = false)
@Excel(name = "供应商", width = 15,dictTable = "nu_config_suppliers_info" , dicCode = "id" , dicText = "suppliers_name")
@ApiModelProperty(value = "供应商")
@Dict(dictTable = "nu_config_suppliers_info" , dicCode = "id" , dicText = "suppliers_name")
private java.lang.String suppliers;
/**货品单位*/
@TableField(exist = false)
@Excel(name = "货品单位", width = 15)
@ApiModelProperty(value = "货品单位")
private java.lang.String materialUnits;
/**多单位开关 0关 1开*/
@TableField(exist = false)
@Excel(name = "多单位开关", width = 15,replace = {"开_Y","关_N"} )
@ApiModelProperty(value = "多单位开关 0关 1开")
private java.lang.String multiUnitSwitch;
/**父级单位*/
@TableField(exist = false)
@Excel(name = "父级单位", width = 15)
@ApiModelProperty(value = "父级单位")
private java.lang.String oneUnit;
/**父级单位兑换比例*/
@TableField(exist = false)
@Excel(name = "父级单位兑换比例", width = 15)
@ApiModelProperty(value = "父级单位兑换比例")
private java.lang.Integer oneUnitProportion;
/**父级单位价格*/
@TableField(exist = false)
@Excel(name = "父级单位价格", width = 15)
@ApiModelProperty(value = "父级单位价格")
private java.math.BigDecimal oneUnitPrice;
/**爷级单位*/
@TableField(exist = false)
@Excel(name = "爷级单位", width = 15)
@ApiModelProperty(value = "爷级单位")
private java.lang.String twoUnit;
/**爷级单位兑换比例*/
@TableField(exist = false)
@Excel(name = "爷级单位兑换比例", width = 15)
@ApiModelProperty(value = "爷级单位兑换比例")
private java.lang.Integer twoUnitProportion;
/**爷级单位价格*/
@TableField(exist = false)
@Excel(name = "爷级单位价格", width = 15)
@ApiModelProperty(value = "爷级单位价格")
private java.math.BigDecimal twoUnitPrice;
/**多单位采购默认使用 0子集 1父级 2爷级*/
@TableField(exist = false)
@Excel(name = "多单位采购默认使用", width = 15)
@ApiModelProperty(value = "多单位采购默认使用 0子集 1父级 2爷级")
private java.lang.String multiUnitType;
}

View File

@ -0,0 +1,17 @@
package com.nu.modules.warehouseMaterialInfo.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 库房物料配置信息
* @Author: jeecg-boot
* @Date: 2025-08-28
* @Version: V1.0
*/
public interface BlWarehouseMaterialInfoMapper extends BaseMapper<BlWarehouseMaterialInfo> {
}

View File

@ -0,0 +1,33 @@
<?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.warehouseMaterialInfo.mapper.BlWarehouseMaterialInfoMapper">
<select id="selectList" resultType="com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo">
select * from (
select
a.*,
b.category_id,
b.type_id,
b.medication_id,
b.material_name,
b.pinyin,
b.material_no,
b.specification_model,
b.suppliers,
b.material_units,
b.multi_unit_switch,
b.one_unit,
b.one_unit_proportion,
b.one_unit_price,
b.two_unit,
b.two_unit_proportion,
b.two_unit_price,
b.multi_unit_type
from nu_warehouse_material_info a
left join nu_config_material_info b on a.wl_id = b.id
) a
${ew.customSqlSegment}
</select>
</mapper>

View File

@ -0,0 +1,14 @@
package com.nu.modules.warehouseMaterialInfo.service;
import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 库房物料配置信息
* @Author: jeecg-boot
* @Date: 2025-08-28
* @Version: V1.0
*/
public interface IBlWarehouseMaterialInfoService extends IService<BlWarehouseMaterialInfo> {
}

View File

@ -0,0 +1,19 @@
package com.nu.modules.warehouseMaterialInfo.service.impl;
import com.nu.modules.warehouseMaterialInfo.entity.BlWarehouseMaterialInfo;
import com.nu.modules.warehouseMaterialInfo.mapper.BlWarehouseMaterialInfoMapper;
import com.nu.modules.warehouseMaterialInfo.service.IBlWarehouseMaterialInfoService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 库房物料配置信息
* @Author: jeecg-boot
* @Date: 2025-08-28
* @Version: V1.0
*/
@Service
public class BlWarehouseMaterialInfoServiceImpl extends ServiceImpl<BlWarehouseMaterialInfoMapper, BlWarehouseMaterialInfo> implements IBlWarehouseMaterialInfoService {
}