feat: 0527开发论证功能

dev_kcyj
chenhc 1 year ago
parent b70f4136cf
commit a15afd2f5a

@ -20,6 +20,7 @@ import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.system.CompanyEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity;
import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.entity.thrsys.ThrProductsEntity;
@ -251,6 +252,24 @@ public class IoOrderDetailResultController extends BaseController {
return ResultVOUtils.success(sysPdfTemplateRelevanceStatemenEntity.getTemplateId());
}
//校验模板是否正确--标签
@AuthRuleAnnotation("")
@PostMapping("/udiwms/pdf/templateLabel/order/result/file")
public BaseResponse inspectionStockOrderPDFFromTemplateLabelFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) {
//查询模板文件是否存在
SysPdfTemplateRelevanceLabelEntity sysPdfTemplateRelevanceLabelEntity = systemPDFModuleService.selectByLabelId(inspectionPDFTemplateRequest.getId());
if (null == sysPdfTemplateRelevanceLabelEntity) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误");
}
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(sysPdfTemplateRelevanceLabelEntity.getTemplateId()));
if (null == systemPDFTemplateEntity) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误");
}
return ResultVOUtils.success(sysPdfTemplateRelevanceLabelEntity.getTemplateId());
}
/**
*

@ -0,0 +1,120 @@
package com.glxp.api.controller.purchase;
import com.alibaba.fastjson.JSON;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.purchase.PurApplyArgument;
import com.glxp.api.entity.purchase.PurInquiryItemEntity;
import com.glxp.api.entity.system.SystemPDFTemplateEntity;
import com.glxp.api.req.dev.DeviceInfoDetailQuery;
import com.glxp.api.req.purchase.PurApplyArgumentRequest;
import com.glxp.api.req.purchase.PurInquiryOfferRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.purchase.PurInquiryOfferEntityResponse;
import com.glxp.api.service.purchase.impl.PurApplyArgumentService;
import com.glxp.api.service.system.SystemPDFTemplateService;
import com.glxp.api.util.EntityToMapConverter;
import com.glxp.api.util.JasperUtils;
import com.glxp.api.vo.dev.DeviceInfoVo;
import lombok.RequiredArgsConstructor;
import net.sf.jasperreports.engine.JRException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.IOException;
import java.math.RoundingMode;
import java.util.*;
@Validated
@RequiredArgsConstructor
@RestController
public class PurApplyArgumentController {
@Resource
PurApplyArgumentService purApplyArgumentService;
@Resource
private SystemPDFTemplateService systemPDFTemplateService;
@Value("${file_path}")
private String filePath;
/**
*
*/
@GetMapping("/purchase/purApplyArgument/list")
public BaseResponse list(PurApplyArgumentRequest purApplyArgumentRequest) {
List<PurApplyArgument> list = purApplyArgumentService.queryPageList(purApplyArgumentRequest);
PageInfo<PurApplyArgument> pageInfo;
pageInfo = new PageInfo<>(list);
PageSimpleResponse<PurApplyArgument> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(list);
return ResultVOUtils.success(pageSimpleResponse);
}
/**
*
*/
@PostMapping("/purchase/purApplyArgument/updateArg")
public BaseResponse updateArg(@RequestBody PurApplyArgument purApplyArgument) {
purApplyArgumentService.updateById(purApplyArgument);
return ResultVOUtils.success("修改成功");
}
/**
*
*
* @param purApplyArgumentRequest
* @return
*/
@PostMapping("/purchase/purApplyArgument/printArg")
public BaseResponse printArg(@RequestBody PurApplyArgumentRequest purApplyArgumentRequest, HttpServletRequest request, HttpServletResponse response) throws JRException, IOException {
List<PurApplyArgument> resList = new ArrayList<>();
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(purApplyArgumentRequest.getTemplateId());
//打印单号标签
Map<String, Object> data = new HashMap<>(1);
List<Object> list = new ArrayList<>();
//按选入打印
if (purApplyArgumentRequest.getList() != null && purApplyArgumentRequest.getList().size() > 0) {
resList = purApplyArgumentRequest.getList();
} else {
resList = purApplyArgumentService.queryPageList(purApplyArgumentRequest);
}
int i = 1;
for (PurApplyArgument item : resList) {
//组装数据
Map<String, Object> purApplyArgumentData = EntityToMapConverter.convertEntityToMap(item);
purApplyArgumentData.put("index", String.valueOf(i));
list.add(purApplyArgumentData);
i++;
}
data.put("data", list);
String param = JSON.toJSONString(data);
JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf");
return ResultVOUtils.success();
}
/**
*
*
* @param id
*/
@GetMapping("/purchase/purApplyArgument/argAllPass/{id}")
public BaseResponse argAllPass(@NotNull(message = "主键不能为空")
@PathVariable Long id) {
int data = purApplyArgumentService.argAllPass(id);
return ResultVOUtils.success(data);
}
}

@ -158,6 +158,27 @@ public class PurApplyArgument implements Serializable {
@ApiModelProperty(value="使用科室人员配备情况")
private String supportPerson;
/**
*
*/
@TableField(value = "maintenanceForce")
@ApiModelProperty(value="维修技术力量的保证或维修途径")
private String maintenanceForce;
/**
*
*/
@TableField(value = "fundSource")
@ApiModelProperty(value="资金来源")
private String fundSource;
/**
*
*/
@TableField(value = "feasibility")
@ApiModelProperty(value="可行性论证")
private String feasibility;
/**
*
*/

@ -0,0 +1,42 @@
package com.glxp.api.req.purchase;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.entity.purchase.PurApplyArgument;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import java.util.List;
@Data
public class PurApplyArgumentRequest extends ListPageRequest {
/**
*
*/
private String applyBillNo;
/**
*
*/
private Integer argStatus;
/**
*
*/
private String createName;
/**
*
*/
private String productName;
private Long deptCode;
@TableField(value = "pageType")
private Integer pageType;
private String templateId;
private List<PurApplyArgument> list;
}

@ -1,11 +1,15 @@
package com.glxp.api.service.purchase.impl;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.DeptEntity;
import com.glxp.api.entity.purchase.PurApplyDetailEntity;
import com.glxp.api.entity.purchase.PurApplyEntity;
import com.glxp.api.req.purchase.PurApplyArgumentRequest;
import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.auth.DeptService;
import org.springframework.beans.BeanUtils;
@ -69,4 +73,31 @@ public class PurApplyArgumentService extends ServiceImpl<PurApplyArgumentMapper,
}
}
public List<PurApplyArgument> queryPageList(PurApplyArgumentRequest purApplyArgumentRequest) {
LambdaQueryWrapper<PurApplyArgument> qw = new LambdaQueryWrapper<>();
qw.like(StrUtil.isNotEmpty(purApplyArgumentRequest.getApplyBillNo()),PurApplyArgument::getApplyBillNo,purApplyArgumentRequest.getApplyBillNo());
qw.like(StrUtil.isNotEmpty(purApplyArgumentRequest.getCreateName()),PurApplyArgument::getCreateName,purApplyArgumentRequest.getCreateName());
qw.like(StrUtil.isNotEmpty(purApplyArgumentRequest.getProductName()),PurApplyArgument::getProductName,purApplyArgumentRequest.getProductName());
qw.eq(ObjectUtil.isNotNull(purApplyArgumentRequest.getArgStatus()),PurApplyArgument::getArgStatus,purApplyArgumentRequest.getArgStatus());
qw.eq(ObjectUtil.isNotNull(purApplyArgumentRequest.getDeptCode()),PurApplyArgument::getDeptCode,purApplyArgumentRequest.getDeptCode());
return list(qw);
}
public int argAllPass(Long id) {
QueryWrapper<PurApplyArgument> qw = new QueryWrapper<>();
qw.eq("orderIdFk",id);
qw.eq("argStatus",2);
List<PurApplyArgument> list = list(qw);
if (CollectionUtil.isNotEmpty(list)){
return 2;//有拒绝的
}
qw.eq("argStatus",0);
list = list(qw);
if (CollectionUtil.isNotEmpty(list)){
return 0;//有未论证的
}
return 1;//全部通过
}
}

@ -0,0 +1,35 @@
package com.glxp.api.util;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class EntityToMapConverter {
public static <T> Map<String, Object> convertEntityToMap(T entity) {
if (entity == null) {
return null;
}
Map<String, Object> result = new HashMap<>();
Class<?> clazz = entity.getClass();
// 获取所有字段包括私有字段但需要设置setAccessible(true)
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true); // 设置为可访问,以便访问私有字段
try {
// 获取字段的值
Object value = field.get(entity);
result.put(field.getName(), value);
} catch (IllegalAccessException e) {
// 这通常不会发生因为我们已经调用了setAccessible(true)
e.printStackTrace();
}
}
return result;
}
}

@ -21,10 +21,10 @@
<select id="joinQueryList" parameterType="com.glxp.api.req.purchase.PurApplyDetailRequest"
resultType="com.glxp.api.res.purchase.PurOrderDetailResponse">
SELECT pur_apply_detail.*,
SELECT
pur_apply_detail.*,
basic_products.nameCode nameCode,
basic_products.ggxh spec,
basic_products.measname,
basic_products.manufactory,
basic_products.ylqxzcrbarmc,
basic_products.spmc,

@ -2492,7 +2492,7 @@ CALL Pro_Temp_ColumnWork('device_check_detail', 'suggestion',
UPDATE auth_menu
SET `menu_name` = '本科室设备',
`parent_id` = 1703,
`order_num` = 4,
`order_num` = 11,
`path` = '/dev/deviceInfoSelf',
`component` = 'dev/deviceInfoSelf',
`query_param` = NULL,
@ -3639,8 +3639,28 @@ CREATE TABLE IF NOT EXISTS `pur_apply_argument` (
`benefitPrediction` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL COMMENT '效益预测',
`supportCondition` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_cs NULL COMMENT '配套条件',
`supportPerson` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '使用科室人员配备情况',
`maintenanceForce` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '维修技术力量的保证或维修途径',
`fundSource` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '资金来源',
`feasibility` text CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL COMMENT '可行性论证',
`argStatus` int(0) NULL DEFAULT 0 COMMENT '论证状态',
`createName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '创建人昵称',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 91 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`,
`update_time`, `remark`)
VALUES (3718, '论证管理', 1703, 0, 'purApplyArgument', NULL, NULL, 1, 0, 'M', '0', '0', NULL, NULL,
'超级用户', '2023-02-08 17:01:50', NULL, NULL, NULL);
INSERT IGNORE INTO auth_menu(`menu_id`, `menu_name`, `parent_id`, `order_num`, `path`, `component`, `query_param`, `is_frame`,
`is_cache`, `menu_type`, `visible`, `status`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`)
VALUES (3719, '论证明细', 3718, 1, 'purchase/purApplyArgument/purApplyArgument', 'purchase/purApplyArgument/purApplyArgument', '{\"pageType\":2}', 1, 0, 'C',
'0', '0', 'purchase:purApplyArgument:purApplyArgument', NULL, '超级用户', '2023-02-08 17:02:19', NULL, NULL, NULL);
INSERT IGNORE INTO sys_pdf_template(`id`, `name`, `type`, `module`, `param`, `path`, `rowCount`, `qrcodeCount`, `remark`, `create_time`, `update_time`, `jrxmlPath`,
`bussinessType`, `bussinessStatus`) VALUES (6, '设备申购论证单据模板', 2, 0, '', '', 10, 1, '', '2024-05-21 17:04:11', '2024-05-21 17:04:11', '', NULL, NULL);
INSERT IGNORE INTO sys_pdf_template_relevance_statemen(`id`, `templateId`, `customerId`, `adminId`, `moduleId`, `localAction`, `remark1`, `remark2`, `remark3`, `printType`,
`modelKey`, `updateTime`) VALUES (7, 33, 110, 0, NULL, '设备论证单据打印', NULL, NULL, NULL, NULL, 'reportForms', NULL);

Loading…
Cancel
Save