大数据与最优化研究所 hai 1 ano
pai
achega
a68bda2d34

+ 9 - 0
src/main/java/com/xjrsoft/common/enums/TextbookTypeEnum.java

@@ -46,4 +46,13 @@ public enum TextbookTypeEnum {
         }
         return null;
     }
+
+    public static String getValue(String code) {
+        for (TextbookTypeEnum item : values()) {
+            if (item.getCode().equals(code)) {
+                return  item.getValue();
+            }
+        }
+        return null;
+    }
 }

+ 7 - 0
src/main/java/com/xjrsoft/module/textbook/controller/TextbookController.java

@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import com.xjrsoft.common.enums.TextbookTypeEnum;
 import com.xjrsoft.common.model.result.R;
 import com.xjrsoft.common.model.result.RT;
 import com.xjrsoft.common.page.ConventPage;
@@ -86,10 +87,16 @@ public class TextbookController {
                 .leftJoin(TextbookClassRelation.class, TextbookClassRelation::getTextbookId, Textbook::getId)
                 .leftJoin(BaseClassMajorSet.class, BaseClassMajorSet::getClassId, TextbookClassRelation::getClassId)
                 .leftJoin(BaseCourseSubject.class, BaseCourseSubject::getId, Textbook::getCourseSubjectId)
+                .eq(dto.getBaseSemesterId() != null && dto.getBaseSemesterId() > 0, Textbook::getBaseSemesterId, dto.getBaseSemesterId())
                 .in(!classIdList.isEmpty(),TextbookClassRelation::getClassId, classIdList)
                 .groupBy(Textbook::getId)
         ;
         IPage<TextbookSubscriptionListVo> page = textbookService.selectJoinListPage(ConventPage.getPage(dto),TextbookSubscriptionListVo.class,textbookMPJLambdaWrapper);
+        for(TextbookSubscriptionListVo t : page.getRecords()){
+            if(t.getTextbookType() != null && !t.getTextbookType().equals("")){
+                t.setTextbookTypeCn(TextbookTypeEnum.getValue(t.getTextbookType()));
+            }
+        }
         PageOutput<TextbookSubscriptionListVo> pageOutput = ConventPage.getPageOutput(page, TextbookSubscriptionListVo.class);
         return RT.ok(pageOutput);
     }

+ 3 - 1
src/main/java/com/xjrsoft/module/textbook/controller/WfTextbookSubscriptionController.java

@@ -129,9 +129,11 @@ public class WfTextbookSubscriptionController {
                 .select("(select sum(student_subscription_number) + sum(teacher_subscription_number) from wf_textbook_subscription_item a where a.wf_textbook_subscription_id = t.id) as sum")
                 .select(WfTextbookSubscription.class,x -> VoToColumnUtil.fieldsToColumns(WfTextbookSubscriptionPageVo.class).contains(x.getProperty()))
                 .leftJoin(BaseSemester.class, BaseSemester::getId, WfTextbookSubscription::getBaseSemesterId)
+                .eq(dto.getBaseSemesterId() != null && dto.getBaseSemesterId() > 0, WfTextbookSubscription::getBaseSemesterId, dto.getBaseSemesterId())
+                .eq(dto.getSubscriptionMethod() != null && dto.getSubscriptionMethod() > 0, WfTextbookSubscription::getSubscriptionMethod, dto.getSubscriptionMethod())
                 .orderByDesc(WfTextbookSubscription::getCreateDate)
         ;
-        IPage<WfTextbookSubscription> page = wfTextbookSubscriptionService.selectJoinListPage(ConventPage.getPage(dto),WfTextbookSubscription.class, queryWrapper);
+        IPage<WfTextbookSubscriptionPageVo> page = wfTextbookSubscriptionService.selectJoinListPage(ConventPage.getPage(dto),WfTextbookSubscriptionPageVo.class, queryWrapper);
         PageOutput<WfTextbookSubscriptionPageVo> pageOutput = ConventPage.getPageOutput(page, WfTextbookSubscriptionPageVo.class);
         return RT.ok(pageOutput);
     }

+ 3 - 0
src/main/java/com/xjrsoft/module/textbook/dto/TextbookSubscriptionListDto.java

@@ -22,4 +22,7 @@ public class TextbookSubscriptionListDto extends PageInput {
     @ExcelProperty("使用班级")
     @ApiModelProperty("使用班级")
     private String classIds;
+
+    @ApiModelProperty("学期id")
+    public Long baseSemesterId;
 }

+ 14 - 1
src/main/java/com/xjrsoft/module/textbook/dto/WfTextbookSubscriptionPageDto.java

@@ -1,5 +1,7 @@
 package com.xjrsoft.module.textbook.dto;
 
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ContentStyle;
 import com.xjrsoft.common.page.PageInput;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
@@ -22,5 +24,16 @@ import java.util.Date;
 @EqualsAndHashCode(callSuper = false)
 public class WfTextbookSubscriptionPageDto extends PageInput {
 
-
+    /**
+     * 学期ID(base_semester)
+     */
+    @ContentStyle(dataFormat = 49)
+    @ExcelProperty("学期ID(base_semester)")
+    @ApiModelProperty("学期ID(base_semester)")
+    private Long baseSemesterId;
+    /**
+     * 征订方式(1:结束 2:未结束)
+     */
+    @ApiModelProperty("征订方式(1:按班级征订 2:按教材征订)")
+    private Integer subscriptionMethod;
 }

+ 12 - 6
src/main/java/com/xjrsoft/module/textbook/service/impl/WfTextbookSubscriptionServiceImpl.java

@@ -46,9 +46,11 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
     @Transactional(rollbackFor = Exception.class)
     public Boolean add(WfTextbookSubscription wfTextbookSubscription) {
         wfTextbookSubscription.setStatus(1);
+        wfTextbookSubscription.setCreateDate(new Date());
         wfTextbookSubscriptionWfTextbookSubscriptionMapper.insert(wfTextbookSubscription);
         for (WfTextbookSubscriptionItem wfTextbookSubscriptionItem : wfTextbookSubscription.getWfTextbookSubscriptionItemList()) {
             wfTextbookSubscriptionItem.setWfTextbookSubscriptionId(wfTextbookSubscription.getId());
+            wfTextbookSubscriptionItem.setCreateDate(new Date());
             wfTextbookSubscriptionWfTextbookSubscriptionItemMapper.insert(wfTextbookSubscriptionItem);
         }
 
@@ -101,19 +103,20 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public Boolean changeStatus(UpdateWfTextbookSubscriptionDto dto) {
         WfTextbookSubscription wfTextbookSubscription = this.getById(dto.getId());
         if(wfTextbookSubscription == null){
             return false;
         }
         //点击发起征订
-        if(dto.getStatus() == 2){
+        if(wfTextbookSubscription.getStatus() == 1 && dto.getStatus() == 2){
             WfTextbookSubscription newW = BeanUtil.toBean(dto, WfTextbookSubscription.class);
-            return this.update(newW);
+            return this.updateById(newW);
         }
 
         //点击完成征订
-        if(dto.getStatus() == 3){
+        if(wfTextbookSubscription.getStatus() == 2 && dto.getStatus() == 3){
             //添加征订记录
             List<WfTextbookSubscriptionItem> wfTextbookSubscriptionItemList = wfTextbookSubscriptionWfTextbookSubscriptionItemMapper.selectList(Wrappers.<WfTextbookSubscriptionItem>query().lambda().eq(WfTextbookSubscriptionItem::getWfTextbookSubscriptionId, wfTextbookSubscription.getId()));
             for (WfTextbookSubscriptionItem w : wfTextbookSubscriptionItemList){
@@ -124,11 +127,12 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
                     setWfTextbookSubscriptionItemId(w.getId());//该字段存入征订项的id,征订项中有所属征订记录
                 }});
             }
-            return true;
+            WfTextbookSubscription newW = BeanUtil.toBean(dto, WfTextbookSubscription.class);
+            return this.updateById(newW);
         }
 
         //点击确认入库
-        if(dto.getStatus() == 4){
+        if(wfTextbookSubscription.getStatus() == 3 && dto.getStatus() == 4){
             List<WfTextbookSubscriptionItem> wfTextbookSubscriptionItemList = wfTextbookSubscriptionWfTextbookSubscriptionItemMapper.selectList(Wrappers.<WfTextbookSubscriptionItem>query().lambda().eq(WfTextbookSubscriptionItem::getWfTextbookSubscriptionId, wfTextbookSubscription.getId()));
             for (WfTextbookSubscriptionItem w : wfTextbookSubscriptionItemList){
                 textbookService.deliverWarehouse(new AddTextbookWarehouseRecordDto(){{
@@ -137,7 +141,9 @@ public class WfTextbookSubscriptionServiceImpl extends MPJBaseServiceImpl<WfText
                     setSource("wm_manual");
                 }});
             }
+            WfTextbookSubscription newW = BeanUtil.toBean(dto, WfTextbookSubscription.class);
+            return this.updateById(newW);
         }
-        return null;
+        return false;
     }
 }

+ 0 - 56
src/main/java/com/xjrsoft/module/textbook/vo/WfTextbookSubscriptionPageVo.java

@@ -31,13 +31,6 @@ public class WfTextbookSubscriptionPageVo {
     @ApiModelProperty("主键编号")
     private String id;
     /**
-    * 创建人
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("创建人")
-    @ApiModelProperty("创建人")
-    private Long createUserId;
-    /**
     * 创建时间
     */
     @ContentStyle(dataFormat = 49)
@@ -45,41 +38,6 @@ public class WfTextbookSubscriptionPageVo {
     @ApiModelProperty("创建时间")
     private Date createDate;
     /**
-    * 修改人
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("修改人")
-    @ApiModelProperty("修改人")
-    private Long modifyUserId;
-    /**
-    * 修改时间
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("修改时间")
-    @ApiModelProperty("修改时间")
-    private Date modifyDate;
-    /**
-    * 删除标记
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("删除标记")
-    @ApiModelProperty("删除标记")
-    private Integer deleteMark;
-    /**
-    * 有效标志
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("有效标志")
-    @ApiModelProperty("有效标志")
-    private Integer enabledMark;
-    /**
-    * 序号
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("序号")
-    @ApiModelProperty("序号")
-    private Integer sortCode;
-    /**
     * 申请人
     */
     @ContentStyle(dataFormat = 49)
@@ -108,20 +66,6 @@ public class WfTextbookSubscriptionPageVo {
     @ApiModelProperty("学期ID(base_semester)")
     private String baseSemesterIdCn;
     /**
-    * 学科组管理编号(subject_group)
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("学科组管理编号(subject_group)")
-    @ApiModelProperty("学科组管理编号(subject_group)")
-    private Long subjectGroupId;
-    /**
-    * 备注
-    */
-    @ContentStyle(dataFormat = 49)
-    @ExcelProperty("备注")
-    @ApiModelProperty("备注")
-    private String remark;
-    /**
     * 状态(1:结束 0:未结束)
     */
     @ContentStyle(dataFormat = 49)