53bbdd60 张雷

Merge remote-tracking branch 'origin/master' into master

2 个父辈 27f89834 8cb3df17
正在显示 18 个修改的文件 包含 217 行增加32 行删除
......@@ -419,6 +419,18 @@ public class JSUtils {
return str;
}
public static String quoteEach(List<String> idList,String splitStr) {
if( idList != null && !idList.isEmpty() ){
String result = "";
for(String id : idList){
if(result.length()>0) result +=",";
result += "'"+ id +"'";
}
return result;
}
return "";
}
/***
* 计算时间的前几个月的月份
......
......@@ -56,10 +56,11 @@ public class ErpSettlementController {
Result<IPage<ErpSettlement>> result = new Result<IPage<ErpSettlement>>();
QueryWrapper<ErpSettlement> queryWrapper = new QueryWrapper();// QueryGenerator.initQueryWrapper(erpSettlement, req.getParameterMap());
Page<ErpSettlement> page = new Page<ErpSettlement>(pageNo, pageSize);
//水务公司
if(StringUtils.isNotEmpty(erpSettlementSearchVO.getDepartId())){
queryWrapper.eq("depart_id" ,erpSettlementSearchVO.getDepartId()) ;
}
//供应商
if(StringUtils.isNotEmpty(erpSettlementSearchVO.getSupplierId())){
queryWrapper.eq("supplier_id" ,erpSettlementSearchVO.getSupplierId()) ;
}
......
......@@ -22,6 +22,7 @@ import com.skua.modules.equipment.service.ISupplierManageService;
import com.skua.modules.erp.entity.ERPPurchaseContract;
import com.skua.modules.erp.entity.MaterialAcceptanceForm;
import com.skua.modules.erp.entity.MaterialIN;
import com.skua.modules.erp.service.IDistributContractService;
import com.skua.modules.erp.service.IERPPurchaseContractService;
import com.skua.modules.erp.service.IMaterialAcceptanceFormService;
import com.skua.modules.erp.service.IMaterialINService;
......@@ -37,6 +38,7 @@ import com.skua.modules.supplies.service.IEquipmentSparepartSuppliesService;
import com.skua.modules.supplies.service.IEquipmentSparepartTypeService;
import com.skua.modules.system.entity.SysDepart;
import com.skua.modules.system.service.ISysDepartService;
import com.skua.tool.util.JSUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
......@@ -84,7 +86,7 @@ public class MaterialINController {
@Autowired
private IMaterialAcceptanceFormService materialAcceptanceFormService;//验收单
@Autowired
private IEquipmentSparepartTypeService sparepartTypeService;
private IDistributContractService distributContractService;//分销合同编号
/**
* <pre>
* 分页列表查询
......@@ -164,7 +166,23 @@ public class MaterialINController {
if(StringUtils.isNotBlank(materialIN.getEndTime())){
queryWrapper.le("arrive_time",materialIN.getEndTime());
}*/
//全部确认的数据
queryWrapper.eq("confirm_status","9");
//检索采购合同
if(StringUtils.isNotEmpty(req.getParameter("purchaseContractCode"))){
List<String> purchaseContractIdList = purchaseContractService.selectIdsByCode(req.getParameter("purchaseContractCode"));
//purchaseContractIds
if(purchaseContractIdList != null && !purchaseContractIdList.isEmpty()){
queryWrapper.in("purchase_contract_id", JSUtils.quoteEach(purchaseContractIdList,","));
}
}
//检索分销合同
if(StringUtils.isNotEmpty(req.getParameter("distributContractCode"))){
List<String> distributContractIdList = distributContractService.selectIdsByCode(req.getParameter("distributContractCode"));
if(distributContractIdList != null && !distributContractIdList.isEmpty()){
queryWrapper.in("distribut_contract_id", JSUtils.quoteEach(distributContractIdList,","));
}
}
// 需要添加条件判断
if(StringUtils.isEmpty(materialIN.getAuditStatus())){
queryWrapper.gt("audit_status" , "0");// >0
......@@ -181,10 +199,12 @@ public class MaterialINController {
@AutoLog(value = "erp--物料(药剂)入库--药剂到货日验收记录")
@ApiOperation(value="erp--物料(药剂)入库-药剂到货日验收记录", notes="erp--物料(药剂)入库-药剂到货日验收记录")
@GetMapping(value = "/arrivalRecordList")
public Result<List<ArrivalRecordExcelExportVO>> arrivalRecordList(MaterialIN materialIN) {
Result<List<ArrivalRecordExcelExportVO>> result = new Result<List<ArrivalRecordExcelExportVO>>();
/* QueryWrapper<MaterialIN> queryWrapper = new QueryWrapper();//QueryGenerator.initQueryWrapper(materialIN, req.getParameterMap());
if(StringUtils.isNotBlank(materialIN.getGoodCode())){
public Result<List<MaterialIN>> arrivalRecordList(MaterialIN materialIN,@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Result<List<MaterialIN>> result = new Result<List<MaterialIN>>();
QueryWrapper<MaterialIN> queryWrapper = QueryGenerator.initQueryWrapper(materialIN, req.getParameterMap());
/*if(StringUtils.isNotBlank(materialIN.getGoodCode())){
queryWrapper.like("good_code",materialIN.getGoodCode());
}
if(StringUtils.isNotBlank(materialIN.getStartTime())){
......@@ -201,12 +221,12 @@ public class MaterialINController {
}
if(StringUtils.isNotBlank(materialIN.getPurchaseContractId())){
queryWrapper.eq("purchase_contract_id",materialIN.getPurchaseContractId());
}
}*/
queryWrapper.eq("audit_status","3");
List<MaterialIN> pageList = materialINService.list( queryWrapper);*/
List<MaterialIN> pageList = materialINService.list( queryWrapper);
List<ArrivalRecordExcelExportVO> pageList = materialINService.queryArrivalRecordByList(materialIN);
//List<ArrivalRecordExcelExportVO> pageList = materialINService.queryArrivalRecordByList(materialIN);
result.setSuccess(true);
result.setResult(pageList);
......
......@@ -45,12 +45,10 @@ public class MaterialIN {
private String inOrder;
/**采购合同*/
@Excel(name = "采购合同", width = 15)
@ApiModelProperty(value = "采购合同")
@Dict(dictTable = "erp_purchase_contract", dicCode="id", dicText = "contract_code")
private String purchaseContractId;
/**分销合同*/
@Excel(name = "分销合同", width = 15)
@ApiModelProperty(value = "分销合同")
@Dict(dictTable = "erp_distribut_contract", dicCode="id", dicText = "contract_code")
private String distributContractId;
/**到货时间*/
......@@ -88,7 +86,6 @@ public class MaterialIN {
@ApiModelProperty(value = "计量单位")
private String measuringUnit;
/**数量*/
@Excel(name = "数量", width = 15)
@ApiModelProperty(value = "数量")
private String purchaseNum;
......@@ -108,15 +105,12 @@ public class MaterialIN {
@ApiModelProperty(value = "货号")
private String goodCode;
/**采购单价*/
@Excel(name = "采购单价", width = 15)
@ApiModelProperty(value = "采购单价")
private String purchasePrice;
/**分销单价*/
@Excel(name = "分销单价", width = 15)
@ApiModelProperty(value = "分销单价")
private String distributPrice;
/**采购总价*/
@Excel(name = "采购总价", width = 15)
@ApiModelProperty(value = "采购总价")
private String purchaseTotalPrice;
......@@ -124,7 +118,6 @@ public class MaterialIN {
@ApiModelProperty(value = "物料数量")
private String materialNum;
/**分销总价*/
@Excel(name = "分销总价", width = 15)
@ApiModelProperty(value = "分销总价")
private String distributTotalPrice;
/**税额*/
......@@ -132,11 +125,9 @@ public class MaterialIN {
@ApiModelProperty(value = "税额")
private String taxAmount;
/**价税合计*/
@Excel(name = "价税合计", width = 15)
@ApiModelProperty(value = "价税合计")
private String totalPriceTax;
/**分享地址*/
@Excel(name = "分享地址", width = 15)
@ApiModelProperty(value = "分享地址")
private String shareUrl;
/**确认状态:0 未确认 1 部分确认 2 全部确认*/
......
......@@ -22,4 +22,11 @@ public interface DistributContractMapper extends BaseMapper<DistributContract> {
* @param id
*/
void changePurchaseContract(@Param("id") String id);
/**
* 根据code 获取ids集合
* @param contractCode
* @return
*/
List<String> selectIdsByCode(@Param("contractCode") String contractCode);
}
......
......@@ -26,4 +26,6 @@ public interface ERPPurchaseContractMapper extends BaseMapper<ERPPurchaseContrac
* @param contractId
*/
void changePurchaseContract(@Param("contractId") String contractId);
List<String> selectIdsByCode(@Param("contractCode") String contractCode);
}
......
......@@ -11,4 +11,9 @@
update erp_distribut_contract set use_flag =1 where id = #{id}
</update>
<select id="selectIdsByCode" resultType="java.lang.String">
select id from erp_distribut_contract where contract_code like CONCAT('%',#{contractCode},'%')
</select>
</mapper>
......
......@@ -16,4 +16,9 @@
update erp_purchase_contract set use_flag = 1 where id = #{contractId}
</update>
<select id="selectIdsByCode" resultType="java.lang.String">
select id from erp_purchase_contract where contract_code like CONCAT('%',#{contractCode},'%')
</select>
</mapper>
......
......@@ -31,7 +31,7 @@
and mi.supplier_id = #{supplierId}
</if>
</where>
order by arrive_time desc
order by mi.arrive_time desc
</select>
<!--获取入库审批列表:根据部门、采购合同、供应商、药剂分组搜索 -->
<select id="selectAuditMaterialINByPage" resultType="com.skua.modules.erp.vo.ArrivalRecordExcelExportVO">
......
......@@ -68,4 +68,11 @@ public interface IDistributContractService extends IService<DistributContract> {
* @param distributContractVO
*/
String changePurchaseContract(DistributContractVO distributContractVO);
/***
* 根据code 获取ids集合
* @param contractCode
* @return
*/
List<String> selectIdsByCode(String contractCode);
}
......
......@@ -93,5 +93,10 @@ public interface IERPPurchaseContractService extends IService<ERPPurchaseContrac
*/
List<ERPPurchaseContract> getListByDistributId(MaterialSearchVO materialSearchVO);
/**
* 根据code 获取ids集合
* @param contractCode
* @return
*/
List<String> selectIdsByCode(String contractCode);
}
......
......@@ -152,6 +152,14 @@ public class DistributContractServiceImpl extends ServiceImpl<DistributContractM
distributContractVO.setOldContractId(oldContractId);//保存变更前的的合同编号
return this.updateDistributContractVO(distributContractVO);
}
/***
* 根据code 获取ids集合
* @param contractCode
* @return
*/
public List<String> selectIdsByCode(String contractCode){
return baseMapper.selectIdsByCode( contractCode);
}
/***
* 根据所属厂长、以及goodcode校验是否存在
......
......@@ -269,6 +269,15 @@ public class ERPPurchaseContractServiceImpl extends ServiceImpl<ERPPurchaseContr
public List<ERPPurchaseContract> getListByDistributId(MaterialSearchVO materialSearchVO){
return this.baseMapper.getListByDistributId(materialSearchVO);
}
/**
* 根据code 获取ids集合
* @param contractCode
* @return
*/
public List<String> selectIdsByCode(String contractCode){
return this.baseMapper.selectIdsByCode(contractCode);
}
/***
* 同步入库
* @param purchaseContractVO
......
......@@ -4,6 +4,7 @@ import com.skua.common.constant.ReportConstant;
import com.skua.common.report.ReportViewUtil;
import com.skua.core.api.vo.Result;
import com.skua.core.context.SpringContextUtils;
import com.skua.modules.dataAnalysis.vo.SafeProgressVO;
import com.skua.modules.dataAnalysis.vo.WorkProgressVO;
import com.skua.tool.util.DateUtils;
import com.skua.tool.util.JSUtils;
......@@ -30,7 +31,7 @@ import java.util.List;
public class WorkAnalysisController {
@ApiOperation(value = "工作进度统计", notes = "工作进度统计 timeType = 1 表示月份,timeType=2 表示年")
@ApiOperation(value = "工作进度列表", notes = "工作进度列表 timeType = 1 表示月份,timeType=2 表示年")
@GetMapping("/analysisByWorkProgress")
public Result<List<WorkProgressVO>> analysisByWorkProgress(@RequestParam(defaultValue = "1") Integer timeType, String startTime, String endTime) {
Result<List<WorkProgressVO>> result = new Result<>();
......@@ -40,7 +41,7 @@ public class WorkAnalysisController {
}
String departIds = null;//DAY(LAST_DAY('"+startTime+"'))
String sql = "select d.id 'depart_id' , d.depart_name , (DATEDIFF('"+endTime+"', '"+startTime+"') +1) 'day_num' , (month('"+endTime+"') - month('"+startTime+"') + 1) month_num,ifnull(aaa.count,0) 'nh_num' ,ifnull(bbb.count,0) 'szsl_num' ,ifnull(ccc.count,0) 'hy_num' ,ifnull(ddd.count,0) 'yy_month_num',ifnull(fff.count,0) 'df_month_num' ,ifnull(ggg.count,0) 'year_target_num' from sys_depart d ";
sql += getSql(departIds, startTime, endTime, month);
sql += getWorkProgressSql(departIds, startTime, endTime, month);
sql += " where d.depart_type =1 ";
if(StringUtils.isNotEmpty(departIds)){
sql += " d.id in ("+ JSUtils.quoteEach(departIds,",") +")";
......@@ -55,7 +56,7 @@ public class WorkAnalysisController {
return result;
}
@ApiOperation(value = "工作进度统计-数量", notes = "工作进度统计 timeType = 1 表示月份,timeType=2 表示年")
@ApiOperation(value = "工作进度统计-数量统计", notes = "工作进度-数量统计 timeType = 1 表示月份,timeType=2 表示年")
@GetMapping("/analysisTotalByWorkProgress")
public Result<WorkProgressVO> analysisTotalByWorkProgress(@RequestParam(defaultValue = "1") Integer timeType, String startTime, String endTime) {
Result<WorkProgressVO> result = new Result<>();
......@@ -68,7 +69,7 @@ public class WorkAnalysisController {
String sql = "select count(d.id) 'departNum', (DATEDIFF('"+endTime+"', '"+startTime+"') +1) 'day_num' , (month('"+endTime+"') - month('"+startTime+"') + 1) month_num,";
sql += " ifnull(sum(aaa.count),0) 'nh_num' ,ifnull(sum(bbb.count),0) 'szsl_num' ,ifnull(sum(ccc.count),0) 'hy_num' ,ifnull(sum(ddd.count),0) 'yy_month_num',ifnull(sum(fff.count),0) 'df_month_num' ,ifnull(sum(ggg.count),0) 'year_target_num' ";
sql += " from sys_depart d ";
sql += getSql(departIds, startTime, endTime, month);
sql += getWorkProgressSql(departIds, startTime, endTime, month);
sql += " where d.depart_type =1 ";
if(StringUtils.isNotEmpty(departIds)){
sql += " d.id in ("+ JSUtils.quoteEach(departIds,",") +")";
......@@ -83,7 +84,70 @@ public class WorkAnalysisController {
result.setSuccess(true);
return result;
}
private String getSql( String departIds,String startTime, String endTime,String month){
@ApiOperation(value = "安全管理进度-数据列表", notes = "安全管理进度-数据列表 timeType = 1 表示月份,timeType=2 表示年")
@GetMapping("/analysisBySafeProgress")
public List<SafeProgressVO> analysisBySafeProgress(@RequestParam(defaultValue = "1") Integer timeType, String startTime, String endTime) {
JdbcTemplate jdbcTemplate = (JdbcTemplate) SpringContextUtils.getBean("master");
String departIds = null;
String sql = "select d.id 'depart_id' , d.depart_name , ifnull(aaa.count,0) 'meet_num', ifnull(bbb.count,0) 'meet_total', ifnull(ccc.count,0) 'exam_num', ifnull(ddd.count,0) 'exam_total',ifnull(eee.count, 0) 'frequency_num' , ifnull(fff.count , 0) 'frequency_total'";
sql += " from sys_depart d ";
sql += getSafeProgressSql(departIds, startTime,endTime);
sql += " where d.depart_type =1 ";
if(StringUtils.isNotEmpty(departIds)){
sql += " d.id in ("+ JSUtils.quoteEach(departIds,",") +")";
}
sql += " order by (ifnull(aaa.count,0) + ifnull(bbb.count,0) + ifnull(ccc.count,0) + ifnull(ddd.count,0) + ifnull(fff.count,0) ) asc ";
System.out.println("sql = "+sql);
List<SafeProgressVO> dataList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<SafeProgressVO>(SafeProgressVO.class));
return dataList;
}
@ApiOperation(value = "安全管理进度统计-数量统计", notes = "安全管理进度-数量统计 timeType = 1 表示月份,timeType=2 表示年")
@GetMapping("/analysisTotalBySafeProgress")
public SafeProgressVO analysisTotalBySafeProgress(@RequestParam(defaultValue = "1") Integer timeType, String startTime, String endTime) {
String departIds = null;//DAY(LAST_DAY('"+startTime+"'))
String sql = "select count(d.id) 'departNum', ifnull(sum(aaa.count),0) 'meet_num' ,ifnull(sum(bbb.count),0) 'meet_total' ,ifnull(sum(ccc.count),0) 'exam_num' ,ifnull(sum(ddd.count),0) 'exam_total',ifnull(sum(eee.count),0) 'frequency_num' ,ifnull(sum(fff.count),0) 'frequency_total' ";
sql += " from sys_depart d ";
sql += getSafeProgressSql(departIds, startTime,endTime);
sql += " where d.depart_type =1 ";
if(StringUtils.isNotEmpty(departIds)){
sql += " d.id in ("+ JSUtils.quoteEach(departIds,",") +")";
}
System.out.println("sql = "+sql);
JdbcTemplate jdbcTemplate = (JdbcTemplate) SpringContextUtils.getBean("master");
List<SafeProgressVO> dataList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<SafeProgressVO>(SafeProgressVO.class));
if(dataList != null && !dataList.isEmpty()){
return dataList.get(0);
}
return null;
}
private String getSafeProgressSql( String departIds,String startTime, String endTime){
JdbcTemplate jdbcTemplate = (JdbcTemplate) SpringContextUtils.getBean("master");
String userIdsSql = "select GROUP_CONCAT( DISTINCT exam_user_ids) 'user_ids' from edu_paper where end_time >='"+startTime+"' and end_time <= '"+endTime+"'";
String userIds = jdbcTemplate.queryForObject(userIdsSql , String.class);
if(StringUtils.isNotEmpty(userIds)){
userIds = JSUtils.quoteEach(userIds,",");
}else{
userIds = "''";
}
String sql = "";
//会议任务
sql += " left join( select depart_id , count(1) 'count' from ajh_meeting_send where meet_status =2 and meet_end_time >='"+startTime+"' and meet_end_time <= '"+endTime+"' group by depart_id )aaa on aaa.depart_id = d.id ";
sql += " left join (select depart_id , count(1) 'count' from ajh_meeting_send where meet_id in (select id from ajh_meeting where end_time >='"+startTime+"' and end_time <= '"+endTime+"') group by depart_id ) bbb on bbb.depart_id = d.id ";
// 考试任务
sql += " left join (select depart_id,count(user_id) 'count' from edu_user_paper where DATE_FORMAT(end_time,'%Y-%m-%d') >='"+startTime+"' and end_time <= '"+endTime+"' and user_id in("+userIds+") group by depart_id )ccc on ccc.depart_id = d.id";
sql += " left join ( select dep_id,count(user_id) 'count' from sys_user_depart where user_id in("+userIds+") group by dep_id )ddd on ddd.dep_id = d.id";
//风险排查任务
sql += " left join ( select depart_id ,count(id) 'count' from danger_inspection_record where status = '2' and end_date >= '"+startTime+" 00:00:00' and end_date <='"+endTime+" 23:59:59' group by depart_id ) eee on eee.depart_id = d.id ";
sql += " left join( select sum( (DATEDIFF('"+endTime+"', '"+startTime+"') +1)*24/ dlm.frequency ) 'count' , dlm.depart_id from danger_level_manage dlm where dlm.frequency IS NOT NULL and frequency <> '' ) fff on fff.depart_id = d.id ";
return sql ;
}
private String getWorkProgressSql( String departIds,String startTime, String endTime,String month){
String sql = "";
//能耗日报
String view3a24Sql = ReportViewUtil.buildView(ReportConstant.view3a24,"DLHJ",departIds,startTime,endTime);
......
......@@ -435,7 +435,7 @@
</foreach>
order by ifnull(p1.ydl/p.clsl,0) desc
</select>
<!-- 工艺分布-->
<select id="queryCraftDSDH" resultType="java.util.Map">
SELECT
p1.item_text `name`,
......@@ -445,7 +445,7 @@
(
SELECT
sfi.pro_craft,
ROUND(p1.ydl/p.clsl,2) AS dsdh
ROUND( avg(p1.ydl/p.clsl) ,2) AS dsdh
FROM
sys_factory_info sfi
LEFT JOIN (
......@@ -488,7 +488,7 @@
SELECT
sfi.pro_craft,
sfi.out_level,
ROUND(p1.ydl/p.clsl,2) AS dsdh
ROUND(avg(p1.ydl/p.clsl),2) AS dsdh
FROM
sys_factory_info sfi
LEFT JOIN (
......@@ -525,7 +525,7 @@
<select id="queryScaleDSDH" resultType="java.util.Map">
SELECT
sfi.*,
ROUND(p1.ydl/p.clsl,2) AS dsdh
ROUND(ifnull(avg(p1.ydl/p.clsl),0),2) AS dsdh
FROM
sys_factory_info sfi
LEFT JOIN (
......
......@@ -18,7 +18,7 @@ public interface IPowerAnalysisNewService {
* 功能描述: <br>电耗分布情况
*/
Map<String, Object> powerConsumptionDistribution(OperationMonthVO operationMonthVO);
//电耗分析关联分析
Map<String, Object> powerAssociation(OperationMonthVO operationMonthVO);
Map<String, Object> powerDSDHCurve(String id, String type, String time);
......
......@@ -171,7 +171,7 @@ public class PowerAnalysisNewServiceImpl implements IPowerAnalysisNewService {
result.put("factoryDistributionList", distributionList);
return result;
}
//电耗分析关联分析
@Override
public Map<String, Object> powerAssociation(OperationMonthVO operationMonthVO) {
String time = operationMonthVO.getTime();
......
package com.skua.modules.dataAnalysis.vo;
/**
* @auther kangwei
* @create 2025-01-23-9:24
*/
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 工作进度
*/
@Data
@ApiModel(value = "SafeProgressVO安全管理进度", description = "安全管理进度")
public class SafeProgressVO {
@ApiModelProperty(value = "所属厂站")
private String departId;
@ApiModelProperty(value = "所属厂站")
private String departName;
@ApiModelProperty(value = "所属厂站-数量")
private String departNum;
@ApiModelProperty(value = "会议任务--完成数量")
private Integer meetNum;
@ApiModelProperty(value = "会议任务--计划总数")
private Integer meetTotal;
@ApiModelProperty(value = "考试任务-完成数量")
private Integer examNum;
@ApiModelProperty(value = "考试任务-计划总数")
private Integer examTotal;
@ApiModelProperty(value = "巡检任务-完成数量")
private Integer frequencyNum;
@ApiModelProperty(value = "巡检任务-计划总数")
private Integer frequencyTotal;
@ApiModelProperty(value = "是否完成: 0 未完成 1 已完成")
private Integer completeFlag ;
public Integer getCompleteFlag() {
completeFlag = 0;
if((meetNum >= meetTotal) && (examNum >= examTotal) && (frequencyNum >= frequencyTotal)){
completeFlag = 1;
}
return completeFlag;
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!