空管项目

master
liweidong-hj 3 months ago
parent 0bda6ae94d
commit 035310b488
  1. 120
      src/main/java/com/nov/KgLowDurable/constant/TwoOutApproverConstant.java
  2. 2
      src/main/java/com/nov/KgLowDurable/service/IUserService.java
  3. 2
      src/main/java/com/nov/KgLowDurable/service/Impl/LdOnePutStorageServiceImpl.java
  4. 95
      src/main/java/com/nov/KgLowDurable/service/Impl/LdTwoOutStorageServiceImpl.java
  5. 2
      src/main/java/com/nov/KgLowDurable/service/Impl/UserServiceImpl.java

@ -0,0 +1,120 @@
package com.nov.KgLowDurable.constant;
/**
* @author: liweidong
* @create: 2026-01-12
*/
public class TwoOutApproverConstant {
// ==================== 基本信息字段 ====================
/**
* 领用人 - 文本控件
* 对应表单中的"领用人"字段
*/
public static final String TEXT_RECEIVER = "Text-1753842895562";
/**
* 部门 - 文本控件
* 对应表单中的"部门"字段
*/
public static final String TEXT_DEPARTMENT = "Text-1764895727005";
/**
* 单号 - 文本控件
* 对应表单中的"单号"字段
*/
public static final String TEXT_ORDER_NO = "Text-1768182878024";
/**
* 事由 - 文本域控件
* 对应表单中的"事由"字段
*/
public static final String TEXTAREA_REASON = "Textarea-1765250821333";
/**
* 物资列表 - 表格控件
* 对应表单中的物资明细表格
*/
public static final String TABLE_MATERIAL_LIST = "Table-1752131467618";
// ==================== 表格列字段 ====================
/**
* 物资名称 - 表格列文本控件
* 对应表格中的"物资名称"
*/
public static final String TABLE_COL_MATERIAL_NAME = "Text-1764896053375";
/**
* 物资编号 - 表格列文本控件
* 对应表格中的"物资编号"
*/
public static final String TABLE_COL_MATERIAL_CODE = "Text-1764896063342";
/**
* 规格型号 - 表格列文本控件
* 对应表格中的"规格型号"
*/
public static final String TABLE_COL_SPECIFICATION = "Text-1753775946265";
/**
* 单位 - 表格列文本控件
* 对应表格中的"单位"
*/
public static final String TABLE_COL_UNIT = "Text-1753775948881";
/**
* 类别 - 表格列文本控件
* 对应表格中的"类别"
*/
public static final String TABLE_COL_CATEGORY = "Text-1768182193673";
// /**
// * 单价 - 表格列(文本控件)
// * 对应表格中的"单价"列
// */
// public static final String TABLE_COL_UNIT_PRICE = "Text-1768182205649";
/**
* 出库人 - 表格列文本控件
* 对应表格中的"出库人"
*/
public static final String TABLE_COL_OUTBOUND_PERSON = "Text-1768182222649";
/**
* 出库数量 - 表格列文本控件
* 对应表格中的"出库数量"
*/
public static final String TABLE_COL_OUTBOUND_QUANTITY = "Text-1753842938570";
/**
* 物资描述 - 表格列文本控件
* 对应表格中的"物资描述"
*/
public static final String TABLE_COL_MATERIAL_DESCRIPTION = "Text-1764895768454";
/**
* 库存 - 表格列文本控件
* 对应表格中的"库存"
*/
public static final String TABLE_COL_INVENTORY = "Text-1768182234129";
// ==================== 字段类型 ====================
public static final String TEXT = "Text";
public static final String DATE = "Date";
public static final String TEXTAREA = "Textarea";
public static final String TABLE = "Table";
public static final Integer CHOOSE_DEPARTMENT = 0;
public static final String TEMPLATE_ID = "C4c9RG97FAz4CpxoSPTMHGU2KWYxA3sMqEKUjSiJp";
public static final Integer NOTIFY_TYPE = 2;
public static final Integer USE_TEMPLATE_APPROVER = 0;
}

@ -45,5 +45,5 @@ public interface IUserService extends IService<User> {
* 入库审批
* @param json
*/
void submitPutApproval(String json);
void submitApproval(String json);
}

@ -383,7 +383,7 @@ public class LdOnePutStorageServiceImpl extends ServiceImpl<LdOnePutStorageMappe
// 5. 序列化
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(applyRequest);
userService.submitPutApproval(json);
userService.submitApproval(json);
} catch (JsonProcessingException e) {
e.printStackTrace();
}

@ -1,29 +1,30 @@
package com.nov.KgLowDurable.service.Impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.nov.KgLowDurable.constant.BatchConstant;
import com.nov.KgLowDurable.constant.OnePutApproverConstant;
import com.nov.KgLowDurable.constant.TwoOutApproverConstant;
import com.nov.KgLowDurable.exception.CustomerException;
import com.nov.KgLowDurable.mapper.LdTwoOutStorageMapper;
import com.nov.KgLowDurable.pojo.dto.ApplyRequest.*;
import com.nov.KgLowDurable.pojo.dto.LdTwoOutStorageDto;
import com.nov.KgLowDurable.pojo.entity.LdApprove;
import com.nov.KgLowDurable.pojo.entity.LdTwoOutStorage;
import com.nov.KgLowDurable.pojo.entity.LdTwoOutStorageDetail;
import com.nov.KgLowDurable.pojo.entity.*;
import com.nov.KgLowDurable.pojo.vo.LdOnePutStorageDetailVO;
import com.nov.KgLowDurable.pojo.vo.LdTwoOutStorageInfoVO;
import com.nov.KgLowDurable.pojo.vo.UserInfoVO;
import com.nov.KgLowDurable.service.ILdApproveService;
import com.nov.KgLowDurable.service.ILdTwoOutStorageDetailService;
import com.nov.KgLowDurable.service.ILdTwoOutStorageService;
import com.nov.KgLowDurable.service.IUserService;
import com.nov.KgLowDurable.service.*;
import com.nov.KgLowDurable.util.SerialNumberUtil;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.math.BigDecimal;
import java.util.*;
/**
* 服务实现类
@ -48,6 +49,12 @@ public class LdTwoOutStorageServiceImpl extends ServiceImpl<LdTwoOutStorageMappe
@Autowired
ILdApproveService approveService;
@Autowired
ILdConsumerFormService consumerFormService;
@Autowired
ILdDurableFormService durableFormService;
@Override
public PageInfo<LdTwoOutStorage> getTwoOutStorageList(Date startTime, Date endTime, String shipperName, String departmentId, Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum,pageSize);
@ -124,7 +131,73 @@ public class LdTwoOutStorageServiceImpl extends ServiceImpl<LdTwoOutStorageMappe
}
private void submitForApproval(LdTwoOutStorageDto dto) {
//todo
List<TableRow> tableRowList = new ArrayList<>();
for (LdTwoOutStorageDetail twoOutStorageDetail : dto.getLdTwoOutStorageDetailList()) {
BigDecimal num = null;
if(BatchConstant.CONSUMER.equals(twoOutStorageDetail.getType())){
LdConsumerForm consumerForm = consumerFormService.getById(twoOutStorageDetail.getTwoInventoryId());
num = consumerForm.getNum();
}else {
LdDurableForm durableForm = durableFormService.getById(twoOutStorageDetail.getTwoInventoryId());
num = durableForm.getNum();
}
// 1. 创建表格行
TableRow tableRow = new TableRow(Arrays.asList(
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TABLE_COL_MATERIAL_NAME, Value.textValue(twoOutStorageDetail.getMaterialName())),
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TABLE_COL_MATERIAL_CODE, Value.textValue(twoOutStorageDetail.getMaterialCode())),
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TABLE_COL_SPECIFICATION, Value.textValue(twoOutStorageDetail.getModel())),
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TABLE_COL_UNIT, Value.textValue(twoOutStorageDetail.getUnit())),
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TABLE_COL_CATEGORY, Value.textValue( BatchConstant.CONSUMER.equals(twoOutStorageDetail.getType())?"易耗":"耐用")),
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TABLE_COL_OUTBOUND_PERSON, Value.textValue(dto.getUserInfoVO().getName())),
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TABLE_COL_OUTBOUND_QUANTITY, Value.textValue(String.valueOf(twoOutStorageDetail.getNum()))),
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TABLE_COL_MATERIAL_DESCRIPTION, Value.textValue(null)),
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TABLE_COL_INVENTORY, Value.textValue(String.valueOf(num)))
));
tableRowList.add(tableRow);
}
// 2. 创建主要内容(完全按照您的JSON结构)
List<Content> contents = Arrays.asList(
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TEXT_RECEIVER, Value.textValue(dto.getLdTwoOutStorage().getProposerName())),
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TEXT_DEPARTMENT, Value.textValue(dto.getLdTwoOutStorage().getDepartment())),
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TEXT_ORDER_NO, Value.textValue(dto.getLdTwoOutStorage().getOrderNo())),
new Content(TwoOutApproverConstant.TEXT, TwoOutApproverConstant.TEXTAREA_REASON, Value.textValue(dto.getLdTwoOutStorage().getReason())),
new Content(TwoOutApproverConstant.TABLE, TwoOutApproverConstant.TABLE_MATERIAL_LIST,
Value.tableValue(tableRowList))
);
// 3. 创建审批人
List<LdApprove> ldApproves = approveService.getByFromId(dto.getLdTwoOutStorage().getId(), "1");
List<Approver> approvers = new ArrayList<>();
for (LdApprove ldApprove : ldApproves) {
Approver approver = new Approver();
approver.setAttr(2);
approver.setUserid(Arrays.asList(ldApprove.getUserId()));
approvers.add(approver);
}
// 4. 创建完整对象
ApplyData applyData = new ApplyData(contents);
ApplyRequest applyRequest = new ApplyRequest(
applyData,
approvers,
TwoOutApproverConstant.CHOOSE_DEPARTMENT,
dto.getUserInfoVO().getUserId(),
TwoOutApproverConstant.NOTIFY_TYPE,
TwoOutApproverConstant.TEMPLATE_ID,
TwoOutApproverConstant.USE_TEMPLATE_APPROVER
);
try {
// 5. 序列化
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(applyRequest);
System.out.println(json);
userService.submitApproval(json);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}

@ -298,7 +298,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
}
@Override
public void submitPutApproval(String json) {
public void submitApproval(String json) {
// Map<String, String> headers = new HashMap<String, String>() {{
// put("Content-Type", "application/json");
// }};

Loading…
Cancel
Save