Commit 45e5ab99 by 李小惠

删除没用的实体类 ,控制层,输出类,输入类,业务层,数据层;新增报表接口代码

parent f07ab58d
...@@ -63,4 +63,11 @@ public class InventorySumDto { ...@@ -63,4 +63,11 @@ public class InventorySumDto {
*number 库存数量 *number 库存数量
*/ */
private Integer number; private Integer number;
private Integer ckStockNumber;
private Integer djgStockNumber;
private Integer ckOutboundNumber;
private Integer djgOutboundNumber;
private Integer totalNumber;
private Integer destructionNumber;
} }
...@@ -87,7 +87,7 @@ public class OrderDto implements Serializable { ...@@ -87,7 +87,7 @@ public class OrderDto implements Serializable {
private Date useDate; private Date useDate;
private String createUser; private String createUser;
private Integer allocateType; private String allocateType;
private String repairName; private String repairName;
private String destoryName; private String destoryName;
......
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
import java.io.Serializable;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/3 13:21
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
public class ProductBatchDto implements Serializable {
/**
* 批次编号
*/
private Long batchId;
/**
* 批次号
*/
private String batchNo;
/**
* 产品编号
*/
private Long productId;
/**
* 产品名称
*/
private String productName;
/**
* 广告语
*/
private String adInfo;
/**
* 号型编号
*/
private Long specId;
/**
* 号型
*/
private String spec;
/**
* 重量
*/
private String weight;
/**
* 材质
*/
private String material;
/**
* 计划生产数
*/
private Integer total;
/**
* 是否复检完成
*/
private Boolean hasFinish;
/**
* 是否初始化完成
*/
private Boolean hasInit;
/**
* 已生产数量
*/
private Integer doneNum;
/**
* 初始化数量
*/
private Integer initNum;
}
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
import java.io.Serializable;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/3 13:21
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
public class ProductProcessDto implements Serializable {
/**
* 批次编号
*/
private Long batchId;
/**
* 批次号
*/
private String batchNo;
/**
* 产品编号
*/
private Long productId;
/**
* 产品名称
*/
private String productName;
/**
* 广告语
*/
private String adInfo ;
/**
* 号型编号
*/
private Long specId;
/**
* 号型
*/
private String spec;
/**
* 重量
*/
private String weight;
/**
* 材质
*/
private String material;
/**
* 计划生产数
*/
private Integer total;
/**
* 是否复检完成
*/
private Boolean hasFinish;
/**
* 是否初始化完成
*/
private Boolean hasInit;
/**
* 已自检数量
*/
private Integer checkedNum;
/**
* 待自检数量
*/
private Integer waitingNum;
}
package com.junmp.jyzb.api.bean.dto;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/5 15:32
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
public class ProductTagDto implements Serializable {
private Long tagId ;
private String productCode ;
private String password;
private String ciphertext ;
private String productName ;
private Date produceTime ;
private String spec ;
private String material ;
private String weight ;
private String companyName ;
private String adInfo ;
}
package com.junmp.jyzb.api.bean.dto.TjDto;
import lombok.Data;
import java.util.List;
@Data
public class FinalTjOrgEqsDto {
// 合计总数
private Integer totalNumber;
// 合计仓库在库数
private Integer ckStockNumber;
// 合计单警柜在库数
private Integer djgStockNumber;
// 合计仓库出库数
private Integer ckOutboundNumber;
// 合计单警柜出库数
private Integer djgOutboundNumber;
// 合计销毁数
private Integer destructionNumber;
// 每个组织机构的装备数
private List<TjOrgEqsDto> tjOrgEqsDto;
}
package com.junmp.jyzb.api.bean.dto.TjDto;
import lombok.Data;
import java.math.BigDecimal;
import java.util.List;
@Data
public class FinalTjOrgPriceDto {
// 合计年初数量
private Integer startNum;
// 合计年初金额
private BigDecimal startPrice;
// 合计年末数量
private Integer endNum;
// 合计年末金额
private BigDecimal endPrice;
// 合计本年度新增数量
private Integer addNum;
// 合计本年度销毁数量
private Integer destoryNum;
// 组织机构装备新增情况list
private List<TjOrgPriceDto> tjOrgPriceDto;
}
package com.junmp.jyzb.api.bean.dto; package com.junmp.jyzb.api.bean.dto.TjDto;
import lombok.Data; import lombok.Data;
...@@ -48,6 +48,5 @@ public class TjOrgEqsDto { ...@@ -48,6 +48,5 @@ public class TjOrgEqsDto {
*/ */
private Integer destructionNumber; private Integer destructionNumber;
private List<EqsSumDto> children;
} }
package com.junmp.jyzb.api.bean.dto.TjDto;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class TjOrgPriceDto {
/**
* 组织机构id
*/
private Long orgId;
/**
* 组织机构名称
*/
private String orgName;
/**
* 组织机构编码
*/
private String orgCode;
/**
* 上层组织机构id
*/
private Long parentId;
// 年初数量
private Integer startNum;
// 年初金额
private BigDecimal startPrice;
// 年末数量
private Integer endNum;
// 年末金额
private BigDecimal endPrice;
// 本年度新增数量
private Integer addNum;
// 本年度销毁数量
private Integer destoryNum;
private String sizeId;
private String sizeName;
private String typeId;
private String typeName;
}
package com.junmp.jyzb.api.bean.query;
import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.validator.api.validators.unique.TableUniqueValue;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/2 10:11
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ProductBatchReq extends BaseRequest {
/**
* 批次主键
*/
@NotNull(message = "批次主键不能为空", groups = {edit.class, delete.class, detail.class})
private Long batchId;
/**
* 批次编号
*/
@NotBlank(message = "批次号不能为空", groups = {edit.class})
@TableUniqueValue(
message = "批次号重复",
groups = {edit.class},
tableName = "biz_product_batch",
columnName = "batch_no",
idFieldName = "batch_id")
private String batchNo;
/**
* 产品编号
*/
@NotNull(message = "批次主键不能为空", groups = {edit.class, add.class})
private Long productId;
/**
* 关联号型
*/
private Long specId;
/**
* 生产总量
*/
@NotNull(message = "批次主键不能为空", groups = {edit.class, add.class})
private Integer total;
/**
* 序号前缀
*/
private String prefix;
}
package com.junmp.jyzb.api.bean.query;
import com.junmp.v2.common.bean.request.BaseRequest;
import com.junmp.v2.validator.api.validators.unique.TableUniqueValue;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 16:29
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ProductReq extends BaseRequest {
@NotNull(message = "产品主键不能为空", groups = {edit.class, delete.class, detail.class})
private Long productId;
/**
* 产品代码
*/
@NotBlank(message = "产品编码不能为空", groups = {edit.class})
@TableUniqueValue(
message = "编码重复",
groups = {edit.class},
tableName = "biz_product",
columnName = "product_code",
idFieldName = "product_id")
private String productCode;
/**
* 产品当前序号
*/
private Integer sn;
/**
* 产品名称
*/
private String name;
/**
* 条码信息
*/
private String barcode;
/**
* 重量
*/
private String weight;
/**
* 规格尺寸
*/
private String spec;
/**
* 材质
*/
private String material;
/**
* 计量单位
*/
private String unit;
/**
* 广告信息
*/
private String adInfo;
/**
* 图片地址
*/
private String imageUrl;
/**
* 生产厂家编号
*/
private Long mfBizId;
/**
* 生产厂家名称
*/
private String mfBizName;
}
package com.junmp.jyzb.api.bean.query;
import com.junmp.v2.common.bean.request.BaseRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
import java.util.Date;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 18:28
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ProductSkuReq extends BaseRequest {
@NotNull(message = "号型主键不能为空", groups = {edit.class, delete.class, detail.class})
private Long specId;
private String skuCode ;
/**
* 号型
*/
private String spec;
/**
* 重量
*/
private String weight;
/**
* 材质
*/
private String material;
/**
* 关联产品
*/
private Long productId;
/**
* 预览属性1
*/
private String attr1;
/**
* 预览属性2
*/
private String attr2;
/**
* 预览属性3
*/
private String attr3;
}
package com.junmp.jyzb.api.bean.query;
import com.junmp.v2.common.bean.request.BaseRequest;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/2 14:36
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class ProductTagReq extends BaseRequest {
/**
* 标签编号
*/
@NotNull(message = "标签编号不能为空", groups = {edit.class, delete.class, detail.class})
private Long tagId;
private String tagUid;
/**
* 成品码(批次+序号)
*/
private String productCode;
/**
* 关联生成批次编号
*/
@NotNull(message = "批次不能为空", groups = {add.class})
private Long batchId;
/**
* 关联生成产品主键
*/
@NotNull(message = "产品不能为空", groups = {add.class})
private Long productId;
/**
* 关联生成号型主键
*/
@NotNull(message = "号型不能为空", groups = {add.class})
private Long specId;
/**
* 产品序号
*/
private Integer serialId;
/**
* 版本编号
*/
private String versionNo;
/**
* 密码
*/
private String password;
/**
* 密文内容
*/
private String ciphertext;
}
...@@ -124,7 +124,7 @@ public class QueryBusFormReq extends BaseRequest { ...@@ -124,7 +124,7 @@ public class QueryBusFormReq extends BaseRequest {
/** /**
* 调拨类型(2支拨,1价拨) * 调拨类型(2支拨,1价拨)
*/ */
private Integer allocateType; private String allocateType;
/** /**
* 备注 * 备注
......
...@@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode; ...@@ -6,6 +6,7 @@ import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.List;
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
...@@ -27,4 +28,6 @@ public class QueryEquipmentSizeReq extends BaseRequest { ...@@ -27,4 +28,6 @@ public class QueryEquipmentSizeReq extends BaseRequest {
private Integer state; private Integer state;
private String instructions; private String instructions;
private List<String> typeIdsList;
} }
package com.junmp.jyzb.api.bean.query.TjReq;
import lombok.Data;
import java.util.List;
@Data
public class TjOrgEqsReq {
//组织机构
private Long orgId;
List<String> typeIdsList;
private List<String> sizeNameList;
}
package com.junmp.jyzb.api.bean.query.TjReq;
import lombok.Data;
import java.util.List;
@Data
public class TjOrgPriceReq {
//组织机构
private Long orgId;
//类型idList
List<String> typeIdsList;
//号型名称list
private List<String> sizeNameList;
//年
private Integer year;
}
...@@ -124,7 +124,7 @@ public class UpdateBusFormReq extends BaseRequest { ...@@ -124,7 +124,7 @@ public class UpdateBusFormReq extends BaseRequest {
/** /**
* 调拨类型(2支拨,1价拨) * 调拨类型(2支拨,1价拨)
*/ */
private Integer allocateType; private String allocateType;
/** /**
* 备注 * 备注
......
...@@ -139,7 +139,7 @@ public class UpdateOrderReq extends BaseRequest implements Serializable { ...@@ -139,7 +139,7 @@ public class UpdateOrderReq extends BaseRequest implements Serializable {
/** /**
* 调拨类型(2支拨,1价拨),调拨出入库才有 * 调拨类型(2支拨,1价拨),调拨出入库才有
*/ */
private Integer allocateType; private String allocateType;
/** /**
* 归还人id,归还入库特有(相当于领用人) * 归还人id,归还入库特有(相当于领用人)
......
...@@ -75,5 +75,18 @@ public class EquipmentSizeController { ...@@ -75,5 +75,18 @@ public class EquipmentSizeController {
return ApiRes.success(equipmentSizeService.changeSizeState(req)); return ApiRes.success(equipmentSizeService.changeSizeState(req));
} }
//根据typeId返回号型名称
@PostMapping("/searchByTypeIds")
@ApiOperation("/根据装备类型返回装备号型名称")
public ApiRes<List<String>> searchByTypeIds(@RequestBody QueryEquipmentSizeReq req ){
return ApiRes.success(equipmentSizeService.getByTypeIds(req));
}
@PostMapping("/selectByTypeIds")
@ApiOperation("/根据装备类型返回装备所有装备子集")
public ApiRes<List<String>> selectByTypeIds(@RequestBody QueryEquipmentSizeReq req ){
return ApiRes.success(equipmentSizeService.selectByTypeIds(req.getTypeIdsList()));
}
} }
...@@ -254,7 +254,7 @@ public class InventoryController { ...@@ -254,7 +254,7 @@ public class InventoryController {
//调用存储过程将汇总信息进行插入 //调用存储过程将汇总信息进行插入
@PostMapping("/insertToSummary") @PostMapping("/insertToSummary")
@ApiOperation("将汇总信息进行插入") @ApiOperation("将汇总信息进行插入更新")
public ApiRes<Boolean> insertToSummary(){ public ApiRes<Boolean> insertToSummary(){
return ApiRes.success(inventorySummaryService.insertToSummary()); return ApiRes.success(inventorySummaryService.insertToSummary());
} }
......
package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.junmp.jyzb.api.bean.dto.ProductBatchDto;
import com.junmp.jyzb.api.bean.dto.ProductProcessDto;
import com.junmp.jyzb.api.bean.query.ProductBatchReq;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.doc.ProductBatchDoc;
import com.junmp.jyzb.entity.ProductBatch;
import com.junmp.jyzb.entity.ProductTag;
import com.junmp.jyzb.service.ProductBatchService;
import com.junmp.jyzb.service.ProductTagService;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.exception.enums.DefaultBizExceptionEnum;
import com.junmp.v2.db.api.page.PageResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 17:59
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
* 20221109 ning 修改初始化重复成品码严重的BUG.
* </pre>
*/
@RestController
@Slf4j
@RequestMapping("/api")
public class ProductBatchController implements ProductBatchDoc {
@Resource
private ProductBatchService productBatchService;
@Resource
private ProductTagService productTagService;
@PostMapping(path = "/batch/produce", name = "生产产品批次")
public ApiRes<Boolean> makeProduct(@RequestBody @Validated(ValidationApi.detail.class) ProductBatchReq req) {
if (ObjectUtil.isNotNull(req) && ObjectUtil.isNotNull(req.getBatchId())) {
ProductBatchDto dto = productBatchService.getBatchDetail(req.getBatchId());
List<ProductTag> list = batchTagInfo(dto);
if (null != list && list.size() > 0) {
productTagService.saveBatch(list);
//更新已完成
ProductBatch pb = new ProductBatch();
pb.setBatchId(req.getBatchId());
pb.setHasInit(true);
productBatchService.updateById(pb);
return ApiRes.success();
} else {
return ApiRes.failure("没有可生产数据");
}
} else {
return ApiRes.failure(DefaultBizExceptionEnum.VALID_PARAMS_ERROR);
}
}
@PostMapping(path = "/batch", name = "新增产品批次")
@Override
public ApiRes<Boolean> addProductBatch(@RequestBody @Validated(ValidationApi.add.class) ProductBatchReq req) {
boolean flag = productBatchService.addProductBatch(req);
if (flag) {
return ApiRes.success();
} else {
log.warn(StrUtil.format("请求的参数:{}", JSONUtil.toJsonStr(req)));
return ApiRes.failure(StrUtil.format("保存失败"));
}
}
@PutMapping(path = "/batch", name = "更新产品批次")
@Override
public ApiRes<Boolean> editProductBatch(@RequestBody @Validated(ValidationApi.edit.class) ProductBatchReq req) {
boolean flag = productBatchService.editProductBatch(req);
if (flag) {
return ApiRes.success();
} else {
log.warn(StrUtil.format("请求的参数:{}", JSONUtil.toJsonStr(req)));
return ApiRes.failure(StrUtil.format("更新失败"));
}
}
@DeleteMapping(path = "/batch", name = "删除产品批次")
@Override
public ApiRes<Boolean> delBatch(@RequestBody @Validated(ValidationApi.delete.class) ProductBatchReq req) {
try {
boolean flag = productBatchService.del(req);
if (flag) {
return ApiRes.success();
} else {
return ApiRes.failure("删除失败");
}
} catch (ServiceException ex) {
return ApiRes.failure(ex.getMessage());
}
}
@GetMapping(path = "/batch/page", name = "分页批次数据")
@Override
public ApiRes<PageResult<ProductBatchDto>> getPage(ProductBatchReq req) {
return ApiRes.success(productBatchService.findPage(req));
}
@GetMapping(path = "/batch/process/page", name = "分页批次数据")
@Override
public ApiRes<PageResult<ProductProcessDto>> getProcessPage(ProductBatchReq req) {
return ApiRes.success(productBatchService.findProcessPage(req));
}
/**
* 批次信息
*
*
*/
private List<ProductTag> batchTagInfo(ProductBatchDto batch) {
if (batch.getHasInit()) {
throw new ServiceException(ProductExceptionEnum.BATCH_PROCESSED_DONE);
} else {
List<ProductTag> list = new ArrayList<>();
Integer total = batch.getTotal();
//修改已知的BUG 。重复成品码的根源
Integer initVal = batch.getInitNum() > 0 ? batch.getInitNum() + 1 : 1;
for (; initVal <= total; initVal++) {
ProductTag tag = new ProductTag();
tag.setBatchId(batch.getBatchId());
tag.setProductId(batch.getProductId());
tag.setSpecId(batch.getSpecId());
tag.setProduceTime(new Date());
tag.setSerialId(initVal);
//成品码
StringBuilder sb = new StringBuilder();
String serialNo = GenCodeUtil.splicingZero(String.valueOf(initVal), 4);
sb.append(batch.getBatchNo())
.append(serialNo);
tag.setProductCode(sb.toString());
tag.setHasInit(false);
tag.setHasChecked(false);
list.add(tag);
}
return list;
}
}
}
package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.query.ProductReq;
import com.junmp.jyzb.doc.ProductDoc;
import com.junmp.jyzb.entity.Product;
import com.junmp.jyzb.service.ProductService;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 16:25
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@RestController
@Slf4j
@RequestMapping("/api")
public class ProductController implements ProductDoc {
@Resource
private ProductService productService;
@PostMapping(path = "/product", name = "新增产品")
@Override
public ApiRes<Boolean> addProduct(@RequestBody @Validated(ProductReq.add.class) ProductReq req) {
return ApiRes.success(productService.addProduct(req));
}
@PutMapping(path = "/product", name = "编辑产品")
@Override
public ApiRes<Boolean> editProduct(@RequestBody @Validated(ProductReq.edit.class) ProductReq req) {
return ApiRes.success(productService.editProduct(req));
}
@GetMapping(path = "/product", name = "产品列表")
@Override
public ApiRes<List<Product>> list(ProductReq req) {
return ApiRes.success(productService.findList(req));
}
@DeleteMapping(path = "/product", name = "删除产品")
@Override
public ApiRes<Boolean> delProduct(@RequestBody @Validated(ProductReq.delete.class)ProductReq req) {
return ApiRes.success(productService.del(req));
}
@GetMapping(path = "/product/page", name = "产品分页")
@Override
public ApiRes<PageResult<Product>> page(ProductReq req) {
return ApiRes.success(productService.findPage(req));
}
}
package com.junmp.jyzb.controller;
import cn.hutool.core.util.ObjectUtil;
import com.junmp.jyzb.api.bean.query.ProductSkuReq;
import com.junmp.jyzb.api.bean.vo.ProductSkuVo;
import com.junmp.jyzb.doc.ProductSkuDoc;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.jyzb.service.ProductSkuService;
import com.junmp.v2.common.bean.request.ValidationApi;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.exception.enums.DefaultBizExceptionEnum;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.page.PageResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 17:59
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@RestController
@Slf4j
@RequestMapping("/api")
public class ProductSkuController implements ProductSkuDoc {
@Resource
private ProductSkuService productSkuService;
@PostMapping(path = "/spec", name = "新增号型")
@Override
public ApiRes<Boolean> addProductSku(@RequestBody @Validated(ProductSkuReq.add.class) ProductSkuReq req) {
try {
productSkuService.addProductSku(req);
return ApiRes.success();
} catch (ServiceException ex) {
log.error("新增号型异常>>" + ex.getMessage());
return ApiRes.failure(DefaultBizExceptionEnum.SYS_RUNTIME_ERROR);
}
}
@PutMapping(path = "/spec", name = "编辑号型")
@Override
public ApiRes<Boolean> editProductSku(@RequestBody @Validated(ProductSkuReq.edit.class)ProductSkuReq req) {
return ApiRes.success(productSkuService.editProductSku(req));
}
@DeleteMapping(path = "/spec", name = "删除号型")
@Override
public ApiRes<Boolean> del(@RequestBody @Validated(ValidationApi.delete.class)ProductSkuReq req) {
return ApiRes.success(productSkuService.del(req));
}
@GetMapping(path = "/spec/page", name = "分页号型")
@Override
public ApiRes<PageResult<ProductSku>> page(ProductSkuReq req) {
return ApiRes.success(productSkuService.findPage(req));
}
@GetMapping(path = "/spec/getByProduct", name = "获取指定产品号型列表")
@Override
public ApiRes<List<ProductSkuVo>> listByProduct(ProductSkuReq req) {
if (ObjectUtil.isNotNull(req) && ObjectUtil.isNotNull(req.getProductId())) {
List<ProductSku> list = productSkuService.findList(req);
return ApiRes.success(BeanPlusUtil.toBeanList(list, ProductSkuVo.class));
} else {
return ApiRes.failure("产品编号不能为空");
}
}
}
package com.junmp.jyzb.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.HexUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.junmp.jyzb.api.bean.dto.ProductTagDto;
import com.junmp.jyzb.api.bean.query.ProductTagReq;
import com.junmp.jyzb.api.bean.vo.TagInfoVo;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.doc.ProductTagDoc;
import com.junmp.jyzb.entity.ProductTag;
import com.junmp.jyzb.service.ProductTagService;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.common.exception.enums.DefaultBizExceptionEnum;
import com.junmp.v2.db.api.page.PageResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.Date;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Set;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 17:59
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@RestController
@Slf4j
@RequestMapping("/api")
public class ProductTagController implements ProductTagDoc {
@Resource
private ProductTagService productTagService;
/**
* 前端参数包括:batchId 和 tagUid
*/
@PostMapping(path = "/tag/updateUid", name = "更新标签UID")
@Override
public ApiRes<TagInfoVo> updateUid(@RequestBody ProductTagReq req) {
ProductTag info = productTagService.checkTagUid(req);
info.setTagUid(req.getTagUid());
info.setHasInit(true);
boolean flag = productTagService.updateById(info);
if (flag) {
String hexStr = HexUtil.encodeHexStr(info.getProductCode());
return ApiRes.success(TagInfoVo.builder().tagId(info.getTagId()).content(hexStr).build());
} else {
return ApiRes.failure("UID数据更新失败");
}
}
/**
* 前端参数包括:tagId,password,ciphertext
*/
@PostMapping(path = "/tag/updateContent", name = "更新内容")
@Override
public ApiRes<TagInfoVo> updateContent(@RequestBody ProductTagReq req) {
if (ObjectUtil.isNotNull(req) && ObjectUtil.isNotNull(req.getTagId())) {
ProductTag info = productTagService.getById(req.getTagId());
if (null != info) {
info.setPassword(req.getPassword());
info.setCiphertext(req.getCiphertext());
boolean flag = productTagService.updateById(info);
if (flag) {
//查询视图获取数据
ProductTagDto dto = productTagService.getTagInfo(req.getTagId());
StringBuilder tmp = new StringBuilder();
Set<String> params = new LinkedHashSet<>();
if (StrUtil.isNotBlank(dto.getCompanyName())) {
tmp.append("厂家:{}\n");
params.add(dto.getCompanyName());
}
if (StrUtil.isNotBlank(dto.getProductName())) {
tmp.append("名称:{}\n");
params.add(dto.getProductName());
}
if (StrUtil.isNotBlank(dto.getSpec())) {
tmp.append("规格:{}\n");
params.add(dto.getSpec());
}
if (StrUtil.isNotBlank(dto.getMaterial())) {
tmp.append("材质:{}\n");
params.add(dto.getMaterial());
}
if (StrUtil.isNotBlank(dto.getWeight())) {
tmp.append("重量:{}\n");
params.add(dto.getWeight());
}
//厂家:{}\n日期:{}
tmp.append("编号:{}\n");
params.add(dto.getProductCode());
//写入广告语
if (StrUtil.isNotBlank(dto.getAdInfo())) {
tmp.append("{}\n");
params.add(dto.getAdInfo());
}
log.info(StrUtil.format("待写入的模板:{}", tmp.toString()));
//String abc = "名称:{}\n规格:{}\n重量:{}\n厂家:{}\n日期:{}\n编号:{}\n";
String content = StrUtil.format(tmp.toString(), params.toArray());
log.info(StrUtil.format("写入的内容:{}", content));
TagInfoVo infoVo = TagInfoVo.builder()
.tagId(req.getTagId())
.productCode(dto.getCiphertext())
.content(content).build();
log.info(StrUtil.format("写入芯片的内容>>", JSONUtil.toJsonStr(info)));
return ApiRes.success(infoVo);
} else {
return ApiRes.failure("UID数据更新失败");
}
} else {
return ApiRes.failure(ProductExceptionEnum.TAG_INFO_NOT_EXISTS);
}
} else {
return ApiRes.failure(DefaultBizExceptionEnum.VALID_PARAMS_ERROR);
}
}
/**
* 前端参数:tagUid,productCode
*/
@PostMapping(path = "/tag/check", name = "复检接口")
public ApiRes<Boolean> checkTag(@RequestBody ProductTagReq req) {
if (ObjectUtil.isNotNull(req) &&
ObjectUtil.isNotNull(req.getTagUid()) &&
ObjectUtil.isNotNull(req.getProductCode())) {
String code = HexUtil.decodeHexStr(req.getProductCode());
req.setProductCode(code);
List<ProductTag> list = productTagService.findList(req);
if (CollectionUtil.isNotEmpty(list) && list.size() == 1) {
ProductTag tag = list.get(0);
log.info(StrUtil.format("复检结果为:{}", JSONUtil.toJsonStr(tag)));
if (tag.getHasChecked()) {
log.warn("该产品已完成自检,编号为:{}", req.getTagUid());
return ApiRes.success();
}
if (ObjectUtil.isNotNull(tag)) {
//更新为已经复检
tag.setHasChecked(true);
tag.setCheckTime(new Date());
productTagService.updateById(tag);
return ApiRes.success();
} else {
return ApiRes.failure(ProductExceptionEnum.TAG_INFO_NOT_EXISTS);
}
} else {
return ApiRes.failure(ProductExceptionEnum.TAG_INFO_REPEAT_ERROR);
}
} else {
return ApiRes.failure(DefaultBizExceptionEnum.VALID_PARAMS_ERROR);
}
}
@GetMapping(path = "/tag/page", name = "分页标签")
public ApiRes<PageResult<ProductTag>> getPage(ProductTagReq req) {
return ApiRes.success(productTagService.findPage(req));
}
}
...@@ -2,8 +2,6 @@ package com.junmp.jyzb.controller; ...@@ -2,8 +2,6 @@ package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.dto.ESOrgDto; import com.junmp.jyzb.api.bean.dto.ESOrgDto;
import com.junmp.jyzb.api.bean.dto.OrgDto; import com.junmp.jyzb.api.bean.dto.OrgDto;
import com.junmp.jyzb.api.bean.dto.OrgTreeDto;
import com.junmp.jyzb.api.bean.query.ProductSkuReq;
import com.junmp.jyzb.api.bean.query.QueryOrgReq; import com.junmp.jyzb.api.bean.query.QueryOrgReq;
import com.junmp.jyzb.api.bean.req.UpdateOrgReq; import com.junmp.jyzb.api.bean.req.UpdateOrgReq;
import com.junmp.jyzb.service.PubOrgService; import com.junmp.jyzb.service.PubOrgService;
...@@ -13,7 +11,6 @@ import com.junmp.v2.common.bean.response.ApiRes; ...@@ -13,7 +11,6 @@ import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.lang.Nullable;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
......
package com.junmp.jyzb.controller; package com.junmp.jyzb.controller;
import com.junmp.jyzb.api.bean.dto.TjOrgEqsDto; import com.junmp.jyzb.api.bean.dto.InventorySumDto;
import com.junmp.jyzb.api.bean.dto.TjDto.FinalTjOrgEqsDto;
import com.junmp.jyzb.api.bean.dto.TjDto.FinalTjOrgPriceDto;
import com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto;
import com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto;
import com.junmp.jyzb.api.bean.query.InventoryReq; import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.service.InventoryService; import com.junmp.jyzb.api.bean.query.TjReq.TjOrgEqsReq;
import com.junmp.jyzb.service.PubOrgService; import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq;
import com.junmp.jyzb.service.TjService; import com.junmp.jyzb.service.TjService;
import com.junmp.v2.common.bean.response.ApiRes; import com.junmp.v2.common.bean.response.ApiRes;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -27,14 +31,36 @@ public class TjController { ...@@ -27,14 +31,36 @@ public class TjController {
private TjService tjService; private TjService tjService;
/** /**
* 根据组织机构统计装备的报表数据 * 根据组织机构统计装备的报表数据(外层数据)
*/ */
@PostMapping("/TjOrgEqs") @PostMapping("/TjOrgEqs")
@ApiOperation("/装备统计报表") @ApiOperation("/装备统计报表")
public ApiRes<List<TjOrgEqsDto>> TjOrgEqs(@RequestBody InventoryReq req){ public ApiRes<FinalTjOrgEqsDto> TjOrgEqs(@RequestBody TjOrgEqsReq req){
// return ApiRes.success(tjService.showOrgList(req.getOrgId(),true)); return ApiRes.success(tjService.TjOrgEqs(req));
return ApiRes.success(tjService.showOrgEqsList(req));
} }
//装备统计报表(点击+后里面的数据)
@PostMapping("/TjOrgEqsDetail")
@ApiOperation("/根据添加查询组织机构下的装备统计")
public ApiRes<List<InventorySumDto>> TjOrgEqsDetail(@RequestBody TjOrgEqsReq req){
return ApiRes.success(tjService.TjOrgEqsDetail(req));
}
//财务统计报表
@PostMapping("/TjOrgPrice")
@ApiOperation("/财务统计报表")
public ApiRes<FinalTjOrgPriceDto> TjOrgPrice(@RequestBody TjOrgPriceReq req){
return ApiRes.success(tjService.TjOrgPrice(req));
}
//财务统计报表(点击+后里面的数据)
@PostMapping("/TjOrgPriceDetail")
@ApiOperation("/根据添加查询组织机构下的财务统计")
public ApiRes<List<TjOrgPriceDto>> TjOrgPriceDetail(@RequestBody TjOrgPriceReq req){
return ApiRes.success(tjService.TjOrgPriceDetail(req));
}
@PostMapping("test") @PostMapping("test")
public ApiRes<List<TjOrgEqsDto>> test(@RequestBody InventoryReq req){ public ApiRes<List<TjOrgEqsDto>> test(@RequestBody InventoryReq req){
......
package com.junmp.jyzb.doc;
import com.junmp.jyzb.api.bean.dto.ProductBatchDto;
import com.junmp.jyzb.api.bean.dto.ProductProcessDto;
import com.junmp.jyzb.api.bean.query.ProductBatchReq;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 18:12
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Api(value = "生产管理", tags = "生产管理接口")
public interface ProductBatchDoc {
/**
* 生产标签
*
* @param req
*/
@ApiOperation(value = "生产初始化", tags = "生产管理接口")
ApiRes<Boolean> makeProduct(ProductBatchReq req);
/**
* 新增批次信息
*/
@ApiOperation(value = "新增批次信息", tags = "生产管理接口")
ApiRes<Boolean> addProductBatch(ProductBatchReq req);
/**
* 更新批次信息
*/
@ApiOperation(value = "更新批次信息", tags = "生产管理接口")
ApiRes<Boolean> editProductBatch(ProductBatchReq req);
/**
* 删除批次信息
*/
@ApiOperation(value = "删除批次信息", tags = "生产管理接口")
ApiRes<Boolean> delBatch(ProductBatchReq req);
/**
* 分页批次信息
*/
@ApiOperation(value = "分页批次信息", tags = "生产管理接口")
ApiRes<PageResult<ProductBatchDto>> getPage(ProductBatchReq req);
/**
* 分页批次信息
*/
@ApiOperation(value = "分页批次进度信息", tags = "生产管理接口")
ApiRes<PageResult<ProductProcessDto>> getProcessPage(ProductBatchReq req);
}
package com.junmp.jyzb.doc;
import com.junmp.jyzb.api.bean.query.ProductReq;
import com.junmp.jyzb.entity.Product;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 16:25
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Api(value = "产品管理", tags = "产品管理接口")
public interface ProductDoc {
/**
* 新增产品
*/
@ApiOperation(value = "新增产品", tags = "产品管理接口")
ApiRes<Boolean> addProduct(ProductReq req);
/**
* 更新产品
*/
@ApiOperation(value = "更新产品", tags = "产品管理接口")
ApiRes<Boolean> editProduct(ProductReq req);
/**
* 获取所有产品
*/
@ApiOperation(value = "获取所有产品", tags = "产品管理接口")
ApiRes<List<Product>> list(ProductReq req);
/**
* 删除产品
*/
@ApiOperation(value = "删除产品",tags = "产品管理接口")
ApiRes<Boolean> delProduct(ProductReq req);
/**
* 分页产品信息
*/
@ApiOperation(value = "分页产品信息", tags = "产品管理接口")
ApiRes<PageResult<Product>> page(ProductReq req);
}
package com.junmp.jyzb.doc;
import com.junmp.jyzb.api.bean.query.ProductSkuReq;
import com.junmp.jyzb.api.bean.vo.ProductSkuVo;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 18:00
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Api(value = "号型管理", tags = "产品号型接口")
public interface ProductSkuDoc {
/**
* 新增产品号型
*
* @param req
*/
@ApiOperation(value = "新增产品号型", tags = "产品号型接口")
ApiRes<Boolean> addProductSku(ProductSkuReq req);
/**
* 新增产品号型
*
* @param req
*/
@ApiOperation(value = "编辑号型", tags = "产品号型接口")
ApiRes<Boolean> editProductSku(ProductSkuReq req);
/**
* 新增产品号型
*
* @param req
*/
@ApiOperation(value = "删除号型", tags = "产品号型接口")
ApiRes<Boolean> del(ProductSkuReq req);
/**
* 新增产品号型
*
* @param req
*/
@ApiOperation(value = "分页产品信息", tags = "产品号型接口")
ApiRes<PageResult<ProductSku>> page(ProductSkuReq req);
/**
* 获取指定产品号型列表
*/
@ApiOperation(value = "获取指定产品号型列表", tags = "产品号型接口")
ApiRes<List<ProductSkuVo>> listByProduct(ProductSkuReq req);
}
package com.junmp.jyzb.doc;
import com.junmp.jyzb.api.bean.query.ProductTagReq;
import com.junmp.jyzb.api.bean.vo.TagInfoVo;
import com.junmp.jyzb.entity.ProductTag;
import com.junmp.v2.common.bean.response.ApiRes;
import com.junmp.v2.db.api.page.PageResult;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 18:10
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Api(value = "生产管理", tags = "生产管理接口")
public interface ProductTagDoc {
@ApiOperation(value = "更新产品UID", tags = "生产管理接口")
ApiRes<TagInfoVo> updateUid(ProductTagReq req);
@ApiOperation(value = "更新产品内容", tags = "生产管理接口")
ApiRes<TagInfoVo> updateContent(ProductTagReq req);
@ApiOperation(value = "产品复检", tags = "生产管理接口")
ApiRes<Boolean> checkTag(ProductTagReq req);
@ApiOperation(value = "分页接口", tags = "生产管理接口")
ApiRes<PageResult<ProductTag>> getPage(ProductTagReq req);
}
...@@ -148,7 +148,7 @@ public class BusForm implements Serializable { ...@@ -148,7 +148,7 @@ public class BusForm implements Serializable {
* 调拨类型(2支拨,1价拨) * 调拨类型(2支拨,1价拨)
*/ */
@TableField(value = "allocate_type") @TableField(value = "allocate_type")
private Integer allocateType; private String allocateType;
/** /**
* 备注 * 备注
......
...@@ -126,7 +126,7 @@ public class OrderMain implements Serializable { ...@@ -126,7 +126,7 @@ public class OrderMain implements Serializable {
* 调拨类型(2支拨,1价拨) * 调拨类型(2支拨,1价拨)
*/ */
@TableField("allocate_type") @TableField("allocate_type")
private Integer allocateType; private String allocateType;
/** /**
* 归还人,归还入库特有 * 归还人,归还入库特有
*/ */
......
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/29 16:54
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
@TableName("biz_product")
public class Product implements Serializable {
@TableId(value = "product_id", type = IdType.AUTO)
private Long productId;
/**
* 产品代码
*/
@TableField("product_code")
private String productCode;
/**
* 产品当前序号
*/
private Integer sn;
/**
* 产品名称
*/
private String name;
/**
* 条码信息
*/
private String barcode;
/**
* 计量单位
*/
private String unit;
/**
* 重量
*/
private String weight;
/**
* 规格尺寸
*/
private String spec;
/**
* 材质
*/
private String material;
/**
* 图片地址
*/
@TableField("image_url")
private String imageUrl;
/**
* 生产厂家编号
*/
@TableField("mf_biz_id")
private Long mfBizId;
/**
* 生产厂家名称
*/
@TableField(value = "mf_biz_name")
private String mfBizName;
/**
* 广告信息
*/
@TableField(value = "ad_info")
private String adInfo ;
/**
* 创建时间
*/
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
/**
* 更新时间
*/
@TableField(value = "update_time", fill = FieldFill.UPDATE)
private Date updateTime;
}
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* <pre>
*
* 描述:产品批次
* 版本:1.0.0
* 日期:2022/7/29 17:10
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
@TableName("biz_product_batch")
public class ProductBatch implements Serializable {
/**
* 批次主键
*/
@TableId(value = "batch_id", type = IdType.AUTO)
private Long batchId;
/**
* 批次编号
*/
@TableField(value = "batch_no")
private String batchNo;
private Integer sn;
/**
* 产品编号
*/
@TableField(value = "product_id")
private Long productId;
/**
* 关联号型
*/
@TableField(value = "spec_id")
private Long specId;
/**
* 生产总量
*/
private Integer total;
/**
* 序号前缀
*/
private String prefix;
/**
* 复检是否完成
*/
@TableField(value = "has_finish")
private Boolean hasFinish;
/**
* 生产是否完成
*/
@TableField(value = "has_init")
private Boolean hasInit;
/**
* 创建时间
*/
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
/**
* 更新时间
*/
@TableField(value = "update_time", fill = FieldFill.UPDATE)
private Date updateTime;
}
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
* <pre>
*
* 描述:产品SKU
* 版本:1.0.0
* 日期:2022/7/29 16:19
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
@TableName("biz_product_sku")
public class ProductSku implements Serializable {
@TableId(type = IdType.AUTO, value = "spec_id")
private Long specId;
/**
* 号型代码
*/
@TableField(value = "spec_code")
private String specCode;
/**
* SKU编码
*/
@TableField(value = "sku_code")
private String skuCode;
/**
* 序号
*/
private Integer sn;
/**
* 号型
*/
private String spec;
/**
* 重量
*/
private String weight;
/**
* 材质
*/
private String material;
/**
* 关联产品
*/
@TableField(value = "product_id")
private Long productId;
/**
* 预览属性1
*/
private String attr1;
/**
* 预览属性2
*/
private String attr2;
/**
* 预览属性3
*/
private String attr3;
}
package com.junmp.jyzb.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/29 16:16
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Data
@TableName("biz_product_tag")
public class ProductTag implements Serializable {
/**
* 标签编号
*/
@TableId(value = "tag_id", type = IdType.AUTO)
private Long tagId;
/**
* RFID uid
*/
@TableField(value = "tag_uid")
private String tagUid;
/**
* 成品码
*/
@TableField(value = "product_code")
private String productCode;
/**
* 关联生成批次编号
*/
@TableField(value = "batch_id")
private Long batchId;
/**
* 关联生成产品主键
*/
@TableField(value = "product_id")
private Long productId;
/**
* 关联生成号型主键
*/
@TableField(value = "spec_id")
private Long specId;
/**
* 产品序号
*/
@TableField(value = "serial_id")
private Integer serialId;
/**
* 版本编号
*/
@TableField(value = "version_no")
private String versionNo;
/**
* 密文内容
*/
private String ciphertext;
/**
* 生产日期
*/
@TableField(value = "produce_time")
private Date produceTime;
/**
* 复检时间
*/
@TableField(value = "check_time")
private Date checkTime ;
/**
* 密码
*/
private String password;
/**
* 是否初始化
*/
@TableField(value = "has_init")
private Boolean hasInit ;
/**
* 是否复检
*/
@TableField(value = "has_checked")
private Boolean hasChecked;
/**
* 创建时间
*/
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
/**
* 更新时间
*/
@TableField(value = "update_time", fill = FieldFill.UPDATE)
private Date updateTime;
}
...@@ -31,4 +31,8 @@ public interface EquipmentSizeMapper extends BaseMapper<EquipmentSize> { ...@@ -31,4 +31,8 @@ public interface EquipmentSizeMapper extends BaseMapper<EquipmentSize> {
@Param("name") String name, @Param("name") String name,
@Param("typeId") String typeId @Param("typeId") String typeId
); );
//根据typeId返回号型名称
List<String> searchByTypeIds(@Param("list") List<String> typeIdsList);
} }
\ No newline at end of file
...@@ -19,4 +19,8 @@ public interface EquipmentTypeMapper extends BaseMapper<EquipmentType> { ...@@ -19,4 +19,8 @@ public interface EquipmentTypeMapper extends BaseMapper<EquipmentType> {
void setTypeParentIds(); void setTypeParentIds();
List<String> selectByItems(@Param("list1") List<String> list1,
@Param("list2") List<String> list2,
@Param("list3") List<String> list3,
@Param("list4") List<String> list4);
} }
\ No newline at end of file
...@@ -2,12 +2,13 @@ package com.junmp.jyzb.mapper; ...@@ -2,12 +2,13 @@ package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.api.bean.dto.*; import com.junmp.jyzb.api.bean.dto.*;
import com.junmp.jyzb.api.bean.dto.TjDto.FinalTjOrgEqsDto;
import com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto;
import com.junmp.jyzb.api.bean.query.InventoryReq; import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.query.InventorySumReq; import com.junmp.jyzb.api.bean.query.InventorySumReq;
import com.junmp.jyzb.entity.InventorySummary; import com.junmp.jyzb.entity.InventorySummary;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
...@@ -47,4 +48,13 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> { ...@@ -47,4 +48,13 @@ public interface InventorySummaryMapper extends BaseMapper<InventorySummary> {
List<TjOrgEqsDto> selectDynamicView(); List<TjOrgEqsDto> selectDynamicView();
void insertToSummary(@Param("summaryTableName") String summaryTableName,@Param("sourceTableName") String sourceTableName, @Param("warrantyThreshold") Integer warrantyThreshold); void insertToSummary(@Param("summaryTableName") String summaryTableName,@Param("sourceTableName") String sourceTableName, @Param("warrantyThreshold") Integer warrantyThreshold);
List<TjOrgEqsDto> selectViewOrgeqsSum();
void useViewOrgeqs(@Param("sql") String sql);
//获取合计
FinalTjOrgEqsDto getSumByViewOrgeqsSum();
List<InventorySumDto> TjOrgEqsDetail(@Param("orgId") Long orgId, @Param("typeIdsList") List<String> typeIdsList, @Param("sizeNameList") List<String> sizeNameList);
} }
\ No newline at end of file
...@@ -2,7 +2,6 @@ package com.junmp.jyzb.mapper; ...@@ -2,7 +2,6 @@ package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.entity.OrderDetail; import com.junmp.jyzb.entity.OrderDetail;
import com.junmp.jyzb.entity.Product;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
......
...@@ -5,14 +5,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -5,14 +5,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.junmp.jyzb.api.bean.query.OrderMainReq; import com.junmp.jyzb.api.bean.query.OrderMainReq;
import com.junmp.jyzb.entity.OrderMain; import com.junmp.jyzb.entity.OrderMain;
import com.junmp.jyzb.entity.Product;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Mapper @Mapper
public interface OrderMainMapper extends BaseMapper<OrderMain> { public interface OrderMainMapper extends BaseMapper<OrderMain> {
Long addOrder(OrderMain order); Long addOrder(OrderMain order);
......
package com.junmp.jyzb.mapper; package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto;
import com.junmp.jyzb.entity.PriceSumSummary; import com.junmp.jyzb.entity.PriceSumSummary;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper @Mapper
public interface PriceSumSummaryMapper extends BaseMapper<PriceSumSummary> { public interface PriceSumSummaryMapper extends BaseMapper<PriceSumSummary> {
...@@ -22,4 +26,14 @@ public interface PriceSumSummaryMapper extends BaseMapper<PriceSumSummary> { ...@@ -22,4 +26,14 @@ public interface PriceSumSummaryMapper extends BaseMapper<PriceSumSummary> {
* 存储过程-月末差值计算统计 * 存储过程-月末差值计算统计
*/ */
void MonthDifference (); void MonthDifference ();
List<TjOrgPriceDto> TjOrgPrice(@Param("orgId") Long orgId,
@Param("year") Integer year,
@Param("typeIdsList")List<String> typeIdsList,
@Param("sizeNameList") List<String> sizeNameList);
List<TjOrgPriceDto> TjOrgPriceDetail(@Param("orgId") Long orgId,
@Param("year") Integer year,
@Param("typeIdsList")List<String> typeIdsList,
@Param("sizeNameList") List<String> sizeNameList);
} }
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.junmp.jyzb.api.bean.dto.ProductBatchDto;
import com.junmp.jyzb.api.bean.dto.ProductProcessDto;
import com.junmp.jyzb.api.bean.query.ProductBatchReq;
import com.junmp.jyzb.entity.ProductBatch;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/30 13:43
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Mapper
public interface ProductBatchMapper extends BaseMapper<ProductBatch> {
/**
* 获取当前最大序号
*/
Integer getMaxSn();
/**
* 指定批次的生成进度
*
* @param batchId 批次号
*/
ProductBatchDto getBatchProcess(@Param("batchId") Long batchId);
/**
* 分页
*
* @param page
* @param req
*/
Page<ProductBatchDto> getBatchPage(@Param("page") Page<ProductBatchDto> page, @Param("batch") ProductBatchReq req);
/**
* 分页
*
* @param page
* @param req
*/
Page<ProductProcessDto> getBatchProcessPage(@Param("page") Page<ProductProcessDto> page, @Param("batch") ProductBatchReq req);
}
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.entity.Product;
import org.apache.ibatis.annotations.Mapper;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/30 13:44
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Mapper
public interface ProductMapper extends BaseMapper<Product> {
/**
* 获取当前最大序号
*/
Integer getMaxSn();
}
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.entity.ProductSku;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/29 16:25
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Mapper
public interface ProductSkuMapper extends BaseMapper<ProductSku> {
/**
* 获取当前产品最大序号
*
* @param productId 产品编号
*/
Integer getMaxSn(@Param("productId") Long productId);
/**
* 删除产品对应的号型
*
* @param productId 产品编号
*/
boolean delByProductId(@Param("productId") Long productId);
}
package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.api.bean.dto.ProductTagDto;
import com.junmp.jyzb.api.bean.dto.SimpleTagDto;
import com.junmp.jyzb.entity.ProductTag;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/30 13:45
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Mapper
public interface ProductTagMapper extends BaseMapper<ProductTag> {
/**
* 从指定批次取一条未生成的标签数据
*
* @param batchId 批次号
*/
SimpleTagDto getInitTagInfo(@Param("batchId") Long batchId);
/**
* 获取TAG
*/
ProductTagDto getTagInfoByTagId(@Param("tagId") Long tagId);
}
package com.junmp.jyzb.mapper; package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.api.bean.dto.OrgDto; import com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto;
import com.junmp.jyzb.api.bean.dto.TjOrgEqsDto;
import com.junmp.jyzb.entity.PubOrg; import com.junmp.jyzb.entity.PubOrg;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map;
@Mapper @Mapper
public interface PubOrgMapper extends BaseMapper<PubOrg> { public interface PubOrgMapper extends BaseMapper<PubOrg> {
......
package com.junmp.jyzb.mapper; package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.entity.Product;
import com.junmp.jyzb.entity.Supplier; import com.junmp.jyzb.entity.Supplier;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper @Mapper
public interface SupplierMapper extends BaseMapper<Supplier> { public interface SupplierMapper extends BaseMapper<Supplier> {
......
package com.junmp.jyzb.mapper; package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.entity.Product;
import com.junmp.jyzb.entity.Shelf; import com.junmp.jyzb.entity.Shelf;
import com.junmp.jyzb.entity.WarehouseArea; import com.junmp.jyzb.entity.WarehouseArea;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
......
package com.junmp.jyzb.mapper; package com.junmp.jyzb.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.junmp.jyzb.entity.Product;
import com.junmp.jyzb.entity.Warehouse; import com.junmp.jyzb.entity.Warehouse;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
......
...@@ -25,4 +25,10 @@ public interface EquipmentSizeService extends IService<EquipmentSize> { ...@@ -25,4 +25,10 @@ public interface EquipmentSizeService extends IService<EquipmentSize> {
List<EquipmentSizeDto> getAllSize(QueryEquipmentSizeReq req); List<EquipmentSizeDto> getAllSize(QueryEquipmentSizeReq req);
PageResult<EquipmentSizeDto> getSizePages(QueryEquipmentSizeReq req); PageResult<EquipmentSizeDto> getSizePages(QueryEquipmentSizeReq req);
//根据typeId返回号型名称
List<String> getByTypeIds(QueryEquipmentSizeReq req);
//根据
List<String> selectByTypeIds(List<String> typeIdsList);
} }
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.dto.ProductBatchDto;
import com.junmp.jyzb.api.bean.dto.ProductProcessDto;
import com.junmp.jyzb.api.bean.query.ProductBatchReq;
import com.junmp.jyzb.entity.ProductBatch;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/30 13:47
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
public interface ProductBatchService extends IService<ProductBatch> {
/**
* 新增
*
* @param req
*/
boolean addProductBatch(ProductBatchReq req);
/**
* 编辑
*
* @param req
*/
boolean editProductBatch(ProductBatchReq req);
/**
* 删除
*
* @param req
*/
boolean del(ProductBatchReq req);
/**
* 列表信息
*
* @param req
*/
List<ProductBatch> findList(ProductBatchReq req);
/**
* 分页信息
*
* @param req
*/
PageResult<ProductBatchDto> findPage(ProductBatchReq req);
/**
* 分页信息
*
* @param req
*/
PageResult<ProductProcessDto> findProcessPage(ProductBatchReq req);
/**
* 获取批次详细信息
*
* @param batchId
*/
ProductBatchDto getBatchDetail(Long batchId);
}
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.query.ProductReq;
import com.junmp.jyzb.entity.Product;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/30 13:46
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
public interface ProductService extends IService<Product> {
/**
* 新增
*
* @param req
*/
boolean addProduct(ProductReq req);
/**
* 编辑
*
* @param req
*/
boolean editProduct(ProductReq req);
/**
* 删除
*
* @param req
*/
boolean del(ProductReq req);
/**
* 列表信息
*
* @param req
*/
List<Product> findList(ProductReq req);
/**
* 分页信息
*
* @param req
*/
PageResult<Product> findPage(ProductReq req);
}
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.query.ProductSkuReq;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/29 16:25
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
public interface ProductSkuService extends IService<ProductSku> {
/**
* 新增
*
* @param req
*/
boolean addProductSku(ProductSkuReq req);
/**
* 编辑
*
* @param req
*/
boolean editProductSku(ProductSkuReq req);
/**
* 删除
*
* @param req
*/
boolean del(ProductSkuReq req);
/**
* 删除产品关联的号型
*
* @param productId
*/
boolean delByProductId(Long productId);
/**
* 列表信息
*
* @param req
*/
List<ProductSku> findList(ProductSkuReq req);
/**
* 分页信息
*
* @param req
*/
PageResult<ProductSku> findPage(ProductSkuReq req);
}
package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.dto.ProductTagDto;
import com.junmp.jyzb.api.bean.query.ProductTagReq;
import com.junmp.jyzb.entity.ProductTag;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 09:36
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
public interface ProductTagService extends IService<ProductTag> {
/**
* 新增
*
* @param req
*/
boolean addTagInfo(ProductTagReq req);
/**
* 编辑
*
* @param req
*/
boolean editTagInfo(ProductTagReq req);
/**
* 删除
*
* @param req
*/
boolean del(ProductTagReq req);
/**
* 去一条未生产的标签数据
*/
ProductTag checkTagUid(ProductTagReq req);
/**
*
*/
ProductTag findByUid(String tagUid);
/**
* 获取标签信息
*/
ProductTagDto getTagInfo(Long tagId);
/**
* 列表信息
*
* @param req
*/
List<ProductTag> findList(ProductTagReq req);
/**
* 分页信息
*
* @param req
*/
PageResult<ProductTag> findPage(ProductTagReq req);
}
...@@ -3,8 +3,6 @@ package com.junmp.jyzb.service; ...@@ -3,8 +3,6 @@ package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.dto.ESOrgDto; import com.junmp.jyzb.api.bean.dto.ESOrgDto;
import com.junmp.jyzb.api.bean.dto.OrgDto; import com.junmp.jyzb.api.bean.dto.OrgDto;
import com.junmp.jyzb.api.bean.dto.OrgTreeDto;
import com.junmp.jyzb.api.bean.dto.TjOrgEqsDto;
import com.junmp.jyzb.api.bean.query.QueryOrgReq; import com.junmp.jyzb.api.bean.query.QueryOrgReq;
import com.junmp.jyzb.api.bean.req.UpdateOrgReq; import com.junmp.jyzb.api.bean.req.UpdateOrgReq;
import com.junmp.jyzb.utils.ResponseResult; import com.junmp.jyzb.utils.ResponseResult;
......
package com.junmp.jyzb.service; package com.junmp.jyzb.service;
import com.junmp.jyzb.api.bean.dto.TjOrgEqsDto; import com.junmp.jyzb.api.bean.dto.InventorySumDto;
import com.junmp.jyzb.api.bean.dto.TjDto.FinalTjOrgEqsDto;
import com.junmp.jyzb.api.bean.dto.TjDto.FinalTjOrgPriceDto;
import com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto;
import com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto;
import com.junmp.jyzb.api.bean.query.InventoryReq; import com.junmp.jyzb.api.bean.query.InventoryReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgEqsReq;
import com.junmp.jyzb.api.bean.query.TjReq.TjOrgPriceReq;
import java.util.List; import java.util.List;
public interface TjService { public interface TjService {
//根据组织机构获取当前组织机构和下一级组织机构
List<TjOrgEqsDto> showOrgList(Long orgId, boolean flag);
List<TjOrgEqsDto> showOrgEqsList(InventoryReq req); List<TjOrgEqsDto> showOrgEqsList(InventoryReq req);
List<TjOrgEqsDto> test(InventoryReq req); List<TjOrgEqsDto> test(InventoryReq req);
//装备统计报表
FinalTjOrgEqsDto TjOrgEqs(TjOrgEqsReq req);
List<InventorySumDto> TjOrgEqsDetail(TjOrgEqsReq req);
//财务统计报表
FinalTjOrgPriceDto TjOrgPrice(TjOrgPriceReq req);
List<TjOrgPriceDto> TjOrgPriceDetail(TjOrgPriceReq req);
} }
package com.junmp.jyzb.service; package com.junmp.jyzb.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.junmp.jyzb.api.bean.dto.TriggerDto;
import com.junmp.jyzb.api.bean.dto.WarehouseAreaDto;
import com.junmp.jyzb.api.bean.query.QueryTriggerReq; import com.junmp.jyzb.api.bean.query.QueryTriggerReq;
import com.junmp.jyzb.api.bean.query.WarehouseAreaReq;
import com.junmp.jyzb.api.bean.req.UpdateTriggerReq; import com.junmp.jyzb.api.bean.req.UpdateTriggerReq;
import com.junmp.jyzb.api.bean.req.UpdateWarehouseAreaReq;
import com.junmp.jyzb.entity.ProductTag;
import com.junmp.jyzb.entity.Trigger; import com.junmp.jyzb.entity.Trigger;
import com.junmp.jyzb.entity.User;
import com.junmp.v2.db.api.page.PageResult;
import java.util.List; import java.util.List;
......
...@@ -5,22 +5,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; ...@@ -5,22 +5,16 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.Repository.SizeRepository; import com.junmp.jyzb.Repository.SizeRepository;
import com.junmp.jyzb.Repository.TypeRepository;
import com.junmp.jyzb.api.bean.dto.EquipmentSizeDto; import com.junmp.jyzb.api.bean.dto.EquipmentSizeDto;
import com.junmp.jyzb.api.bean.dto.EquipmentTypeDto;
import com.junmp.jyzb.api.bean.query.QueryEquipmentSizeReq; import com.junmp.jyzb.api.bean.query.QueryEquipmentSizeReq;
import com.junmp.jyzb.api.bean.query.QueryEquipmentTypeReq; import com.junmp.jyzb.api.bean.query.QueryEquipmentTypeReq;
import com.junmp.jyzb.api.bean.req.UpdateEquipmentSizeReq; import com.junmp.jyzb.api.bean.req.UpdateEquipmentSizeReq;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum; import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.entity.EquipmentSize; import com.junmp.jyzb.entity.EquipmentSize;
import com.junmp.jyzb.entity.EquipmentType; import com.junmp.jyzb.entity.EquipmentType;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.jyzb.mapper.EquipmentTypeMapper; import com.junmp.jyzb.mapper.EquipmentTypeMapper;
import com.junmp.jyzb.service.EquipmentSizeService; import com.junmp.jyzb.service.EquipmentSizeService;
import com.junmp.jyzb.utils.DateTimeUtil; import com.junmp.jyzb.service.EquipmentTypeService;
import com.junmp.jyzb.utils.HttpStatus;
import com.junmp.jyzb.utils.ResponseResult;
import com.junmp.jyzb.utils.ReturnMsg;
import com.junmp.v2.common.exception.base.ServiceException; import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil; import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory; import com.junmp.v2.db.api.factory.PageFactory;
...@@ -33,13 +27,18 @@ import com.junmp.jyzb.mapper.EquipmentSizeMapper; ...@@ -33,13 +27,18 @@ import com.junmp.jyzb.mapper.EquipmentSizeMapper;
import java.util.*; import java.util.*;
import static com.junmp.jyzb.utils.CheckBlank.checkNotBlank;
@Service @Service
public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, EquipmentSize> implements EquipmentSizeService { public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, EquipmentSize> implements EquipmentSizeService {
@Resource @Resource
private EquipmentSizeMapper equipmentSizeMapper; private EquipmentSizeMapper equipmentSizeMapper;
@Resource
private EquipmentTypeMapper equipmentTypeMapper;
@Resource
private EquipmentTypeService equipmentTypeService;
@Autowired @Autowired
private SizeRepository sizeRepository; private SizeRepository sizeRepository;
...@@ -115,6 +114,39 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E ...@@ -115,6 +114,39 @@ public class EquipmentSizeServiceImpl extends ServiceImpl<EquipmentSizeMapper, E
} }
//根据typeId返回号型名称
@Override
public List<String> getByTypeIds(QueryEquipmentSizeReq req) {
List<String> typeIdsList = req.getTypeIdsList();
List<String> idsList = selectByTypeIds(typeIdsList);
return equipmentSizeMapper.searchByTypeIds(idsList);
}
public List<String> selectByTypeIds(List<String> typeIdsList){
List<String> list1=new ArrayList<>();
List<String> list2=new ArrayList<>();
List<String> list3=new ArrayList<>();
List<String> list4=new ArrayList<>();
List<EquipmentType> list = equipmentTypeService.list(new LambdaQueryWrapper<EquipmentType>().in(EquipmentType::getId, typeIdsList));
for (EquipmentType equipmentType:list) {
//根据parentId判断他在第几层
String parentIds = equipmentType.getParentIds();
List<String> parentIdsList = Arrays.asList(parentIds.split(","));
//判断parentIdsList的长度,将他放在第几层的位置
if (parentIdsList.size()==1){
list1.add(equipmentType.getId());
} else if (parentIdsList.size()==2) {
list2.add(equipmentType.getId());
} else if (parentIdsList.size()==3) {
list3.add(equipmentType.getId());
}else {
list4.add(equipmentType.getId());
}
}
return equipmentTypeMapper.selectByItems(list1,list2,list3,list4);
}
private EquipmentSize querySize(UpdateEquipmentSizeReq req) { private EquipmentSize querySize(UpdateEquipmentSizeReq req) {
EquipmentSize app = this.getById(req.getId()); EquipmentSize app = this.getById(req.getId());
......
...@@ -253,8 +253,10 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa ...@@ -253,8 +253,10 @@ public class InventorySummaryServiceImpl extends ServiceImpl<InventorySummaryMa
@Override @Override
public boolean insertToSummary() { public boolean insertToSummary() {
String summaryTableName="base_inventory_summary"; String summaryTableName="base_inventory_summary_type2";
String sourceTableName="base_inventory"; String sourceTableName="base_inventory_copy1";
//临近报废设置配置值
//应该要去数据库进行查询,但是现在目前写死15天
Integer warrantyThreshold=15; Integer warrantyThreshold=15;
inventorySummaryMapper.insertToSummary(summaryTableName,sourceTableName,warrantyThreshold); inventorySummaryMapper.insertToSummary(summaryTableName,sourceTableName,warrantyThreshold);
return true; return true;
......
...@@ -113,6 +113,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -113,6 +113,7 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
@Resource @Resource
private StocktakeService stocktakeService; private StocktakeService stocktakeService;
private static final String REDIS_POLICE = "Policeman_"; private static final String REDIS_POLICE = "Policeman_";
private static final String REDIS_ORG = "Organization_"; private static final String REDIS_ORG = "Organization_";
...@@ -131,6 +132,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman ...@@ -131,6 +132,11 @@ public class PolicemanServiceImpl extends ServiceImpl<PolicemanMapper, Policeman
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public String AddPoliceman(UpdatePolicemanReq req) { public String AddPoliceman(UpdatePolicemanReq req) {
//判断传入的用户名是否存在
SysUser one = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getAccount, req.getAccount()));
if (one!=null){
throw new ServiceException(UserExceptionEnum.USER_IS_EXIST);
}
//查询传入的组织机构id是否存在 //查询传入的组织机构id是否存在
pubOrgService.PubOrgExist(req.getOrgId()); pubOrgService.PubOrgExist(req.getOrgId());
//绑定账号 //绑定账号
......
package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.dto.ProductBatchDto;
import com.junmp.jyzb.api.bean.dto.ProductProcessDto;
import com.junmp.jyzb.api.bean.query.ProductBatchReq;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.entity.ProductBatch;
import com.junmp.jyzb.mapper.ProductBatchMapper;
import com.junmp.jyzb.service.ProductBatchService;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.exception.enums.DefaultBizExceptionEnum;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/30 13:47
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Service
@Slf4j
public class ProductBatchServiceImpl extends ServiceImpl<ProductBatchMapper, ProductBatch> implements ProductBatchService {
@Override
public boolean addProductBatch(ProductBatchReq req) {
ProductBatch batch = new ProductBatch();
BeanPlusUtil.copyProperties(req, batch);
batch.setHasFinish(false);
batch.setHasInit(false);
Integer maxSn = baseMapper.getMaxSn();
Integer sn = maxSn + 1;
batch.setSn(sn);
String batchNo = GenCodeUtil.genBatchNo(sn);
batch.setBatchNo(batchNo);
return this.save(batch);
}
@Override
public boolean editProductBatch(ProductBatchReq req) {
ProductBatch batch = queryBatch(req);
//如果修改了生产数量大于开始的数量
if(batch.getHasInit() && (req.getTotal() < batch.getTotal())){
throw new ServiceException(ProductExceptionEnum.MODIFY_NUM_ERROR);
}
if (req.getTotal() > batch.getTotal()) {
batch.setHasInit(false);
}
BeanPlusUtil.copyProperties(req, batch);
return this.updateById(batch);
}
@Override
public boolean del(ProductBatchReq req) {
if (null != req && ObjectUtil.isNotNull(req.getBatchId())) {
ProductBatchDto batch = baseMapper.getBatchProcess(req.getBatchId());
if (ObjectUtil.isNull(batch)) {
//批次不存在
throw new ServiceException(ProductExceptionEnum.BATCH_NOT_EXIST);
} else {
if (!batch.getHasFinish() && (batch.getDoneNum() < 1)) {
return this.removeById(req.getBatchId());
} else {
throw new ServiceException(ProductExceptionEnum.BATCH_PROCESSED);
//生产中不能删除
}
}
} else {
//参数错误
throw new ServiceException(DefaultBizExceptionEnum.VALID_PARAMS_ERROR);
}
}
@Override
public List<ProductBatch> findList(ProductBatchReq req) {
return this.list(createWrapper(req));
}
@Override
public PageResult<ProductBatchDto> findPage(ProductBatchReq req) {
Page<ProductBatchDto> page = baseMapper.getBatchPage(PageFactory.getDefaultPage(req), req);
return PageResultFactory.createPageResult(page);
}
@Override
public PageResult<ProductProcessDto> findProcessPage(ProductBatchReq req) {
Page<ProductProcessDto> page = baseMapper.getBatchProcessPage(PageFactory.getDefaultPage(req), req);
return PageResultFactory.createPageResult(page);
}
@Override
public ProductBatchDto getBatchDetail(Long batchId) {
ProductBatchDto dto = baseMapper.getBatchProcess(batchId);
if (ObjectUtil.isNull(dto)) {
throw new ServiceException(ProductExceptionEnum.BATCH_NOT_EXIST);
}
return dto;
}
private ProductBatch queryBatch(ProductBatchReq req) {
ProductBatch app = this.getById(req.getBatchId());
if (ObjectUtil.isNull(app)) {
throw new ServiceException(ProductExceptionEnum.BATCH_NOT_EXIST);
}
return app;
}
private LambdaQueryWrapper<ProductBatch> createWrapper(ProductBatchReq req) {
LambdaQueryWrapper<ProductBatch> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)) {
return wrapper;
}
//根据业务编码查询
wrapper.like(ObjectUtil.isNotEmpty(req.getBatchNo()), ProductBatch::getBatchNo, req.getBatchNo());
//根据企业名称模糊查询
wrapper.eq(ObjectUtil.isNotEmpty(req.getProductId()), ProductBatch::getProductId, req.getProductId());
wrapper.eq(ObjectUtil.isNotEmpty(req.getSpecId()), ProductBatch::getSpecId, req.getSpecId());
wrapper.orderByDesc(ProductBatch::getCreateTime);
return wrapper;
}
}
package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.query.ProductReq;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.entity.Product;
import com.junmp.jyzb.mapper.ProductMapper;
import com.junmp.jyzb.service.ProductService;
import com.junmp.jyzb.service.ProductSkuService;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/30 13:46
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Service
@Slf4j
public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
@Resource
private ProductSkuService productSkuService;
@Override
public boolean addProduct(ProductReq req) {
Product product = new Product();
BeanPlusUtil.copyProperties(req, product);
Integer maxSn = baseMapper.getMaxSn();
//1-获取当前序号
Integer sn = maxSn + 1;
product.setSn(sn);
//2-获取当前编码
String code = GenCodeUtil.genProductCode(sn);
product.setProductCode(code);
return this.save(product);
}
@Override
public boolean editProduct(ProductReq req) {
Product product = this.queryProduct(req);
BeanPlusUtil.copyProperties(req, product);
return this.updateById(product);
}
@Override
@Transactional
public boolean del(ProductReq req) {
Product product = queryProduct(req);
this.removeById(req.getProductId());
//删除关联信息
productSkuService.delByProductId(product.getProductId());
return true;
}
@Override
public List<Product> findList(ProductReq req) {
LambdaQueryWrapper<Product> wrapper = createWrapper(req);
return this.list(wrapper);
}
@Override
public PageResult<Product> findPage(ProductReq req) {
LambdaQueryWrapper<Product> wrapper = createWrapper(req);
Page<Product> page = this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()), wrapper);
return PageResultFactory.createPageResult(page);
}
private Product queryProduct(ProductReq req) {
Product app = this.getById(req.getProductId());
if (ObjectUtil.isNull(app)) {
throw new ServiceException(ProductExceptionEnum.PRODUCT_NOT_EXIST);
}
return app;
}
private LambdaQueryWrapper<Product> createWrapper(ProductReq req) {
LambdaQueryWrapper<Product> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)) {
return wrapper;
}
//根据业务编码查询
wrapper.like(ObjectUtil.isNotEmpty(req.getProductCode()), Product::getProductCode, req.getProductCode());
//根据企业名称模糊查询
wrapper.like(ObjectUtil.isNotEmpty(req.getName()), Product::getName, req.getName());
wrapper.orderByDesc(Product::getCreateTime);
return wrapper;
}
}
package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.query.ProductSkuReq;
import com.junmp.jyzb.api.exception.JYZBAppException;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.entity.Product;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.jyzb.mapper.ProductSkuMapper;
import com.junmp.jyzb.service.ProductService;
import com.junmp.jyzb.service.ProductSkuService;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/7/29 16:26
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Slf4j
@Service
public class ProductSkuServiceImpl extends ServiceImpl<ProductSkuMapper, ProductSku> implements ProductSkuService {
@Resource
private ProductService productService;
@Override
public boolean addProductSku(ProductSkuReq req) {
ProductSku entity = new ProductSku();
BeanPlusUtil.copyProperties(req, entity);
Integer maxSn = baseMapper.getMaxSn(req.getProductId());
//1-获取当前序号
Integer sn = maxSn + 1;
entity.setSn(sn);
//2- 设置号型编号
String hxCode = GenCodeUtil.genSpecCode(sn);
entity.setSpecCode(hxCode);
//3-设置SKU代码
Product product = productService.getById(req.getProductId());
if (ObjectUtil.isNotNull(product)) {
entity.setSkuCode(GenCodeUtil.genSkuCode(product.getProductCode(), hxCode));
return this.save(entity);
} else {
log.warn(StrUtil.format("该产品不存在,编号为:{}", req.getProductId()));
throw new JYZBAppException(ProductExceptionEnum.PRODUCT_NOT_EXIST);
}
}
@Override
public boolean editProductSku(ProductSkuReq req) {
ProductSku entity = queryProductSku(req);
BeanPlusUtil.copyProperties(req, entity);
return this.updateById(entity);
}
@Override
public boolean del(ProductSkuReq req) {
ProductSku sku = queryProductSku(req);
return removeById(sku.getSpecId());
}
@Override
public boolean delByProductId(Long productId) {
return baseMapper.delByProductId(productId);
}
@Override
public List<ProductSku> findList(ProductSkuReq req) {
LambdaQueryWrapper<ProductSku> wp = createWrapper(req);
return this.list(wp);
}
@Override
public PageResult<ProductSku> findPage(ProductSkuReq req) {
LambdaQueryWrapper<ProductSku> wrapper = createWrapper(req);
Page<ProductSku> page = this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()), wrapper);
return PageResultFactory.createPageResult(page);
}
private ProductSku queryProductSku(ProductSkuReq req) {
ProductSku app = this.getById(req.getSpecId());
if (ObjectUtil.isNull(app)) {
throw new ServiceException(ProductExceptionEnum.PRODUCT_SKU_NOT_EXIST);
}
return app;
}
private LambdaQueryWrapper<ProductSku> createWrapper(ProductSkuReq req) {
LambdaQueryWrapper<ProductSku> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)) {
return wrapper;
}
//根据业务编码查询
wrapper.like(ObjectUtil.isNotEmpty(req.getSkuCode()), ProductSku::getSkuCode, req.getSkuCode());
//根据企业名称模糊查询
wrapper.eq(ObjectUtil.isNotEmpty(req.getProductId()), ProductSku::getProductId, req.getProductId());
wrapper.orderByDesc(ProductSku::getSn);
return wrapper;
}
}
package com.junmp.jyzb.service.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.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.dto.ProductTagDto;
import com.junmp.jyzb.api.bean.dto.SimpleTagDto;
import com.junmp.jyzb.api.bean.query.ProductTagReq;
import com.junmp.jyzb.api.exception.enums.ProductExceptionEnum;
import com.junmp.jyzb.entity.ProductTag;
import com.junmp.jyzb.mapper.ProductTagMapper;
import com.junmp.jyzb.service.ProductTagService;
import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import java.util.Date;
import java.util.List;
/**
* <pre>
*
* 描述:
* 版本:1.0.0
* 日期:2022/8/1 09:36
* 作者:ningzp@junmp.com.cn
* <br>修改记录
* <br>修改日期 修改人 修改内容
*
* </pre>
*/
@Service
@Slf4j
public class ProductTagServiceImpl extends ServiceImpl<ProductTagMapper, ProductTag> implements ProductTagService {
@Override
public boolean addTagInfo(ProductTagReq req) {
ProductTag tag = new ProductTag();
BeanPlusUtil.copyProperties(req, tag);
tag.setProduceTime(new Date());
tag.setHasChecked(false);
return this.save(tag);
}
@Override
public boolean editTagInfo(ProductTagReq req) {
return false;
}
@Override
public boolean del(ProductTagReq req) {
return false;
}
@Override
public ProductTag checkTagUid(ProductTagReq req) {
//1-查找TagUid是否绑定
ProductTag tag = findByUid(req.getTagUid());
if (ObjectUtil.isNull(tag)) {
//未绑定
SimpleTagDto dto = baseMapper.getInitTagInfo(req.getBatchId());
if (ObjectUtil.isNull(dto)) {
throw new ServiceException(ProductExceptionEnum.TAG_INFO_INIT_DONE);
}
tag = new ProductTag();
tag.setTagId(dto.getTagId());
tag.setProductCode(dto.getProductCode());
return tag;
} else {
//已绑定
//2-验证批次是否一致
if (StrUtil.equalsIgnoreCase(String.valueOf(req.getBatchId()),
String.valueOf(tag.getBatchId()))) {
return tag;
} else {
//抛出异常,标签已经绑定了
throw new ServiceException(ProductExceptionEnum.TAG_INFO_HAD_BINDING);
}
}
}
@Override
public ProductTag findByUid(String tagUid) {
ProductTagReq tmp = new ProductTagReq();
tmp.setTagUid(tagUid);
LambdaQueryWrapper<ProductTag> wp = createWrapper(tmp);
List<ProductTag> list = list(wp);
if (CollectionUtil.isNotEmpty(list)) {
return list.get(0);
} else {
return null;
}
}
@Override
public ProductTagDto getTagInfo(Long tagId) {
ProductTagDto dto = baseMapper.getTagInfoByTagId(tagId);
if (ObjectUtil.isNull(dto)) {
throw new ServiceException(ProductExceptionEnum.TAG_INFO_NOT_EXISTS);
}
return dto;
}
@Override
public List<ProductTag> findList(ProductTagReq req) {
LambdaQueryWrapper<ProductTag> wp = createWrapper(req);
return this.list(wp);
}
@Override
public PageResult<ProductTag> findPage(ProductTagReq req) {
LambdaQueryWrapper<ProductTag> wrapper = createWrapper(req);
Page<ProductTag> page = this.page(PageFactory.getDefaultPage(req.getPageNo(),req.getPageSize()), wrapper);
return PageResultFactory.createPageResult(page);
}
private LambdaQueryWrapper<ProductTag> createWrapper(ProductTagReq req) {
LambdaQueryWrapper<ProductTag> wrapper = new LambdaQueryWrapper<>();
if (ObjectUtil.isEmpty(req)) {
return wrapper;
}
//根据业务编码查询
wrapper.eq(ObjectUtil.isNotEmpty(req.getProductCode()), ProductTag::getProductCode, req.getProductCode());
wrapper.eq(ObjectUtil.isNotEmpty(req.getTagUid()), ProductTag::getTagUid, req.getTagUid());
wrapper.eq(ObjectUtil.isNotEmpty(req.getBatchId()), ProductTag::getBatchId, req.getBatchId());
wrapper.eq(ObjectUtil.isNotEmpty(req.getTagId()), ProductTag::getTagId, req.getTagId());
wrapper.eq(ProductTag::getHasInit, true);
wrapper.orderByDesc(ProductTag::getCheckTime);
return wrapper;
}
}
...@@ -2,29 +2,15 @@ package com.junmp.jyzb.service.impl; ...@@ -2,29 +2,15 @@ package com.junmp.jyzb.service.impl;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.dto.TriggerDto;
import com.junmp.jyzb.api.bean.query.ProductTagReq;
import com.junmp.jyzb.api.bean.query.QueryTriggerReq; import com.junmp.jyzb.api.bean.query.QueryTriggerReq;
import com.junmp.jyzb.api.bean.req.UpdateSupplierReq;
import com.junmp.jyzb.api.bean.req.UpdateTriggerReq; import com.junmp.jyzb.api.bean.req.UpdateTriggerReq;
import com.junmp.jyzb.api.exception.enums.SupplierExceptionEnum;
import com.junmp.jyzb.api.exception.enums.TriggerExceptionEnum; import com.junmp.jyzb.api.exception.enums.TriggerExceptionEnum;
import com.junmp.jyzb.api.exception.enums.WarehouseAreaExceptionEnum;
import com.junmp.jyzb.entity.ProductTag;
import com.junmp.jyzb.entity.Supplier;
import com.junmp.jyzb.entity.Trigger; import com.junmp.jyzb.entity.Trigger;
import com.junmp.jyzb.entity.WarehouseArea;
import com.junmp.jyzb.mapper.TriggerMapper; import com.junmp.jyzb.mapper.TriggerMapper;
import com.junmp.jyzb.mapper.WarehouseAreaMapper;
import com.junmp.jyzb.service.TriggerService; import com.junmp.jyzb.service.TriggerService;
import com.junmp.jyzb.service.WarehouseAreaService;
import com.junmp.v2.common.exception.base.ServiceException; import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil; import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.db.api.factory.PageResultFactory;
import com.junmp.v2.db.api.page.PageResult;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
......
package com.junmp.jyzb.service.impl; package com.junmp.jyzb.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.junmp.jyzb.api.bean.dto.WarehouseDto; import com.junmp.jyzb.api.bean.dto.WarehouseDto;
import com.junmp.jyzb.api.bean.query.ProductReq;
import com.junmp.jyzb.api.bean.query.WarehouseReq; import com.junmp.jyzb.api.bean.query.WarehouseReq;
import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq; import com.junmp.jyzb.api.bean.req.UpdateWarehouseReq;
import com.junmp.jyzb.api.exception.enums.WarehouseExceptionEnum; import com.junmp.jyzb.api.exception.enums.WarehouseExceptionEnum;
import com.junmp.jyzb.entity.*; import com.junmp.jyzb.entity.*;
import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum; import com.junmp.jyzb.api.exception.enums.CabinetExceptionEnum;
import com.junmp.jyzb.api.exception.enums.PubOrgExceptionEnum;
import com.junmp.jyzb.mapper.*; import com.junmp.jyzb.mapper.*;
import com.junmp.jyzb.service.PubOrgService; import com.junmp.jyzb.service.PubOrgService;
import com.junmp.jyzb.service.WarehouseService; import com.junmp.jyzb.service.WarehouseService;
...@@ -19,7 +16,6 @@ import com.junmp.jyzb.utils.*; ...@@ -19,7 +16,6 @@ import com.junmp.jyzb.utils.*;
import com.junmp.v2.common.exception.base.ServiceException; import com.junmp.v2.common.exception.base.ServiceException;
import com.junmp.v2.common.util.BeanPlusUtil; import com.junmp.v2.common.util.BeanPlusUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
......
package com.junmp.jyzb.task; package com.junmp.jyzb.task;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.junmp.jyzb.api.bean.req.InvExpireReq; import com.junmp.jyzb.api.bean.req.InvExpireReq;
import com.junmp.jyzb.api.util.GenCodeUtil;
import com.junmp.jyzb.entity.Company;
import com.junmp.jyzb.entity.Inventory; import com.junmp.jyzb.entity.Inventory;
import com.junmp.jyzb.entity.InventorySummary;
import com.junmp.jyzb.entity.ProductSku;
import com.junmp.jyzb.mapper.ExpireMapper;
import com.junmp.jyzb.mapper.InventoryMapper; import com.junmp.jyzb.mapper.InventoryMapper;
import com.junmp.jyzb.mapper.MsgMapper;
import com.junmp.jyzb.service.InventoryService; import com.junmp.jyzb.service.InventoryService;
import com.junmp.v2.common.util.BeanPlusUtil; import com.junmp.v2.common.util.BeanPlusUtil;
import com.junmp.v2.db.api.factory.PageFactory;
import com.junmp.v2.dict.entity.SysDictItem;
import com.junmp.v2.dict.service.SysDictItemService; import com.junmp.v2.dict.service.SysDictItemService;
import com.junmp.v2.job.api.JobAction; import com.junmp.v2.job.api.JobAction;
import com.junmp.v2.message.api.MessageApi; import com.junmp.v2.message.api.MessageApi;
...@@ -27,7 +16,6 @@ import lombok.extern.slf4j.Slf4j; ...@@ -27,7 +16,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.LocalDate;
import java.util.*; import java.util.*;
......
...@@ -70,6 +70,7 @@ public class InvOverDueMsg implements JobAction { ...@@ -70,6 +70,7 @@ public class InvOverDueMsg implements JobAction {
List<Long> uniqueOrgIDsList = new ArrayList<>(uniqueOrgIDs); List<Long> uniqueOrgIDsList = new ArrayList<>(uniqueOrgIDs);
//查询组织机构下面的所有仓管员的useId //查询组织机构下面的所有仓管员的useId
List<InvExpireReq> userIdsList=inventoryMapper.selectUserListByOrgs(uniqueOrgIDsList); List<InvExpireReq> userIdsList=inventoryMapper.selectUserListByOrgs(uniqueOrgIDsList);
//并且查询出该领用单的领用人,再将消息推送给领用人
for (OrderMain orderMain:list) { for (OrderMain orderMain:list) {
for (InvExpireReq userIds:userIdsList) { for (InvExpireReq userIds:userIdsList) {
......
...@@ -51,4 +51,11 @@ ...@@ -51,4 +51,11 @@
AND t1.type_id= #{typeId} AND t1.type_id= #{typeId}
</if> </if>
</select> </select>
<select id="searchByTypeIds" resultType="java.lang.String">
select DISTINCT name FROM base_equipment_size
where type_id IN
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -44,6 +44,48 @@ UPDATE base_equipment_type p ...@@ -44,6 +44,48 @@ UPDATE base_equipment_type p
JOIN cte ON p.id = cte.id JOIN cte ON p.id = cte.id
SET p.parent_ids = cte.parent_ids; SET p.parent_ids = cte.parent_ids;
</update> </update>
<select id="selectByItems" resultType="java.lang.String">
SELECT DISTINCT t4.id, t4.parent_id
FROM base_equipment_type t1
JOIN base_equipment_type t2 ON t1.id = t2.parent_id
JOIN base_equipment_type t3 ON t2.id = t3.parent_id
JOIN base_equipment_type t4 ON t3.id = t4.parent_id
WHERE
<if test="list1 != null and list1.size() > 0">
or t1.id IN
<foreach item="item" index="index" collection="list1" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="list1 != null and list1.size() > 0 and list2 != null and list2.size() > 0">
OR
</if>
<if test="list2 != null and list2.size() > 0">
t2.id IN
<foreach item="item" index="index" collection="list2" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="(list1 != null and list1.size() > 0 or list2 != null and list2.size() > 0) and list3 != null and list3.size() > 0">
OR
</if>
<if test="list3 != null and list3.size() > 0">
t3.id IN
<foreach item="item" index="index" collection="list3" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="(list1 != null and list1.size() > 0 or list2 != null and list2.size() > 0 or list3 != null and list3.size() > 0) and list4 != null and list4.size() > 0">
OR
</if>
<if test="list4 != null and list4.size() > 0">
t4.id IN
<foreach item="item" index="index" collection="list4" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -287,7 +287,7 @@ ...@@ -287,7 +287,7 @@
) )
</foreach> </foreach>
</select> </select>
<select id="getByOrgId" resultType="com.junmp.jyzb.api.bean.dto.TjOrgEqsDto" <select id="getByOrgId" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto"
parameterType="java.lang.Long"> parameterType="java.lang.Long">
select * from view_orgeqs_sum where org_id=#{orgId} or parent_id=#{orgId} select * from view_orgeqs_sum where org_id=#{orgId} or parent_id=#{orgId}
</select> </select>
...@@ -318,13 +318,17 @@ ...@@ -318,13 +318,17 @@
,size_id ,size_id
</if> </if>
</select> </select>
<select id="test" resultType="com.junmp.jyzb.api.bean.dto.TjOrgEqsDto" statementType="CALLABLE"> <select id="test" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto" statementType="CALLABLE">
{CALL view_sum_total(#{req.typeId, mode=IN, jdbcType=VARCHAR})} {CALL view_sum_total(#{req.typeId, mode=IN, jdbcType=VARCHAR})}
</select> </select>
<select id="selectDynamicView" resultType="com.junmp.jyzb.api.bean.dto.TjOrgEqsDto"> <select id="selectDynamicView" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto">
SELECT * FROM dynamic_view SELECT * FROM dynamic_view
</select> </select>
<select id="selectViewOrgeqsSum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto">
select * from view_orgeqs_sum
</select>
<delete id="deleteByWarehouse" <delete id="deleteByWarehouse"
...@@ -390,6 +394,56 @@ ...@@ -390,6 +394,56 @@
#{warrantyThreshold, mode=IN, jdbcType=INTEGER} #{warrantyThreshold, mode=IN, jdbcType=INTEGER}
)} )}
</insert> </insert>
<insert id="useViewOrgeqs" statementType="CALLABLE">
{CALL view_orgeqs(#{sql,mode=IN})}
</insert>
<select id="getSumByViewOrgeqsSum" resultType="com.junmp.jyzb.api.bean.dto.TjDto.FinalTjOrgEqsDto">
select sum(total_number) as total_number,
sum(ck_stock_number) as ck_stock_number,
sum(ck_outbound_number) as ck_outbound_number,
sum(destruction_number) as destruction_number,
sum(djg_stock_number) as djg_stock_number,
sum(djg_outbound_number) as djg_outbound_number
FROM view_orgeqs_sum
</select>
<select id="TjOrgEqsDetail" resultType="com.junmp.jyzb.api.bean.dto.InventorySumDto">
SELECT
type_name,
size_name,
type_id,
(
sum( CASE WHEN `base_inventory_summary`.`location_type` = 0 THEN `base_inventory_summary`.`stock_number` ELSE 0 END ) +
sum( CASE WHEN `base_inventory_summary`.`location_type` = 0 THEN `base_inventory_summary`.`outbound_number` ELSE 0 END ) +
sum( CASE WHEN `base_inventory_summary`.`location_type` = 0 THEN `base_inventory_summary`.`destruction_number` ELSE 0 END )
) AS total_number,
sum( CASE WHEN ( `base_inventory_summary`.`location_type` = 0 ) THEN `base_inventory_summary`.`stock_number` ELSE 0 END ) AS `ck_stock_number`,
sum( CASE WHEN ( `base_inventory_summary`.`location_type` = 0 ) THEN `base_inventory_summary`.`outbound_number` ELSE 0 END ) AS `ck_outbound_number`,
sum( CASE WHEN ( `base_inventory_summary`.`location_type` = 0 ) THEN `base_inventory_summary`.`destruction_number` ELSE 0 END ) AS `destruction_number`,
sum( CASE WHEN ( `base_inventory_summary`.`location_type` = 1 ) THEN `base_inventory_summary`.`stock_number` ELSE 0 END ) AS `djg_stock_number`,
sum( CASE WHEN ( `base_inventory_summary`.`location_type` = 1 ) THEN `base_inventory_summary`.`outbound_number` ELSE 0 END ) AS `djg_outbound_number`
FROM
base_inventory_summary
WHERE
org_id_int = #{orgId}
<if test="typeIdsList!=null and !typeIdsList.size() > 0">
AND type_id IN
<foreach collection="typeIdsList " item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="sizeNameList!=null and !sizeNameList.size() > 0">
AND
<foreach collection="sizeNameList " item="item" open="(" separator="or" close=")">
size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
GROUP BY
type_id,
type_name,
size_name
ORDER BY type_id
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -28,4 +28,47 @@ ...@@ -28,4 +28,47 @@
<select id="MonthDifference" statementType="CALLABLE" > <select id="MonthDifference" statementType="CALLABLE" >
{call UpdatePriceSummary()} {call UpdatePriceSummary()}
</select> </select>
<select id="TjOrgPrice" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
select org_id_int as org_id,org_code,org_name,
sum(start_num) as start_num,sum(start_price) as start_price,
sum(end_num) as end_num,sum(end_price) as end_price,
sum(add_num) as add_num,sum(destory_num) asdestory_num
FROM vie_price_sum_summary
where `year`= #{year} and (org_id_int=#{orgId} or parent_id=#{orgId})
<if test="typeIdsList!=null and typeIdsList.size() > 0">
and type_id in
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="sizeNameList!=null and !sizeNameList.size() > 0">
AND
<foreach collection="sizeNameList " item="item" open="(" separator="or" close=")">
size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
GROUP BY org_id,org_code,org_name
</select>
<select id="TjOrgPriceDetail" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgPriceDto">
select org_id_int as org_id,org_code,org_name,type_id,type_name,
sum(start_num) as start_num,sum(start_price) as start_price,
sum(end_num) as end_num,sum(end_price) as end_price,
sum(add_num) as add_num,sum(destory_num) asdestory_num
FROM vie_price_sum_summary
where `year`= #{year} and org_id_int=#{orgId}
<if test="typeIdsList!=null and typeIdsList.size() > 0">
and type_id in
<foreach collection="typeIdsList" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="sizeNameList!=null and !sizeNameList.size() > 0">
AND
<foreach collection="sizeNameList " item="item" open="(" separator="or" close=")">
size_name like CONCAT('%', #{item}, '%')
</foreach>
</if>
GROUP BY org_id,org_code,org_name,type_id,type_name
ORDER BY type_id
</select>
</mapper> </mapper>
\ No newline at end of file
<?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.junmp.jyzb.mapper.ProductBatchMapper">
<select id="getMaxSn" resultType="java.lang.Integer">
select ifnull(max(s1.sn), 0) as sn
from biz_product_batch s1
</select>
<select id="getBatchProcess" resultType="com.junmp.jyzb.api.bean.dto.ProductBatchDto">
select *
from v_product_batch_process
where batchId = #{batchId}
</select>
<select id="getBatchPage" resultType="com.junmp.jyzb.api.bean.dto.ProductBatchDto">
select * from v_product_batch_process s1 where 1=1
<if test="null != batch">
<if test="null != batch.batchId">
and s1.batchId = #{batch.batchId}
</if>
<if test="null != batch.productId">
and s1.productId = #{batch.productId}
</if>
<if test="null != batch.specId">
and s1.specId = #{batch.specId}
</if>
<if test="null != batch.batchNo">
and s1.batchNo like concat('%',#{batch.batchNo},'%')
</if>
</if>
handover by s1.createTime desc
</select>
<select id="getBatchProcessPage" resultType="com.junmp.jyzb.api.bean.dto.ProductProcessDto">
select * from v_product_batch_check s1 where 1=1
<if test="null != batch">
<if test="null != batch.batchId">
and s1.batchId = #{batch.batchId}
</if>
<if test="null != batch.productId">
and s1.productId = #{batch.productId}
</if>
<if test="null != batch.specId">
and s1.specId = #{batch.specId}
</if>
<if test="null != batch.batchNo">
and s1.batchNo like concat('%',#{batch.batchNo},'%')
</if>
</if>
handover by s1.createTime desc
</select>
</mapper>
<?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.junmp.jyzb.mapper.ProductMapper">
<select id="getMaxSn" resultType="java.lang.Integer">
select ifnull(max(s1.sn), 0) as sn
from biz_product s1
</select>
</mapper>
<?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.junmp.jyzb.mapper.ProductSkuMapper">
<!-- 获取当前产品最大序号 -->
<select id="getMaxSn" resultType="java.lang.Integer">
select ifnull(max(s1.sn), 0) as sn
from biz_product_sku s1
where s1.product_id = #{productId}
</select>
<!-- 删除产品对应的号型 -->
<delete id="delByProductId">
delete
from biz_product_sku
where product_id = #{productId}
</delete>
</mapper>
<?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.junmp.jyzb.mapper.ProductTagMapper">
<!-- limit 0,1-->
<select id="getInitTagInfo" resultType="com.junmp.jyzb.api.bean.dto.SimpleTagDto">
select s1.tag_id as tagId,s1.product_code as productCode
from biz_product_tag s1
where s1.batch_id = #{batchId}
and s1.has_init = 0
handover by s1.serial_id asc limit 0,1
</select>
<select id="getTagInfoByTagId" resultType="com.junmp.jyzb.api.bean.dto.ProductTagDto">
SELECT s1.tagId,
s1.productCode,
s1.produceTime,
s1.productName,
s1.spec,
s1.material,
s1.weight,
s1.companyName,
s1.password,
s1.ciphertext,
s1.adInfo
FROM v_product_tag_info s1
WHERE s1.tagId = #{tagId}
</select>
</mapper>
...@@ -96,13 +96,13 @@ SET p.org_parent_ids = cte.org_parent_ids; ...@@ -96,13 +96,13 @@ SET p.org_parent_ids = cte.org_parent_ids;
<select id="getParentOrgName" resultType="String"> <select id="getParentOrgName" resultType="String">
select d_name from pub_org o where org_id =#{orgParentId} select d_name from pub_org o where org_id =#{orgParentId}
</select> </select>
<select id="getDownOrg" resultType="com.junmp.jyzb.api.bean.dto.TjOrgEqsDto"> <select id="getDownOrg" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto">
SELECT org_id as orgId, org_name as orgName,org_code as orgCode SELECT org_id as orgId, org_name as orgName,org_code as orgCode
FROM pub_org FROM pub_org
WHERE org_parent_id = #{orgId} and del_flag=1 WHERE org_parent_id = #{orgId} and del_flag=1
AND level_flag > (SELECT level_flag FROM pub_org WHERE org_id = #{orgId}) + 1; AND level_flag > (SELECT level_flag FROM pub_org WHERE org_id = #{orgId}) + 1;
</select> </select>
<select id="getLowOrg" resultType="com.junmp.jyzb.api.bean.dto.TjOrgEqsDto"> <select id="getLowOrg" resultType="com.junmp.jyzb.api.bean.dto.TjDto.TjOrgEqsDto">
SELECT org_id as orgId, org_name as orgName,org_code as orgCode SELECT org_id as orgId, org_name as orgName,org_code as orgCode
FROM pub_org FROM pub_org
WHERE org_parent_id =#{orgId} and del_flag=1 WHERE org_parent_id =#{orgId} and del_flag=1
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论