skyouc
2025-03-14 fcb49d1a0ac87f894d0249c41043aff6e8c73375
#新增
1. 新增质检主单
2. 新增质检明细
3. 字段优化
11个文件已添加
10个文件已修改
1165 ■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReportMsgService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java 131 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyInspect.java 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockItem.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/QlyIsptItemMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyIsptItemService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/test/controller/QlyInspectController.java 110 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/test/entity/QlyInspect.java 222 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/test/mapper/QlyInspectMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/test/service/QlyInspectService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/test/service/impl/QlyInspectServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/resources/mapper/manager/QlyIsptItemMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
@@ -22,10 +22,4 @@
     */
    boolean syncPurchasee(List<OrderParams> orders);
    /**
     * 一键报检
     * @param items
     * @return
     */
    boolean reportInspectNotify(List<PoItemsDto> items);
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReportMsgService.java
@@ -1,5 +1,9 @@
package com.vincent.rsf.server.api.service;
import com.vincent.rsf.server.api.entity.dto.PoItemsDto;
import java.util.List;
/**
 * @author Ryan
 * @version 1.0
@@ -9,4 +13,5 @@
 */
public interface ReportMsgService {
    boolean reportInspectNotify(List<PoItemsDto> items);
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/MobileServiceImpl.java
@@ -309,7 +309,7 @@
                    .setMatnrId(matnr.getId())
                    .setStockUnit(matnr.getStockUnit());
            QlyInspect inspect = qlyInspectMapper.selectOne(new LambdaQueryWrapper<QlyInspect>()
                    .eq(QlyInspect::getAsnItemId, asnOrderItem.getId()).eq(QlyInspect::getPoItemId, asnOrderItem.getPoDetlId()));
                    .eq(QlyInspect::getAsnItemId, asnOrderItem.getId()));
            if (!Objects.isNull(inspect)) {
                //set 质检结果
                detlsDto.setInspect(inspect.getStatus$());
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -1,21 +1,10 @@
package com.vincent.rsf.server.api.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.vincent.rsf.common.domain.CommonReponse;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.api.config.RemotesInfoProperties;
import com.vincent.rsf.server.api.entity.dto.PoItemsDto;
import com.vincent.rsf.server.api.entity.enums.OrderType;
import com.vincent.rsf.server.api.entity.params.ErpInspectItem;
import com.vincent.rsf.server.api.entity.params.ErpInspectParams;
import com.vincent.rsf.server.manager.entity.AsnOrder;
import com.vincent.rsf.server.manager.entity.AsnOrderItem;
import com.vincent.rsf.server.manager.entity.PurchaseItem;
import com.vincent.rsf.server.manager.service.AsnOrderItemService;
import com.vincent.rsf.server.manager.service.AsnOrderService;
import com.vincent.rsf.server.manager.service.PurchaseItemService;
import com.vincent.rsf.server.manager.service.PurchaseService;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
@@ -29,18 +18,10 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @author Ryan
@@ -57,16 +38,6 @@
    private PurchaseService purchaseService;
    @Autowired
    private PurchaseItemService purchaseItemService;
    @Autowired
    private AsnOrderService asnOrderService;
    @Autowired
    private AsnOrderItemService asnOrderItemService;
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private RemotesInfoProperties remotesInfoProperties;
    @Autowired
    private RemotesInfoProperties.ApiInfo apiInfo;
    @Autowired
    private FieldsService fieldsService;
    @Autowired
@@ -115,106 +86,6 @@
        return true;
    }
    /**
     * @author Ryan
     * @description 上报质检列表
     * @params [items 列表]
     * @return boolean
     * @time 2025/3/7 09:12
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean reportInspectNotify(List<PoItemsDto> items) {
        if (items.isEmpty()) {
            throw new CoolException("上报内容为空!!");
        }
        List<ErpInspectParams> inspectParams =  new ArrayList<>();
        Map<String, List<PoItemsDto>> listMap = items.stream().collect(Collectors.groupingBy(PoItemsDto::getPurchaseId));
        listMap.keySet().forEach(key -> {
            Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getId, Long.valueOf(key)));
            if (Objects.isNull(purchase)) {
                throw new CoolException("采购单信息有误!!");
            }
            ErpInspectParams params = new ErpInspectParams();
            List<ErpInspectItem> inspectItems = new ArrayList<>();
            //赋值erp主单编码,编号
            params.setPoId(purchase.getPlatId())
                    .setPoCode(purchase.getPlatCode());
            List<PoItemsDto> dtos = listMap.get(key);
            if (dtos.isEmpty()) {
                throw new CoolException("单据信息错误!!");
            }
            dtos.forEach(dto -> {
                ErpInspectItem inspect= new ErpInspectItem();
                BeanUtils.copyProperties(dto, inspect);
                //赋值erp明细编码
                inspect.setPoItemId(dto.getPlatItemId());
                inspectItems.add(inspect);
            });
            params.setChildren(inspectItems);
            inspectParams.add(params);
        });
        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
        //获取上报质检接口
        String url = remotesInfoProperties.getBaseUrl() + apiInfo.getNotifyInspect();
        // 设置请求参数
        params.add("params", JSONObject.toJSONString(inspectParams));
        log.info("请求地址:{},请求参数:{}", url, JSONObject.toJSONString(inspectParams));
        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type", "application/json");
        HttpEntity httpEntity = new HttpEntity<>(params, headers);
        // 请求
        ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
        log.info("下发任务 返回结果:{}", exchange);
        if (Objects.isNull(exchange.getBody()) || exchange.getBody() == null) {
            throw new CoolException("下发任务失败!!");
        } else {
            CommonReponse reponse = (CommonReponse) JSON.parse(exchange.getBody());
            if (reponse.getCode() == 0) {
                //修改asn上报状态
                Set<String> itemSets = items.stream().map(PoItemsDto::getId).collect(Collectors.toSet());
                Set<Long> longSet = new HashSet<>();
                itemSets.forEach(set -> {
                    longSet.add(Long.parseLong(set));
                });
                List<AsnOrderItem> asnOrderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getPoDetlId, longSet));
                if (asnOrderItems.isEmpty()) {
                    throw new CoolException("ASN单据不存在!!");
                }
                List<Long> list = asnOrderItems.stream().map(AsnOrderItem::getId).collect(Collectors.toList());
                /**************************     修改ASN明细单状态         ******************************/
                if (!asnOrderItemService.update(new LambdaUpdateWrapper<AsnOrderItem>().in(AsnOrderItem::getId, list).set(AsnOrderItem::getStatus, 1))) {
                    throw new CoolException("ASN明细单据状态修改失败!!");
                }
                /**************************     修改ASN主单数据         ******************************/
                //获取ASN明细订单标识
                List<Long> ids = asnOrderItems.stream().map(AsnOrderItem::getAsnId).collect(Collectors.toList());
                //ASN明细单据分组
                Map<Long, List<AsnOrderItem>> asnIds = asnOrderItems.stream().collect(Collectors.groupingBy(AsnOrderItem::getAsnId));
                ids.forEach(id -> {
                    int count = asnOrderService.count(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, id));
                    if (count == asnIds.get(id).size()) {
                        if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>().eq(AsnOrder::getId, id).set(AsnOrder::getStatus, 1))) {
                            throw new CoolException("ASN主单状态修改失败!!");
                        }
                    } else {
                        if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>().eq(AsnOrder::getId, id).set(AsnOrder::getStatus, 2))) {
                            throw new CoolException("ASN主单状态修改失败!!");
                        }
                    }
                });
                return true;
            } else {
                throw new CoolException(reponse.getMsg());
            }
        }
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReportMsgServiceImpl.java
@@ -1,7 +1,37 @@
package com.vincent.rsf.server.api.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.vincent.rsf.common.domain.CommonReponse;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.api.config.RemotesInfoProperties;
import com.vincent.rsf.server.api.entity.dto.PoItemsDto;
import com.vincent.rsf.server.api.entity.params.ErpInspectItem;
import com.vincent.rsf.server.api.entity.params.ErpInspectParams;
import com.vincent.rsf.server.api.service.ReportMsgService;
import com.vincent.rsf.server.manager.entity.AsnOrder;
import com.vincent.rsf.server.manager.entity.AsnOrderItem;
import com.vincent.rsf.server.manager.entity.Purchase;
import com.vincent.rsf.server.manager.service.AsnOrderItemService;
import com.vincent.rsf.server.manager.service.AsnOrderService;
import com.vincent.rsf.server.manager.service.PurchaseService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @author Ryan
@@ -10,7 +40,124 @@
 * @description
 * @create 2025/3/12 17:08
 */
@Slf4j
@Service
public class ReportMsgServiceImpl implements ReportMsgService {
    @Autowired
    private PurchaseService purchaseService;
    @Autowired
    private RemotesInfoProperties.ApiInfo apiInfo;
    @Autowired
    private RestTemplate restTemplate;
    @Autowired
    private RemotesInfoProperties remotesInfoProperties;
    @Autowired
    private AsnOrderService asnOrderService;
    @Autowired
    private AsnOrderItemService asnOrderItemService;
    /**
     * @author Ryan
     * @description 上报质检列表
     * @params [items 列表]
     * @return boolean
     * @time 2025/3/7 09:12
     */
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean reportInspectNotify(List<PoItemsDto> items) {
        if (items.isEmpty()) {
            throw new CoolException("上报内容为空!!");
        }
        List<ErpInspectParams> inspectParams =  new ArrayList<>();
        Map<String, List<PoItemsDto>> listMap = items.stream().collect(Collectors.groupingBy(PoItemsDto::getPurchaseId));
        listMap.keySet().forEach(key -> {
            Purchase purchase = purchaseService.getOne(new LambdaQueryWrapper<Purchase>().eq(Purchase::getId, Long.valueOf(key)));
            if (Objects.isNull(purchase)) {
                throw new CoolException("采购单信息有误!!");
            }
            ErpInspectParams params = new ErpInspectParams();
            List<ErpInspectItem> inspectItems = new ArrayList<>();
            //赋值erp主单编码,编号
            params.setPoId(purchase.getPlatId())
                    .setPoCode(purchase.getPlatCode());
            List<PoItemsDto> dtos = listMap.get(key);
            if (dtos.isEmpty()) {
                throw new CoolException("单据信息错误!!");
            }
            dtos.forEach(dto -> {
                ErpInspectItem inspect= new ErpInspectItem();
                BeanUtils.copyProperties(dto, inspect);
                //赋值erp明细编码
                inspect.setPoItemId(dto.getPlatItemId());
                inspectItems.add(inspect);
            });
            params.setChildren(inspectItems);
            inspectParams.add(params);
        });
        MultiValueMap<String, Object> params = new LinkedMultiValueMap<>();
        //获取上报质检接口
        String url = remotesInfoProperties.getBaseUrl() + apiInfo.getNotifyInspect();
        // 设置请求参数
        params.add("params", JSONObject.toJSONString(inspectParams));
        log.info("请求地址:{},请求参数:{}", url, JSONObject.toJSONString(inspectParams));
        HttpHeaders headers = new HttpHeaders();
        headers.add("Content-Type", "application/json");
        HttpEntity httpEntity = new HttpEntity<>(params, headers);
        // 请求
        ResponseEntity<String> exchange = restTemplate.exchange(url, HttpMethod.POST, httpEntity, String.class);
        log.info("下发任务 返回结果:{}", exchange);
        if (Objects.isNull(exchange.getBody()) || exchange.getBody() == null) {
            throw new CoolException("下发任务失败!!");
        } else {
            CommonReponse reponse = (CommonReponse) JSON.parse(exchange.getBody());
            if (reponse.getCode() == 0) {
                //修改asn上报状态
                Set<String> itemSets = items.stream().map(PoItemsDto::getId).collect(Collectors.toSet());
                Set<Long> longSet = new HashSet<>();
                itemSets.forEach(set -> {
                    longSet.add(Long.parseLong(set));
                });
                List<AsnOrderItem> asnOrderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>().in(AsnOrderItem::getPoDetlId, longSet));
                if (asnOrderItems.isEmpty()) {
                    throw new CoolException("ASN单据不存在!!");
                }
                List<Long> list = asnOrderItems.stream().map(AsnOrderItem::getId).collect(Collectors.toList());
                /**************************     修改ASN明细单状态         ******************************/
                if (!asnOrderItemService.update(new LambdaUpdateWrapper<AsnOrderItem>().in(AsnOrderItem::getId, list).set(AsnOrderItem::getStatus, 1))) {
                    throw new CoolException("ASN明细单据状态修改失败!!");
                }
                /**************************     修改ASN主单数据         ******************************/
                //获取ASN明细订单标识
                List<Long> ids = asnOrderItems.stream().map(AsnOrderItem::getAsnId).collect(Collectors.toList());
                //ASN明细单据分组
                Map<Long, List<AsnOrderItem>> asnIds = asnOrderItems.stream().collect(Collectors.groupingBy(AsnOrderItem::getAsnId));
                ids.forEach(id -> {
                    int count = asnOrderService.count(new LambdaQueryWrapper<AsnOrder>().in(AsnOrder::getId, id));
                    if (count == asnIds.get(id).size()) {
                        if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>().eq(AsnOrder::getId, id).set(AsnOrder::getStatus, 1))) {
                            throw new CoolException("ASN主单状态修改失败!!");
                        }
                    } else {
                        if (!asnOrderService.update(new LambdaUpdateWrapper<AsnOrder>().eq(AsnOrder::getId, id).set(AsnOrder::getStatus, 2))) {
                            throw new CoolException("ASN主单状态修改失败!!");
                        }
                    }
                });
                return true;
            } else {
                throw new CoolException(reponse.getMsg());
            }
        }
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/common/CodeBuilder.java
@@ -22,9 +22,9 @@
//        generator.username="sa";
//        generator.password="Zoneyung@zy56$";
        generator.table="man_qly_inspect";
        generator.table="man_qly_ispt_item";
        generator.tableDesc="质检信息";
        generator.packagePath="com.vincent.rsf.server.test";
        generator.packagePath="com.vincent.rsf.server.manager";
        generator.build();
    }
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyInspectController.java
@@ -95,10 +95,10 @@
        List<KeyValVo> vos = new ArrayList<>();
        LambdaQueryWrapper<QlyInspect> wrapper = new LambdaQueryWrapper<>();
        if (!Cools.isEmpty(condition)) {
            wrapper.like(QlyInspect::getName, condition);
            wrapper.like(QlyInspect::getCode, condition);
        }
        qlyInspectService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
                item -> vos.add(new KeyValVo(item.getId(), item.getName()))
                item -> vos.add(new KeyValVo(item.getId(), item.getCode()))
        );
        return R.ok().add(vos);
    }
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/QlyIsptItemController.java
New file
@@ -0,0 +1,110 @@
package com.vincent.rsf.server.manager.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.server.common.utils.ExcelUtil;
import com.vincent.rsf.server.common.annotation.OperationLog;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.KeyValVo;
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.manager.entity.QlyIsptItem;
import com.vincent.rsf.server.manager.service.QlyIsptItemService;
import com.vincent.rsf.server.system.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
@RestController
public class QlyIsptItemController extends BaseController {
    @Autowired
    private QlyIsptItemService qlyIsptItemService;
    @PreAuthorize("hasAuthority('manager:qlyIsptItem:list')")
    @PostMapping("/qlyIsptItem/page")
    public R page(@RequestBody Map<String, Object> map) {
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<QlyIsptItem, BaseParam> pageParam = new PageParam<>(baseParam, QlyIsptItem.class);
        return R.ok().add(qlyIsptItemService.page(pageParam, pageParam.buildWrapper(true)));
    }
    @PreAuthorize("hasAuthority('manager:qlyIsptItem:list')")
    @PostMapping("/qlyIsptItem/list")
    public R list(@RequestBody Map<String, Object> map) {
        return R.ok().add(qlyIsptItemService.list());
    }
    @PreAuthorize("hasAuthority('manager:qlyIsptItem:list')")
    @PostMapping({"/qlyIsptItem/many/{ids}", "/qlyIsptItems/many/{ids}"})
    public R many(@PathVariable Long[] ids) {
        return R.ok().add(qlyIsptItemService.listByIds(Arrays.asList(ids)));
    }
    @PreAuthorize("hasAuthority('manager:qlyIsptItem:list')")
    @GetMapping("/qlyIsptItem/{id}")
    public R get(@PathVariable("id") Long id) {
        return R.ok().add(qlyIsptItemService.getById(id));
    }
    @PreAuthorize("hasAuthority('manager:qlyIsptItem:save')")
    @OperationLog("Create 质检信息")
    @PostMapping("/qlyIsptItem/save")
    public R save(@RequestBody QlyIsptItem qlyIsptItem) {
        qlyIsptItem.setCreateBy(getLoginUserId());
        qlyIsptItem.setCreateTime(new Date());
        qlyIsptItem.setUpdateBy(getLoginUserId());
        qlyIsptItem.setUpdateTime(new Date());
        if (!qlyIsptItemService.save(qlyIsptItem)) {
            return R.error("Save Fail");
        }
        return R.ok("Save Success").add(qlyIsptItem);
    }
    @PreAuthorize("hasAuthority('manager:qlyIsptItem:update')")
    @OperationLog("Update 质检信息")
    @PostMapping("/qlyIsptItem/update")
    public R update(@RequestBody QlyIsptItem qlyIsptItem) {
        qlyIsptItem.setUpdateBy(getLoginUserId());
        qlyIsptItem.setUpdateTime(new Date());
        if (!qlyIsptItemService.updateById(qlyIsptItem)) {
            return R.error("Update Fail");
        }
        return R.ok("Update Success").add(qlyIsptItem);
    }
    @PreAuthorize("hasAuthority('manager:qlyIsptItem:remove')")
    @OperationLog("Delete 质检信息")
    @PostMapping("/qlyIsptItem/remove/{ids}")
    public R remove(@PathVariable Long[] ids) {
        if (!qlyIsptItemService.removeByIds(Arrays.asList(ids))) {
            return R.error("Delete Fail");
        }
        return R.ok("Delete Success").add(ids);
    }
    @PreAuthorize("hasAuthority('manager:qlyIsptItem:list')")
    @PostMapping("/qlyIsptItem/query")
    public R query(@RequestParam(required = false) String condition) {
        List<KeyValVo> vos = new ArrayList<>();
        LambdaQueryWrapper<QlyIsptItem> wrapper = new LambdaQueryWrapper<>();
        if (!Cools.isEmpty(condition)) {
            wrapper.like(QlyIsptItem::getId, condition);
        }
        qlyIsptItemService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
                item -> vos.add(new KeyValVo(item.getId(), item.getId()))
        );
        return R.ok().add(vos);
    }
    @PreAuthorize("hasAuthority('manager:qlyIsptItem:list')")
    @PostMapping("/qlyIsptItem/export")
    public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
        ExcelUtil.build(ExcelUtil.create(qlyIsptItemService.list(), QlyIsptItem.class), response);
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyInspect.java
@@ -10,6 +10,7 @@
import com.vincent.rsf.server.system.service.UserService;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
@@ -17,6 +18,7 @@
import java.util.Date;
@Data
@Accessors(chain = true)
@TableName("man_qly_inspect")
public class QlyInspect implements Serializable {
@@ -35,29 +37,15 @@
    @ApiModelProperty(value= "编码")
    private String code;
    /**
     * 名称
     */
    @ApiModelProperty(value= "名称")
    private String name;
    /**
     * 标签码
     */
    @ApiModelProperty(value= "标签码")
    private String barcode;
    /**
     * 通知单明细标识
     */
    @ApiModelProperty(value= "通知单明细标识")
    @ApiModelProperty("通知单明细ID")
    private Long asnItemId;
    /**
     * PO单明细标识
     * 业务类型
     */
    @ApiModelProperty(value= "PO单明细标识")
    private Long poItemId;
    @ApiModelProperty(value= "业务类型")
    private String wkType;
    /**
     * 合格数量
@@ -66,15 +54,27 @@
    private Double safeQty;
    /**
     * 不合格数量
     * 送货数量
     */
    @ApiModelProperty(value= "不合格数量")
    private Double disQty;
    @ApiModelProperty(value= "送货数量")
    private Double dlyQty;
    /**
     * 状态 3:  部分合格   2: 不合格   1: 合格   0: 未检查
     * 收货数量
     */
    @ApiModelProperty(value= "状态 3:  部分合格   2: 不合格   1: 合格   0: 未检查  ")
    @ApiModelProperty(value= "收货数量")
    private Double rcptQty;
    /**
     * 质检数量
     */
    @ApiModelProperty(value= "质检数量")
    private Double isptQty;
    /**
     * 状态 1: 质检完成  0: 待质检   2: 质检中   3: 关闭
     */
    @ApiModelProperty(value= "状态 1: 质检完成  0: 待质检   2: 质检中   3: 关闭  ")
    private Integer status;
    /**
@@ -124,14 +124,13 @@
    public QlyInspect() {}
    public QlyInspect(String code, String name, String barcode, Long asnItemId, Long poItemId, Double safeQty, Double disQty, Integer status, Integer deleted, Integer tenantId, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
    public QlyInspect(String code, String wkType, Double safeQty, Double dlyQty, Double rcptQty, Double isptQty, Integer status, Integer deleted, Integer tenantId, Long createBy, Date createTime, Long updateBy, Date updateTime, String memo) {
        this.code = code;
        this.name = name;
        this.barcode = barcode;
        this.asnItemId = asnItemId;
        this.poItemId = poItemId;
        this.wkType = wkType;
        this.safeQty = safeQty;
        this.disQty = disQty;
        this.dlyQty = dlyQty;
        this.rcptQty = rcptQty;
        this.isptQty = isptQty;
        this.status = status;
        this.deleted = deleted;
        this.tenantId = tenantId;
@@ -144,12 +143,11 @@
//    QlyInspect qlyInspect = new QlyInspect(
//            null,    // 编码[非空]
//            null,    // 名称
//            null,    // 标签码
//            null,    // 通知单明细标识
//            null,    // PO单明细标识
//            null,    // 业务类型
//            null,    // 合格数量
//            null,    // 不合格数量
//            null,    // 送货数量
//            null,    // 收货数量
//            null,    // 质检数量
//            null,    // 状态[非空]
//            null,    // 是否删除[非空]
//            null,    // 租户
@@ -163,14 +161,14 @@
    public String getStatus$(){
        if (null == this.status){ return null; }
        switch (this.status){
            case 3:
                return " 部分合格";
            case 1:
                return "质检完成";
            case 0:
                return "待质检";
            case  2:
                return "不合格";
            case  1:
                return "合格";
            case  0:
                return "未检查";
                return "质检中";
            case  3:
                return "关闭";
            default:
                return String.valueOf(this.status);
        }
@@ -207,8 +205,6 @@
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
    }
    public Boolean getStatusBool(){
        if (null == this.status){ return null; }
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/QlyIsptItem.java
New file
@@ -0,0 +1,266 @@
package com.vincent.rsf.server.manager.entity;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.SpringUtils;
import com.vincent.rsf.server.system.service.UserService;
import com.vincent.rsf.server.system.entity.User;
import java.io.Serializable;
import java.util.Date;
@Data
@TableName("man_qly_ispt_item")
public class QlyIsptItem implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * ID
     */
    @ApiModelProperty(value= "ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 主单ID
     */
    @ApiModelProperty(value= "主单ID")
    private Long ispectId;
    /**
     * 编号
     */
    @ApiModelProperty(value= "编号")
    private String matnrCode;
    /**
     * 物料名称
     */
    @ApiModelProperty(value= "物料名称")
    private String maktx;
    /**
     * 标签
     */
    @ApiModelProperty(value= "标签")
    private String label;
    /**
     * 供应商名称
     */
    @ApiModelProperty(value= "供应商名称")
    private String splrName;
    /**
     * 供应商批次
     */
    @ApiModelProperty(value= "供应商批次")
    private String splrBatch;
    /**
     * 库存批次
     */
    @ApiModelProperty(value= "库存批次")
    private String stockBatch;
    /**
     * 收货数量
     */
    @ApiModelProperty(value= "收货数量")
    private Double rcptQty;
    /**
     * 送货数量
     */
    @ApiModelProperty(value= "送货数量")
    private Double dlyQty;
    /**
     * 不合数量
     */
    @ApiModelProperty(value= "不合数量")
    private Double disQty;
    /**
     * 合格数量
     */
    @ApiModelProperty(value= "合格数量")
    private Double safeQty;
    /**
     * 图片路径
     */
    @ApiModelProperty(value= "图片路径")
    private String picPath;
    /**
     * 状态 1: 正常  0: 冻结
     */
    @ApiModelProperty(value= "状态 1: 正常  0: 冻结  ")
    private Integer status;
    /**
     * 是否删除 1: 是  0: 否
     */
    @ApiModelProperty(value= "是否删除 1: 是  0: 否  ")
    @TableLogic
    private Integer deleted;
    /**
     * 租户
     */
    @ApiModelProperty(value= "租户")
    private Integer tenantId;
    /**
     * 添加人员
     */
    @ApiModelProperty(value= "添加人员")
    private Long createBy;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 修改人员
     */
    @ApiModelProperty(value= "修改人员")
    private Long updateBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 备注
     */
    @ApiModelProperty(value= "备注")
    private String memo;
    public QlyIsptItem() {}
    public QlyIsptItem(Long ispectId,String matnrCode,String maktx,String label,String splrName,String splrBatch,String stockBatch,Double rcptQty,Double dlyQty,Double disQty,Double safeQty,String picPath,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
        this.ispectId = ispectId;
        this.matnrCode = matnrCode;
        this.maktx = maktx;
        this.label = label;
        this.splrName = splrName;
        this.splrBatch = splrBatch;
        this.stockBatch = stockBatch;
        this.rcptQty = rcptQty;
        this.dlyQty = dlyQty;
        this.disQty = disQty;
        this.safeQty = safeQty;
        this.picPath = picPath;
        this.status = status;
        this.deleted = deleted;
        this.tenantId = tenantId;
        this.createBy = createBy;
        this.createTime = createTime;
        this.updateBy = updateBy;
        this.updateTime = updateTime;
        this.memo = memo;
    }
//    QlyIsptItem qlyIsptItem = new QlyIsptItem(
//            null,    // 主单ID
//            null,    // 编号
//            null,    // 物料名称
//            null,    // 标签
//            null,    // 供应商名称
//            null,    // 供应商批次
//            null,    // 库存批次
//            null,    // 收货数量
//            null,    // 送货数量
//            null,    // 不合数量
//            null,    // 合格数量
//            null,    // 图片路径
//            null,    // 状态[非空]
//            null,    // 是否删除[非空]
//            null,    // 租户
//            null,    // 添加人员
//            null,    // 添加时间[非空]
//            null,    // 修改人员
//            null,    // 修改时间[非空]
//            null    // 备注
//    );
    public String getStatus$(){
        if (null == this.status){ return null; }
        switch (this.status){
            case 1:
                return "正常";
            case 0:
                return "冻结";
            default:
                return String.valueOf(this.status);
        }
    }
    public String getCreateBy$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.getById(this.createBy);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getNickname());
        }
        return null;
    }
    public String getCreateTime$(){
        if (Cools.isEmpty(this.createTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
    }
    public String getUpdateBy$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.getById(this.updateBy);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getNickname());
        }
        return null;
    }
    public String getUpdateTime$(){
        if (Cools.isEmpty(this.updateTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
    }
    public Boolean getStatusBool(){
        if (null == this.status){ return null; }
        switch (this.status){
            case 1:
                return true;
            case 0:
                return false;
            default:
                return null;
        }
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/StockItem.java
@@ -381,7 +381,7 @@
        QlyInspectService service = SpringUtils.getBean(QlyInspectService.class);
        QlyInspect qlyInspect = service.getById(this.inspectId);
        if (!Cools.isEmpty(qlyInspect)){
            return String.valueOf(qlyInspect.getName());
            return String.valueOf(qlyInspect.getCode());
        }
        return null;
    }
rsf-server/src/main/java/com/vincent/rsf/server/manager/mapper/QlyIsptItemMapper.java
New file
@@ -0,0 +1,12 @@
package com.vincent.rsf.server.manager.mapper;
import com.vincent.rsf.server.manager.entity.QlyIsptItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface QlyIsptItemMapper extends BaseMapper<QlyIsptItem> {
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/QlyIsptItemService.java
New file
@@ -0,0 +1,8 @@
package com.vincent.rsf.server.manager.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vincent.rsf.server.manager.entity.QlyIsptItem;
public interface QlyIsptItemService extends IService<QlyIsptItem> {
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderServiceImpl.java
@@ -5,6 +5,7 @@
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.api.entity.dto.PoItemsDto;
import com.vincent.rsf.server.api.service.ReceiveMsgService;
import com.vincent.rsf.server.api.service.ReportMsgService;
import com.vincent.rsf.server.manager.entity.AsnOrderItem;
import com.vincent.rsf.server.manager.mapper.AsnOrderItemMapper;
import com.vincent.rsf.server.manager.mapper.AsnOrderMapper;
@@ -36,6 +37,8 @@
    @Autowired
    private ReceiveMsgService receiveMsgService;
    @Autowired
    private ReportMsgService reportMsgService;
    @Resource
    private PurchaseMapper purchaseMapper;
@@ -55,7 +58,7 @@
            throw new CoolException("ASN单据不能为空!!");
        }
        List<PoItemsDto> items = purchaseMapper.poList(asnIds);
        if (receiveMsgService.reportInspectNotify(items)) {
        if (reportMsgService.reportInspectNotify(items)) {
            return true;
        } else {
            return false;
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyIsptItemServiceImpl.java
New file
@@ -0,0 +1,12 @@
package com.vincent.rsf.server.manager.service.impl;
import com.vincent.rsf.server.manager.mapper.QlyIsptItemMapper;
import com.vincent.rsf.server.manager.entity.QlyIsptItem;
import com.vincent.rsf.server.manager.service.QlyIsptItemService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service("qlyIsptItemService")
public class QlyIsptItemServiceImpl extends ServiceImpl<QlyIsptItemMapper, QlyIsptItem> implements QlyIsptItemService {
}
rsf-server/src/main/java/com/vincent/rsf/server/test/controller/QlyInspectController.java
New file
@@ -0,0 +1,110 @@
package com.vincent.rsf.server.test.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.server.common.utils.ExcelUtil;
import com.vincent.rsf.server.common.annotation.OperationLog;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.KeyValVo;
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.test.entity.QlyInspect;
import com.vincent.rsf.server.test.service.QlyInspectService;
import com.vincent.rsf.server.system.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
@RestController
public class QlyInspectController extends BaseController {
    @Autowired
    private QlyInspectService qlyInspectService;
    @PreAuthorize("hasAuthority('test:qlyInspect:list')")
    @PostMapping("/qlyInspect/page")
    public R page(@RequestBody Map<String, Object> map) {
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<QlyInspect, BaseParam> pageParam = new PageParam<>(baseParam, QlyInspect.class);
        return R.ok().add(qlyInspectService.page(pageParam, pageParam.buildWrapper(true)));
    }
    @PreAuthorize("hasAuthority('test:qlyInspect:list')")
    @PostMapping("/qlyInspect/list")
    public R list(@RequestBody Map<String, Object> map) {
        return R.ok().add(qlyInspectService.list());
    }
    @PreAuthorize("hasAuthority('test:qlyInspect:list')")
    @PostMapping({"/qlyInspect/many/{ids}", "/qlyInspects/many/{ids}"})
    public R many(@PathVariable Long[] ids) {
        return R.ok().add(qlyInspectService.listByIds(Arrays.asList(ids)));
    }
    @PreAuthorize("hasAuthority('test:qlyInspect:list')")
    @GetMapping("/qlyInspect/{id}")
    public R get(@PathVariable("id") Long id) {
        return R.ok().add(qlyInspectService.getById(id));
    }
    @PreAuthorize("hasAuthority('test:qlyInspect:save')")
    @OperationLog("Create 质检信息")
    @PostMapping("/qlyInspect/save")
    public R save(@RequestBody QlyInspect qlyInspect) {
        qlyInspect.setCreateBy(getLoginUserId());
        qlyInspect.setCreateTime(new Date());
        qlyInspect.setUpdateBy(getLoginUserId());
        qlyInspect.setUpdateTime(new Date());
        if (!qlyInspectService.save(qlyInspect)) {
            return R.error("Save Fail");
        }
        return R.ok("Save Success").add(qlyInspect);
    }
    @PreAuthorize("hasAuthority('test:qlyInspect:update')")
    @OperationLog("Update 质检信息")
    @PostMapping("/qlyInspect/update")
    public R update(@RequestBody QlyInspect qlyInspect) {
        qlyInspect.setUpdateBy(getLoginUserId());
        qlyInspect.setUpdateTime(new Date());
        if (!qlyInspectService.updateById(qlyInspect)) {
            return R.error("Update Fail");
        }
        return R.ok("Update Success").add(qlyInspect);
    }
    @PreAuthorize("hasAuthority('test:qlyInspect:remove')")
    @OperationLog("Delete 质检信息")
    @PostMapping("/qlyInspect/remove/{ids}")
    public R remove(@PathVariable Long[] ids) {
        if (!qlyInspectService.removeByIds(Arrays.asList(ids))) {
            return R.error("Delete Fail");
        }
        return R.ok("Delete Success").add(ids);
    }
    @PreAuthorize("hasAuthority('test:qlyInspect:list')")
    @PostMapping("/qlyInspect/query")
    public R query(@RequestParam(required = false) String condition) {
        List<KeyValVo> vos = new ArrayList<>();
        LambdaQueryWrapper<QlyInspect> wrapper = new LambdaQueryWrapper<>();
        if (!Cools.isEmpty(condition)) {
            wrapper.like(QlyInspect::getId, condition);
        }
        qlyInspectService.page(new Page<>(1, 30), wrapper).getRecords().forEach(
                item -> vos.add(new KeyValVo(item.getId(), item.getId()))
        );
        return R.ok().add(vos);
    }
    @PreAuthorize("hasAuthority('test:qlyInspect:list')")
    @PostMapping("/qlyInspect/export")
    public void export(@RequestBody Map<String, Object> map, HttpServletResponse response) throws Exception {
        ExcelUtil.build(ExcelUtil.create(qlyInspectService.list(), QlyInspect.class), response);
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/test/entity/QlyInspect.java
New file
@@ -0,0 +1,222 @@
package com.vincent.rsf.server.test.entity;
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.vincent.rsf.framework.common.Cools;
import com.vincent.rsf.framework.common.SpringUtils;
import com.vincent.rsf.server.system.service.UserService;
import com.vincent.rsf.server.system.entity.User;
import java.io.Serializable;
import java.util.Date;
@Data
@TableName("man_qly_inspect")
public class QlyInspect implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * ID
     */
    @ApiModelProperty(value= "ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 编码
     */
    @ApiModelProperty(value= "编码")
    private String code;
    /**
     * 业务类型
     */
    @ApiModelProperty(value= "业务类型")
    private String wkType;
    /**
     * 合格数量
     */
    @ApiModelProperty(value= "合格数量")
    private Double safeQty;
    /**
     * 送货数量
     */
    @ApiModelProperty(value= "送货数量")
    private Double dlyQty;
    /**
     * 收货数量
     */
    @ApiModelProperty(value= "收货数量")
    private Double rcptQty;
    /**
     * 质检数量
     */
    @ApiModelProperty(value= "质检数量")
    private Double isptQty;
    /**
     * 状态 1: 质检完成  0: 待质检   2: 质检中   3: 关闭
     */
    @ApiModelProperty(value= "状态 1: 质检完成  0: 待质检   2: 质检中   3: 关闭  ")
    private Integer status;
    /**
     * 是否删除 1: 是  0: 否
     */
    @ApiModelProperty(value= "是否删除 1: 是  0: 否  ")
    @TableLogic
    private Integer deleted;
    /**
     * 租户
     */
    @ApiModelProperty(value= "租户")
    private Integer tenantId;
    /**
     * 添加人员
     */
    @ApiModelProperty(value= "添加人员")
    private Long createBy;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 修改人员
     */
    @ApiModelProperty(value= "修改人员")
    private Long updateBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 备注
     */
    @ApiModelProperty(value= "备注")
    private String memo;
    public QlyInspect() {}
    public QlyInspect(String code,String wkType,Double safeQty,Double dlyQty,Double rcptQty,Double isptQty,Integer status,Integer deleted,Integer tenantId,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo) {
        this.code = code;
        this.wkType = wkType;
        this.safeQty = safeQty;
        this.dlyQty = dlyQty;
        this.rcptQty = rcptQty;
        this.isptQty = isptQty;
        this.status = status;
        this.deleted = deleted;
        this.tenantId = tenantId;
        this.createBy = createBy;
        this.createTime = createTime;
        this.updateBy = updateBy;
        this.updateTime = updateTime;
        this.memo = memo;
    }
//    QlyInspect qlyInspect = new QlyInspect(
//            null,    // 编码[非空]
//            null,    // 业务类型
//            null,    // 合格数量
//            null,    // 送货数量
//            null,    // 收货数量
//            null,    // 质检数量
//            null,    // 状态[非空]
//            null,    // 是否删除[非空]
//            null,    // 租户
//            null,    // 添加人员
//            null,    // 添加时间[非空]
//            null,    // 修改人员
//            null,    // 修改时间[非空]
//            null    // 备注
//    );
    public String getStatus$(){
        if (null == this.status){ return null; }
        switch (this.status){
            case 1:
                return "质检完成";
            case 0:
                return "待质检";
            case  2:
                return "质检中";
            case  3:
                return "关闭";
            default:
                return String.valueOf(this.status);
        }
    }
    public String getCreateBy$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.getById(this.createBy);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getNickname());
        }
        return null;
    }
    public String getCreateTime$(){
        if (Cools.isEmpty(this.createTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
    }
    public String getUpdateBy$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.getById(this.updateBy);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getNickname());
        }
        return null;
    }
    public String getUpdateTime$(){
        if (Cools.isEmpty(this.updateTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
    }
    public Boolean getStatusBool(){
        if (null == this.status){ return null; }
        switch (this.status){
            case 1:
                return true;
            case 0:
                return false;
            default:
                return null;
        }
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/test/mapper/QlyInspectMapper.java
New file
@@ -0,0 +1,12 @@
package com.vincent.rsf.server.test.mapper;
import com.vincent.rsf.server.test.entity.QlyInspect;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface QlyInspectMapper extends BaseMapper<QlyInspect> {
}
rsf-server/src/main/java/com/vincent/rsf/server/test/service/QlyInspectService.java
New file
@@ -0,0 +1,8 @@
package com.vincent.rsf.server.test.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.vincent.rsf.server.test.entity.QlyInspect;
public interface QlyInspectService extends IService<QlyInspect> {
}
rsf-server/src/main/java/com/vincent/rsf/server/test/service/impl/QlyInspectServiceImpl.java
New file
@@ -0,0 +1,12 @@
package com.vincent.rsf.server.test.service.impl;
import com.vincent.rsf.server.test.mapper.QlyInspectMapper;
import com.vincent.rsf.server.test.entity.QlyInspect;
import com.vincent.rsf.server.test.service.QlyInspectService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service("qlyInspectService")
public class QlyInspectServiceImpl extends ServiceImpl<QlyInspectMapper, QlyInspect> implements QlyInspectService {
}
rsf-server/src/main/resources/mapper/manager/QlyIsptItemMapper.xml
New 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.vincent.rsf.server.manager.mapper.QlyIsptItemMapper">
</mapper>