提交 217100da authored 作者: zhouzhigang's avatar zhouzhigang

省监管统计

上级 39aed5ac
......@@ -34,7 +34,7 @@ import org.springframework.transaction.interceptor.TransactionInterceptor;
@Configuration
public class TxAdviceInterceptor {
private static final int TX_METHOD_TIMEOUT = 120;
private static final int TX_METHOD_TIMEOUT = 1200000000;
private static final int TX_METHOD_TIMEOUT_PUSH_BAISHI = 3600;
public static final String AOP_POINTCUT_EXPRESSION = "(execution(* com.zrqx..service..*Impl.*(..)))";
......
......@@ -7,6 +7,8 @@ import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import com.zrqx.core.enums.member.publiclesson.PublicLessonTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -30,7 +32,7 @@ public class PublicBasicRelation {
/** { @link GoodsTypeEnum }*/
@ApiModelProperty("资源类型")
private String resourceType;
/** { @link PublicLessonTypeEnum} */
/** @see PublicLessonTypeEnum */
@ApiModelProperty("教材类型")
private String type;
@ApiModelProperty("习题册id")
......
......@@ -2,6 +2,8 @@ package com.zrqx.core.model.school.order;
import com.zrqx.core.enums.BooleanStatusEnum;
import com.zrqx.core.enums.school.sysuser.OrderOpsTypeEnum;
import com.zrqx.core.enums.school.sysuser.OrderVarietyEnum;
import com.zrqx.core.model.base.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -29,7 +31,7 @@ public class Order extends BaseModel{
@ApiModelProperty("教材种类")
private Integer num;
/**{ @link BooleanStatusEnum }*/
/**@see BooleanStatusEnum*/
@ApiModelProperty("是否是历史数据")
private String isNot;
......@@ -52,11 +54,11 @@ public class Order extends BaseModel{
@ApiModelProperty("订货单id")
private Integer orderGoodsId;
/** { @link OrderOpsTypeEnum }*/
/** @see OrderOpsTypeEnum */
@ApiModelProperty("操作类型 2:补订订单,3:退订订单 , 5 订购订单")
private String opsType;
/** { @link OrderVarietyEnum }*/
/** @see OrderVarietyEnum */
@ApiModelProperty("订单种类 0:分担订单,1:快速入口订单 , 2 补订订单 3:退订订单 , 4培训教材订购订单, 5快速征订订单 ")
private String variety;
......
......@@ -7,6 +7,8 @@ import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import com.zrqx.core.enums.BooleanStatusEnum;
import com.zrqx.core.model.base.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
......@@ -88,7 +90,7 @@ public class OrderInfo extends BaseModel{
@ApiModelProperty("学期")
private Integer semester;
/**{ @link BooleanStatusEnum }*/
/**@see BooleanStatusEnum */
@ApiModelProperty("是否为教师用书")
private String isNot;
......@@ -115,6 +117,10 @@ public class OrderInfo extends BaseModel{
@Transient
@ApiModelProperty("版别")
private String edition;
@Transient
@ApiModelProperty("班级id")
private Integer classId;
......
......@@ -4,6 +4,10 @@ package com.zrqx.core.model.school.order;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.zrqx.core.enums.MemberTypeEnum;
import com.zrqx.core.enums.school.sysuser.OrderInfiStatusEnum;
import com.zrqx.core.enums.school.sysuser.OrderTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -21,15 +25,15 @@ public class OrderInfoStatus {
@ApiModelProperty("订单详情id")
private Integer orderInfoId;
/** { @link OrderInfiStatusEnum }*/
/** @see OrderInfiStatusEnum */
@ApiModelProperty("订单详情状态")
private String status;
/** { @link OrderTypeEnum }}*/
/** @see OrderTypeEnum */
@ApiModelProperty("订单分类")
private String type;
/** { @link MemberTypeEnum }}*/
/** @see MemberTypeEnum */
@ApiModelProperty("订单类型 0:学校订单 2:经销商订单")
private String orderType;
......
......@@ -3,6 +3,10 @@ package com.zrqx.core.model.school.order;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.zrqx.core.enums.MemberTypeEnum;
import com.zrqx.core.enums.school.sysuser.OrderStatusEnum;
import com.zrqx.core.enums.school.sysuser.OrderTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
......@@ -20,15 +24,15 @@ public class OrderStatus {
@ApiModelProperty("订单id")
private Integer orderId;
/** { @link OrderStatusEnum }*/
/** @see OrderStatusEnum */
@ApiModelProperty("订单状态")
private String status;
/** { @link OrderTypeEnum }}*/
/** @see OrderTypeEnum */
@ApiModelProperty("订单分类")
private String type;
/** { @link MemberTypeEnum }}*/
/** @see MemberTypeEnum */
@ApiModelProperty("订单类型 0:学校订单 2:经销商订单")
private String orderType;
......
......@@ -282,6 +282,15 @@ public class FgOrderController {
public String exportSupplierPage(QueryExportExcelOrderInfoForm form, HttpServletRequest request, HttpServletResponse response) throws Exception{
return fgOrderService.exportSupplierPage(form, request, response);
}
@ApiOperation(value = "批量添加订单",notes = "批量添加订单")
@PostMapping(value = "/batch/save/order")
public CallBack<Boolean> batchSaveOrder(){
return CallBack.success(fgOrderService.batchSaveOrder());
}
......
......@@ -114,5 +114,14 @@ public class FgSupplierController {
public CallBack<List<SupplierVo>> getSupplier(){
return CallBack.success(fgSupplierService.getSupplier());
}
@ApiOperation(value = "批量为学校绑定经销商",notes = "批量为学校绑定经销商")
@PostMapping(value = "/batch/save/school/supplier")
public CallBack<Boolean> batchSaveSchoolSupplier(){
return CallBack.success(fgSupplierService.batchSaveSchoolSupplier());
}
}
......@@ -4,6 +4,7 @@ package com.zrqx.school.sysuser.mapper.order;
import java.util.List;
import com.zrqx.core.form.school.sysuser.fg.order.QueryExportExcelOrderInfoForm;
import com.zrqx.core.model.resource.goods.phyresource.PhyResource;
import io.swagger.models.auth.In;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -243,11 +244,11 @@ public interface FgOrderInfoMapper extends BaseMapper<OrderInfo>{
+ DEFAULT_SQL
+ DEFAULT_SQL_PARAM
+ " where 1=1 AND os. STATUS = 4 and os.type = 1 "
+ " eq(v.province,province) "
+ " in(v.province,provinces) "
+ " eq(s.trainStatus,type) "
+ " GROUP BY s.relationId "
+ "</script>")
List<IdAndNameVo> getOrganList(@Param("type") String type,@Param("province") String province);
List<IdAndNameVo> getOrganList(@Param("type") String type,@Param("provinces") List<String> provinces);
/**
......@@ -589,4 +590,17 @@ public interface FgOrderInfoMapper extends BaseMapper<OrderInfo>{
+ " eq(o.publisher,form.publisher) "
+ " </script> ")
List<OrderInfoVo> queryOrderInfoList(@Param("form") QueryExportExcelOrderInfoForm form);
@Select(" SELECT p.academicLevel,p.majorId,p.id as basicPlanId,p.departmentId,l.id as lessonId,p.name," +
" p.studentResource,p.professionalQualification,l.courseDesign as lessonName,pb.resourceId,cm.id as classId,pb.type " +
" FROM me_basic_teaching_plan p LEFT JOIN me_public_lessons l ON p.id = l.basicPlanId" +
" LEFT JOIN me_public_basic_relation pb ON l.id = pb.lessonId" +
" LEFT JOIN me_class_mamagement cm ON cm.bptId = p.id " +
" where p.relationId = #{relationId} GROUP BY resourceId HAVING lessonId is NOT null ")
List<OrderInfo> queryOrderInfo(@Param("relationId") Integer relationId);
@Select(" SELECT * from `jgjy-resource`.res_physical_resource where id = #{resourceId} ")
PhyResource queryPhyResourceInfo(@Param("resourceId")String resourceId);
}
......@@ -3,6 +3,7 @@ package com.zrqx.school.sysuser.mapper.supplier;
import com.zrqx.core.form.school.sysuser.fg.common.QueryCondition;
import com.zrqx.core.form.supplier.SupplierForm;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.member.school.School;
import com.zrqx.core.model.member.supplier.FgSupplier;
import com.zrqx.core.vo.schoolsysuser.fg.splitorder.OrderSupplierVo;
import com.zrqx.core.vo.supplier.SupplierVo;
......@@ -60,4 +61,9 @@ public interface FgSupplierMapper extends BaseMapper<FgSupplier> {
+ " SELECT a.id,a.name FROM `jgjy-member`.me_distributor a LEFT JOIN `jgjy-member`.me_school b ON a.province = b.province WHERE 1=1 AND b.id = #{relationId} "
+ " </script> ")
List<SupplierVo> queryById(@Param("relationId") Integer relationId);
@Select(" SELECT * from `jgjy-member`.me_school where province = '山东省' ")
List<School> querySchools();
}
......@@ -718,8 +718,14 @@ public class FgOrderInfoServiceImpl extends BaseModelServiceImpl<OrderInfo,Integ
if(supervise.hasEntity()){
province = supervise.getData().getProvince();
}
List<String> provinces = new ArrayList<>();
if(0 == supervise.getData().getParentId()){//当前登录省监管用户为“省”级别,则可以查看该省下面所有市级教学计划
provinces = fgOrderInfoMapper.queryProvinces(supervise.getData().getId());
}else{
provinces.add(province);
}
List<IdAndNameVo> organList = fgOrderInfoMapper.getOrganList(type,province);
List<IdAndNameVo> organList = fgOrderInfoMapper.getOrganList(type,provinces);
organList.forEach(vo ->{
//远程调用获取学校名称或机构名称
CallBack<School> callBack = bgMemberClient.getByOid(vo.getId());
......
......@@ -279,7 +279,15 @@ public interface FgOrderService extends BaseService<Order,Integer>{
* @return
*/
String exportSupplierPage(QueryExportExcelOrderInfoForm form, HttpServletRequest request, HttpServletResponse response) throws Exception;
/**
* 功能描述: <br>
* 〈〉批量保存订单
* @Param: []
* @Return: boolean
* @Author: zzg
* @Date: 2020/12/8 8:44
*/
boolean batchSaveOrder();
}
......@@ -18,6 +18,9 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zrqx.core.form.school.sysuser.fg.order.*;
import com.zrqx.core.model.resource.goods.phyresource.PhyResource;
import com.zrqx.core.model.school.order.*;
import com.zrqx.school.sysuser.mapper.order.*;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
......@@ -60,9 +63,6 @@ import com.zrqx.core.model.member.publiclesson.PublicLesson;
import com.zrqx.core.model.member.school.School;
import com.zrqx.core.model.member.schoolasedlibrary.SchoolAsedLibrary;
import com.zrqx.core.model.member.supplier.FgSupplier;
import com.zrqx.core.model.school.order.Order;
import com.zrqx.core.model.school.order.OrderInfo;
import com.zrqx.core.model.school.order.OrderStatus;
import com.zrqx.core.service.BaseModelServiceImpl;
import com.zrqx.core.util.bean.BeanUtils;
import com.zrqx.core.util.excelutil.ExcelUtil;
......@@ -91,9 +91,6 @@ import com.zrqx.school.sysuser.manage.supplier.SupplierManage;
import com.zrqx.school.sysuser.mapper.basicteachingplan.FgBasicTeachingPlanMapper;
import com.zrqx.school.sysuser.mapper.classmanagement.FgClassManagementMapper;
import com.zrqx.school.sysuser.mapper.major.FgMajorMapper;
import com.zrqx.school.sysuser.mapper.order.FgOrderInfoMapper;
import com.zrqx.school.sysuser.mapper.order.FgOrderMapper;
import com.zrqx.school.sysuser.mapper.order.FgOrderStatusMapper;
import com.zrqx.school.sysuser.mapper.publiclesson.FgPublicLessonMapper;
import com.zrqx.school.sysuser.mapper.schoolasedlibrary.FgSchoolAsedLibraryMapper;
import com.zrqx.school.sysuser.mapper.supplier.FgSupplierMapper;
......@@ -129,6 +126,14 @@ public class FgOrderServiceImpl extends BaseModelServiceImpl<Order,Integer> impl
private SplitOrderNumManage splitOrderNumManage;
@Autowired
private FgPublicLessonMapper fgPublicLessonMapper;
@Autowired
private FgOrderInfoStatusMapper orderInfoStatusMapper;
@Autowired
private OrderInfoRelationMapper orderInfoRelationMapper;
@Autowired
private FgMajorMapper fgMajorMapper;
......@@ -1035,7 +1040,106 @@ public class FgOrderServiceImpl extends BaseModelServiceImpl<Order,Integer> impl
return style;
}
@Override
public boolean batchSaveOrder() {
//获取所有学校
List<School> schools = fgSupplierMapper.querySchools();
schools.forEach(school -> {
if(school.getId().intValue() == 1934){
return;
}
Order order = new Order();
order.setRelationId(school.getId());
order.setIsNot("0");
order.setType("0");
order.setOrderNumber(environmentInterface.createOrderCode());
order.setVariety("0");
order.setOpsType("5");
order.setSupplierId(42);
order.setOrderType("0");
order.setSchoolId(school.getId());
order.setTrainStatus("0");
order.setCreater(school.getMemberId()+"");
order.setCreaterName(school.getPhone());
order.setCreateTime(new Date());
fgOrderMapper.insert(order);
//保存订单状态
OrderStatus orderStatus = new OrderStatus();
orderStatus.setOrderType("0");
orderStatus.setStatus("4");
orderStatus.setOrderId(order.getId());
orderStatus.setType("1");
fgOrderStatusMapper.insert(orderStatus);
//保存订单详情
List<OrderInfo> orderInfos = orderInfoMapper.queryOrderInfo(school.getId());
orderInfos.forEach(orderInfo -> {
//获取专业
Major major = fgMajorMapper.selectByPrimaryKey(orderInfo.getMajorId());
//系统教材
if("0".equals(orderInfo.getType())){
//获取资源
PhyResource phyResource = orderInfoMapper.queryPhyResourceInfo(orderInfo.getResourceId());
if(phyResource != null){
orderInfo.setCountryStatus(phyResource.getCountryStatus());
if(StringUtils.isEmpty(phyResource.getIsbn())){
return;
}
orderInfo.setIsbn(StringUtils.isEmpty(phyResource.getIsbn()) ? "" : phyResource.getIsbn());
orderInfo.setPrice(phyResource.getPrice() == null ? new BigDecimal(0) : phyResource.getPrice());
orderInfo.setPublisher(StringUtils.isEmpty(phyResource.getPublisher()) ? "" : phyResource.getPublisher());
orderInfo.setRealPrice(phyResource.getPrice() == null ? new BigDecimal(0) : phyResource.getPrice());
orderInfo.setResName(StringUtils.isEmpty(phyResource.getName()) ? "" : phyResource.getName());
orderInfo.setType(StringUtils.isEmpty(phyResource.getType()) ? "" : phyResource.getType());
}
}
//校本库
if("1".equals(orderInfo.getType())){
SchoolAsedLibrary schoolAsedLibrary = schoolAsedLibraryMapper.selectByPrimaryKey(orderInfo.getResourceId());
if(schoolAsedLibrary != null){
if(StringUtils.isEmpty(schoolAsedLibrary.getIsbn())){
return;
}
orderInfo.setIsbn(StringUtils.isEmpty(schoolAsedLibrary.getIsbn()) ? "" : schoolAsedLibrary.getIsbn());
orderInfo.setResName(StringUtils.isEmpty(schoolAsedLibrary.getResourceName()) ? "" : schoolAsedLibrary.getResourceName());
}
}
orderInfo.setOrderId(order.getId());
orderInfo.setNum(new BigDecimal(25));
orderInfo.setCode(major.getCode());
orderInfo.setDiscount(new BigDecimal(10));
orderInfo.setSupplierId(42);
orderInfo.setMajorName(major.getName());
orderInfo.setTheoryClassHour(20);
orderInfo.setSemester(1);
orderInfo.setTrainingHours(20);
orderInfo.setIsNot("0");
orderInfo.setCreater(school.getMemberId()+"");
orderInfo.setCreaterName(school.getPhone());
orderInfo.setCreateTime(new Date());
orderInfoMapper.insert(orderInfo);
//保存订单详情状态
OrderInfoStatus orderInfoStatus = new OrderInfoStatus();
orderInfoStatus.setOrderInfoId(orderInfo.getId());
orderInfoStatus.setStatus("1");
orderInfoStatus.setOrderType("2");
orderInfoStatus.setType("0");
orderInfoStatusMapper.insert(orderInfoStatus);
//保存订单详情和班级的关系
OrderInfoRelation orderInfoRelation = new OrderInfoRelation();
orderInfoRelation.setOrderInfoId(orderInfo.getId());
orderInfoRelation.setClassId(orderInfo.getClassId());
orderInfoRelation.setNum(new BigDecimal(25));
orderInfoRelation.setClassNum(25);
orderInfoRelation.setCreater(school.getMemberId()+"");
orderInfoRelation.setCreaterName(school.getPhone());
orderInfoRelation.setCreateTime(new Date());
orderInfoRelationMapper.insert(orderInfoRelation);
});
});
return true;
}
}
......@@ -107,5 +107,16 @@ public interface FgSupplierService extends BaseService<FgSupplier, Integer> {
List<SupplierVo> getSupplier();
/**
* 功能描述: <br>
* 〈〉批量为学校绑定经销商
* @Param: []
* @Return: boolean
* @Author: zzg
* @Date: 2020/12/7 13:41
*/
boolean batchSaveSchoolSupplier();
}
......@@ -7,6 +7,7 @@ import com.zrqx.core.form.supplier.SupplierForm;
import com.zrqx.core.mapper.BaseMapper;
import com.zrqx.core.model.member.distributor.Distributor;
import com.zrqx.core.model.member.member.Member;
import com.zrqx.core.model.member.school.School;
import com.zrqx.core.model.member.supplier.FgSupplier;
import com.zrqx.core.service.BaseModelServiceImpl;
import com.zrqx.core.util.bean.BeanUtils;
......@@ -29,6 +30,7 @@ import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import java.util.Date;
import java.util.List;
@Service
......@@ -211,4 +213,28 @@ public class FgSupplierServiceImpl extends BaseModelServiceImpl<FgSupplier, Inte
List<SupplierVo> list = fgSupplierMapper.queryById(relationId);
return list;
}
@Override
public boolean batchSaveSchoolSupplier() {
//获取山东省下的所有学校
List<School> schools = fgSupplierMapper.querySchools();
schools.forEach(school -> {
FgSupplier supplier = new FgSupplier();
supplier.setRelationId(school.getId());
supplier.setDistributorName("山东经销商");
supplier.setType("0");
supplier.setDistributorId(77);
supplier.setPhone(school.getPhone());
supplier.setName(school.getUserName());
supplier.setCreater(school.getMemberId()+"");
supplier.setCreaterName(school.getUserName());
supplier.setCreateTime(new Date());
supplier.setUpdater(school.getMemberId()+"");
supplier.setUpdaterName(school.getUserName());
supplier.setUpdateTime(new Date());
fgSupplierMapper.insert(supplier);
});
return true;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论