19d910c3 康伟

kangwei: 大屏药剂组件接口开发

         工作进度统计:增加机构筛选,机构筛选到区域级即可。可以单独查询某个区域的水厂
         水务公司药剂入库增加批量送审功能
1 个父辈 44d441e0
正在显示 19 个修改的文件 包含 271 行增加16 行删除
......@@ -20,6 +20,14 @@ import java.util.regex.Pattern;
*/
public class JSUtils {
//判断一个字符串是否是整数,并相应地返回整数或原始字符串
public static String convertStringToInt(String str) {
if (StringUtils.isNotEmpty(str) && str.endsWith(".00")) {
Double dVal = Double.parseDouble(str);
return dVal.intValue()+"";
}
return str;
}
public static String add(Object obj1 , Object obj2){
String expression = obj1+ "+" + obj2;
return executeExpression(expression,"0.00");
......
......@@ -19,6 +19,7 @@ import com.skua.modules.edu.service.IQuestionService;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.edu.vo.QuestionExcel;
import com.skua.modules.system.service.ISysDepartService;
import lombok.extern.slf4j.Slf4j;
......@@ -289,8 +290,10 @@ public class QuestionController {
params.setHeadRows(1);
params.setNeedSave(true);
try {
List<Question> listQuestions = ExcelImportUtil.importExcel(file.getInputStream(), Question.class, params);
questionService.saveBatch(listQuestions);
String dbId = request.getParameter("dbId");
List<QuestionExcel> listQuestions = ExcelImportUtil.importExcel(file.getInputStream(), QuestionExcel.class, params);
questionService.batchImportExcel(listQuestions,dbId);
return Result.ok("文件导入成功!数据行数:" + listQuestions.size());
} catch (Exception e) {
log.error(e.getMessage(),e);
......
......@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.modules.edu.entity.Question;
import com.baomidou.mybatisplus.extension.service.IService;
import com.skua.modules.edu.vo.QuestionExcel;
import java.util.List;
......@@ -50,4 +51,11 @@ public interface IQuestionService extends IService<Question> {
* @return
*/
public boolean checkByPaper(String questionId);
/**
* 批量导入
* @param listQuestions
* @param dbId
*/
public void batchImportExcel(List<QuestionExcel> listQuestions, String dbId);
}
......
......@@ -10,10 +10,12 @@ import com.skua.modules.edu.entity.QuestionOption;
import com.skua.modules.edu.mapper.QuestionMapper;
import com.skua.modules.edu.mapper.QuestionOptionMapper;
import com.skua.modules.edu.service.IQuestionService;
import com.skua.modules.edu.vo.QuestionExcel;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -112,5 +114,38 @@ public class QuestionServiceImpl extends ServiceImpl<QuestionMapper, Question> i
int count = this.baseMapper.checkByPaper( questionId );
return count > 0?true:false;
}
/**
* 批量导入
* @param listQuestions
* @param dbId
*/
public void batchImportExcel(List<QuestionExcel> listQuestions, String dbId){
/* // 创建Gson实例
Gson gson = new Gson();
// 将List转换为Json字符串
String questionData = gson.toJson( question.getOptionList() ) ;
question.setQuestionData( questionData ) ;*/
}
private Question converQuestion(QuestionExcel questionExcel,String dbId){
Question question = new Question();
question.setQuestionDbId(dbId);
question.setQuestionTitle(questionExcel.getQuestionTitle() );//试题标题
question.setAnalyzes(questionExcel.getAnalyzes());//试题解析
question.setQuestionType( questionExcel.getQuestionType() );//试题类型
question.setQuestionAnswer( questionExcel.getAnswer() );
return question;
}
private List<QuestionOption> converQuestionOption(QuestionExcel questionExcel){
List<QuestionOption> optionList = new ArrayList<>();
return optionList;
}
}
......
package com.skua.modules.edu.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
/**
* @auther kangwei
* @create 2025-02-18-13:21
*/
@Data
@ApiModel(value="试题批量导入", description="试题批量导入")
public class QuestionExcel {
/**试题类型:1 单选、2多选、3判断*/
@Excel(name = "题型", width = 15)
@ApiModelProperty(value = "试题类型:1 单选、2多选、3判断")
private String questionType;
@Excel(name = "题干", width = 15)
@ApiModelProperty(value = "试题标题")
private String questionTitle;
@Excel(name = "选项A", width = 15)
@ApiModelProperty(value = "选项A")
private String optionA;
@Excel(name = "选项B", width = 15)
@ApiModelProperty(value = "选项B")
private String optionB;
@Excel(name = "选项C", width = 15)
@ApiModelProperty(value = "选项C")
private String optionC;
@Excel(name = "选项D", width = 15)
@ApiModelProperty(value = "选项D")
private String optionD;
@Excel(name = "选项E", width = 15)
@ApiModelProperty(value = "选项E")
private String optionE;
@Excel(name = "选项F", width = 15)
@ApiModelProperty(value = "选项F")
private String optionF;
@Excel(name = "选项G", width = 15)
@ApiModelProperty(value = "选项G")
private String optionG;
@Excel(name = "答案", width = 15)
@ApiModelProperty(value = "答案")
private String answer;
/**试题解析*/
@Excel(name = "试题解析", width = 15)
@ApiModelProperty(value = "试题解析")
private String analyzes;
}
......@@ -220,8 +220,6 @@ public class ErpSettlementController {
erpSettlementVO.setApplySign(BaseContextHandler.getUserName());
}
erpSettlementService.saveSettlement(erpSettlementVO);
//修改药剂入库的状态
erpSettlementService.updateMaterialInSettlementFlag( erpSettlementVO,"1");
result.success("添加成功!");
} catch (Exception e) {
log.error(e.getMessage(),e);
......
......@@ -91,18 +91,6 @@ public class MaterialINController {
private IMaterialAcceptanceFormService materialAcceptanceFormService;//验收单
@Autowired
private IDistributContractService distributContractService;//分销合同编号
/**
* <pre>
* 分页列表查询
* </pre>
* @param materialIN
* @param pageNo
* @param pageSize
* @param req
* @return
* @author 开发者姓名, 开发时间
* @Description: TODO(这里描述这个方法的需求变更情况)
*/
@AutoLog(value = "erp--物料(药剂)入库-分页列表查询")
@ApiOperation(value="erp--物料(药剂)入库-分页列表查询", notes="erp--物料(药剂)入库-分页列表查询")
......@@ -314,6 +302,24 @@ public class MaterialINController {
}
return result;
}
@AutoLog(value = "erp--物料(药剂)入库-批量送审")
@ApiOperation(value="erp--物料(药剂)入库-批量送审", notes="erp--物料(药剂)入库-批量送审")
@DeleteMapping(value = "/batchSendAudit")
public Result<MaterialIN> batchSendAudit(@RequestParam(name="ids",required=true) String ids) {
Result<MaterialIN> result = new Result<MaterialIN>();
if(ids==null || "".equals(ids.trim())) {
result.error500("参数不识别!");
}else {
String auditStatus = "1";
this.materialINService.batchSendAudit(JSUtils.quoteEach(ids,","),auditStatus);
result.success("删除成功!");
}
return result;
}
@AutoLog(value = "erp--erp采购合同-审批")
@ApiOperation(value="erp--采购合同-审批", notes="erp--采购合同-审批")
@PutMapping(value = "/audit")
......
package com.skua.modules.erp.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.skua.core.api.vo.Result;
import com.skua.core.aspect.annotation.AutoLog;
import com.skua.core.context.SpringContextUtils;
import com.skua.core.query.QueryGenerator;
import com.skua.modules.erp.entity.MaterialIN;
import com.skua.modules.erp.vo.PurchaseAnalysisVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
/**
* 采购数据分析
* @auther kangwei
* @create 2025-02-19-14:07
*/
@Slf4j
@Api(tags="erp-药剂采购分析")
@RestController("purchaseAnalysisController")
@RequestMapping("/web/erp/purchaseAnalysis")
public class PurchaseAnalysisController {
@AutoLog(value = "erp-药剂采购分析")
@ApiOperation(value="erp--药剂采购分析", notes="erp--药剂采购分析")
@GetMapping(value = "/analysis")
public Result<PurchaseAnalysisVO> settlementList(String startDate,String endDate) {
Result<PurchaseAnalysisVO> result = new Result<PurchaseAnalysisVO>();
String drugStorage = getJdbcTemplate().queryForObject("select round(ifnull(sum(material_num),0),2) from erp_material_in where audit_status = '3' and arrive_time >='"+startDate+"' and arrive_time <= '"+endDate+"'",String.class);
String purchaseMoney = getJdbcTemplate().queryForObject("select round(ifnull(sum(purchase_money),0),2) from erp_purchase_contract where use_flag = 0 and status = 3 and project_time >='"+startDate+"' and project_time <= '"+endDate+"'",String.class);
String distributMoney = getJdbcTemplate().queryForObject("select round(ifnull(sum(distribut_money),0),2) from erp_distribut_contract where status = 3 and purchase_time >='"+startDate+"' and purchase_time <= '"+endDate+"' ",String.class);
String supplierMoneyByJs = getJdbcTemplate().queryForObject("select round(ifnull(sum(t.total_price_tax),0),2) from erp_settlement t where t.settlement_type = '0' and t.status = '1' and settlement_time >='"+startDate+"' and settlement_time<='"+endDate+"' ",String.class);
String waterDepartMoneyByJs = getJdbcTemplate().queryForObject("select round(ifnull(sum(t.total_price_tax),0),2) from erp_settlement t where t.settlement_type = '1' and t.status = '1' and settlement_time >='"+startDate+"' and settlement_time<='"+endDate+"' ",String.class);
PurchaseAnalysisVO purchaseAnalysisVO = new PurchaseAnalysisVO( drugStorage, purchaseMoney, distributMoney, supplierMoneyByJs, waterDepartMoneyByJs);
result.setSuccess(true);
result.setResult(purchaseAnalysisVO);
return result;
}
private JdbcTemplate getJdbcTemplate(){
JdbcTemplate jdbcTemplate = (JdbcTemplate) SpringContextUtils.getBean("master");
return jdbcTemplate;
}
}
......@@ -137,6 +137,7 @@ public class MaterialIN {
@ApiModelProperty(value = "申请人")
private String applyUser;
/**入库类型*/
@ApiModelProperty(value = "入库类型")
private String inType;
......
......@@ -29,4 +29,10 @@ public interface DistributContractMapper extends BaseMapper<DistributContract> {
* @return
*/
List<String> selectIdsByCode(@Param("contractCode") String contractCode);
/***
* 修改分销合同的分销价格
* @param contractId
*/
void updateDistributMoney(String contractId);
}
......
......@@ -31,4 +31,12 @@ public interface MaterialINMapper extends BaseMapper<MaterialIN> {
@Anonymous
public MaterialIN queryById(@Param("id") String id);
/**
* 批量送审
* @param ids
* @param auditStatus
* @return
*/
public int batchSendAudit(@Param("id")String ids, @Param("auditStatus")String auditStatus);
}
......
......@@ -15,5 +15,9 @@
<select id="selectIdsByCode" resultType="java.lang.String">
select id from erp_distribut_contract where contract_code like CONCAT('%',#{contractCode},'%')
</select>
<!-- 修改分销合同的分销价格-->
<update id="updateDistributMoney">
update erp_distribut_contract dc set distribut_money = (select sum(dm.distribut_total_price) from erp_distribut_material dm where dm.contract_id = dc.id ) where dc.id = #{contractId}
</update>
</mapper>
......
......@@ -67,4 +67,8 @@
left join ajh_supplier_manage sm on sm.id = t.supplier_id
where t.id = #{id}
</select>
<!-- 批量送审-->
<update id="batchSendAudit" >
update erp_material_in set audit_status = #{auditStatus} where id in (${ids}) and audit_status = '0'
</update>
</mapper>
......
......@@ -57,4 +57,11 @@ public interface IMaterialINService extends IService<MaterialIN> {
* @param ids
*/
String auditBatchMaterialINVO(String ids , String approveState,String approveMessage)throws Exception;
/***
* 批量送审
* @param ids
* @return
*/
public int batchSendAudit(String ids,String auditStatus);
}
......
......@@ -113,6 +113,7 @@ public class DistributContractServiceImpl extends ServiceImpl<DistributContractM
materialMapper.insert( material );
}
}
baseMapper.updateDistributMoney(distributContractVO.getId());//修改分销合同的分销价格
return null;
}
......@@ -136,6 +137,7 @@ public class DistributContractServiceImpl extends ServiceImpl<DistributContractM
materialMapper.insert( material );
}
}
baseMapper.updateDistributMoney(distributContractVO.getId());//修改分销合同的分销价格
return null;
}
/**
......
......@@ -58,6 +58,8 @@ public class ErpSettlementServiceImpl extends ServiceImpl<ErpSettlementMapper, E
settlementItemMapper.insert( settlementItem) ;
}
}
//修改药剂入库的状态
updateMaterialInSettlementFlag( erpSettlementVO,"1");
}
/**
......
......@@ -87,6 +87,14 @@ public class MaterialINServiceImpl extends ServiceImpl<MaterialINMapper, Materia
return sb.toString();
}
/***
* 批量送审
* @param ids
* @return
*/
public int batchSendAudit(String ids,String auditStatus){
return this.baseMapper.batchSendAudit(ids,auditStatus);
}
/***
* 审核药剂入库单
* @param materialINVO
*/
......
package com.skua.modules.erp.vo;
import com.skua.tool.util.JSUtils;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @auther kangwei
* @create 2025-02-19-14:09
*/
@Data
@ApiModel(value="药剂采购分析结果", description="药剂采购分析结果")
public class PurchaseAnalysisVO {
@ApiModelProperty(value = "药剂入库量(吨)")
private String drugStorage;//
@ApiModelProperty(value = "采购总额")
private String purchaseMoney;
@ApiModelProperty(value = "分销总额")
private String distributMoney;
@ApiModelProperty(value = "供应商结算金额")
private String supplierMoneyByJs;
@ApiModelProperty(value = "水务公司结算金额")
private String waterDepartMoneyByJs;
public PurchaseAnalysisVO(){
}
public PurchaseAnalysisVO(String drugStorage, String purchaseMoney, String distributMoney, String supplierMoneyByJs, String waterDepartMoneyByJs) {
this.drugStorage = JSUtils.convertStringToInt(drugStorage);
this.purchaseMoney = JSUtils.convertStringToInt(purchaseMoney);
this.distributMoney = JSUtils.convertStringToInt(distributMoney);
this.supplierMoneyByJs = JSUtils.convertStringToInt(supplierMoneyByJs);
this.waterDepartMoneyByJs = JSUtils.convertStringToInt(waterDepartMoneyByJs);
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!